From e91ea94c5e06bd183c65999b49c7852205e1ac64 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期三, 20 九月 2023 17:42:55 +0800
Subject: [PATCH] 1、工作日历管理页面增加表格单条数据删除功能 2、报警号管理页面与对比分析页面中的驱动类型数据不再使用数据字典,而采用调用接口获取数据方式 3、报警号管理页面的新增与编辑弹窗中的是否过滤选项切换器优化

---
 src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue                   |   15 +++
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue               |   21 ++++
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue          |    4 
 src/views/mdc/base/AlarmManager.vue                                            |   42 ++++++++--
 src/views/mdc/base/MdcDriveTypeParamConfigList.vue                             |    7 -
 src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue     |   37 ++++++++-
 src/views/mdc/base/modules/deviceLog/WorkChartModel.vue                        |    3 
 src/mixins/JeecgListMixin.js                                                   |    1 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue |    1 
 src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue                   |   61 +++++++++-----
 10 files changed, 143 insertions(+), 49 deletions(-)

diff --git a/src/mixins/JeecgListMixin.js b/src/mixins/JeecgListMixin.js
index 95fa270..9f078b6 100644
--- a/src/mixins/JeecgListMixin.js
+++ b/src/mixins/JeecgListMixin.js
@@ -149,7 +149,6 @@
       });
       return str;
     },
-
     onSelectChange(selectedRowKeys, selectionRows) {
       this.selectedRowKeys = selectedRowKeys;
       this.selectionRows = selectionRows;
diff --git a/src/views/mdc/base/AlarmManager.vue b/src/views/mdc/base/AlarmManager.vue
index b8378ab..83c5383 100644
--- a/src/views/mdc/base/AlarmManager.vue
+++ b/src/views/mdc/base/AlarmManager.vue
@@ -40,10 +40,16 @@
             :sm="24"
           >
             <a-form-item label="鎺у埗绯荤粺绫诲瀷">
-              <j-dict-select-tag
-                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+              <!--<j-dict-select-tag-->
+                <!--placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"-->
+                <!--v-model="queryParam.driveType"-->
+                <!--dictCode="mdc_driveType"-->
+              <!--/>-->
+              <a-auto-complete
                 v-model="queryParam.driveType"
-                dictCode="mdc_driveType"
+                :data-source="driveTypeList"
+                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+                :filter-option="filterOption"
               />
             </a-form-item>
           </a-col>
@@ -177,10 +183,9 @@
         @change="handleTableChange"
       >
 
-
         <span
           slot="action"
-          slot-scope="text, record"
+        slot-scope="text, record"
         >
           <a @click="handleEdit(record)">缂栬緫</a>
 
@@ -196,8 +201,8 @@
       </a-table>
     </div>
 
-    <alarm-manager-modal ref="modalForm" @ok="modalFormOk"></alarm-manager-modal>
-    <alarm-manager-form ref="modalFormType" @ok="modalFormOk"></alarm-manager-form>
+    <!--<alarm-manager-modal ref="modalForm" @ok="modalFormOk"></alarm-manager-modal>-->
+    <alarm-manager-form ref="modalFormType" @ok="modalFormOk" :driveTypeList="driveTypeList" :filterOption="filterOption"></alarm-manager-form>
     <alarm-manager-edit ref="modalFormEdit" @ok="modalFormOk"></alarm-manager-edit>
   </a-card>
 </template>
@@ -213,6 +218,7 @@
   import AlarmManagerEdit from './modules/alarmManager/alarmManagerEdit'
   import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
   import { filterObj } from '@/utils/util';
+  import api from '@/api/mdc'
   export default {
     name: 'AlarmManager',
     mixins: [JeecgListMixin, mixinDevice],
@@ -297,11 +303,13 @@
         },
         dictOptions: {},
         superFieldList: [],
+        driveTypeList:[]
       }
     },
     created() {
       this.$set(this.dictOptions, 'isUse', [{ text: '鏄�', value: '0' }, { text: '鍚�', value: '-1' }])
       this.getSuperFieldList();
+      this.getDriveTypeByApi()
     },
     computed: {
       // importExcelUrl: function () {
@@ -313,7 +321,6 @@
         this.$refs.modalFormEdit.edit(record);
         this.$refs.modalFormEdit.title = "缂栬緫";
         this.$refs.modalFormEdit.disableSubmit = false;
-        this.$refs.modalFormEdit.isUse = record.isUse === '1' ? true : false
       },
       handleAddTRype(){
         this.$refs.modalFormType.add();
@@ -344,6 +351,25 @@
         param.pageSize = this.ipagination.pageSize
         return filterObj(param)
       },
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
+      },
 
     }
   }
