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