From 5fadb9533dae67ad5e2327f97a4faa0f5068de62 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 10 四月 2025 10:40:20 +0800 Subject: [PATCH] 流程添加 --- src/views/eam/maintenance/modules/EamInspectionOrderModal.vue | 229 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 154 insertions(+), 75 deletions(-) diff --git a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue index 44dc60d..67e0612 100644 --- a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue +++ b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue @@ -13,13 +13,15 @@ <a-form-model ref="form" :model="model" :rules="validatorRules"> <a-row :gutter="24"> <a-col :span="8"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜"> - <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.standardCode" disabled /> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�"> + <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled /> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿"> - <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId" :disabled="editable"></MaintenanceEquipmentSelect> + <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId" + :maintenanceCategory="maintenanceCategory" :disabled="editable" + @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect> </a-form-model-item> </a-col> <a-col :span="8"> @@ -30,24 +32,52 @@ </a-row> <a-row :gutter="24"> <a-col :span="8"> - <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate"> - <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" style="width: 100%" /> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜"> + <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="model.standardCode" /> </a-form-model-item> </a-col> <a-col :span="8"> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡"> - <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%"/> + <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="8"> - <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime"> - <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="model.expirationTime" disabled style="width: 100%" /> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�"> + <j-dict-select-tag v-model="model.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" dictCode="sys_user,realname,username,username!='admin' order by create_time"/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row :gutter="24"> + <a-col :span="8"> + <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate"> + <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" @change="expirationTimeFrom(model.inspectionDate)" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime"> + <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="model.expirationTime" disabled style="width: 100%" /> + </a-form-model-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="8"> + <a-form-model-item + label="鐓х墖鏂囦欢" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="imageFiles"> + <lx-upload :returnUrl="false" + :multiple="false" + v-model="model.imageFiles" + biz="EamMaintenanceStandard"> + </lx-upload> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> <a-col :span="24"> - <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark"> + <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark"> <a-textarea v-model="model.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" /> </a-form-model-item> </a-col> @@ -56,16 +86,16 @@ <j-vxe-table ref="editableDetailTable" :rowNumber="true" - :rowSelection="false" + :rowSelection="true" :bordered="true" :alwaysEdit="true" - :toolbar="false" + :toolbar="true" keep-source :height="300" :loading="detail.loading" :dataSource="detail.dataSource" :columns="detail.columns" - style="margin-top: 8px;"/> + style="margin-top: 8px;" /> </a-row> </a-form-model> </a-spin> @@ -77,26 +107,27 @@ import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' import { JVXETypes } from '@/components/jeecg/JVxeTable' import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect' +import moment from 'dayjs' export default { - name: "EamMaintenanceStandardModal", + name: 'EamMaintenanceStandardModal', mixins: [JVxeTableModelMixin], components: { - MaintenanceEquipmentSelect, + MaintenanceEquipmentSelect }, - data () { + data() { return { - title:"鎿嶄綔", + title: '鎿嶄綔', visible: false, model: {}, editable: false, labelCol: { xs: { span: 24 }, - sm: { span: 5 }, + sm: { span: 5 } }, wrapperCol: { xs: { span: 24 }, - sm: { span: 16 }, + sm: { span: 16 } }, confirmLoading: false, validatorRules: { @@ -114,13 +145,16 @@ ], equipmentId: [ { required: true, message: '璇烽�夋嫨璁惧!' } - ] + ], }, url: { - add: "/eam/maintenanceStandard/add", - edit: "/eam/maintenanceStandard/edit", - detail: "/eam/eamMaintenanceStandardDetail/queryList", + add: '/eam/eamInspectionOrder/add', + edit: '/eam/eamInspectionOrder/edit', + detail: '/eam/eamMaintenanceStandardDetail/queryList', + detailOrder: '/eam/eamInspectionOrderDetail/queryList' }, + maintenanceCategory: 'POINT_INSPECTION', + standardId:"", detail: { loading: false, dataSource: [], @@ -128,106 +162,151 @@ { title: '搴忓彿', key: 'itemCode', + type: JVXETypes.inputNumber, width: '10%', align:"center", + validateRules: [ + {required : true, unique: true, message: '搴忓彿涓嶈兘閲嶅'} + ] }, { title: '淇濆吇椤�', key: 'itemName', + type: JVXETypes.textarea, width: '20%', align:"center", + validateRules: [ + {required : true, message: '淇濆吇椤逛笉鑳戒负绌猴紒'} + ] }, { title: '淇濆吇瑕佹眰', key: 'itemDemand', + type: JVXETypes.textarea, width: '30%', align:"center", + validateRules: [ + {required : true, message: "淇濆吇瑕佹眰涓嶈兘涓虹┖锛�"} + ] }, - ], + ] } } }, - created () { + created() { }, methods: { - add () { - this.model = {}; - this.visible = true; - this.editable = false; + add() { + this.model = {} + this.detail.dataSource = []; + this.visible = true + this.editable = false }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - this.editable = true; - if(record && record.referenceFile) { - let obj = JSON.parse(record.referenceFile); - this.model.fileList = [obj]; - }else { - this.model.fieldList = []; + edit(record) { + console.log(record) + this.model = Object.assign({}, record) + this.standardId=record.standardId + this.visible = true + this.editable = true + this.detail.dataSource = [] + if (record && record.referenceFile) { + let obj = JSON.parse(record.referenceFile) + this.model.fileList = [obj] + } else { + this.model.fieldList = [] } - this.loadDetail(record.id); + this.loadDetailOrder(record.id) }, - close () { - this.$emit('close'); - this.visible = false; - this.$refs.form.clearValidate(); + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() }, - async handleOk () { - const that = this; - let errMap = await that.$refs.editableDetailTable.validateTable(); - if(errMap){ - this.$message.warning("鏁版嵁鏍¢獙澶辫触锛�"); - return; + async handleOk() { + const that = this + let errMap = await that.$refs.editableDetailTable.validateTable() + if (errMap) { + this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') + 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]; + 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'; + 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); + this.model.standardId=this.standardId + 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.confirmLoading = false }) - }else{ - return false; + } else { + return false } }) }, - handleCancel () { + handleCancel() { this.close() + }, + autocompleteForm(selectObj) { + this.model.standardName = selectObj.standardName + this.model.maintenancePeriod=selectObj.maintenancePeriod + this.model.standardCode=selectObj.standardCode + if (this.standardId===undefined || this.standardId==="") { + this.standardId=selectObj.id + this.loadDetail(selectObj.id) + } + }, + expirationTimeFrom(date) { + //杩囨湡鏃堕棿鏄垵濮嬫椂闂�+淇濆吇鍛ㄦ湡 + if (date && this.model.maintenancePeriod) { + // 杞崲涓烘椂闂存埑瀛楃涓诧紙鎴栨寚瀹氭牸寮忥級 + this.model.expirationTime = moment(date) + .add(this.model.maintenancePeriod, 'days') + .format('YYYY-MM-DD') + } else { + this.model.expirationTime = null; // 娓呯┖鏃犳晥鍊� + } }, //鍔犺浇璇︽儏鏁版嵁 loadDetail(standardId) { - this.detail.dataSource = []; if (standardId) { getAction(this.url.detail, { standardId: standardId }).then(res => { if (res.success) { - this.detail.dataSource = [...res.result]; + this.detail.dataSource = [...res.result] + this.standardId=undefined; + } + }) + } + }, + loadDetailOrder(orderId){ + if (orderId) { + getAction(this.url.detailOrder, { orderId: orderId }).then(res => { + if (res.success) { + this.detail.dataSource = [...res.result] } }) } } - } } </script> -- Gitblit v1.9.3