diff --git a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
index aa57079..513d9e5 100644
--- a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
+++ b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
@@ -408,15 +408,14 @@
      */
     getDriveTypeByApi(){
       api.getDriveTypeApi().then((res)=>{
-        console.log(res)
         this.driveTypeList=res.result.map(item=>item.value)
       })
     },
     /**
      * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
-     * @param input
-     * @param option
-     * @returns {boolean}
+     * @param input 杈撳叆鐨勫唴瀹�
+     * @param option 閰嶇疆
+     * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
      */
     filterOption(input, option) {
       return (
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
index 9551fbc..f7ef79c 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
@@ -607,6 +607,7 @@
         }
       },
       handleAdd() {
+        console.log(this.$refs.modalForm.edit)
         this.$refs.modalForm.add(this.node)
         this.$refs.modalForm.title = '鏂板'
         this.$refs.modalForm.disableSubmit = false
diff --git a/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue b/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
index c269a76..54261aa 100644
--- a/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
+++ b/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
@@ -31,7 +31,7 @@
             <a-col :span="24">
               <a-form-item label="鏄惁杩囨护" :labelCol="labelCol" :wrapperCol="wrapperCol">
                 <!--<j-switch  v-model="model.isUse"></j-switch>-->
-                <a-switch v-model="isUse"/>
+                <a-switch  v-model="isUse"/>
                 <!--<a-radio-group v-model="model.isUse">-->
                   <!--<a-radio :value="1">-->
                     <!--鏄�-->
@@ -103,6 +103,16 @@
           //     required: true, message: '璇烽�夋嫨鐝埗!',
           //   }],
           // },
+          alarmCode:{
+            rules: [{
+              required: true, message: '璇疯緭鍏ユ姤璀﹀彿!',
+            }],
+          },
+          alarmContent:{
+            rules: [{
+              required: true, message: '璇疯緭鍏ユ姤璀﹀唴瀹�!',
+            }],
+          },
         },
         url: {
           // add: '/mdc/alarmInfo/add',
@@ -124,6 +134,7 @@
         this.model = Object.assign({}, record)
         this.visible = true
         this.$nextTick(() => {
+          this.isUse=record.isUse===0?true:false
           this.form.setFieldsValue(pick(this.model, 'alarmCode', 'alarmContent','driveType'))
         })
       },
@@ -160,7 +171,7 @@
                 // that.$message.success("娣诲姞鎴愬姛")
                 that.$notification.success({
                   message:'娑堟伅',
-                  description:"娣诲姞鎴愬姛"
+                  description:"淇敼鎴愬姛"
                 });
                 // that.$message.success(res.message)
                 that.$emit('ok', res.result)
diff --git a/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue b/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
index 438c3e8..cc5e3b8 100644
--- a/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
+++ b/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
@@ -7,7 +7,7 @@
           <a-row :gutter="24">
             <a-col :span="24">
               <a-form-item label="鎶ヨ鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                <a-input placeholder="璇疯緭鍏ユ姤璀﹀彿" v-decorator="['alarmCode', validatorRules.alarmCode]"></a-input>
+                <a-input placeholder="璇疯緭鍏ユ姤璀﹀彿" v-decorator="['alarmCode', validatorRules.alarmCode]" ></a-input>
               </a-form-item>
             </a-col>
             <a-col :span="24">
