From c2e8ebad0a7f8b505fe0f34a8e798c1978a4fd96 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期二, 15 七月 2025 15:25:27 +0800 Subject: [PATCH] 调整代码 --- src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderModal.vue | 359 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 203 insertions(+), 156 deletions(-) diff --git a/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderModal.vue b/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderModal.vue index da01900..d95a5b7 100644 --- a/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderModal.vue +++ b/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderModal.vue @@ -1,194 +1,241 @@ <template> - <j-modal - :title="title" - :width="800" - :visible="visible" - :confirmLoading="confirmLoading" - switchFullscreen - @ok="handleOk" - @cancel="handleCancel" - cancelText="鍏抽棴"> - - <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-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNum" label="宸ュ崟鍙�"> - <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="model.orderNum" /> - </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> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardId" label="瑙勮寖ID"> - <a-input placeholder="璇疯緭鍏ヨ鑼僆D" v-model="model.standardId" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationDate" label="璁″垝閴村畾鏃ユ湡;鎻愬墠70澶╃敓鎴愬伐鍗�"> - <a-input placeholder="璇疯緭鍏ヨ鍒掗壌瀹氭棩鏈�;鎻愬墠70澶╃敓鎴愬伐鍗�" v-model="model.evaluationDate" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="freezeOrderDate" label="閿佸畾宸ュ崟鏃ユ湡;鎻愬墠55澶╅攣瀹氬伐鍗�"> - <a-input placeholder="璇疯緭鍏ラ攣瀹氬伐鍗曟棩鏈�;鎻愬墠55澶╅攣瀹氬伐鍗�" v-model="model.freezeOrderDate" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderExpirationDate" label="宸ュ崟杩囨湡鏃ユ湡;鍒版湡鏈仛鐩存帴杩囨湡锛屽苟淇敼璁惧鎶�鏈姸鎬佷负绂佺敤"> - <a-input placeholder="璇疯緭鍏ュ伐鍗曡繃鏈熸棩鏈�;鍒版湡鏈仛鐩存帴杩囨湡锛屽苟淇敼璁惧鎶�鏈姸鎬佷负绂佺敤" v-model="model.orderExpirationDate" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualStartTime" label="瀹為檯寮�濮嬫椂闂�"> - <a-input placeholder="璇疯緭鍏ュ疄闄呭紑濮嬫椂闂�" v-model="model.actualStartTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="actualEndTime" label="瀹為檯缁撴潫鏃堕棿"> - <a-input placeholder="璇疯緭鍏ュ疄闄呯粨鏉熸椂闂�" v-model="model.actualEndTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluator" label="閴村畾浜�"> - <a-input placeholder="璇疯緭鍏ラ壌瀹氫汉" v-model="model.evaluator" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationStatus" label="閴村畾鐘舵��;寰呴壌瀹氥�侀壌瀹氫腑銆佺淮淇涓讳换绛惧瓧銆佸伐鑹轰汉鍛樼瀛椼�佹妧鏈富绠$瀛椼�佽澶囨楠屽憳绛惧瓧銆佸凡瀹屾垚銆佸凡閿佸畾銆佸彉鏇翠腑銆佸凡杩囨湡"> - <a-input placeholder="璇疯緭鍏ラ壌瀹氱姸鎬�;寰呴壌瀹氥�侀壌瀹氫腑銆佺淮淇涓讳换绛惧瓧銆佸伐鑹轰汉鍛樼瀛椼�佹妧鏈富绠$瀛椼�佽澶囨楠屽憳绛惧瓧銆佸凡瀹屾垚銆佸凡閿佸畾銆佸彉鏇翠腑銆佸凡杩囨湡" v-model="model.evaluationStatus" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="creationMethod" label="鍒涘缓鏂瑰紡"> - <a-input placeholder="璇疯緭鍏ュ垱寤烘柟寮�" v-model="model.creationMethod" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="safetyEquipmentCheckResult" label="瀹夊叏瑁呯疆妫�鏌ョ粨鏋�;鏄�佸惁"> - <a-input placeholder="璇疯緭鍏ュ畨鍏ㄨ缃鏌ョ粨鏋�;鏄�佸惁" v-model="model.safetyEquipmentCheckResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="precisionCheckResult" label="绮惧害鍙傛暟妫�鏌ョ粨鏋�;鏄�佸惁銆佹棤"> - <a-input placeholder="璇疯緭鍏ョ簿搴﹀弬鏁版鏌ョ粨鏋�;鏄�佸惁銆佹棤" v-model="model.precisionCheckResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="functionalCheckResult" label="鍔熻兘鐘舵�佹鏌ョ粨鏋�;鏄�佸惁"> - <a-input placeholder="璇疯緭鍏ュ姛鑳界姸鎬佹鏌ョ粨鏋�;鏄�佸惁" v-model="model.functionalCheckResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="otherCheckResult" label="鍏朵粬妫�鏌ョ粨鏋�;鏄�佸惁銆佹棤"> - <a-input placeholder="璇疯緭鍏ュ叾浠栨鏌ョ粨鏋�;鏄�佸惁銆佹棤" v-model="model.otherCheckResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairManagerSignature" label="缁翠慨瀹や富浠荤瀛�"> - <a-input placeholder="璇疯緭鍏ョ淮淇涓讳换绛惧瓧" v-model="model.repairManagerSignature" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairManagerSignatureTime1" label="缁翠慨瀹や富浠荤瀛楁椂闂�"> - <a-input placeholder="璇疯緭鍏ョ淮淇涓讳换绛惧瓧鏃堕棿" v-model="model.repairManagerSignatureTime1" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleCheckResult" label="璇曚欢妫�鏌ョ粨鏋�;鍚堟牸銆佷笉鍚堟牸"> - <a-input placeholder="璇疯緭鍏ヨ瘯浠舵鏌ョ粨鏋�;鍚堟牸銆佷笉鍚堟牸" v-model="model.sampleCheckResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTechnicianSignature" label="宸ヨ壓鍛樼瀛�"> - <a-input placeholder="璇疯緭鍏ュ伐鑹哄憳绛惧瓧" v-model="model.processTechnicianSignature" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTechnicianSignatureTime" label="宸ヨ壓鍛樼瀛楁椂闂�"> - <a-input placeholder="璇疯緭鍏ュ伐鑹哄憳绛惧瓧鏃堕棿" v-model="model.processTechnicianSignatureTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationResult" label="閴村畾缁撴灉;鍚堟牸銆侀檺鐢ㄣ�佺鐢�"> - <a-input placeholder="璇疯緭鍏ラ壌瀹氱粨鏋�;鍚堟牸銆侀檺鐢ㄣ�佺鐢�" v-model="model.evaluationResult" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="evaluationReason" label="闄怽绂佺敤鍘熷洜(澶氶��);瀹夊叏瑁呯疆銆佽澶囧姛鑳姐�佺簿搴︺�佽瘯浠躲�佸叾浠�"> - <a-input placeholder="璇疯緭鍏ラ檺\绂佺敤鍘熷洜(澶氶��);瀹夊叏瑁呯疆銆佽澶囧姛鑳姐�佺簿搴︺�佽瘯浠躲�佸叾浠�" v-model="model.evaluationReason" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectorSignature" label="璁惧妫�鏌ヤ汉绛惧瓧"> - <a-input placeholder="璇疯緭鍏ヨ澶囨鏌ヤ汉绛惧瓧" v-model="model.inspectorSignature" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectorSignatureTime" label="璁惧妫�鏌ヤ汉绛惧瓧鏃堕棿"> - <a-input placeholder="璇疯緭鍏ヨ澶囨鏌ヤ汉绛惧瓧鏃堕棿" v-model="model.inspectorSignatureTime" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeA" label="闄勫綍A HF缂栫爜"> - <a-input placeholder="璇疯緭鍏ラ檮褰旳 HF缂栫爜" v-model="model.hfCodeA" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeB" label="闄勫綍B HF缂栫爜"> - <a-input placeholder="璇疯緭鍏ラ檮褰旴 HF缂栫爜" v-model="model.hfCodeB" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeC" label="闄勫綍C HF缂栫爜"> - <a-input placeholder="璇疯緭鍏ラ檮褰旵 HF缂栫爜" v-model="model.hfCodeC" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCodeD" label="闄勫綍D HF缂栫爜"> - <a-input placeholder="璇疯緭鍏ラ檮褰旸 HF缂栫爜" v-model="model.hfCodeD" /> - </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="澶囨敞"> - <a-input placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" /> - </a-form-model-item> - + <j-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen + @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-spin :spinning="spinning"> + <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-row> + <a-col :span="8"> + <a-form-model-item label="宸ュ崟鍙�"> + <a-input placeholder="宸ュ崟鍙风郴缁熻嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled/> + </a-form-model-item> + </a-col> + + <a-col :span="8"> + <a-form-model-item prop="equipmentId" label="缁熶竴缂栫爜"> + <technical-status-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId" + @autocompleteForm="getDetailDataByOrderId" :allowClear="false"/> + </a-form-model-item> + </a-col> + + <a-col :span="8"> + <a-form-model-item prop="evaluationDate" label="璁″垝閴村畾鏃ユ湡"> + <a-date-picker v-model="model.evaluationDate" value-format="YYYY-MM-DD" :allowClear="false" + style="width: 100%"/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="24"> + <a-form-model-item :labelCol="{span:2}" :wrapperCol="{span:21}" label="澶囨敞"> + <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/> + </a-form-model-item> + </a-col> + </a-row> </a-form-model> + + <a-tabs default-active-key="1" v-if="model.equipmentId"> + <a-tab-pane tab="瀹夊叏瑁呯疆妫�鏌�" key="1" v-if="detail.safetyEquipmentCheckList.length>0"> + <j-vxe-table ref="editableDetailTable1" rowNumber bordered keep-source :height="300" + :dataSource="detail.safetyEquipmentCheckList" :columns="detail.columns"/> + </a-tab-pane> + + <a-tab-pane tab="璁惧绮惧害妫�鏌�" key="2" v-if="detail.precisionCheckList.length>0"> + <j-vxe-table ref="editableDetailTable2" rowNumber bordered keep-source :height="300" + :dataSource="detail.precisionCheckList" :columns="detail.precisionCheckColumns"/> + </a-tab-pane> + + <a-tab-pane tab="鍏朵粬妫�鏌�" key="3" v-if="detail.otherCheckList.length>0"> + <j-vxe-table ref="editableDetailTable3" rowNumber bordered keep-source :height="300" + :dataSource="detail.otherCheckList" :columns="detail.columns"/> + </a-tab-pane> + </a-tabs> </a-spin> </j-modal> </template> <script> - import { httpAction } from '@/api/manage' - import moment from "moment" + import { httpAction, getAction } from '@/api/manage' + import TechnicalStatusEquipmentSelect from '../../equipment/modules/TechnicalStatusEquipmentSelect' + import { JVXETypes } from '@/components/jeecg/JVxeTable' + import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' export default { - name: "EamTechnicalStatusEvaluationOrderModal", - data () { + name: 'EamTechnicalStatusEvaluationOrderModal', + components: { + TechnicalStatusEquipmentSelect + }, + mixins: [JVxeTableModelMixin], + data() { return { - title:"鎿嶄綔", + title: '鎿嶄綔', visible: false, model: {}, labelCol: { xs: { span: 24 }, - sm: { span: 5 }, + sm: { span: 6 } }, wrapperCol: { xs: { span: 24 }, - sm: { span: 16 }, + sm: { span: 15 } }, - confirmLoading: false, - validatorRules:{ + spinning: false, + validatorRules: { + equipmentId: [{ required: true, message: '璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�', trigger: 'change' }], + evaluationDate: [{ required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }] + }, + detail: { + safetyEquipmentCheckList: [], + precisionCheckList: [], + otherCheckList: [], + columns: [ + { + title: 'ID', + key: 'id', + type: JVXETypes.hidden + }, + { + title: 'standardId', + key: 'standardId', + type: JVXETypes.hidden + }, + { + title: '搴忓彿', + key: 'itemCode', + type: JVXETypes.normal, + align: 'center', + width: 60 + }, + { + title: '妫�鏌ラ」鐩�', + key: 'itemName', + type: JVXETypes.normal, + align: 'center' + } + ], + precisionCheckColumns: [ + { + title: 'ID', + key: 'id', + type: JVXETypes.hidden + }, + { + title: 'standardId', + key: 'standardId', + type: JVXETypes.hidden + }, + { + title: '搴忓彿', + key: 'itemCode', + type: JVXETypes.normal, + align: 'center', + width: 60 + }, + { + title: '妫�鏌ラ」鐩�', + key: 'itemName', + type: JVXETypes.normal, + align: 'center' + }, + { + title: '妫�鏌ュ瓙椤圭洰', + key: 'subItemName', + type: JVXETypes.normal, + align: 'center' + }, + { + title: '鍏佸樊鍊�', + key: 'toleranceValue', + type: JVXETypes.normal, + align: 'center' + } + ] }, url: { - add: "/eam/eamTechnicalStatusEvaluationOrder/add", - edit: "/eam/eamTechnicalStatusEvaluationOrder/edit", - }, + add: '/eam/eamTechnicalStatusEvaluationOrder/add', + edit: '/eam/eamTechnicalStatusEvaluationOrder/edit', + detail: '/eam/eamTechnicalStatusEvaluationStandardDetail/queryList' + } } }, - created () { - }, methods: { - add () { + add() { //鍒濆鍖栭粯璁ゅ�� - this.edit({}); + this.edit({}) }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; + + 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'; + + getDetailDataByOrderId({ id }) { + this.detail.safetyEquipmentCheckList = this.detail.precisionCheckList = this.detail.otherCheckList = [] + this.model.standardId = id + this.spinning = true + getAction(this.url.detail, { standardId: id }) + .then(res => { + if (res.success) { + this.detail.safetyEquipmentCheckList = res.result.filter(item => item.checkCategory == 'SAFETY_EQUIPMENT_CHECK') + this.detail.precisionCheckList = res.result.filter(item => item.checkCategory == 'PRECISION_CHECK') + this.detail.otherCheckList = res.result.filter(item => item.checkCategory == 'OTHER_CHECK') } - 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(); + }) + .finally(() => { + this.spinning = false + }) + }, + + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = that.spinning = true + let httpUrl = '' + let method = '' + if (!this.model.id) { + httpUrl += this.url.add + method = 'post' + } else { + httpUrl += this.url.edit + method = 'put' + } + this.model.tableDetailList = [...this.detail.safetyEquipmentCheckList, ...this.detail.precisionCheckList, ...this.detail.otherCheckList] + httpAction(httpUrl, this.model, method) + .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; + } else { + return false } }) }, - handleCancel () { + + handleCancel() { this.close() }, - + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + } } } </script> -- Gitblit v1.9.3