From d2547913ef2e150d8bb18bc8f7423515c7ed71d0 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 25 四月 2025 14:04:29 +0800
Subject: [PATCH] 1、调整设备台账铭牌二维码大小 2、待机停机页面功能开发

---
 src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue             |    3 
 src/views/eam/equipment/modules/NameplateModal.vue                                    |  122 ++++----
 src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue                 |    3 
 src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue |  292 ++++++++++++++--------
 src/views/system/modules/SelectDeviceDrawer.vue                                       |    1 
 src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue  |  302 +++++++++++-----------
 6 files changed, 407 insertions(+), 316 deletions(-)

diff --git a/src/views/eam/equipment/modules/NameplateModal.vue b/src/views/eam/equipment/modules/NameplateModal.vue
index 5b974ae..f36442b 100644
--- a/src/views/eam/equipment/modules/NameplateModal.vue
+++ b/src/views/eam/equipment/modules/NameplateModal.vue
@@ -18,8 +18,10 @@
 
         <tbody>
         <tr>
-          <td rowspan="3">
-            <QrcodeVue :value="httpUrl+item.id"/>
+          <td rowspan="3" align="center">
+            <div style="height: 80%;width: 50%">
+              <QrcodeVue :value="httpUrl+item.id" :size="50"/>
+            </div>
           </td>
           <td>璁惧缂栧彿</td>
           <td>{{ item.equipmentCode }}</td>
@@ -42,8 +44,10 @@
         </tr>
 
         <tr>
-          <td rowspan="3">
-            <QrcodeVue :value="item.equipmentCode"/>
+          <td rowspan="3" align="center">
+            <div style="height: 80%;width: 50%">
+              <QrcodeVue :value="item.equipmentCode" :size="50"/>
+            </div>
           </td>
           <td>鍑哄巶缂栧彿</td>
           <td>{{ item.factoryNumber }}</td>
@@ -75,73 +79,73 @@
 </template>
 
 <script>
-import QrcodeVue from 'qrcode.vue'
+  import QrcodeVue from 'qrcode.vue'
 
