From 4023b0658754c4735160195095b7f4118212f0dc Mon Sep 17 00:00:00 2001 From: jinna Date: Tue, 24 Mar 2026 15:08:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86=E5=8F=8A?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9D=97=E7=BC=BA?= =?UTF-8?q?=E9=99=B7=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../materialQuota/components/KAu.vue | 92 +++++++++++++++--- .../materialQuota/components/silverAnode.vue | 94 ++++++++++++++----- .../components/lookProcess.vue | 8 +- .../components/mold/addMoldDailog.vue | 11 ++- .../components/mold/moldRequire.vue | 21 +++-- src/views/orderManagement/planYieIdOrder.vue | 9 +- .../orderManagement/sinTerYieIdOrder.vue | 4 +- 7 files changed, 180 insertions(+), 59 deletions(-) diff --git a/src/views/basicData/materialQuota/components/KAu.vue b/src/views/basicData/materialQuota/components/KAu.vue index 0ac6541..5b84661 100644 --- a/src/views/basicData/materialQuota/components/KAu.vue +++ b/src/views/basicData/materialQuota/components/KAu.vue @@ -32,6 +32,18 @@ + + + + @@ -119,39 +131,47 @@ export default { } ] }, + // { + // label: "工艺能力", + // prop: "processAbilityId", + // type:"select", + // sortable: true, + // filter: true, + // span: 24, + // search: false, + // dicUrl:"/api/blade-desk/BA/craftAbility/findList", + // props:{ + // label:"caName", + // value:"id" + // } + // }, { - label: "工艺能力", - prop: "processAbilityId", - type:"select", + label: "滚振镀金类定额", + prop: "quota", sortable: true, filter: true, span: 24, search: false, - dicUrl:"/api/blade-desk/BA/craftAbility/findList", - props:{ - label:"caName", - value:"id" - } }, { - label: "定额", - prop: "quota", + label: "挂镀金类定额", + prop: "smallBatQuota", sortable: true, filter: true, span: 24, search: false, }, { - label: "小批量定额", - prop: "smallBatQuota", + label: "微孔镀金类定额", + prop: "bigBatQuota", sortable: true, filter: true, span: 24, search: false, }, { - label: "大批量定额", - prop: "bigBatQuota", + label: "局部镀定额", + prop: "partQuota", sortable: true, filter: true, span: 24, @@ -174,6 +194,50 @@ export default { handleImport() { this.isShowImport = true }, + validateValue(value){ + if (value == null) return ''; + + // 步骤1:移除所有非数字和非小数点的字符 + let filterVal = value.replace(/[^\d.]/g, ''); + + // 步骤2:处理多个小数点的情况(只保留第一个小数点) + filterVal = filterVal.replace(/(\.\d*)\./g, '$1'); + + // 步骤3:处理小数点后最多5位 + filterVal = filterVal.replace(/(\.\d{5})\d+/g, '$1'); + + // 步骤4:处理首位为0的情况 + // 情况1:纯数字且长度>1,首位为0(如0123)→ 保留第一个0,后面的数字正常显示(但禁止多个0开头) + // 情况2:0后面跟小数点(如0.123)→ 允许 + if (filterVal.startsWith('0') && filterVal.length > 1 && !filterVal.startsWith('0.')) { + // 移除开头多余的0(只保留一个0,后面的数字正常显示) + filterVal = filterVal.replace(/^0+/, '0'); + // 若处理后是0且后面有数字(如0123→0123,再处理为0123→改为0) + if (filterVal === '0' && val.length > 1) { + filterVal = '0'; + } else { + // 如0123→改为0,01234→改为0,0.123→不变 + filterVal = filterVal.replace(/^0(?!\.)/, ''); + // 若过滤后为空(如01→过滤后为空),则设为0 + if (!filterVal) { + filterVal = '0'; + } + } + } + return filterVal; + }, + validateRow(value){ + this.form.quota = this.validateValue(value) + }, + validateSmallBat(value){ + this.form.smallBatQuota = this.validateValue(value) + }, + validateBigBat(value){ + this.form.bigBatQuota = this.validateValue(value) + }, + validatePart(value){ + this.form.partQuota = this.validateValue(value) + }, addEdit() { this.isOpen = true; }, diff --git a/src/views/basicData/materialQuota/components/silverAnode.vue b/src/views/basicData/materialQuota/components/silverAnode.vue index fcbef82..50c069a 100644 --- a/src/views/basicData/materialQuota/components/silverAnode.vue +++ b/src/views/basicData/materialQuota/components/silverAnode.vue @@ -33,7 +33,15 @@ 删除 --> + + + + 1,首位为0(如0123)→ 保留第一个0,后面的数字正常显示(但禁止多个0开头) + // 情况2:0后面跟小数点(如0.123)→ 允许 + if (filterVal.startsWith('0') && filterVal.length > 1 && !filterVal.startsWith('0.')) { + // 移除开头多余的0(只保留一个0,后面的数字正常显示) + filterVal = filterVal.replace(/^0+/, '0'); + // 若处理后是0且后面有数字(如0123→0123,再处理为0123→改为0) + if (filterVal === '0' && val.length > 1) { + filterVal = '0'; + } else { + // 如0123→改为0,01234→改为0,0.123→不变 + filterVal = filterVal.replace(/^0(?!\.)/, ''); + // 若过滤后为空(如01→过滤后为空),则设为0 + if (!filterVal) { + filterVal = '0'; + } + } + } + return filterVal; + }, + validateQuota(value){ + this.form.quota = this.validateValue(value) + }, + validateSmallBat(value){ + this.form.smallBatQuota = this.validateValue(value) + }, // 点击导入按钮 handleImport() { this.isShowImport = true diff --git a/src/views/orderManagement/components/lookProcess.vue b/src/views/orderManagement/components/lookProcess.vue index c780304..e200584 100644 --- a/src/views/orderManagement/components/lookProcess.vue +++ b/src/views/orderManagement/components/lookProcess.vue @@ -240,13 +240,13 @@ export default { }, { label: '工序代码', - prop: 'partname', + prop: 'processCode', search: false, // width: 170, }, { label: '工序名称', - prop: 'firpp', + prop: 'processName', search: false, // width: 180, }, @@ -308,16 +308,20 @@ export default { if (this.sourceId === 'sinTerYieIdOrder') { console.log('由sinTerYieIdOrder组件打开'); + this.loading = true; getProcessRouting({id:this.id}).then(res =>{ console.log('res---------',res) this.data1 = res.data.data + this.loading = false }) } if (this.sourceId === 'planYieIdOrder') { console.log('由planYieIdOrder父组件打开'); + this.loading = true; getProcessRouting({id:this.id}).then(res =>{ console.log('res---------',res) this.data1 = res.data.data + this.loading = false }) } if (this.sourceId === 'plannedOrder') { diff --git a/src/views/orderManagement/components/mold/addMoldDailog.vue b/src/views/orderManagement/components/mold/addMoldDailog.vue index 1c8efb5..45ede30 100644 --- a/src/views/orderManagement/components/mold/addMoldDailog.vue +++ b/src/views/orderManagement/components/mold/addMoldDailog.vue @@ -56,7 +56,8 @@ - + - +