From 257ef0490f66229f983429f01872fac33eef13d0 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期四, 17 七月 2025 15:52:34 +0800 Subject: [PATCH] 三保工单审批流程 --- src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue | 140 ++++++++++++++-------------------------------- 1 files changed, 44 insertions(+), 96 deletions(-) diff --git a/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue index 7eb37b6..144ba61 100644 --- a/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue +++ b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue @@ -1,6 +1,6 @@ <template> - <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen - :mask-closable="false" @ok="handleOk" @cancel="handleCancel" centered cancelText="鍏抽棴"> + <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered + :mask-closable="false" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> <a-spin :spinning="spinning"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> @@ -13,9 +13,8 @@ <a-col :span="8"> <a-form-model-item prop="equipmentId" label="缁熶竴缂栫爜"> <maintenance-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId" - maintenanceCategory="THIRD_MAINTENANCE" - @autocompleteForm="autocompleteForm" - :disabled="!editable"/> + maintenanceCategory="THIRD_MAINTENANCE" @autocompleteForm="autocompleteForm" + :disabled="editable"/> </a-form-model-item> </a-col> <a-col :span="8"> @@ -28,10 +27,11 @@ <a-row> <a-col :span="8"> <a-form-model-item prop="maintenanceDate" label="淇濆吇鏃ユ湡"> - <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" value-format="YYYY-MM-DD" + <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD" style="width: 100%"/> </a-form-model-item> </a-col> + <a-col :span="8"> <a-form-model-item prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡"> <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.maintenancePeriod" disabled/> @@ -40,16 +40,15 @@ </a-row> <a-row> - <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞"> + <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="澶囨敞"> <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/> </a-form-model-item> </a-row> - <a-tabs> + <a-tabs default-active-key="1"> <a-tab-pane key="1" tab="淇濆吇椤规槑缁�"> - <j-vxe-table ref="editableDetailTable" rowNumber bordered keep-source :height="300" - :dataSource="detail.dataSource" - :columns="detail.columns"/> + <j-vxe-table ref="editableDetailTable" bordered keep-source + :height="300" :dataSource="detail.dataSource" :columns="detail.columns"/> </a-tab-pane> </a-tabs> </a-form-model> @@ -69,7 +68,6 @@ return { title: '鎿嶄綔', visible: false, - editable: true, model: {}, labelCol: { xs: { span: 24 }, @@ -89,24 +87,19 @@ }, confirmLoading: false, spinning: false, - maintenanceOperatorOptions: [], validatorRules: { equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧!', trigger: 'change' } + { required: true, message: '璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�' } ], maintenanceDate: [ - { required: true, message: '璇烽�夋嫨璁″垝淇濆吇鏃ユ湡!', trigger: 'change' } + { required: true, message: '璇烽�夋嫨璁″垝淇濆吇鏃ユ湡!' } ] }, url: { add: '/eam/thirdMaintenanceOrder/add', - edit: '/eam/thirdMaintenanceOrder/edit', - standardDetail: '/eam/eamMaintenanceStandardDetail/queryList', - detail: '/eam/thirdMaintenanceOrderDetail/queryList', - userSelect: '/eam/user_select/list' + standardDetail: '/eam/eamMaintenanceStandardDetail/queryList' }, detail: { - loading: false, dataSource: [], columns: [ { @@ -144,13 +137,7 @@ type: JVXETypes.normal, align: 'center' } - ], - toolbarConfig: { - // prefix 鍓嶇紑锛泂uffix 鍚庣紑 - slot: ['prefix', 'suffix'], - // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳 - btn: ['add', 'remove', 'clearSelection'] - } + ] } } }, @@ -158,55 +145,38 @@ add() { //鍒濆鍖栭粯璁ゅ�� this.model = {} - this.visible = true - this.editable = true this.detail.dataSource = [] - }, - - edit(record) { - this.model = Object.assign({}, record) this.visible = true - this.editable = false - this.detail.dataSource = [] - this.loadDetail(record.id) }, async handleOk() { const that = this let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return - } + if (errMap) return // 瑙﹀彂琛ㄥ崟楠岃瘉 this.$refs.form.validate(valid => { if (valid) { - let tableData = that.$refs.editableDetailTable.getTableData() - let removeData = that.$refs.editableDetailTable.getDeleteData() - that.model.tableDetailList = [...tableData] - that.model.removeDetailList = [...removeData] - - 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') - that.close() - } else { - that.$message.warning(res.message) - } - }).finally(() => { - that.confirmLoading = false - }) + that.model.tableDetailList = that.$refs.editableDetailTable.getTableData() + that.confirmLoading = that.spinning = true + httpAction(that.url.add, that.model, 'post') + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.$emit('ok') + that.close() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.confirmLoading = that.spinning = false + }) } else { return false } @@ -218,44 +188,22 @@ this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod) this.$set(this.model, 'standardId', selectObj.id) this.$set(this.model, 'equipmentId', selectObj.equipmentId) - if (!this.model.equipmentId) delete this.model.operator - if (!this.model.id) { - this.loadStandardDetail(selectObj.id) - } - this.loadMaintenanceOperatorList(this.model.equipmentId) + this.loadStandardDetail(selectObj.id) }, //鍔犺浇璇︽儏鏁版嵁 loadStandardDetail(standardId) { this.detail.dataSource = [] - if (standardId) { - this.spinning = true - getAction(this.url.standardDetail, { standardId: standardId }) - .then(res => { - if (res.success) { - this.detail.dataSource = res.result.map(item => ({ - itemCode: item.itemCode, - itemName: item.itemName, - itemPart: item.itemPart, - itemDemand: item.itemDemand - })) - } - }) - .finally(() => { - this.spinning = false - }) - } - }, - - //瑙勮寖閫夋嫨鍙樺寲 - loadDetail(orderId) { - if (orderId) { - getAction(this.url.detail, { orderId: orderId }).then(res => { + this.spinning = true + getAction(this.url.standardDetail, { standardId }) + .then(res => { if (res.success) { - this.detail.dataSource = [...res.result] + this.detail.dataSource = res.result } }) - } + .finally(() => { + this.spinning = false + }) }, handleCancel() { -- Gitblit v1.9.3