From 09cdacb5994bc840723b4292fb863d947f5d58c8 Mon Sep 17 00:00:00 2001 From: cuikaidong <ckd2942379034@163.com> Date: 星期二, 27 五月 2025 17:38:53 +0800 Subject: [PATCH] 设备报废功能增加 --- src/views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue | 223 ++++++++++++ src/views/eam/dispose/EamEquipmentScrapList.vue | 379 +++++++++++--------- src/views/eam/dispose/modules/EamEquipmentScrapModal.vue | 238 ++++++------ src/views/flowable/workflow/FlowTodo.vue | 192 +++++---- 4 files changed, 658 insertions(+), 374 deletions(-) diff --git a/src/views/eam/dispose/EamEquipmentScrapList.vue b/src/views/eam/dispose/EamEquipmentScrapList.vue index 61fbecf..d9986e6 100644 --- a/src/views/eam/dispose/EamEquipmentScrapList.vue +++ b/src/views/eam/dispose/EamEquipmentScrapList.vue @@ -1,46 +1,47 @@ <template> - <a-card :bordered="false"> + <a-card :bordered='false'> <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form layout="inline" @keyup.enter.native="searchQuery"> - <a-row :gutter="24"> + <div class='table-page-search-wrapper'> + <a-form layout='inline' @keyup.enter.native='searchQuery'> + <a-row :gutter='24'> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鍒犻櫎鏍囪"> - <a-input placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" v-model="queryParam.delFlag"></a-input> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <a-form-item label='璁惧缂栧彿'> + <lx-search-equipment-select v-model='queryParam.equipmentId' + placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鍗曟嵁鍙�"> - <a-input placeholder="璇疯緭鍏ュ崟鎹彿" v-model="queryParam.code"></a-input> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <a-form-item label='鍗曟嵁鍙�'> + <a-input v-model='queryParam.code' placeholder='璇疯緭鍏ュ崟鎹彿'></a-input> </a-form-item> </a-col> - <template v-if="toggleSearchStatus"> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="璁惧ID"> - <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="queryParam.equipmentId"></a-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="杞/鎶ュ簾"> - <a-input placeholder="璇疯緭鍏ヨ浆璁�/鎶ュ簾" v-model="queryParam.scrapType"></a-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鐢宠浜�"> - <a-input placeholder="璇疯緭鍏ョ敵璇蜂汉" v-model="queryParam.reportUser"></a-input> - </a-form-item> - </a-col> + <template v-if='toggleSearchStatus'> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <a-form-item label='璁惧ID'> + <a-input v-model='queryParam.equipmentId' placeholder='璇疯緭鍏ヨ澶嘔D'></a-input> + </a-form-item> + </a-col> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <a-form-item label='杞/鎶ュ簾'> + <a-input v-model='queryParam.scrapType' placeholder='璇疯緭鍏ヨ浆璁�/鎶ュ簾'></a-input> + </a-form-item> + </a-col> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <a-form-item label='鐢宠浜�'> + <a-input v-model='queryParam.reportUser' placeholder='璇疯緭鍏ョ敵璇蜂汉'></a-input> + </a-form-item> + </a-col> </template> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> - <a @click="handleToggleSearch" style="margin-left: 8px"> - {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> - </a> + <a-col :lg='7' :md='8' :sm='24' :xl='6'> + <span class='table-page-search-submitButtons' style='float: left;overflow: hidden;'> + <a-button icon='search' type='primary' @click='searchQuery'>鏌ヨ</a-button> + <a-button icon='reload' style='margin-left: 8px' type='primary' @click='searchReset'>閲嶇疆</a-button> + <!-- <a @click="handleToggleSearch" style="margin-left: 8px">--> + <!-- {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}--> + <!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>--> + <!-- </a>--> </span> </a-col> @@ -49,54 +50,66 @@ </div> <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <a-button type="primary" icon="download" @click="handleExportXls('璁惧鎶ュ簾(杞)')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> - <a-button type="primary" icon="import">瀵煎叆</a-button> - </a-upload> - <a-dropdown v-if="selectedRowKeys.length > 0"> - <a-menu slot="overlay"> - <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + <div class='table-operator'> + <a-button icon='plus' type='primary' @click='handleAdd'>鏂板</a-button> + <a-dropdown v-if='selectedRowKeys.length > 0'> + <a-menu slot='overlay'> + <a-menu-item key='1' @click='batchDel'> + <a-icon type='delete' /> + 鍒犻櫎 + </a-menu-item> </a-menu> - <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + <a-button style='margin-left: 8px'> 鎵归噺鎿嶄綔 + <a-icon type='down' /> + </a-button> </a-dropdown> </div> <!-- table鍖哄煙-begin --> <div> - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� - <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'> + <i class='anticon anticon-info-circle ant-alert-icon'></i> 宸查�夋嫨 <a + style='font-weight: 600'>{{ selectedRowKeys.length }}</a>椤� + <a style='margin-left: 24px' @click='onClearSelected'>娓呯┖</a> </div> <a-table - ref="table" - size="middle" + ref='table' + :columns='columns' + :dataSource='dataSource' + :loading='loading' + :pagination='ipagination' + :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - class="j-table-force-nowrap" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> + class='j-table-force-nowrap' + rowKey='id' + size='middle' + @change='handleTableChange'> - <span slot="action" slot-scope="text, record"> - <a @click="handleEdit(record)">缂栬緫</a> + <span slot='action' slot-scope='text, record'> + <template v-if="record.scrapStatus === 'WAIT_SUBMIT'"> + <a-popconfirm title='纭畾鎻愪氦鍚�?' @confirm='() => handleSubmit(record.id)'> + <a>鎻愪氦</a> + </a-popconfirm> + <a-divider type='vertical' /> - <a-divider type="vertical" /> <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> + <a class='ant-dropdown-link'>鏇村 <a-icon type='down' /></a> + <a-menu slot='overlay'> + <a-menu-item> + <a @click='handleEdit(record)'>缂栬緫</a> + </a-menu-item> <a-menu-item> - <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a-popconfirm title='纭畾鍒犻櫎鍚�?' @confirm='() => handleDelete(record.id)'> <a>鍒犻櫎</a> </a-popconfirm> </a-menu-item> </a-menu> </a-dropdown> + </template> + <template v-else> + <a href='javascript:;' @click='handleDetail(record)'>璇︽儏</a> + </template> </span> </a-table> @@ -104,122 +117,156 @@ <!-- table鍖哄煙-end --> <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipmentScrap-modal ref="modalForm" @ok="modalFormOk"></eamEquipmentScrap-modal> + <eamEquipmentScrap-modal ref='modalForm' @ok='modalFormOk'></eamEquipmentScrap-modal> </a-card> </template> <script> - import '@/assets/less/TableExpand.less' - import EamEquipmentScrapModal from './modules/EamEquipmentScrapModal' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import '@/assets/less/TableExpand.less' +import EamEquipmentScrapModal from './modules/EamEquipmentScrapModal' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' +import { getAction } from '@api/manage' - export default { - name: "EamEquipmentScrapList", - mixins:[JeecgListMixin], - components: { - EamEquipmentScrapModal - }, - data () { - return { - description: '璁惧鎶ュ簾(杞)绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title: '鍒犻櫎鏍囪', - align:"center", - dataIndex: 'delFlag' - }, - { - title: '鍗曟嵁鍙�', - align:"center", - dataIndex: 'code' - }, - { - title: '璁惧ID', - align:"center", - dataIndex: 'equipmentId' - }, - { - title: '杞/鎶ュ簾', - align:"center", - dataIndex: 'scrapType' - }, - { - title: '鐢宠浜�', - align:"center", - dataIndex: 'reportUser' - }, - { - title: '澶勭疆鏃堕棿', - align:"center", - dataIndex: 'scrapTime' - }, - { - title: '澶勭疆鐞嗙敱', - align:"center", - dataIndex: 'scrapReason' - }, - { - title: '澶勭疆閲戦', - align:"center", - dataIndex: 'scrapAmount' - }, - { - title: '瀹℃牳浜�', - align:"center", - dataIndex: 'approvalUser' - }, - { - title: '瀹℃牳鎰忚', - align:"center", - dataIndex: 'approvalComment' - }, - { - title: '瀹℃牳鏃堕棿', - align:"center", - dataIndex: 'approvalTime' - }, - { - title: '澶囨敞', - align:"center", - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align:"center", - scopedSlots: { customRender: 'action' }, + +export default { + name: 'EamEquipmentScrapList', + mixins: [JeecgListMixin], + components: { + EamEquipmentScrapModal, + LxSearchEquipmentSelect + }, + data() { + return { + description: '璁惧鎶ュ簾(杞)绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 } - ], - url: { - list: "/eam/eamEquipmentScrap/list", - delete: "/eam/eamEquipmentScrap/delete", - deleteBatch: "/eam/eamEquipmentScrap/deleteBatch", - exportXlsUrl: "eam/eamEquipmentScrap/exportXls", - importExcelUrl: "eam/eamEquipmentScrap/importExcel", - }, + }, + { + title: '鍗曟嵁鍙�', + align: 'center', + dataIndex: 'code' + }, + { + title: '璁惧缂栧彿', + align: 'center', + dataIndex: 'equipmentCode' + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName' + }, + { + title: '杞/鎶ュ簾', + align: 'center', + dataIndex: 'scrapType_dictText' + }, + { + title: '鐢宠浜�', + align: 'center', + dataIndex: 'reportUser_dictText' + }, + { + title: '澶勭疆鏃堕棿', + align: 'center', + dataIndex: 'scrapTime' + }, + { + title: '澶勭疆鐞嗙敱', + align: 'center', + dataIndex: 'scrapReason' + }, + { + title: '澶勭疆閲戦', + align: 'center', + dataIndex: 'scrapAmount' + }, + { + title: '澶勭疆鐘舵��', + align: 'center', + dataIndex: 'scrapStatus_dictText' + }, + { + title: '瀹℃牳浜�', + align: 'center', + dataIndex: 'approvalUser_dictText' + }, + { + title: '瀹℃牳鎰忚', + align: 'center', + dataIndex: 'approvalComment' + }, + { + title: '瀹℃牳鏃堕棿', + align: 'center', + dataIndex: 'approvalTime' + }, + { + title: '澶囨敞', + align: 'center', + dataIndex: 'remark' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + fixed: 'right', + width: 150, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: '/eam/eamEquipmentScrap/list', + delete: '/eam/eamEquipmentScrap/delete', + deleteBatch: '/eam/eamEquipmentScrap/deleteBatch', + submit: '/eam/eamEquipmentScrap/submit' + } } }, computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + importExcelUrl: function() { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` } }, - methods: { - + methods: { + handleSubmit(id) { + if (!this.url.submit) { + this.$message.error('璇疯缃畊rl.submit灞炴��!') + return + } + let that = this + getAction(that.url.submit, { id: id }).then((res) => { + if (res.success) { + //閲嶆柊璁$畻鍒嗛〉闂 + that.reCalculatePage(1) + // that.$message.success(res.message); + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + } else { + // that.$message.warning(res.message); + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) } } +} </script> <style scoped> - @import '~@assets/less/common.less'; +@import '~@assets/less/common.less'; </style> \ No newline at end of file diff --git a/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue b/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue index 8883a9b..53dcfa5 100644 --- a/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue +++ b/src/views/eam/dispose/modules/EamEquipmentScrapModal.vue @@ -1,53 +1,39 @@ <template> <j-modal - :title="title" - :width="800" - :visible="visible" + :confirmLoading='confirmLoading' :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" - :confirmLoading="confirmLoading" + :title='title' + :visible='visible' + :width='800' + cancelText='鍏抽棴' switchFullscreen - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴"> + @cancel='handleCancel' + @ok='handleOk'> - <a-spin :spinning="confirmLoading"> - <a-form-model ref="form" :model="model" :rules="validatorRules"> - - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪"> - <a-input-number v-model="model.delFlag"/> + <a-spin :spinning='confirmLoading'> + <a-form-model ref='form' :model='model' :rules='validatorRules'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='鍗曟嵁鍙�' prop='code'> + <a-input v-model='model.code' disabled placeholder='缂栫爜绯荤粺鑷姩鐢熸垚' /> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" label="鍗曟嵁鍙�"> - <a-input placeholder="璇疯緭鍏ュ崟鎹彿" v-model="model.code" /> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='璋冨嚭璁惧' prop='equipmentId'> + <lx-search-equipment-select v-model='model.equipmentId' + :disabled='disableSubmit' + placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧ID"> - <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="model.equipmentId" /> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭悊绫诲瀷' prop='scrapType'> + <j-dict-select-tag v-model='model.scrapType' :disabled='disableSubmit || initialAcceptanceDisable' dictCode='scrap_sell' + placeholder='璇烽�夋嫨澶勭悊绫诲瀷' type='radio' /> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scrapType" label="杞/鎶ュ簾"> - <a-input placeholder="璇疯緭鍏ヨ浆璁�/鎶ュ簾" v-model="model.scrapType" /> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭疆鐞嗙敱' prop='scrapReason'> + <a-input v-model='model.scrapReason' placeholder='璇疯緭鍏ュ缃悊鐢�' /> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportUser" label="鐢宠浜�"> - <a-input placeholder="璇疯緭鍏ョ敵璇蜂汉" v-model="model.reportUser" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scrapTime" label="澶勭疆鏃堕棿"> - <a-input placeholder="璇疯緭鍏ュ缃椂闂�" v-model="model.scrapTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scrapReason" label="澶勭疆鐞嗙敱"> - <a-input placeholder="璇疯緭鍏ュ缃悊鐢�" v-model="model.scrapReason" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scrapAmount" label="澶勭疆閲戦"> - <a-input placeholder="璇疯緭鍏ュ缃噾棰�" v-model="model.scrapAmount" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalUser" label="瀹℃牳浜�"> - <a-input placeholder="璇疯緭鍏ュ鏍镐汉" v-model="model.approvalUser" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalComment" label="瀹℃牳鎰忚"> - <a-input placeholder="璇疯緭鍏ュ鏍告剰瑙�" v-model="model.approvalComment" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalTime" label="瀹℃牳鏃堕棿"> - <a-input placeholder="璇疯緭鍏ュ鏍告椂闂�" v-model="model.approvalTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> - <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" /> + <div v-if='model.scrapType == 2'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭疆閲戦' prop='scrapAmount'> + <a-input v-model='model.scrapAmount' placeholder='璇疯緭鍏ュ缃噾棰�' /> + </a-form-model-item> + </div> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶囨敞' prop='remark'> + <a-textarea v-model='model.remark' :disabled='disableSubmit' placeholder='璇疯緭鍏ュ娉�' /> </a-form-model-item> </a-form-model> @@ -56,90 +42,104 @@ </template> <script> - import { httpAction } from '@/api/manage' - import moment from "moment" +import { httpAction } from '@/api/manage' +import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - export default { - name: "EamEquipmentScrapModal", - data () { - return { - title:"鎿嶄綔", - visible: false, - model: {}, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules:{ - }, - url: { - add: "/eam/eamEquipmentScrap/add", - edit: "/eam/eamEquipmentScrap/edit", - }, +export default { + name: 'EamEquipmentScrapModal', + components: { LxSearchEquipmentSelect }, + data() { + return { + title: '鎿嶄綔', + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 } + }, + + confirmLoading: false, + validatorRules: { + scrapReason: [ + { required: true, message: '璇疯緭鍏ュ缃師鍥狅紒' } + ], + equipmentId: [ + { required: true, message: '璇烽�夋嫨璁惧锛�' } + ], + transferReason: [ + { required: true, message: '璇疯緭鍏ュ彉鍔ㄥ師鍥狅紒' } + ], + scrapType: [ + { required: true, message: '璇烽�夋嫨绫诲瀷锛�' } + ] + }, + url: { + add: '/eam/eamEquipmentScrap/add', + edit: '/eam/eamEquipmentScrap/edit' } - }, - created () { - }, - methods: { - add () { - //鍒濆鍖栭粯璁ゅ�� - this.edit({}); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - close () { - this.$emit('close'); - this.visible = false; - this.$refs.form.clearValidate(); - }, - handleOk () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - httpAction(httpurl,this.model,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - that.close(); - }) - }else{ - return false; - } - }) - }, - handleCancel () { - this.close() - }, - - } + }, + created() { + }, + methods: { + add() { + //鍒濆鍖栭粯璁ゅ�� + this.edit({}) + }, + edit(record) { + this.model = Object.assign({}, record) + this.visible = true + }, + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let httpurl = '' + let method = '' + if (!this.model.id) { + httpurl += this.url.add + method = 'post' + } else { + httpurl += this.url.edit + method = 'put' + } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok') + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } else { + return false + } + }) + }, + handleCancel() { + this.close() + } + + } +} </script> -<style lang="less" scoped> +<style lang='less' scoped> </style> \ No newline at end of file diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue index 9d49b55..af6ba4b 100644 --- a/src/views/flowable/workflow/FlowTodo.vue +++ b/src/views/flowable/workflow/FlowTodo.vue @@ -4,15 +4,15 @@ Date: 2025-02-27 --> <template> - <a-card :bordered="false"> + <a-card :bordered='false'> <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form layout="inline" @keyup.enter.native="searchQuery"> - <a-row :gutter="24"> - <a-col :xl="4" :lg="6" :md="8" :sm="24"> - <a-form-item label="娴佺▼鍒嗙被"> - <j-dict-select-tag placeholder="璇烽�夋嫨娴佺▼鍒嗙被" v-model="queryParam.category" - dictCode="flow_type"></j-dict-select-tag> + <div class='table-page-search-wrapper'> + <a-form layout='inline' @keyup.enter.native='searchQuery'> + <a-row :gutter='24'> + <a-col :lg='6' :md='8' :sm='24' :xl='4'> + <a-form-item label='娴佺▼鍒嗙被'> + <j-dict-select-tag v-model='queryParam.category' dictCode='flow_type' + placeholder='璇烽�夋嫨娴佺▼鍒嗙被'></j-dict-select-tag> </a-form-item> </a-col> <!--<a-col :xl="4" :lg="6" :md="8" :sm="24">--> @@ -20,35 +20,35 @@ <!--<a-input placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" v-model="queryParam.flowName"></a-input>--> <!--</a-form-item>--> <!--</a-col>--> - <a-col :xl="4" :lg="6" :md="8" :sm="24"> - <a-form-item label="褰撳墠鑺傜偣"> - <a-input placeholder="璇疯緭鍏ュ綋鍓嶈妭鐐圭簿纭煡璇�" v-model="queryParam.name"></a-input> + <a-col :lg='6' :md='8' :sm='24' :xl='4'> + <a-form-item label='褰撳墠鑺傜偣'> + <a-input v-model='queryParam.name' placeholder='璇疯緭鍏ュ綋鍓嶈妭鐐圭簿纭煡璇�'></a-input> </a-form-item> </a-col> - <a-col :xl="4" :lg="6" :md="8" :sm="24"> - <a-form-item label="绠�瑕佹弿杩�"> - <a-input placeholder="璇疯緭鍏ョ畝瑕佹弿杩�" v-model="queryParam.title"></a-input> + <a-col :lg='6' :md='8' :sm='24' :xl='4'> + <a-form-item label='绠�瑕佹弿杩�'> + <a-input v-model='queryParam.title' placeholder='璇疯緭鍏ョ畝瑕佹弿杩�'></a-input> </a-form-item> </a-col> - <template v-if="toggleSearchStatus"> - <a-col :xl="8" :lg="8" :md="12" :sm="24"> - <a-form-item label="浠诲姟鏃堕棿鑼冨洿"> - <j-date :show-time="false" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" - class="query-group-cust" - v-model="queryParam.startTime"></j-date> - <span class="query-group-split-cust"></span> - <j-date :show-time="false" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" - class="query-group-cust" - v-model="queryParam.endTime"></j-date> + <template v-if='toggleSearchStatus'> + <a-col :lg='8' :md='12' :sm='24' :xl='8'> + <a-form-item label='浠诲姟鏃堕棿鑼冨洿'> + <j-date v-model='queryParam.startTime' :show-time='false' class='query-group-cust' + date-format='YYYY-MM-DD HH:mm:ss' + placeholder='璇烽�夋嫨寮�濮嬫椂闂�'></j-date> + <span class='query-group-split-cust'></span> + <j-date v-model='queryParam.endTime' :show-time='false' class='query-group-cust' + date-format='YYYY-MM-DD HH:mm:ss' + placeholder='璇烽�夋嫨缁撴潫鏃堕棿'></j-date> </a-form-item> </a-col> </template> - <a-col :xl="4" :lg="6" :md="8" :sm="24"> - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - <a-button @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> - <a @click="handleToggleSearch" style="margin-left: 8px"> + <a-col :lg='6' :md='8' :sm='24' :xl='4'> + <span class='table-page-search-submitButtons' style='float: left;overflow: hidden;'> + <a-button icon='search' type='primary' @click='searchQuery'>鏌ヨ</a-button> + <a-button icon='reload' style='margin-left: 8px' @click='searchReset'>閲嶇疆</a-button> + <a style='margin-left: 8px' @click='handleToggleSearch'> {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> </a> @@ -60,85 +60,87 @@ <!-- 鏌ヨ鍖哄煙-END --> <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div class="table-operator"> - <a-dropdown v-if="selectedRowKeys.length > 0 "> - <a-menu slot="overlay"> - <a-menu-item key="1" @click="batchHandle"> - <a-icon type="delete" /> + <div class='table-operator'> + <a-dropdown v-if='selectedRowKeys.length > 0 '> + <a-menu slot='overlay'> + <a-menu-item key='1' @click='batchHandle'> + <a-icon type='delete' /> 鎵归噺澶勭悊 </a-menu-item> </a-menu> - <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 - <a-icon type="down" /> + <a-button style='margin-left: 8px'> 鎵归噺鎿嶄綔 + <a-icon type='down' /> </a-button> </a-dropdown> </div> <!-- table鍖哄煙-begin --> <div> - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i>宸查�夋嫨 <a style="font-weight: 600">{{ + <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'> + <i class='anticon anticon-info-circle ant-alert-icon'></i>宸查�夋嫨 <a style='font-weight: 600'>{{ selectedRowKeys.length }}</a>椤� - <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + <a style='margin-left: 24px' @click='onClearSelected'>娓呯┖</a> </div> <a-table - ref="table" + ref='table' + :columns='columns' + :dataSource='dataSource' + :loading='loading' + :pagination='ipagination' + :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' + :scroll='{x:getTableColumnsTotalWidth,y:465}' bordered - size="middle" - rowKey="id" - :scroll="{x:getTableColumnsTotalWidth,y:465}" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> + rowKey='id' + size='middle' + @change='handleTableChange'> - <span slot="action" slot-scope="text, record"> - <a @click="handelDetail(record,text)">鎵ц/瀹℃壒</a> + <span slot='action' slot-scope='text, record'> + <a @click='handelDetail(record,text)'>鎵ц/瀹℃壒</a> </span> </a-table> </div> - <AssignFileStreamHandle ref="modalFormApproval" :selectShenpiData="selectShenpiData" - @searchReset="searchReset"></AssignFileStreamHandle> - <DispatchFileHandle ref="modalFormDispatchFileXq" :selectShenpiData="selectDispatchFileXqData" - @searchReset="searchReset"></DispatchFileHandle> - <DispatchFileBachHandleStyle ref="modalFormDispatchFileBatch" @searchReset="searchReset" - @ok="modalFormOk"></DispatchFileBachHandleStyle> + <AssignFileStreamHandle ref='modalFormApproval' :selectShenpiData='selectShenpiData' + @searchReset='searchReset'></AssignFileStreamHandle> + <DispatchFileHandle ref='modalFormDispatchFileXq' :selectShenpiData='selectDispatchFileXqData' + @searchReset='searchReset'></DispatchFileHandle> + <DispatchFileBachHandleStyle ref='modalFormDispatchFileBatch' @ok='modalFormOk' + @searchReset='searchReset'></DispatchFileBachHandleStyle> <!--鍗曚釜娴佺▼澶勭悊--> - <InspectionOrderHandle ref="modalFormInspectionOrder" :selectShenpiData="selectInspectionOrderData" - @searchReset="searchReset"></InspectionOrderHandle> - <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal" :selectShenpiData="selectWeekMaintenanceData" - @searchReset="searchReset"></week-maintenance-approval-modal> - <repair-order-approval-modal ref="repairOrderApprovalModal" @searchReset="searchReset" - :selectShenpiData="selectRepairOrderData"></repair-order-approval-modal> - <out-bound-order-handle ref="outBoundOrderHandle" :selectShenpiData="selectOutBoundOrderData" - @searchReset="searchReset"></out-bound-order-handle> - <stocktaking-bound-handle ref="stocktakingBoundHandle" :selectShenpiData="selectStocktakingBoundOrderData" @searchReset="searchReset"></stocktaking-bound-handle> + <InspectionOrderHandle ref='modalFormInspectionOrder' :selectShenpiData='selectInspectionOrderData' + @searchReset='searchReset'></InspectionOrderHandle> + <week-maintenance-approval-modal ref='weekMaintenanceApprovalModal' :selectShenpiData='selectWeekMaintenanceData' + @searchReset='searchReset'></week-maintenance-approval-modal> + <repair-order-approval-modal ref='repairOrderApprovalModal' :selectShenpiData='selectRepairOrderData' + @searchReset='searchReset'></repair-order-approval-modal> + <out-bound-order-handle ref='outBoundOrderHandle' :selectShenpiData='selectOutBoundOrderData' + @searchReset='searchReset'></out-bound-order-handle> + <stocktaking-bound-handle ref='stocktakingBoundHandle' :selectShenpiData='selectStocktakingBoundOrderData' + @searchReset='searchReset'></stocktaking-bound-handle> - <loss-bound-handle ref="lossBoundHandle" :selectShenpiData="selectLossBoundOrderData" - @searchReset="searchReset"></loss-bound-handle> + <loss-bound-handle ref='lossBoundHandle' :selectShenpiData='selectLossBoundOrderData' + @searchReset='searchReset'></loss-bound-handle> <!--鎵归噺澶勭悊--> - <inspection-order-batch-handle ref="inspectionOrderBatchHandleRef" @searchReset="searchReset" - :taskList="selectionRows" /> + <inspection-order-batch-handle ref='inspectionOrderBatchHandleRef' :taskList='selectionRows' + @searchReset='searchReset' /> - <week-maintenance-batch-approval-modal ref="weenMaintenanceBatchApprovalModalRef" @searchReset="searchReset" - :taskList="selectionRows" /> - <equipment-lean-out-approval-modal ref="equipmentLeanOutApprovalModelRef" @searchReset="searchReset" /> + <week-maintenance-batch-approval-modal ref='weenMaintenanceBatchApprovalModalRef' :taskList='selectionRows' + @searchReset='searchReset' /> + <equipment-lean-out-approval-modal ref='equipmentLeanOutApprovalModelRef' @searchReset='searchReset' /> - <second-maintenance-approval-modal ref="secondMaintenanceApprovalModal" - :selectShenpiData="selectSecondMaintenanceData" - @searchReset="searchReset"></second-maintenance-approval-modal> - <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal" :selectShenpiData="selectThirdMaintenanceData" - @searchReset="searchReset"></third-maintenance-approval-modal> - <equipment-seal-up-approval-modal ref="equipmentSealUpApprovalModelRef" @searchReset="searchReset" /> - <inbound-order-handle ref="inboundOrderApprovalModal" :selectInboundOrderData="selectInboundOrderData" - @searchReset="searchReset"></inbound-order-handle> - <equipment-transfer-approval-modal ref="equipmentTransferApprovalModelRef" @searchReset="searchReset" /> + <second-maintenance-approval-modal ref='secondMaintenanceApprovalModal' + :selectShenpiData='selectSecondMaintenanceData' + @searchReset='searchReset'></second-maintenance-approval-modal> + <third-maintenance-approval-modal ref='thirdMaintenanceApprovalModal' :selectShenpiData='selectThirdMaintenanceData' + @searchReset='searchReset'></third-maintenance-approval-modal> + <equipment-seal-up-approval-modal ref='equipmentSealUpApprovalModelRef' @searchReset='searchReset' /> + <inbound-order-handle ref='inboundOrderApprovalModal' :selectInboundOrderData='selectInboundOrderData' + @searchReset='searchReset'></inbound-order-handle> + <equipment-transfer-approval-modal ref='equipmentTransferApprovalModelRef' @searchReset='searchReset' /> + <equipment-scrap-approval-modal ref='equipmentScrapApprovalModelRef' @searchReset='searchReset' /> </a-card> </template> @@ -160,10 +162,12 @@ import DispatchFileBachHandleStyle from '@views/flowable/workflow/dispatchFile/DispatchFileBachHandleStyle#Drawer.vue' import OutBoundOrderHandle from '@views/flowable/workflow/outBoundOrder/OutBoundOrderHandle.vue' import EquipmentLeanOutApprovalModal from '@views/flowable/workflow/leanOut/EquipmentLeanOutApprovalModal.vue' -import SecondMaintenanceApprovalModal from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue' +import SecondMaintenanceApprovalModal + from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue' import ThirdMaintenanceApprovalModal from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue' import EquipmentSealUpApprovalModal from '@views/flowable/workflow/sealUp/EquipmentSealUpApprovalModal.vue' import EquipmentTransferApprovalModal from '@views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue' +import EquipmentScrapApprovalModal from '@views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue' import stocktakingBoundHandle from '@views/flowable/workflow/stocktakingBound/stocktakingBoundHandle.vue' import lossBoundHandle from '@views/flowable/workflow/lossBound/lossBoundHandle.vue' import InboundOrderHandle from '@views/flowable/workflow/inboundOrder/InboundOrderHandle.vue' @@ -189,7 +193,8 @@ OutBoundOrderHandle, EquipmentSealUpApprovalModal, InboundOrderHandle, - EquipmentTransferApprovalModal + EquipmentTransferApprovalModal, + EquipmentScrapApprovalModal }, data() { return { @@ -274,7 +279,7 @@ selectOutBoundOrderData: {}, selectLossBoundOrderData: {}, selectStocktakingBoundOrderData: {}, - selectInboundOrderData:{}, + selectInboundOrderData: {}, //涓氬姟淇℃伅ID dataId: undefined } @@ -372,6 +377,9 @@ break case 'equipment_transfer': this.handleEquipmentTransfer(item) + break + case 'equipment_scrap': + this.handleEquipmentScrap(item) break default: alert('娌℃壘鍒拌娴佺▼') @@ -511,10 +519,10 @@ }, handleToolInStorage(item) { if (item && item.dataId) { - this.selectInboundOrderData = Object.assign({}, item) - this.$refs.inboundOrderApprovalModal.auditVisible = true - this.$refs.inboundOrderApprovalModal.clearTableSource() - this.$refs.inboundOrderApprovalModal.getAllApproveData(item) + this.selectInboundOrderData = Object.assign({}, item) + this.$refs.inboundOrderApprovalModal.auditVisible = true + this.$refs.inboundOrderApprovalModal.clearTableSource() + this.$refs.inboundOrderApprovalModal.getAllApproveData(item) } }, handleEquipmentTransfer(item) { @@ -523,6 +531,12 @@ this.$refs.equipmentTransferApprovalModelRef.handleDetail(item) this.$refs.equipmentTransferApprovalModelRef.disableSubmit = false }, + handleEquipmentScrap(item) { + this.$refs.equipmentScrapApprovalModelRef.visible = true + this.$refs.equipmentScrapApprovalModelRef.title = item.name + this.$refs.equipmentScrapApprovalModelRef.handleDetail(item) + this.$refs.equipmentScrapApprovalModelRef.disableSubmit = false + } } } </script> diff --git a/src/views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue b/src/views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue new file mode 100644 index 0000000..9ec7e26 --- /dev/null +++ b/src/views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue @@ -0,0 +1,223 @@ +<template> + <j-modal + :confirmLoading='confirmLoading' + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + :title='title' + :visible='visible' + :width='800' + cancelText='鍏抽棴' + centered + switchFullscreen + @cancel='handleCancel' + @ok='handleOk'> + + <a-spin :spinning='spinning'> + <a-form-model ref='form' :model='model' :rules='validatorRules'> + <a-divider orientation='center' style='font-size: large;font-style: italic;color: #66aeed;'> 鎶ュ簾锛堣浆璁╋級淇℃伅 + </a-divider> + <a-row :gutter='24'> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='鍗曟嵁鍙�' prop='code'> + <a-input v-model='model.code' disabled /> + </a-form-model-item> + </a-col> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='璁惧缂栫爜' prop='equipmentId'> + <lx-search-equipment-select v-model='model.equipmentId' + disabled placeholder='璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储'></lx-search-equipment-select> + </a-form-model-item> + </a-col> + </a-row> + <a-row :gutter='24'> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='鐢宠浜�' prop='reportUser_dictText'> + <a-input v-model='model.reportUser_dictText' disabled /> + </a-form-model-item> + </a-col> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶勭疆鍘熷洜' prop='scrapReason'> + <a-input v-model='model.scrapReason' disabled /> + </a-form-model-item> + </a-col> + </a-row> + <a-row :gutter='24'> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='澶囨敞' prop='remark'> + <a-textarea v-model='model.remark' disabled /> + </a-form-model-item> + </a-col> + </a-row> + <div v-if='approvalDisable'> + <a-divider orientation='center' style='font-size: large;font-style: italic;color: #66aeed;'> 绠$悊鍛樻姤搴燂紙杞锛夊鏍� + </a-divider> + <a-row :gutter='24'> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='瀹℃壒绫诲瀷' prop='approvalDealType'> + <j-dict-select-tag v-model='model.approvalDealType' :disabled='disableSubmit || initialAcceptanceDisable' dictCode='approved_rejected' + placeholder='璇烽�夋嫨澶勭悊绫诲瀷' type='radio' /> + </a-form-model-item> + </a-col> + <a-col :span='12'> + <a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='瀹℃壒鎰忚' prop='approvalComment'> + <a-textarea v-model='model.approvalComment' :disabled='disableSubmit || returnDisable' + placeholder='璇疯緭鍏ユ剰瑙�' /> + </a-form-model-item> + </a-col> + </a-row> + </div> + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> +import { getAction, httpAction } from '@/api/manage' +import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' + +export default { + name: 'EquipmentScrapApprovalModal', + components: { + LxSearchEquipmentSelect + }, + props: { + selectShenpiData: { + type: Object + } + }, + data() { + return { + title: '鎿嶄綔', + visible: false, + editable: false, + model: {}, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 } + }, + labelColLong: { + xs: { span: 24 }, + sm: { span: 2 } + }, + wrapperColLong: { + xs: { span: 24 }, + sm: { span: 21 } + }, + confirmLoading: false, + spinning: false, + imageSrc: null, + validatorRules: { + approvalDealType: [ + { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } + ], + unsealApprovalDealType: [ + { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } + ], + approvalComment: [ + { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } + ], + unsealApprovalComment: [ + { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!' } + ], + returnComment: [ + { required: true, message: '璇疯緭鍏ュ綊杩樺娉�!' } + ], + confirmComment: [ + { required: true, message: '璇疯緭鍏ョ‘璁ゆ剰瑙�!' } + ] + }, + url: { + queryById: '/eam/eamEquipmentScrap/queryById', + approval: '/eam/eamEquipmentScrap/approval', + loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions' + }, + disableSubmit: false + } + }, + created() { + this.loadAllProductionTree() + }, + computed: { + approvalDisable: function() { + return ['WAIT_CHECK'].includes(this.model.scrapStatus) + } + }, + methods: { + async handleDetail(item) { + this.initParams() + this.model = {} + let res = await getAction(this.url.queryById, { id: item.dataId }) + this.model = Object.assign({}, res.result) + this.model.dataId = item.dataId + this.model.taskId = item.id + this.model.userId = item.assignee + this.model.instanceId = item.procInstId + this.model.values = item.variables + this.spinning = false + }, + + recordDetail(record) { + console.log('record', record) + this.initParams() + this.model = Object.assign({}, record) + }, + + initParams() { + this.visible = true + this.spinning = true + }, + + async handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = that.spinning = true + let httpurl = this.url.approval + let method = 'put' + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('searchReset') + that.close() + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = that.spinning = false + }) + } else { + return false + } + }) + }, + handleCancel() { + this.close() + }, + + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + }, + loadAllProductionTree() { + //鍔犺浇杞﹂棿閫夋嫨鏍� + getAction(this.url.loadProductionOptions).then(res => { + if (res.success) { + this.treeData = [...res.result] + } else { + that.$message.warning(res.message) + } + }) + } + } +} +</script> + +<style lang='less' scoped> + +</style> \ No newline at end of file -- Gitblit v1.9.3