From 0f3646ed408c7ceba50ca927f4ab6d3a08574256 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Fri, 10 Oct 2025 13:48:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sub-entry-and-exit/entry-form.vue | 34 ++++++++++ .../entry-and-exit-form.vue | 63 ++++++++++++++++++- .../month-detail/components/wage-info.vue | 1 + .../month-detail/components/wage-pay.vue | 48 +++++++++++--- 4 files changed, 134 insertions(+), 12 deletions(-) diff --git a/src/views/basic-manage/sub-manage/sub-entry-and-exit/entry-form.vue b/src/views/basic-manage/sub-manage/sub-entry-and-exit/entry-form.vue index bdf7465..0420b0a 100644 --- a/src/views/basic-manage/sub-manage/sub-entry-and-exit/entry-form.vue +++ b/src/views/basic-manage/sub-manage/sub-entry-and-exit/entry-form.vue @@ -64,6 +64,7 @@ placeholder="请选择工程名称" v-model="addOrEditForm.proId" :disabled="queryDetailId !== ''" + @change="handleProIdChange" > + + + + item.value === val, + ) + + this.isShanghai = proItem.isShanghai + }, }, async created() { @@ -330,6 +363,7 @@ export default { return { value: item.id, label: item.proName, + isShanghai: item.isShanghai, } }) }, diff --git a/src/views/basic-manage/team-manage/team-entry-and-exit/entry-and-exit-form.vue b/src/views/basic-manage/team-manage/team-entry-and-exit/entry-and-exit-form.vue index b53997c..8cabe5b 100644 --- a/src/views/basic-manage/team-manage/team-entry-and-exit/entry-and-exit-form.vue +++ b/src/views/basic-manage/team-manage/team-entry-and-exit/entry-and-exit-form.vue @@ -106,8 +106,57 @@ + + + + + + item.value === val, - ).label + ) + this.addOrEditForm.proName = proItem.label + this.isShanghai = proItem.isShanghai + // this.addOrEditForm.proName = this.lotProjectSelectList.find( + // (item) => item.value === val, + // ).label + // this.isShanghai = this.lotProjectSelectList.find( + // (item) => item.value === val, + // ).isShanghai }, // 获取班组和工程 @@ -378,6 +436,7 @@ export default { return { value: item.id, label: item.proName, + isShanghai: item.isShanghai, } }) }, diff --git a/src/views/synthesize-query/three-and-one/month-detail/components/wage-info.vue b/src/views/synthesize-query/three-and-one/month-detail/components/wage-info.vue index 6126e43..d237338 100644 --- a/src/views/synthesize-query/three-and-one/month-detail/components/wage-info.vue +++ b/src/views/synthesize-query/three-and-one/month-detail/components/wage-info.vue @@ -2,6 +2,7 @@
+ + + {{ scope.row[item.prop] }} @@ -271,24 +275,44 @@ export default { async onHandleEditWagePay() { this.isEdit = !this.isEdit if (!this.isEdit) { - const editData = this.wagePayListData.map((item) => { + // 校验其中代扣/代缴、实发工资是否符合要求 + const validData = this.wagePayListData.map((item) => { return { - id: item.id, deductMoney: item.deductMoney, actualMoney: item.actualMoney, } }) - // console.log(editData) - const res = await saveThreeAndOneMonthlyWagePaymentAPI( - JSON.stringify(editData), - ) + const reg = /^[0-9]\d*(\.\d{1,2})?$/ + const valid = validData.every((item) => { + return ( + reg.test(item.deductMoney) && reg.test(item.actualMoney) + ) + }) + if (!valid) { + this.$modal.msgError( + '代扣/代缴、实发工资金额必须为数字且最多两位小数', + ) + this.isEdit = true + return false + } else { + const editData = this.wagePayListData.map((item) => { + return { + id: item.id, + deductMoney: item.deductMoney, + actualMoney: item.actualMoney, + } + }) - console.log(res) + // console.log(editData) + const res = await saveThreeAndOneMonthlyWagePaymentAPI( + JSON.stringify(editData), + ) - if (res.code === 200) { - this.$modal.msgSuccess('修改成功') - this.getThreeAndOneMonthlyWagePaymentList() + if (res.code === 200) { + this.$modal.msgSuccess('修改成功') + this.getThreeAndOneMonthlyWagePaymentList() + } } } }, @@ -302,6 +326,10 @@ export default { if (!reg.test(value)) { // this.$message.error('请输入正确的金额') this.$modal.msgError(`第${index + 1}行${label}金额输入错误`) + // this.columnData[index][prop] = 0 + + // 修改输入框的值为0 + this.wagePayListData[index][prop] = '' // 获取对应的输入框引用 if (inputElement && inputElement.length > 0) { // 获得焦点