From 7829e6db11a996be2dbfffea1afd00ffdcfe3c47 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Tue, 15 Apr 2025 11:31:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(market):=20=E6=B7=BB=E5=8A=A0=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E6=9F=A5=E9=87=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在市场线索模块新增客户查重功能 - 实现客户列表接口,用于查重查询 - 添加查重弹出层组件,展示查重结果 - 优化客户信息展示样式,增加意向等级图标 - 修复拨打电话功能,使用正确的电话号码字段 --- api/market.js | 9 ++ pages/market/clue/add_clues.vue | 277 +++++++++++++++++++++++++++++++- pages/market/clue/index.vue | 2 +- static/images/index/zan_wu.png | Bin 0 -> 872 bytes 4 files changed, 282 insertions(+), 6 deletions(-) create mode 100644 static/images/index/zan_wu.png diff --git a/api/market.js b/api/market.js index 32d2a71..0cec771 100644 --- a/api/market.js +++ b/api/market.js @@ -100,6 +100,15 @@ export default { }) }, + //客户列表-- 查重 + clientList(data = {}) { + let url = '/member/client_list' + return http.get(url, data).then(res => { + return res; + }) + }, + + diff --git a/pages/market/clue/add_clues.vue b/pages/market/clue/add_clues.vue index 3101c14..ce7371b 100644 --- a/pages/market/clue/add_clues.vue +++ b/pages/market/clue/add_clues.vue @@ -3,9 +3,9 @@ - + - 查重 + 查重 @@ -180,6 +180,79 @@ + + + + + + 查重结果 + + + + + + + + + + 暂无重复客户 + + + + + + + + + {{v.student_name}} + {{ v.is_status == 1 ? '试听' : '成交' }} + + + + 首选联系人:{{v.contact_name}} + + + + + + {{ $util.formatToDateTime((v.follow && v.follow.follow_up_time || ''), 'm-d H:i') }} 跟进 + + + + + + + + 意向:{{ v.follow && v.follow.initial_customer_intent || '' }} + + + + + + + + + + + + + + + @@ -378,8 +451,6 @@ export default { }], - keyword: '',//关键词 - //客户来源 result_customer_source: '',//选中项的中文名称 options_customer_source: [ { @@ -416,7 +487,12 @@ export default { options_area: [], //登录用户信息 - userInfo:{} + userInfo:{}, + + // 查重相关 + student_name:'',//检索关键字 + clientUserList:[],//查重用户列表 + showDuplicateCheck:false,//是否显示查重弹出层 } }, onShow() { @@ -528,6 +604,68 @@ export default { this.options_customer_tags = arr }, + //##### 查重相关 ##### + //客户列表--查重 + async clientList(){ + + if(!this.student_name){ + uni.showToast({ + title: '请输入检索关键字', + icon: 'none' + }) + return + } + + this.clientUserList = [] + + let param = { + student_name:this.student_name + } + let res = await marketApi.clientList(param) + if(res.code != 1){ + uni.showToast({ + title: res.msg, + icon: 'none' + }) + return + } + console.log('查重',res) + this.clientUserList = res.data + this.openDuplicateCheck() + }, + //打开结果列表 + openDuplicateCheck(){ + this.showDuplicateCheck = true + }, + //关闭结果列表 + closeDuplicateCheck(e){ + this.showDuplicateCheck = false + }, + + //跳转页面-客户详情 + openViewClueInfo(item) { + let id = item.id + uni.navigateTo({ + url: `/pages/market/clue/clue_info?id=${id}` + }) + }, + + //跳转页面-我的消息 + openViewMyMessage(item) { + let user_id = item.user_id + uni.navigateTo({ + url: `/pages/common/my_message?user_id=${user_id}` + }) + }, + + //拨打电话 + dialTel(item) { + let tel = item.student_phone + uni.makePhoneCall({ + phoneNumber: tel + }) + }, + //表单验证 @@ -849,4 +987,133 @@ export default { margin: 50rpx auto 120rpx; width: 92%; } + + //查重结构弹出层 + .fui-scroll__wrap{ + height: 60vh; + .title_box{ + padding: 10rpx 20rpx; + display: flex; + justify-content: space-between; + align-items: center; + .title{ + font-size: 28rpx; + color: #101010; + } + } + .section_ul{ + margin-bottom: 100rpx; + height: 98%; + .not_list{ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + .img{ + width: 112rpx; + height: 112rpx; + } + .title{ + padding: 0; + margin-top: 10rpx; + color: #101010; + font-size: 28rpx; + text-align: center; + } + } + .ul{ + padding: 26rpx; + padding-bottom: 100rpx; + display: flex; + flex-direction: column; + .li{ + margin-bottom: 26rpx; + padding: 26rpx; + display: flex; + justify-content: space-between; + gap: 10rpx; + + border-radius: 18rpx; + background-color: rgba(67,69,68,1); + color: #fff; + font-size: 28rpx; + border: 0rpx solid rgba(121,121,121,1); + .left_box{ + width: 80%; + display: flex; + flex-direction: column; + gap: 20rpx; + .box_1 { + display: flex; + align-items: center; + .img { + width: 48rpx; + height: 48rpx; + border-right: 50%; + } + .name{ + margin-left: 20rpx; + } + .tag{ + margin-left: 20rpx; + width: 84rpx; + height: 32rpx; + line-height: 28rpx; + border-radius: 0rpx 20rpx 20rpx 20rpx; + background-color: rgba(236,128,141,0.3); + color: rgba(240,90,90,1); + font-size: 20rpx; + text-align: center; + border: 0rpx solid rgba(121,121,121,1); + } + } + .box_2{ + display: flex; + justify-content: space-between; + align-items: center; + .left{ + display: flex; + align-items: flex-end; + .name{ + font-size: 28rpx; + } + .call{ + margin-left: 10rpx; + font-size: 24rpx; + color: #ba7b30; + } + } + } + .box_3{ + display: flex; + gap: 30rpx; + .left{} + .right{ + display: flex; + align-items: center; + gap: 10rpx; + .img{ + width: 16rpx; + height: 16rpx; + border-right: 50%; + } + } + } + } + .right_box{ + width: 25%; + display: flex; + justify-content: space-between; + align-items: center; + .img{ + width: 70rpx; + height: 70rpx; + border-radius: 50%; + } + } + } + } + } + + } \ No newline at end of file diff --git a/pages/market/clue/index.vue b/pages/market/clue/index.vue index 26a5e24..febdaed 100644 --- a/pages/market/clue/index.vue +++ b/pages/market/clue/index.vue @@ -320,7 +320,7 @@ export default { //拨打电话 dialTel(item) { - let tel = item.phone + let tel = item.student_phone uni.makePhoneCall({ phoneNumber: tel }) diff --git a/static/images/index/zan_wu.png b/static/images/index/zan_wu.png new file mode 100644 index 0000000000000000000000000000000000000000..e51c39758a19a215adeff049790125dc3f971cdc GIT binary patch literal 872 zcmV-u1DE`XP)Px&B1uF+RA@u(noCX|F$~8&H}HZ3z&$DzZbH>FR9%)Hq-r?{RO&rS_g&-$1Ai&` z6f$|(PBJ_+v*b&h{A?$FgoWPux4d&cIso6gg%1mkvLG{`r?Q-L52NIll2QYzB_AQnjuYq8MrE>1~7pOa?OxEfWd{*qp-206tDmX`47&y3(1*F$Cv;i#9Ofh zc@du*5BM!}i{6L7MPt%%VupikGhhW0=jF6-yfEh?LTx7`rNmjRv zmD**&Xj9NQVxh@$sg>cbqmqCjfEqX4d+Y(&(zw66F3pPT86{a>1 zXB)}68dMEf$zo=J#WGFVj0F(M^`^F)P3PsSEvW+Zff%XSOMW-bx$n{qhyg3EiK6wl zbV22~k3O?8yQ&5d8AfWo?o_G;%*?qXA-19juwuRL)Jy<~x)4cy`aMhNOLC-uSRfRj zLDs!|eP%)JEl!iD*$>1LK%X22gr^hZgVK9{woBa#2t8WjEhfrvgQ z7YCs>e;O{^;G~yi83xO6tAb2yziEYEAvcN zBYHKSYC*+$QV)GK7F6$CIN<>FiaK1>D*~M}byr#FZPsD9xY9O?C=Sj_)vO@mdAT-9 zshW7n?zI>w8JO)f)at>~`@3}mv*%^Ap;|=`R}J~(%mld?9QOnM2`QTmHM?q2HqyJ1 y;qxWWX(GVkJKIs<0l1^Grz~|?aEe-Y6#57^#H&c>B-;)E0000