@@ -20,16 +20,22 @@
             <!--<a-select v-decorator="['driveType', validatorRules. driveType]" placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
                       <!--:options="shiftList">-->
             <!--</a-select>-->
-                  <j-dict-select-tag
-                    placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
-                    v-decorator="['driveType', validatorRules.driveType]"
-                    dictCode="mdc_driveType"
-                  />
+                  <!--<j-dict-select-tag-->
+                    <!--placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
+                    <!--v-decorator="['driveType', validatorRules.driveType]"-->
+                    <!--dictCode="mdc_driveType"-->
+                  <!--/>-->
+              <a-auto-complete
+                v-decorator="['driveType', validatorRules.driveType]"
+                :data-source="driveTypeList"
+                placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                :filter-option="filterOption"
+              />
             </a-form-item>
             </a-col>
             <a-col :span="24">
               <a-form-item label="鏄惁杩囨护" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                <a-switch :default-checked = 'showM' v-decorator="['isUse', validatorRules.isUse]"></a-switch>
+                <a-switch :checked="isFilterChecked"  v-decorator="['isUse', validatorRules.isUse]" @change="isFilterChange"></a-switch>
               </a-form-item>
             </a-col>
             <!--<a-col :span='24'>-->
@@ -77,10 +83,17 @@
   export default {
     name: 'alarmManagerForm',
     // components: {AlarmManagerEqupment},
-    props: {},
+    props: {
+      driveTypeList:{
+        type:Array
+      },
+      filterOption:{
+        type:Function
+      }
+    },
     data() {
       return {
-        showM:true,
+        isFilterChecked:true,
         isUse:true,
         title: '',
         visible: false,
@@ -103,24 +116,20 @@
             span: 18
           }
         },
-        confirmLoading: false,        form: this.$form.createForm(this),
+        confirmLoading: false,
+        form: this.$form.createForm(this),
         validatorRules: {
-          // driveType:{
-          //   rules: [{
-          //     required: true, message: '璇烽�夋嫨椹卞姩绫诲瀷!',
-          //   }],
-          // },
-          // isUse:{
-          //   rules: [{
-          //     required: true, message: !',
-          //   }],
-          // },
+          driveType:{
+            rules: [{
+              required: true, message: '璇烽�夋嫨椹卞姩绫诲瀷!',
+            }],
+          },
           alarmCode:{
             rules: [{
               required: true, message: '璇疯緭鍏ユ姤璀﹀彿!',
             }],
           },
-          alarmDescription:{
+          alarmContent:{
             rules: [{
               required: true, message: '璇疯緭鍏ユ姤璀﹀唴瀹�!',
             }],
@@ -152,10 +161,11 @@
       },
       add(record) {
         let _this = this
-        this.visible = true
+        this.isFilterChecked=true
         this.form.resetFields()
         this.model = Object.assign({}, record)
         // this.initShiftList()
+        this.visible = true
         this.$nextTick(() => {
 
         })
@@ -200,6 +210,13 @@
       handleCancel() {
         this.close()
       },
+      /**
+       * 鏄惁杩囨护鍒囨崲鍣╟hange浜嬩欢
+       * @param checked 鍒囨崲鍚庣殑鐘舵��
+       */
+      isFilterChange(checked){
+        this.isFilterChecked=checked
+      }
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
index a948d79..b586a1c 100644
--- a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
+++ b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
@@ -12,9 +12,15 @@
           <!--</a-col>-->
           <a-col :md="5" :sm="5">
             <a-form-item label="椹卞姩绫诲瀷">
-              <j-dict-select-tag placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
-                                 :triggerChange="true" dictCode="mdc_driveType"
-                                 v-model="queryParam.driveType" allow-clear/>
+              <!--<j-dict-select-tag placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
+                                 <!--:triggerChange="true" dictCode="mdc_driveType"-->
+                                 <!--v-model="queryParam.driveType" allow-clear/>-->
+              <a-auto-complete
+                v-model="queryParam.driveType"
+                :data-source="driveTypeList"
+                placeholder="椹卞姩绫诲瀷"
+                :filter-option="filterOption"
+              />
             </a-form-item>
           </a-col>
           <a-col :md="9" :sm="9" :xs="4">
@@ -68,6 +74,7 @@
   import JEllipsis from '@/components/jeecg/JEllipsis'
   import Tooltip from 'ant-design-vue/es/tooltip'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import api from '@/api/mdc'
   export default {
     name: 'comparativeAnalysismain',
     // mixins: [JeecgListMixin],
@@ -102,7 +109,8 @@
         url: {
           comparativeAnalysis:'/mdc/efficiencyReport/comparativeAnalysis'
         },
-        AnalysisList:{}
+        AnalysisList:{},
+        driveTypeList:[]
       }
     },
     watch:{
@@ -278,7 +286,25 @@
             this.loading = false
           })
         }
-
+      },
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
       },
       // onChange(value, dateString) {
       //   // console.log('Selected Time: ', value);
