From 8cfffb7704ed7881bbc968902c83a32ee485f86d Mon Sep 17 00:00:00 2001
From: zhoulinf <2507241354@qq.com>
Date: Tue, 4 Aug 2026 14:50:36 +0800
Subject: [PATCH] =?UTF-8?q?CRM=5F26-08-05#story#9126,=E8=BD=A6=E8=BE=86?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E6=9C=8D=E5=8A=A1=E5=95=86=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E7=B3=BB=E7=BB=9F=E9=9C=80=E6=B1=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/mine/personList.vue | 47 +++++++++++++++++++++++++++++++++--
1 file changed, 45 insertions(+), 2 deletions(-)
diff --git a/src/views/mine/personList.vue b/src/views/mine/personList.vue
index 53585e20..90fab0fd 100644
--- a/src/views/mine/personList.vue
+++ b/src/views/mine/personList.vue
@@ -35,9 +35,17 @@
*电话1:
@@ -83,6 +91,8 @@
import {myMixins} from "@/utils/myMixins"
import {getConfirmPerson,getConfirmStatus,getQrCode,confirmAddWechat,confirm,submitConfirm} from "@/api/authentication";
import { Dialog } from 'vant';
+// 带关系角色(存储格式:角色名-关系)
+const RELATION_ROLES = ['其他', '法人关系人', '实控人关系人', '合伙人']
export default {
name: "personList",
mixins:[myMixins],
@@ -163,11 +173,26 @@ export default {
// this.type=2
let res=await getConfirmPerson({supplierId:this.supplierId})
if(res.data && res.data.length>0){
- this.personList=res.data
+ this.personList=res.data.map(item => this.buildRoleDisplay(item))
}else{
this.personList=[]
}
},
+ // 拆分带关系角色:roleName 按逗号拆项,识别 `角色名-关系`,按第一个 '-' 拆出基础角色与关系
+ buildRoleDisplay(item){
+ const parts = (item.roleName || '').split(',').filter(Boolean).map(raw => {
+ const dashIndex = raw.indexOf('-')
+ if (dashIndex > -1 && RELATION_ROLES.includes(raw.substring(0, dashIndex))) {
+ return { raw, base: raw.substring(0, dashIndex), relation: raw.substring(dashIndex + 1) }
+ }
+ return { raw, base: raw, relation: null }
+ })
+ item.roleParts = parts
+ item.roleDisplay = parts.map(p => p.relation != null ? p.base : p.raw).join(',')
+ item.relationRows = parts.filter(p => p.relation != null)
+ item.hasRelationRole = item.relationRows.length > 0
+ return item
+ },
async wechatConfirm(){//确认已添加微信按钮
Dialog.confirm({
message:'请确认相关人员是否已添加该二维码。',
@@ -238,6 +263,18 @@ export default {
this.$toast('电话号码格式不正确')
return
}
+ // 带关系角色:关系必填校验,并将 roleDisplay + relation 重新拼接为 `角色名-关系` 写回 roleName
+ for (const item of this.personList) {
+ if (item.hasRelationRole) {
+ for (const row of item.relationRows) {
+ if (!row.relation || !String(row.relation).trim()) {
+ this.$toast(`请填写${row.base}关系`)
+ return
+ }
+ }
+ item.roleName = item.roleParts.map(p => p.relation != null ? `${p.base}-${String(p.relation).trim()}` : p.raw).join(',')
+ }
+ }
await submitConfirm({supplierId:this.supplierId,infos:this.personList})
this.$toast('操作成功')
if(this.isWebFunc()){
@@ -407,6 +444,12 @@ export default {
color: #323643;
opacity: .65;
}
+ .item .left.relationLeft{
+ width: auto;
+ min-width: 66px;
+ white-space: nowrap;
+ padding-right: 4px;
+ }
.star{
font-weight: bold;
font-size: 13px;