Sfoglia il codice sorgente

Merge branch 'master' of http://47.92.161.104:10080/shuzhan/shinestar-portal

zhengqiang 4 anni fa
parent
commit
99cd210b07

+ 8 - 1
src/api/base/canteenDeviceRelation.js

@@ -45,8 +45,15 @@ function isUnbindDeviceList(formData) {
     return request.post(constant.serverUrl + "/base/canteenDeviceRelation/isUnbindDeviceList", formData);
 }
 
+function unbindDevice(formModel) {
+  return request.post(constant.serverUrl + "/base/canteenDeviceRelation/unbindDevice", formModel, {
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
 
 
 export default {
-  create, edit, add, update, remove, batchRemove, pageList,isUnbindDeviceList
+  create, edit, add, update, remove, batchRemove, pageList,isUnbindDeviceList,unbindDevice
 }

+ 6 - 1
src/api/base/canteenInfo.js

@@ -46,6 +46,11 @@ function getTableHead() {
 }
 
 
+function getEditHead() {
+  return request.post(constant.serverUrl + "/base/canteenInfo/getEditHead");
+}
+
+
 export default {
-  create, edit, add, update, remove, batchRemove, pageList,getTableHead
+  create, edit, add, update, remove, batchRemove, pageList,getTableHead,getEditHead
 }

+ 7 - 3
src/views/base/canteenDeviceRelation-list.vue

@@ -69,9 +69,9 @@
             <span v-if="row.isBind == 0">
               <el-button size="mini" type="success" @click="handleBound(row)">关联设备</el-button>
             </span>
-            <!-- <span v-else>
+            <span v-else>
               <el-button size="mini" type="danger" @click="handleDelete(row)">解除关联</el-button>
-            </span>-->
+            </span>
           </template>
         </el-table-column>
       </el-table>
@@ -197,7 +197,11 @@ export default {
         .then(() => {
           self.loading = true;
 
-          canteenDeviceRelationApi.remove(record.id).then(function(response) {
+          self.formModel.canteenId = self.canteenId;
+          self.formModel.deviceId = record.id;
+          self.formModel.isWrite = true;
+
+          canteenDeviceRelationApi.unbindDevice(self.formModel).then(function(response) {
             var jsonData = response.data;
             self.loading = false;
             if (jsonData.result) {

+ 95 - 39
src/views/base/canteenInfo-detail.vue

@@ -15,17 +15,18 @@
     width="35%"
   >
     <div class="user-panel" v-loading="loading">
-      <el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'100px'">
-        <el-form-item label="食堂名称" prop="name" style="width:450px">
+      <el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'120px'">
+        <el-form-item label="食堂名称" prop="name" style="width:470px">
             <el-input v-model="formModel.name" placeholder="请输入食堂名称" ></el-input>
         </el-form-item>
-        <el-form-item label="地点" prop="address" style="width:450px">
+        <el-form-item label="地点" prop="address" style="width:470px">
             <el-input v-model="formModel.address" placeholder="请输入地点" ></el-input>
         </el-form-item>
-        <el-form-item label="午餐时间" prop="lunchTimeRange">
+
+        <el-form-item label="早餐时间" prop="diningTimeRange1">
               <el-time-picker
                 is-range
-                v-model="formModel.lunchTimeRange"
+                v-model="formModel.diningTimeRange1"
                 range-separator="至"
                 start-placeholder="开始时间"
                 end-placeholder="结束时间"
@@ -35,13 +36,13 @@
                 >
             </el-time-picker>
         </el-form-item>
-        <el-form-item label="午餐金额" prop="lunchFee" style="width:450px">
-            <el-input type="number" v-model="formModel.lunchFee"></el-input>
+        <el-form-item label="早餐金额(元)" prop="outsourcerDiningFee1" style="width:450px">
+            <el-input type="number" v-model="formModel.outsourcerDiningFee1"></el-input>
         </el-form-item>
-        <el-form-item label="晚餐时间" prop="dinnerTimeRange">
+        <el-form-item label="午餐时间" prop="diningTimeRange2">
               <el-time-picker
                 is-range
-                v-model="formModel.dinnerTimeRange"
+                v-model="formModel.diningTimeRange2"
                 range-separator="至"
                 start-placeholder="开始时间"
                 end-placeholder="结束时间"
@@ -51,13 +52,13 @@
                 >
             </el-time-picker>
         </el-form-item>
-        <el-form-item label="晚餐金额" prop="dinnerFee" style="width:450px">
-            <el-input type="number" v-model="formModel.dinnerFee"></el-input>
-        </el-form-item> 
-        <el-form-item label="宵夜时间" prop="midnightTimeRange">
+        <el-form-item label="午餐金额(元)" prop="outsourcerDiningFee2" style="width:450px">
+            <el-input type="number" v-model="formModel.outsourcerDiningFee2"></el-input>
+        </el-form-item>
+        <el-form-item label="晚餐时间" prop="diningTimeRange3">
               <el-time-picker
                 is-range
-                v-model="formModel.midnightTimeRange"
+                v-model="formModel.diningTimeRange3"
                 range-separator="至"
                 start-placeholder="开始时间"
                 end-placeholder="结束时间"
@@ -67,9 +68,25 @@
                 >
             </el-time-picker>
         </el-form-item>
-        <el-form-item label="宵夜金额" prop="midnightFee" style="width:450px">
-            <el-input type="number" v-model="formModel.midnightFee"></el-input>
+        <el-form-item label="晚餐金额(元)" prop="outsourcerDiningFee3" style="width:450px">
+            <el-input type="number" v-model="formModel.outsourcerDiningFee3"></el-input>
         </el-form-item> 
+        <el-form-item label="宵夜时间" prop="diningTimeRange4">
+              <el-time-picker
+                is-range
+                v-model="formModel.diningTimeRange4"
+                range-separator="至"
+                start-placeholder="开始时间"
+                end-placeholder="结束时间"
+                placeholder="选择时间范围"
+                format='HH:mm'
+                value-format="HH:mm"
+                >
+            </el-time-picker>
+        </el-form-item>
+        <el-form-item label="宵夜金额(元)" prop="outsourcerDiningFee4" style="width:450px">
+            <el-input type="number" v-model="formModel.outsourcerDiningFee4"></el-input>
+        </el-form-item>
         
       </el-form>
     </div>
@@ -98,6 +115,7 @@ export default {
       submitting: false,
       canQuery: true,
       treeData: [],
+      editHeadList:[],
       props: {
         // 配置项(必选)
         value: "id",
@@ -107,6 +125,10 @@ export default {
     };
   },
   created() {
+      canteenInfoApi.getEditHead().then(response => {
+          var jsonData = response.data;
+          this.editHeadList = jsonData.data;
+      });
   },
   methods: {
     closeDialog() {
@@ -122,20 +144,24 @@ export default {
 
             self.loading = true;
 
-            if(self.formModel.lunchTimeRange!=null){
-                var lunchTimeRange = self.formModel.lunchTimeRange.toString();
-                self.formModel.lunchTimeRange = lunchTimeRange;
+            if(self.formModel.diningTimeRange1!=null){
+                var diningTimeRange1 = self.formModel.diningTimeRange1.toString();
+                self.formModel.diningTimeRange1 = diningTimeRange1;
             }
 
-            if(self.formModel.dinnerTimeRange!=null){
-                var dinnerTimeRange = self.formModel.dinnerTimeRange.toString();
-                self.formModel.dinnerTimeRange = dinnerTimeRange;
+            if(self.formModel.diningTimeRange2!=null){
+                var diningTimeRange2 = self.formModel.diningTimeRange2.toString();
+                self.formModel.diningTimeRange2 = diningTimeRange2;
             }
 
+            if(self.formModel.diningTimeRange3!=null){
+                var diningTimeRange3 = self.formModel.diningTimeRange3.toString();
+                self.formModel.diningTimeRange3 = diningTimeRange3;
+            }
 
-            if(self.formModel.midnightTimeRange!=null){
-                var midnightTimeRange = self.formModel.midnightTimeRange.toString();
-                self.formModel.midnightTimeRange = midnightTimeRange;
+            if(self.formModel.diningTimeRange4!=null){
+                var diningTimeRange4 = self.formModel.diningTimeRange4.toString();
+                self.formModel.diningTimeRange4 = diningTimeRange4;
             }
 
 
@@ -186,22 +212,52 @@ export default {
         if (jsonData.result) {
             self.formModel = jsonData.data;
 
-            if(jsonData.data.lunchTimeRange!=null){
-                var lunchTimeRange = jsonData.data.lunchTimeRange;
-                var lunchTimeArray = lunchTimeRange.split(",");
-                self.formModel.lunchTimeRange = lunchTimeArray;
-            }
+            self.canteenDiningList = jsonData.data.canteenDiningList;
 
-            if(jsonData.data.dinnerTimeRange!=null){
-                var dinnerTimeRange = jsonData.data.dinnerTimeRange;
-                var dinnerTimeArray = dinnerTimeRange.split(",");
-                self.formModel.dinnerTimeRange = dinnerTimeArray;
-            }
 
-            if(jsonData.data.midnightTimeRange!=null){
-                var midnightTimeRange = jsonData.data.midnightTimeRange;
-                var midnightTimeArray = midnightTimeRange.split(",");
-                self.formModel.midnightTimeRange = midnightTimeArray;
+            if(self.formModel.canteenDiningObjMap!=null){
+
+              if(self.formModel.canteenDiningObjMap["diningTimeRange1"]!=null){
+                  var diningTimeRange1 = self.formModel.canteenDiningObjMap["diningTimeRange1"]
+
+                  var diningTimeRangeArray1 = diningTimeRange1.split(",");
+                  self.formModel.diningTimeRange1 = diningTimeRangeArray1;
+
+              }
+
+              if(self.formModel.canteenDiningObjMap["diningTimeRange2"]!=null){
+                  var diningTimeRange2 = self.formModel.canteenDiningObjMap["diningTimeRange2"];
+                  var diningTimeRangeArray2 = diningTimeRange2.split(",");
+                  self.formModel.diningTimeRange2 = diningTimeRangeArray2;
+              }
+
+              if(self.formModel.canteenDiningObjMap["diningTimeRange3"]!=null){
+                  var dinnerTimeRange3 = self.formModel.canteenDiningObjMap["diningTimeRange3"];
+                  var dinnerTimeRangeArray3 = dinnerTimeRange3.split(",");
+                  self.formModel.diningTimeRange3 = dinnerTimeRangeArray3;
+              }
+
+              if(self.formModel.canteenDiningObjMap["diningTimeRange4"]!=null){
+                  var dinnerTimeRange4 =self.formModel.canteenDiningObjMap["diningTimeRange4"];
+                  var dinnerTimeRangeArray4 = dinnerTimeRange4.split(",");
+                  self.formModel.diningTimeRange4 = dinnerTimeRangeArray4;
+              }
+
+              if(self.formModel.canteenDiningObjMap["outsourcerDiningFee1"]!=null){
+                  self.formModel.outsourcerDiningFee1 = self.formModel.canteenDiningObjMap["outsourcerDiningFee1"]
+              }
+
+              if(self.formModel.canteenDiningObjMap["outsourcerDiningFee2"]!=null){
+                self.formModel.outsourcerDiningFee2 = self.formModel.canteenDiningObjMap["outsourcerDiningFee2"]
+              }
+
+              if(self.formModel.canteenDiningObjMap["outsourcerDiningFee3"]!=null){
+                self.formModel.outsourcerDiningFee3 = self.formModel.canteenDiningObjMap["outsourcerDiningFee3"]
+              }
+
+              if(self.formModel.canteenDiningObjMap["outsourcerDiningFee4"]!=null){
+                self.formModel.outsourcerDiningFee4 = self.formModel.canteenDiningObjMap["outsourcerDiningFee4"]
+              }
             }
 
         } else {

+ 29 - 19
src/views/base/canteenInfo-list.vue

@@ -60,20 +60,28 @@
       <el-table-column type="index" label="序号" :index="indexMethod" width="50"></el-table-column>
       <el-table-column prop="name" label="食堂名称" width="150"></el-table-column>
       <el-table-column prop="address" label="地点" width="200"></el-table-column>
-      <template v-for="item in tableHeadList">
+      <template v-for="head in tableHeadList">
         <el-table-column
-          :label="item.col + ''"
-          :prop="item.prop + ''"
-          :key="item.prop + ''"
-          width="150px"
+          :label="head.col + ''"
+          :prop="head.prop + ''"
+          :key="head.prop + ''"
+          width="130px"
         >
+          <template slot-scope="{ row }">
+            <div style="display: flex; flex-direction: column">
+              <template v-for="(item, index) in row.canteenDiningMap[head.prop]">
+                <div
+                  v-html="showItem(item)"
+                  :key="index"
+                  style="white-space: pre-wrap; cursor: pointer"
+                ></div>
+              </template>
+            </div>
+          </template>
+
         </el-table-column>
       </template>
 
-
-
-      
-
       <!-- <el-table-column prop="lunchTimeRange" label="午餐时间" width="120"></el-table-column>
       <el-table-column prop="lunchFee" label="午餐金额(元)" width="120" ></el-table-column>
       <el-table-column prop="dinnerTimeRange" label="晚餐时间"  width="120"></el-table-column>
@@ -194,6 +202,13 @@ export default {
     indexMethod(index) {
       return (this.pageIndex - 1) * this.pageSize + (index + 1);
     },
+    showItem(item) {
+      var str = item;
+      if (item == null || item == "") {
+        str = "无";
+      }
+      return str;
+    },
     changePage(pageIndex) {
       var self = this;
 
@@ -213,17 +228,12 @@ export default {
         .then(function(response) {
           self.loading = false;
           var jsonData = response.data;
-          
-          if(jsonData.result) {
-              var page = jsonData.data;
 
-              self.tableData = page.data;
-              self.totalPages = page.totalPages;
-              self.totalElements = page.recordsTotal;
-          }
-          else{
-            self.$message.warning(jsonData.message + "");
-          }
+          self.tableData = jsonData.canteenInfoList;
+          self.totalPages = jsonData.totalPage;
+          self.totalElements = jsonData.recordsTotal;
+
+
         })
         .catch(error => {
           self.loading = false;

+ 6 - 6
src/views/base/workPersonScheduling-change.vue

@@ -491,13 +491,13 @@ export default {
           self[tagsName] = self.showWorkTags;
           var numberName = "number" + self.showTagNum;
 
-          var nums = [];
-          self.showWorkTags.forEach((item, index) => {
-            nums.push(item.number);
-          });
+          // var nums = [];
+          // self.showWorkTags.forEach((item, index) => {
+          //   nums.push(item.number);
+          // });
 
-          var num = nums.join(",");
-          self[numberName] = num;
+          //var num = nums.join(",");
+          self[numberName] = "√";
 
           //self.showId = self.currentRow.id + ",";
 

+ 102 - 55
src/views/base/workShiftInfo-list.vue

@@ -13,8 +13,12 @@
     <!--
       要resetFields起作用,必须配置:model和prop
     -->
-    <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
-
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
       <el-form-item label="班次名称" prop="name">
         <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
       </el-form-item>
@@ -25,26 +29,36 @@
           icon="ios-search"
           @click="changePage(1)"
           :loading="loading"
-        >查询</el-button>&nbsp;
+          >查询</el-button
+        >&nbsp;
         <el-button
           type="info"
           size="mini"
           style="margin-left: 8px"
           @click="handleReset('queryForm')"
-        >重置</el-button>&nbsp;
+          >重置</el-button
+        >&nbsp;
       </el-form-item>
     </el-form>
     <el-divider></el-divider>
     <el-row class="button-group">
-      <el-button type="primary" size="small" plain icon="el-icon-circle-plus" @click="handleAdd">新增</el-button>
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
       <el-button
         type="primary"
         size="small"
         plain
         icon="el-icon-remove"
-        :disabled="multipleSelection.length==0"
+        :disabled="multipleSelection.length == 0"
         @click="handleBatchDelete"
-      >删除选中项</el-button>
+        >删除选中项</el-button
+      >
     </el-row>
     <el-table
       ref="formTable"
@@ -56,31 +70,58 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column prop="number" label="班次编号" width="80"></el-table-column>
-      <el-table-column prop="name" label="班次名称" width="150"></el-table-column>
-      <el-table-column prop="days" label="天数" width="100" ></el-table-column>
-      <el-table-column prop="workTime" label="上班时间"  width="120"></el-table-column>
-      <el-table-column prop="workStartTime" label="上班考勤时段"  width="150">
-          <template slot-scope="{row}">
-                {{row.workStartTime}}-{{row.workEndTime}}
-          </template>
+      <el-table-column
+        prop="number"
+        label="班次编号"
+        width="80"
+      ></el-table-column>
+      <el-table-column
+        prop="name"
+        label="班次名称"
+        width="150"
+      ></el-table-column>
+      <el-table-column prop="days" label="天数" width="100"></el-table-column>
+      <el-table-column
+        prop="workTime"
+        label="上班时间"
+        width="120"
+      ></el-table-column>
+      <el-table-column prop="workStartTime" label="上班考勤时段" width="150">
+        <template slot-scope="{ row }">
+          {{ row.workStartTime }}-{{ row.workEndTime }}
+        </template>
       </el-table-column>
-      <el-table-column prop="closingTime" label="下班时间" width="120"></el-table-column>
-      <el-table-column prop="closingStartTime" label="下班考勤时段"  width="150">
-          <template slot-scope="{row}">
-                {{row.closingStartTime}}-{{row.closingEndTime}}
-          </template>
+      <el-table-column
+        prop="closingTime"
+        label="下班时间"
+        width="120"
+      ></el-table-column>
+      <el-table-column prop="closingStartTime" label="下班考勤时段" width="150">
+        <template slot-scope="{ row }">
+          {{ row.closingStartTime }}-{{ row.closingEndTime }}
+        </template>
       </el-table-column>
 
-      <el-table-column prop="companyList" label="关联部门" width="200">
-          <template slot-scope="{row}">
-            <div v-for="item in row.companyList" v-bind:key="item.id">
-                {{item.name}}
-            </div>
-          </template>
+      <el-table-column type="expand" width="40">
+        <template slot-scope="props">
+          <el-form label-position="left" inline class="demo-table-expand">
+            <el-form-item label="关联部门">
+              <span v-if="props.row.companyNames != ''">{{
+                props.row.companyNames
+              }}</span>
+              <span v-else>无</span>
+            </el-form-item>
+          </el-form>
+        </template>
       </el-table-column>
+      <el-table-column
+        prop="companyNames"
+        label="关联部门"
+        width="200"
+        show-overflow-tooltip
+      ></el-table-column>
       <el-table-column label="操作" width="150" fixed="right">
-        <template slot-scope="{row}">
+        <template slot-scope="{ row }">
           <el-row>
             <el-col :span="8">
               <el-link type="primary" @click="handleEdit(row)">编辑</el-link>
@@ -118,13 +159,13 @@ import NProgress from "nprogress"; // progress bar
 import "nprogress/nprogress.css"; // progress bar style
 
 export default {
-  name: 'BaseWorkShiftInfoList',
+  name: "BaseWorkShiftInfoList",
   data() {
     var self = this;
 
     return {
       queryModel: {
-        name:""
+        name: "",
       },
       loading: false,
       loadingText: "加载中",
@@ -148,13 +189,11 @@ export default {
         // 配置项(必选)
         value: "id",
         label: "name",
-        children: "children"
+        children: "children",
       },
     };
   },
-  created() {
-
-  },
+  created() {},
   methods: {
     indexMethod(index) {
       return (this.pageIndex - 1) * this.pageSize + (index + 1);
@@ -168,29 +207,37 @@ export default {
       self.pageIndex = pageIndex;
       var formData = new FormData();
 
-    formData.append("pageIndex", self.pageIndex);
-    formData.append("pageSize", self.pageSize);
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
 
-    formData.append("name", self.queryModel.name);
+      formData.append("name", self.queryModel.name);
 
       workShiftInfoApi
         .pageList(formData)
-        .then(function(response) {
+        .then(function (response) {
           self.loading = false;
           var jsonData = response.data;
-          
-          if(jsonData.result) {
-              var page = jsonData.data;
 
-              self.tableData = page.data;
-              self.totalPages = page.totalPages;
-              self.totalElements = page.recordsTotal;
-          }
-          else{
+          if (jsonData.result) {
+            var page = jsonData.data;
+
+            self.tableData = page.data;
+            self.totalPages = page.totalPages;
+            self.totalElements = page.recordsTotal;
+
+            setTimeout(() => {
+              console.log(self.$refs.formTable.$el.offsetTop);
+
+              //页面高度-列表上面的高度-header高度-分页控件高度
+              self.tableHeight = pageUtil.autoAdjustHeight(
+                self.$refs.formTable.$el
+              );
+            }, 1000);
+          } else {
             self.$message.warning(jsonData.message + "");
           }
         })
-        .catch(error => {
+        .catch((error) => {
           self.loading = false;
         });
     },
@@ -220,10 +267,10 @@ export default {
         .$confirm("是否确认删除?", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
-          type: "warning"
+          type: "warning",
         })
         .then(() => {
-          workShiftInfoApi.remove(record.id).then(function(response) {
+          workShiftInfoApi.remove(record.id).then(function (response) {
             var jsonData = response.data;
 
             if (jsonData.result) {
@@ -233,7 +280,7 @@ export default {
 
               self.$message({
                 type: "success",
-                message: "删除成功!"
+                message: "删除成功!",
               });
             }
           });
@@ -242,16 +289,16 @@ export default {
     handleBatchDelete() {
       var self = this;
 
-      var idList = this.multipleSelection.map(record => {
+      var idList = this.multipleSelection.map((record) => {
         return record.id;
       });
 
       this.$confirm("是否确认删除选中项?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       }).then(() => {
-        workShiftInfoApi.batchRemove(idList).then(function(response) {
+        workShiftInfoApi.batchRemove(idList).then(function (response) {
           var jsonData = response.data;
 
           if (jsonData.result) {
@@ -259,7 +306,7 @@ export default {
 
             self.$message({
               type: "success",
-              message: "删除成功!"
+              message: "删除成功!",
             });
           }
         });
@@ -275,12 +322,12 @@ export default {
       }
     },
   },
-  mounted: function() {
+  mounted: function () {
     this.changePage(1);
   },
   components: {
     "workShiftInfo-detail": workShiftInfoDetail,
-  }
+  },
 };
 </script>
 <style lang="scss" scoped>