@@ -398,6 +424,7 @@
       this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
       this.queryParam.typeTree = "1";
       this.loadAnalysis();
+      this.getDriveTypeByApi()
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
index 9667f8b..47997ea 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
@@ -31,6 +31,15 @@
       <div style="overflow: auto;width: 100%;margin-top: 20px;height: 569px;">
         <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"  @change="handleTableChange"  class="ant-table-striped"
                  :dataSource="dataSource" :pagination="ipagination" :loading="loading"  :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)">
+          <span slot="action"
+                slot-scope="text, record">
+            <a-popconfirm
+              title="纭畾鍒犻櫎鍚�?"
+              @confirm="() => handleDelete(record.id)"
+            >
+                  <a>鍒犻櫎</a>
+                </a-popconfirm>
+          </span>
           <span slot="isDaySpan" slot-scope="text, record">
            <span v-if="text == 'true'">鏄�</span>
            <span v-if="text == 'false'">鍚�</span>
@@ -127,12 +136,21 @@
             title: '缁撴潫浼戞伅鏃堕棿',
             align: 'center',
             dataIndex: 'sleepEndDate'
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: "center",
+            fixed: "right",
+            width: 147,
+            scopedSlots: { customRender: 'action' }
           }
         ],
         checkedList: ['lyl'],
         dataList: [],
         url: {
-          list: '/mdc/mdcDeviceCalendar/list'
+          list: '/mdc/mdcDeviceCalendar/list',
+          delete:'/mdc/mdcDeviceCalendar/delete'
         }
       }
     },
@@ -178,7 +196,6 @@
         this.queryParam = {}
         this.loadData()
       },
-
       loadData(arg) {
         this.dataSource = [];
         if(!this.url.list){
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
index 86d898c..f9fd2a5 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
@@ -212,13 +212,13 @@
         this.loadData();
       },
       openPage() {
-        this.visible = true
         this.onClearSelected()
+        this.valueProduct=null
+        this.visible = true
         this.dataSource = [];
         this.queryParam = {
           status: this.status
         };
-
         this.loadData();
         this.initOptions();
         this.initGroupOptions()
diff --git a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
index dbc2ee2..686e4f6 100644
--- a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
+++ b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
@@ -55,7 +55,6 @@
         <div class="checkboxgroup">
           <p>缁熻鍙傛暟</p>
           <div class="checkboxgroup_con">
-
             <a-checkbox-group name="checkboxgroup" :value="option" :options="plainOptions" @change="checkboxOnChange"/>
           </div>
         </div>
@@ -133,7 +132,6 @@
       let equipment = param.equipmentId
       getAction(this.url.initPlainOptions,{equipmentId:equipment}).then((res) => {
         if (res.success) {
-
           let temp = []
           // debugger
           for (var item of res.result) {
@@ -143,7 +141,6 @@
           if(temp.length>0){
             that.option = [temp[0].value]
           }
-
         }
       })
     },

--
Gitblit v1.9.3