-export default {
-  name: 'NameplateModal',
-  components: { QrcodeVue },
-  props: {
-    printedRows: {
-      type: Array
-    }
-  },
-  data() {
-    return {
-      title: '閾墝',
-      visible: false,
-      httpUrl: ''
-    }
-  },
-  methods: {
-    handleCancel() {
-      this.visible = false
+  export default {
+    name: 'NameplateModal',
+    components: { QrcodeVue },
+    props: {
+      printedRows: {
+        type: Array
+      }
+    },
+    data() {
+      return {
+        title: '閾墝',
+        visible: false,
+        httpUrl: ''
+      }
+    },
+    methods: {
+      handleCancel() {
+        this.visible = false
+      }
     }
   }
-}
 </script>
 
 <style lang="less" scoped>
-/deep/ .ant-modal {
-  height: 75%;
-  overflow: hidden;
-
-  .ant-modal-content {
-    height: 100%;
-    display: flex;
-    flex-direction: column;
+  /deep/ .ant-modal {
+    height: 75%;
     overflow: hidden;
 
-    ::-webkit-scrollbar {
-      width: 8px;
-      height: 8px;
-    }
+    .ant-modal-content {
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
 
-    .ant-modal-body {
-      flex: 1;
-      overflow: auto;
+      ::-webkit-scrollbar {
+        width: 8px;
+        height: 8px;
+      }
+
+      .ant-modal-body {
+        flex: 1;
+        overflow: auto;
+      }
     }
   }
-}
 
-table {
-  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "寰蒋闆呴粦", Arial, sans-serif;
-  color: #000;
-  text-align: center;
+  table {
+    font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "寰蒋闆呴粦", Arial, sans-serif;
+    color: #000;
+    text-align: center;
 
-  &:not(:last-child) {
-    margin-bottom: 10px;
+    &:not(:last-child) {
+      margin-bottom: 10px;
+    }
+
+    th {
+      font-size: 24px;
+      letter-spacing: 3px;
+      padding: 12px;
+    }
+
+    td {
+      font-size: 14px;
+      width: 33%;
+      padding: 6px;
+    }
   }
-
-  th {
-    font-size: 24px;
-    letter-spacing: 3px;
-    padding: 12px;
-  }
-
-  td {
-    font-size: 14px;
-    width: 33%;
-    padding: 6px;
-  }
-}
 </style>
\ No newline at end of file
diff --git a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
index 8423359..038abde 100644
--- a/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
+++ b/src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
@@ -234,7 +234,8 @@
 
         return {
           disabledHours: () => range(moment().hour() + 1, 24),
-          disabledMinutes: () => range(moment().minute(), 60)
+          disabledMinutes: () => range(moment().minute() + 1, 60),
+          disabledSeconds: () => range(moment().second() + 1, 60)
         }
       },
 
diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
index 79fdd12..c99495f 100644
--- a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
+++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
@@ -145,7 +145,7 @@
             </a-tab-pane>
 
             <a-tab-pane key='3' tab='娴佺▼鍥�'>
-              <img :src="imageSrc" alt="Fetched Image"/>-->
+              <img :src="imageSrc" alt="Fetched Image"/>
             </a-tab-pane>
           </template>
 
@@ -365,7 +365,6 @@
         const param = { id: record.dataId }
         let res = await getAction(this.url.queryById, param);
         this.tableRowRecord = Object.assign({}, res.result);
-        debugger
         if (this.tableRowRecord.imageFiles) {
           let obj = JSON.parse(this.tableRowRecord.imageFiles)
           this.tableRowRecord.fileList = [...obj]
diff --git a/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue b/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue
index 4aa61a5..bbbc17b 100644
--- a/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue
+++ b/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue
@@ -6,17 +6,26 @@
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
             <a-col :md="4" :sm="4">
-              <a-form-item label="鏃ユ湡">
-                <a-date-picker value-format="YYYY-MM-DD" style="width: 100%" v-model="queryParam.theDate"/>
+              <a-form-item label="鍋滄満鏃ユ湡">
+                <a-date-picker placeholder="璇烽�夋嫨鍋滄満鏃ユ湡" value-format="YYYY-MM-DD" style="width: 100%"
+                               v-model="queryParam.theDate" :allow-clear="false"/>
               </a-form-item>
             </a-col>
 
-            <a-col :md="2" :sm="2" :xs="2">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-space>
+                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                <a-button @click="searchReset" icon="reload">閲嶇疆</a-button>
+              </a-space>
             </a-col>
           </a-row>
         </a-form>
       </div>
+    </div>
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
     </div>
 
     <div style="overflow: hidden;width: 100%;flex: 1" id="DeviceList">
@@ -30,7 +39,7 @@
         </template>
 
         <template slot="action" slot-scope="text, record">
-          <a @click="handleReport(record)">涓婃姤</a>
+          <a @click="handleEdit(record)">缂栬緫</a>
 
           <a-divider type="vertical"/>
 
@@ -46,168 +55,167 @@
 </template>
 
 <script>
-import moment from 'moment'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import EquipmentStandbyShutdownModal
-  from '@views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue'
+  import moment from 'moment'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import EquipmentStandbyShutdownModal
+    from '@views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue'
 
-export default {
-  name: 'EquipmentStandbyShutdownList',
-  components: { EquipmentStandbyShutdownModal },
-  mixins: [JeecgListMixin],
-  data() {
-    return {
-      disableMixinCreated: true,
-      scrollY: 465,
-      queryParam: {
-        theDate: moment().subtract('days', 1).format('YYYY-MM-DD')
-      },
-      columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
+  export default {
+    name: 'EquipmentStandbyShutdownList',
+    components: { EquipmentStandbyShutdownModal },
+    mixins: [JeecgListMixin],
+    data() {
+      return {
+        disableMixinCreated: true,
+        scrollY: 465,
+        queryParam: {
+          theDate: moment().subtract('days', 1).format('YYYY-MM-DD')
+        },
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            dataIndex: 'equipmentId',
+            width: 200
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'equipmentName',
+            width: 200
+          },
+          {
+            title: '鍋滄満绫诲瀷',
+            align: 'center',
+            dataIndex: 'downtimeType',
+            scopedSlots: { customRender: 'downtimeType' },
+            width: 150
+          },
+          {
+            title: '鍋滄満鍘熷洜',
+            align: 'center',
+            dataIndex: 'downtimeDescription',
+            width: 200
+          },
+          {
+            title: '鍋滄満鏃ユ湡',
+            align: 'center',
+            dataIndex: 'theDate',
+            width: 150
+          },
+          {
+            title: '鍋滄満鏃堕暱(min)',
+            align: 'center',
+            dataIndex: 'downLong',
+            width: 150
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            dataIndex: 'remark'
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: 'center',
+            width: 150,
+            scopedSlots: { customRender: 'action' },
+            fixed: 'right'
           }
-        },
-        {
-          title: '璁惧缂栧彿',
-          align: 'center',
-          dataIndex: 'equipmentId',
-          width: 200
-        },
-        {
-          title: '璁惧鍚嶇О',
-          align: 'center',
-          dataIndex: 'equipmentName',
-          width: 200
-        },
-        {
-          title: '鍋滄満绫诲瀷',
-          align: 'center',
-          dataIndex: 'downtimeType',
-          scopedSlots: { customRender: 'downtimeType' },
-          width: 150
-        },
-        {
-          title: '鍋滄満鍘熷洜',
-          align: 'center',
-          dataIndex: 'downtimeDescription',
-          width: 200
-        },
-        {
-          title: '寮�濮嬫椂闂�',
-          align: 'center',
-          dataIndex: 'startDate',
-          width: 150
-        },
-        {
-          title: '缁撴潫鏃堕棿',
-          align: 'center',
-          dataIndex: 'endDate',
-          width: 150
-        },
-        {
-          title: '澶囨敞',
-          align: 'center',
-          dataIndex: 'remark',
-          width: 200
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          width: 150,
-          scopedSlots: { customRender: 'action' },
-          fixed: 'right'
+        ],
+        url: {
+          list: '/mdc/mdcDowntime/list',
+          delete: '/mdc/mdcDowntime/delete'
         }
-      ],
-      url: {
-        list: '/mdc/mdcDowntime/list',
-        delete: '/mdc/mdcDowntime/delete'
       }
-    }
-  },
-  props: { node: {}, Type: '' },
-  created() {
-    this.queryParam.typeTree = '1'
-    this.loadData()
-  },
-  mounted() {
-    window.addEventListener('resize', this.handleWindowResize)
-    this.handleWindowResize()
-  },
-  beforeDestroy() {
-    window.removeEventListener('resize', this.handleWindowResize)
-  },
-  watch: {
-    Type(valmath) {
-      this.queryParam.typeTree = valmath
     },
-    node(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
-      if (JSON.stringify(val) != '{}') {
-        if (val.equipmentId != null) {
-          this.queryParam.equipmentId = val.equipmentId
-          this.queryParam.parentId = ''
-        } else {
-          this.queryParam.parentId = val.key
-          this.queryParam.equipmentId = ''
+    props: { node: {}, Type: '' },
+    created() {
+      this.queryParam.typeTree = '1'
+      this.loadData()
+    },
+    mounted() {
+      window.addEventListener('resize', this.handleWindowResize)
+      this.handleWindowResize()
+    },
+    beforeDestroy() {
+      window.removeEventListener('resize', this.handleWindowResize)
+    },
+    watch: {
+      Type(valmath) {
+        this.queryParam.typeTree = valmath
+      },
+      node(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
+        if (JSON.stringify(val) != '{}') {
+          if (val.equipmentId != null) {
+            this.queryParam.equipmentId = val.equipmentId
+            this.queryParam.parentId = ''
+          } else {
+            this.queryParam.parentId = val.key
+            this.queryParam.equipmentId = ''
+          }
+          this.loadData(1)
         }
+      }
+    },
+    methods: {
+      searchReset() {
+        this.queryParam = { theDate: moment().subtract('days', 1).format('YYYY-MM-DD') }
         this.loadData(1)
-      }
-    }
-  },
-  methods: {
-    handleReport(record) {
-      this.$refs.modalForm.edit(record)
-      this.$refs.modalForm.title = '涓婃姤'
-    },
+      },
 
-    handleWindowResize() {
-      const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0, -2)
-      const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0, -2)
-      this.scrollY = boxHeight - tableHeadHeight - 50
+      handleWindowResize() {
+        const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0, -2)
+        const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0, -2)
+        this.scrollY = boxHeight - tableHeadHeight - 50
+      }
     }
   }
-}
 </script>
 <style scoped>
-.page-container {
-  overflow: hidden;
-  display: flex;
-  flex-direction: column;
-}
-
-@media screen and (min-width: 1920px) {
   .page-container {
-    height: 812px !important;
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
   }
-}
 
-@media screen and (min-width: 1680px) and (max-width: 1920px) {
-  .page-container {
-    height: 812px !important;
+  @media screen and (min-width: 1920px) {
+    .page-container {
+      height: 812px !important;
+    }
   }
-}
 
-@media screen and (min-width: 1400px) and (max-width: 1680px) {
-  .page-container {
-    height: 664px !important;
+  @media screen and (min-width: 1680px) and (max-width: 1920px) {
+    .page-container {
+      height: 812px !important;
+    }
   }
-}
 
-@media screen and (min-width: 1280px) and (max-width: 1400px) {
-  .page-container {
-    height: 565px !important;
+  @media screen and (min-width: 1400px) and (max-width: 1680px) {
+    .page-container {
+      height: 664px !important;
+    }
   }
-}
 
-@media screen and (max-width: 1280px) {
-  .page-container {
-    height: 565px !important;
+  @media screen and (min-width: 1280px) and (max-width: 1400px) {
+    .page-container {
+      height: 565px !important;
+    }
   }
-}
+
+  @media screen and (max-width: 1280px) {
+    .page-container {
+      height: 565px !important;
+    }
+  }
 </style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue b/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue
index 3332d8a..957eafe 100644
--- a/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue
+++ b/src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue
@@ -1,9 +1,18 @@
 <template>
   <a-modal :title="title" :width="500" :visible="visible" :confirmLoading="confirmLoading" @ok="handleOk"
            @cancel="handleCancel" cancelText="鍏抽棴">
-    <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules" :labelCol="labelColLong"
+    <a-spin :spinning="spinning">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelColLong"
                     :wrapperCol="wrapperColLong">
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-model-item label="璁惧缁�" prop="equipmentIds">
+              <a-input-search readOnly v-model="model.equipmentIds" @search="deviceSearch" enter-button
+                              placeholder="璇烽�夋嫨璁惧"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
         <a-row :gutter="24">
           <a-col :span="24">
             <a-form-model-item label="鍋滄満绫诲瀷" prop="downtimeType">
@@ -14,6 +23,7 @@
               </a-radio-group>
             </a-form-model-item>
           </a-col>
+
         </a-row>
 
         <a-row :gutter="24">
@@ -30,6 +40,38 @@
 
         <a-row :gutter="24">
           <a-col :span="24">
+            <a-form-model-item label="鍋滄満鏃ユ湡" prop="theDate">
+              <a-date-picker v-model="model.theDate" placeholder="璇烽�夋嫨鍋滄満鏃ユ湡" value-format="YYYY-MM-DD"
+                             style="width: 100%"/>
+            </a-form-model-item>
+          </a-col>
+
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-model-item label="鍋滄満鏃堕暱(min)" prop="downLong">
+              <a-input-number v-model="model.downLong" :min="1" :step="1" :precision="0" placeholder="璇疯緭鍏ュ仠鏈烘椂闀�(min)"
+                              style="width: 100%"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <!--<a-row :gutter="24">-->
+        <!--<a-col :span="12">-->
+        <!--<a-form-model-item label="寮�濮嬫椂闂�" prop="startTime">-->
+        <!--<a-time-picker v-model="model.startTime" value-format="HH:mm:ss" style="width: 100%"/>-->
+        <!--</a-form-model-item>-->
+        <!--</a-col>-->
+        <!--<a-col :span="12">-->
+        <!--<a-form-model-item label="缁撴潫鏃堕棿" prop="endTime">-->
+        <!--<a-time-picker v-model="model.endTime" value-format="HH:mm:ss" style="width: 100%"/>-->
+        <!--</a-form-model-item>-->
+        <!--</a-col>-->
+        <!--</a-row>-->
+
+        <a-row :gutter="24">
+          <a-col :span="24">
             <a-form-model-item label="澶囨敞">
               <a-textarea v-model="model.remark" placeholder="璇疯緭鍏ュ娉�"/>
             </a-form-model-item>
@@ -37,128 +79,164 @@
         </a-row>
       </a-form-model>
     </a-spin>
+
+    <select-device-drawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'閫夋嫨璁惧'"/>
   </a-modal>
 </template>
 
 <script>
-import { getAction, postAction } from '@api/manage'
+  import { getAction, postAction } from '@api/manage'
+  import SelectDeviceDrawer from '../../../../system/modules/SelectDeviceDrawer'
 
-export default {
-  name: 'EquipmentStandbyShutdownModal',
-  components: {},
-  props: {},
-  data() {
-    return {
-      title: '',
-      visible: false,
-      model: {},
-      downtimeDescriptionList: [],
-      labelColLong: {
-        xs: {
-          span: 24
+  export default {
+    name: 'EquipmentStandbyShutdownModal',
+    components: { SelectDeviceDrawer },
+    props: {},
+    data() {
+      return {
+        title: '',
+        visible: false,
+        model: {},
+        equipmentList: [],
+        downtimeDescriptionList: [],
+        labelColLong: {
+          xs: { span: 24 },
+          sm: { span: 6 }
         },
-        sm: {
-          span: 5
-        }
-      },
-      wrapperColLong: {
-        xs: {
-          span: 24
+        wrapperColLong: {
+          xs: { span: 24 },
+          sm: { span: 16 }
         },
-        sm: {
-          span: 17
+        confirmLoading: false,
+        spinning: false,
+        disableSelectDevice: false,
+        validatorRules: {
+          equipmentIds: [
+            { required: true, message: '璇烽�夋嫨璁惧', trigger: 'change' }
+          ],
+          downtimeType: [
+            { required: true, message: '璇烽�夋嫨鍋滄満绫诲瀷' }
+          ],
+          reasonId: [
+            { required: true, message: '璇烽�夋嫨鍋滄満鍘熷洜' }
+          ],
+          theDate: [
+            { required: true, message: '璇烽�夋嫨鍋滄満鏃ユ湡' }
+          ],
+          downLong: [
+            { required: true, message: '璇疯緭鍏ュ仠鏈烘椂闀�(min)' }
+          ]
+        },
+        url: {
+          add: '/mdc/mdcDowntime/add',
+          edit: '/mdc/mdcDowntime/edit',
+          getDowntimeDescriptionListByDowntimeType: '/mdc/mdcDowntimeReason/downtimeReasonList'
         }
-      },
-      confirmLoading: false,
-      form: this.$form.createForm(this),
-      validatorRules: {
-        downtimeType: [
-          {
-            required: true, message: '璇烽�夋嫨鍋滄満绫诲瀷'
-          }
-        ],
-        reasonId: [
-          {
-            required: true, message: '璇烽�夋嫨鍋滄満鍘熷洜'
-          }
-        ]
-      },
-      url: {
-        edit: '/mdc/mdcDowntime/edit',
-        getDowntimeDescriptionListByDowntimeType: '/mdc/mdcDowntimeReason/downtimeReasonList'
       }
-    }
-  },
-  methods: {
-    edit(record) {
-      this.model = Object.assign({}, record)
-      this.getDowntimeDescriptionListByApi()
-      if (this.model.downtimeType === null) {
-        delete this.model.downtimeType
-        delete this.model.reasonId
-      }
-      this.visible = true
     },
-
-    // 鍋滄満绫诲瀷鍊煎彂鐢熸敼鍙樻椂瑙﹀彂娓呯┖鍋滄満鍘熷洜骞堕噸鏂拌幏鍙栧搴斿仠鏈虹被鍨嬬殑鍋滄満鍘熷洜鍒楄〃
-    handleDowntimeTypeChange() {
-      if (this.model.reasonId) delete this.model.reasonId
-      this.removeValidate()
-      this.getDowntimeDescriptionListByApi()
-    },
-
-    // 璋冪敤鎺ュ彛鑾峰彇鍋滄満鍘熷洜鍒楄〃
-    getDowntimeDescriptionListByApi() {
-      const that = this
-      this.downtimeDescriptionList = []
-      getAction(this.url.getDowntimeDescriptionListByDowntimeType, { downtimeType: this.model.downtimeType })
-        .then(res => {
-          if (res.success) that.downtimeDescriptionList = res.result
+    methods: {
+      add() {
+        this.edit({
+          downtimeType: 0
         })
-    },
+      },
 
-    handleOk() {
-      const that = this
-      // 瑙﹀彂琛ㄥ崟楠岃瘉
-      this.$refs.form.validate(valid => {
-        if (valid) {
-          that.confirmLoading = true
-          postAction(this.url.edit, that.model)
-            .then((res) => {
-              if (res.success) {
-                that.$notification.success({
-                  message: '娑堟伅',
-                  description: res.message
-                })
-                that.$emit('ok', res.result)
-                that.handleCancel()
-              } else {
-                that.$notification.warning({
-                  message: '娑堟伅',
-                  description: res.message
-                })
-              }
-            })
-            .finally(() => {
-              that.confirmLoading = false
-            })
-        } else {
-          return false
+      edit(record) {
+        this.model = Object.assign({}, record)
+        this.getDowntimeDescriptionListByApi()
+        if (this.model.downtimeType === null) {
+          delete this.model.downtimeType
+          delete this.model.reasonId
         }
-      })
-    },
+        this.visible = true
+      },
 
-    handleCancel() {
-      this.visible = false
-      this.removeValidate()
-    },
+      // 鍋滄満绫诲瀷鍊煎彂鐢熸敼鍙樻椂瑙﹀彂娓呯┖鍋滄満鍘熷洜骞堕噸鏂拌幏鍙栧搴斿仠鏈虹被鍨嬬殑鍋滄満鍘熷洜鍒楄〃
+      handleDowntimeTypeChange() {
+        if (this.model.reasonId) delete this.model.reasonId
+        this.removeValidate()
+        this.getDowntimeDescriptionListByApi()
+      },
 
-    // 鍏抽棴寮圭獥鏃舵竻妤氳〃鍗曟牎楠�
-    removeValidate() {
-      if (this.$refs.form) this.$refs.form.clearValidate()
+      // 璋冪敤鎺ュ彛鑾峰彇鍋滄満鍘熷洜鍒楄〃
+      getDowntimeDescriptionListByApi() {
+        const that = this
+        this.downtimeDescriptionList = []
+        this.spinning = true
+        getAction(this.url.getDowntimeDescriptionListByDowntimeType, { downtimeType: this.model.downtimeType })
+          .then(res => {
+            if (res.success) that.downtimeDescriptionList = res.result
+          })
+          .finally(() => {
+            that.spinning = false
+          })
+      },
+
+      handleOk() {
+        const that = this
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        console.log('model', this.model)
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = that.spinning = true
+            let url
+            if (!that.model.id) {
+              url = that.url.add
+            } else {
+              url = that.url.edit
+            }
+            postAction(url, that.model)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.$emit('ok')
+                  that.handleCancel()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = that.spinning = false
+              })
+          } else {
+            return false
+          }
+        })
+      },
+
+      deviceSearch() {
+        this.$refs.selectDeviceDrawer.visible = true
+        this.$refs.selectDeviceDrawer.selectedRowKeys = []
+        this.$refs.selectDeviceDrawer.selectedRows = []
+        this.$refs.selectDeviceDrawer.checkedKeys = this.model.equipmentIds ? this.model.equipmentIds.split(',') : []
+      },
+
+      /**
+       * 閫夋嫨宸叉湁璁惧鍚庣偣鍑荤‘瀹氭椂瑙﹀彂
+       * @param data 宸查�夋嫨鐨勮澶�
+       */
+      selectOK(data) {
+        this.$set(this.model, 'equipmentIds', data.join(','))
+        if (this.model.equipmentIds) this.$refs.form.clearValidate('equipmentIds')
+      },
+
+      handleCancel() {
+        this.visible = false
+        this.removeValidate()
+      },
+
+      // 鍏抽棴寮圭獥鏃舵竻妤氳〃鍗曟牎楠�
+      removeValidate() {
+        if (this.$refs.form) this.$refs.form.clearValidate()
+      }
     }
   }
-}
 </script>
 
 
diff --git a/src/views/system/modules/SelectDeviceDrawer.vue b/src/views/system/modules/SelectDeviceDrawer.vue
index 6015831..cdd045b 100644
--- a/src/views/system/modules/SelectDeviceDrawer.vue
+++ b/src/views/system/modules/SelectDeviceDrawer.vue
@@ -96,6 +96,7 @@
         expandedKeys: [],
         checkedKeys: [],
         autoExpandParent: true,
+        searchValue: '',
         url: {
           getBaseTree: '/mdc/mdcEquipment/queryTreeListByProduction'
         },

--
Gitblit v1.9.3