From cdd30b82119eac7025b811764419bbe6a1025c80 Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Wed, 14 Oct 2026 10:44:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?:sparkles:=20=E6=9C=BA=E6=9E=84=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E7=BC=96=E7=A0=81=E6=A0=A1=E9=AA=8C=E5=AF=B9=E9=BD=90?= =?UTF-8?q?GWWL=E4=B8=89=E4=BD=8D=E6=95=B0=E5=AD=97=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 组织编码校验改为上级直拼三位数字;全量同步清除提示同步保留外部组织与集团锚点。 Co-authored-by: Cursor --- src/views/system/dept.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue index e7f2cba..4f67a20 100644 --- a/src/views/system/dept.vue +++ b/src/views/system/dept.vue @@ -333,9 +333,17 @@ export default { callback(new Error('上级组织未配置组织编码,请先完善上级组织编码')); return; } - const pattern = new RegExp(`^${escapeRegExp(this.parentDeptCode)}-\\d+$`); + // 公司:GWWL+三位数字;部门:所属公司编码+三位数字;其他:上级编码+三位数字(中间不加-) + let expectedPrefix = this.parentDeptCode; + const category = Number(this.form?.deptCategory); + if (category === 2) { + expectedPrefix = 'GWWL'; + } else if (category === 3 && this.form?.belongCompanyCode) { + expectedPrefix = String(this.form.belongCompanyCode).trim(); + } + const pattern = new RegExp(`^${escapeRegExp(expectedPrefix)}\\d{3}$`); if (!pattern.test(deptCode)) { - callback(new Error(`组织编码格式应为:${this.parentDeptCode}-分段数字`)); + callback(new Error(`组织编码格式应为:${expectedPrefix}三位数字(不足补零,中间不加-)`)); return; } callback(); @@ -650,7 +658,7 @@ export default { methods: { handleOaOrgFullSync() { this.$confirm( - '全量同步将拉取 OA 全部公司/部门;已存在且 OA 更新时间一致的记录会跳过。是否清除非顶级组织?选择“是”将先删除顶级以外的组织后再同步;选择“否”则直接全量同步。', + '全量同步将拉取 OA 全部公司/部门;已存在且 OA 更新时间一致的记录会跳过。是否清除后同步?选择“是”将保留顶级「外部组织」与集团锚点(id=135/GWWL),删除其余组织后再同步;选择“否”则直接全量同步。', '全量同步', { confirmButtonText: '是', From 18aeb08c90689d2adee358f1f0c22ea01b6585af Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Wed, 14 Oct 2026 10:58:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E8=AE=B0=E5=BD=95=E6=8C=89=E6=8F=90=E4=BA=A4=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E6=B1=87=E6=80=BB=EF=BC=8C=E4=B8=B4=E6=97=B6=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6-1=E6=98=BE=E7=A4=BA=E4=B8=BA-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- src/views/business/temporary-credit-limit.vue | 6 ++ .../settlement/receivable-payable-detail.vue | 67 ++++++++++++++----- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/views/business/temporary-credit-limit.vue b/src/views/business/temporary-credit-limit.vue index 41173de..f263312 100644 --- a/src/views/business/temporary-credit-limit.vue +++ b/src/views/business/temporary-credit-limit.vue @@ -636,6 +636,12 @@ export default { } const value = row[prop]; if (value === undefined || value === null || value === '') return '-'; + if ( + (prop === 'usedFundLimit' || prop === 'remainingFundLimit') && + Number(value) === -1 + ) { + return '-'; + } return value; }, applyDetail(detail) { diff --git a/src/views/settlement/receivable-payable-detail.vue b/src/views/settlement/receivable-payable-detail.vue index 3552318..956fe3e 100644 --- a/src/views/settlement/receivable-payable-detail.vue +++ b/src/views/settlement/receivable-payable-detail.vue @@ -164,8 +164,8 @@ show-overflow-tooltip /> -