From ba15d76ff0ec80ee759913511158d4333f6e6c59 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期五, 29 八月 2025 18:21:22 +0800 Subject: [PATCH] 日常业务问题修改、工具参数查询增加 --- src/views/tms/lossBound/modules/LossboundModal.vue | 172 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 102 insertions(+), 70 deletions(-) diff --git a/src/views/tms/lossBound/modules/LossboundModal.vue b/src/views/tms/lossBound/modules/LossboundModal.vue index 62782be..e10bd0c 100644 --- a/src/views/tms/lossBound/modules/LossboundModal.vue +++ b/src/views/tms/lossBound/modules/LossboundModal.vue @@ -16,19 +16,22 @@ <a-input v-model="model.orderCode" placeholder="绯荤粺鑷姩鐢熸垚" :disabled="true"></a-input> </a-form-model-item> </a-col> - <a-col :span="12"> - <a-form-model-item label="鎶ユ崯浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="losser"> - <j-dict-select-tag :disabled="disableSubmit" - v-model="model.losser" dictCode="sys_user,realname,id" + <a-col :span="12"> + <a-form-model-item label="缁忔墜浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" + prop="handler"> + + <j-dict-select-tag :disabled="true" + v-model="model.handler" dictCode="sys_user,realname,id" placeholder="璇烽�夋嫨" /> </a-form-model-item> </a-col> + </a-row> <a-row> <a-col :span="12"> <a-form-model-item label="鎶ユ崯鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossTime"> - <j-date placeholder="璇烽�夋嫨鎶ユ崯鏃堕棿" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.lossTime" + <j-date placeholder="璇烽�夋嫨鎶ユ崯鏃堕棿" :disabled="disableSubmit" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.lossTime" style="width: 100%" /> </a-form-model-item> </a-col> @@ -43,16 +46,14 @@ </a-col> </a-row> <a-row> - - <a-col :span="12"> - <a-form-model-item v-if="addShow" label="缁忔墜浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" - prop="handler"> - + <!-- <a-col :span="12"> + <a-form-model-item label="鎶ユ崯浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="losser"> <j-dict-select-tag :disabled="disableSubmit" - v-model="model.handler" dictCode="sys_user,realname,id" + v-model="model.losser" dictCode="sys_user,realname,id" placeholder="璇烽�夋嫨" /> </a-form-model-item> - </a-col> + </a-col> --> + <a-col :span="12"> <a-form-model-item v-if="addShow" label="瀹℃牳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderStatus"> @@ -60,20 +61,18 @@ placeholder="璇烽�夋嫨瀹℃牳鐘舵��" disabled /> </a-form-model-item> </a-col> - </a-row> - <a-row> - <a-col :span="12"> + <a-col :span="12"> <a-form-model-item v-if="addShow" label="瀹℃牳鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalDate"> - <j-date placeholder="璇烽�夋嫨瀹℃牳鏃堕棿" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.approvalDate" + <j-date placeholder="璇烽�夋嫨瀹℃牳鏃堕棿" :disabled="disableSubmit" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.approvalDate" style="width: 100%" /> </a-form-model-item> </a-col> </a-row> <a-row> - <a-col :span="12"> - <a-form-model-item v-if="addShow" label="瀹℃牳鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol" + <a-col :span="24"> + <a-form-model-item v-if="addShow" label="瀹℃牳鎰忚" :labelCol="{span:2}" :wrapperCol="{span:20}" prop="approvalOpinion"> <a-input v-model="model.approvalOpinion" placeholder="璇疯緭鍏ュ鏍告剰瑙�" disabled></a-input> </a-form-model-item> @@ -81,22 +80,20 @@ </a-row> <a-row> <a-col :span="12"> - <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> - <a-textarea :disabled="disableSubmit" v-model="model.remark" rows="4" placeholder="璇疯緭鍏ュ娉�" /> + <a-form-model-item label="鎶ユ崯鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossReason"> + <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="璇疯緭鍏ユ姤鎹熷師鍥�" /> </a-form-model-item> </a-col> - </a-row> - <a-row> <a-col :span="12"> - <a-form-model-item label="鎶ユ崯鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossReason"> - <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="璇疯緭鍏ュ娉�" /> + <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> + <a-textarea :disabled="disableSubmit" v-model="model.remark" rows="4" placeholder="璇疯緭鍏ュ娉�" /> </a-form-model-item> </a-col> </a-row> </a-form-model> </a-spin> - <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTools"> + <a-button type="primary" :style="{ marginBottom: '8px' }" :disabled="disableSubmit" @click="selectTools"> 閫夋嫨宸ュ叿 </a-button> <a-table @@ -113,9 +110,20 @@ @change="handleTableChange"> <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index"> - <a-input-number :disabled="disableSubmit" :value="text" v-if="col.dataIndex == 'lossNumber'" :min="0" - :max="99999" - @change="(e) => handleChange(e, record.key, col, index)" style="width: 100%;" /> + <div v-if="col.dataIndex == 'lossNumber'"> + <a-input-number + :disabled="record.accuracyClass === '1'" + :value="text" + :min="1" + :max="99999" + @change="(e) => handleChange(e, record.key, col, index)" + style="width: 100%;" + /> + <div v-if="record.lossNumberError" style="color: #f5222d; font-size: 12px; margin-top: 4px;"> + {{ record.lossNumberMsg }} + </div> + </div> + <a-textarea v-if="col.dataIndex == 'lossReason'" :disabled="disableSubmit" @@ -193,10 +201,10 @@ width: 50 }, { - title: '鍒�鍏风紪鍙�', - dataIndex: 'toolCode', + title: '鍒�鍏风紪鐮�', + dataIndex: 'toolId', align: 'center', - width: 150 + width: 200 }, { @@ -205,7 +213,22 @@ align: 'center', width: 150 }, + { + title: '鎶ユ崯鍘熷洜', + width: 150, + dataIndex: 'lossReason', + align: 'center', + scopedSlots: { customRender: 'lossReason' } + }, + { + title: '鎶ユ崯鏁伴噺', + dataIndex: 'lossNumber', + align: 'center', + width: 150, + scopedSlots: { customRender: 'lossNumber' }, + key: 'lossNumber' + }, { title: '涓枃鍚嶇О', dataIndex: 'chineseName', @@ -245,21 +268,7 @@ dataIndex: 'goodsShelvesId', align: 'center' }, - { - title: '鎶ユ崯鍘熷洜', - width: 150, - dataIndex: 'lossReason', - align: 'center', - scopedSlots: { customRender: 'lossReason' } - }, - { - title: '鎶ユ崯鏁伴噺', - dataIndex: 'lossNumber', - align: 'center', - width: 150, - scopedSlots: { customRender: 'lossNumber' } - }, { title: '澶囨敞', @@ -304,8 +313,8 @@ this.$bus.$on('selectionRows', (data) => { for (let i = 0; i < data.length; i++) { this.dataSource.push({ - toolId: data[i].id, - toolCode: data[i].toolCode, + toolCode:data[i].toolCode, + toolId:data[i].toolId, classifyId: data[i].classifyId, applicationType: data[i].applicationType_dictText, chineseName: data[i].chineseName, @@ -314,8 +323,11 @@ supplierId: data[i].supplierId, goodsShelvesId: data[i].positionCode, toolMaterial: data[i].toolMaterial, - partMaterial: data[i].partMaterial - + partMaterial: data[i].partMaterial, + lossNumber: "1", // 鍒濆鍖栨姤鎹熸暟閲� + lossNumberError: false, // 鏍¢獙鐘舵�� + lossNumberMsg: '', // 閿欒淇℃伅 + accuracyClass: data[i].accuracyClass }) } this.ipagination.total = this.dataSource.length @@ -332,13 +344,15 @@ const target = temp.filter(item => key === item.key)[index] if (target) { target[column.dataIndex] = value - this.dataSource = temp - if (column.dataIndex === 'lossNumber') { - target[column.dataIndex] = value - } - if (column.dataIndex === 'lossReason') { - target[column.dataIndex] = value + if (column.dataIndex === 'lossNumber') { + if (value === null || value === undefined || value <= 0) { + target.lossNumberError = true + target.lossNumberMsg = '鎶ユ崯鏁伴噺涓嶈兘涓虹┖涓斿繀椤诲ぇ浜�0' + } else { + target.lossNumberError = false + target.lossNumberMsg = '' + } } this.dataSource = temp } @@ -355,26 +369,33 @@ }, add() { this.addShow = false - this.edit() + this.edit({}) // 浼犲叆绌哄璞′綔涓洪粯璁ゅ�� this.dataSource = [] }, edit(record) { console.log(record) - this.model = Object.assign({}, record) - this.visible = true - getAction(this.url.list, { - lossBoundId: record.id, - pageNo: 1, - pageSize: 99999 - }).then((res) => { - if (res.success) { - console.log(res.result.records) - this.dataSource = res.result.records - } else { - this.dataSource = null - } - }) + if (record && record.id) { + this.model = Object.assign({}, record) + this.visible = true + getAction(this.url.list, { + lossBoundId: record.id, + pageNo: 1, + pageSize: 99999 + }).then((res) => { + if (res.success) { + console.log(res.result.records) + this.dataSource = res.result.records + } else { + this.dataSource = null + } + }) + } else { + this.model = {} // 濡傛灉鏄柊澧炴ā寮忥紝鍒欏垵濮嬪寲 model + this.visible = true + this.dataSource = [] // 娓呯┖鏁版嵁婧� + } }, + close() { this.$emit('close') @@ -391,6 +412,17 @@ // 瑙﹀彂琛ㄥ崟楠岃瘉 this.$refs.form.validate(valid => { if (valid) { + let isTableValid = true + this.dataSource.forEach((row, index) => { + this.handleChange(row.lossNumber, row.key, { dataIndex: 'lossNumber' }, index) + if (row.lossNumberError) { + isTableValid = false + } + }) + + if (!isTableValid) { + return false + } this.model.toolsLossBoundDetailList = this.dataSource that.confirmLoading = true let httpurl = '' -- Gitblit v1.9.3