From bd22acebd4e821fdda60e005b6a9a78669885bd2 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Fri, 30 May 2025 16:40:40 +0800 Subject: [PATCH 01/11] =?UTF-8?q?feat(student):=20=E5=AD=A6=E5=91=98?= =?UTF-8?q?=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增忘记密码页面,包含验证手机号码和设置新密码两个步骤 - 添加用户类型选择功能,支持学员和员工两种类型 - 实现短信验证码发送和验证功能 - 增加表单验证逻辑,确保用户输入的密码一致且符合要求- 添加重置密码接口调用,完成密码重置流程 --- api/apiRoute.js | 7 + pages/student/login/forgot.vue | 232 +++++++++++++++++++++++++++------ 2 files changed, 200 insertions(+), 39 deletions(-) diff --git a/api/apiRoute.js b/api/apiRoute.js index 8fd04e3..db7a892 100644 --- a/api/apiRoute.js +++ b/api/apiRoute.js @@ -88,6 +88,13 @@ export default { return res; }) }, + //公共端-忘记密码-通过短信验证码进行密码重置(学生/员工通用) + common_forgetPassword(data = {}) { + let url = '/common/forgetPassword' + return http.post(url, data).then(res => { + return res; + }) + }, diff --git a/pages/student/login/forgot.vue b/pages/student/login/forgot.vue index d91ac04..f26877b 100644 --- a/pages/student/login/forgot.vue +++ b/pages/student/login/forgot.vue @@ -1,55 +1,99 @@ From 74a41537d2767998e248325ae1c94907604d8ea8 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Fri, 30 May 2025 17:16:14 +0800 Subject: [PATCH 02/11] =?UTF-8?q?feat(api):=20=E6=B7=BB=E5=8A=A0=E9=94=80?= =?UTF-8?q?=E5=94=AE=E7=AB=AF=E6=9F=A5=E8=AF=A2=E5=AE=A2=E6=88=B7=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=85=A8=E9=83=A8=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 xs_getAllCustomerResources 方法,用于获取所有客户资源列表 - 更新 add_clues 页面,使用新接口获取客户数据 - 调整客户列表显示逻辑,增加决策者和联系电话字段 - 优化客户意向显示,根据 initial_intent 字段展示不同图标 --- api/apiRoute.js | 7 ++++++ pages/market/clue/add_clues.vue | 40 +++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/api/apiRoute.js b/api/apiRoute.js index db7a892..97689a4 100644 --- a/api/apiRoute.js +++ b/api/apiRoute.js @@ -211,6 +211,13 @@ export default { return res; }) }, + //销售端-查询客户资源全部列表 + xs_getAllCustomerResources(data = {}) { + let url = '/customerResources/getAll' + return http.get(url, data).then(res => { + return res; + }) + }, //销售端-客户资源-获取修改日志列表 xs_customerResourcesGetEditLogList(data = {}) { let url = '/customerResources/getEditLogList' diff --git a/pages/market/clue/add_clues.vue b/pages/market/clue/add_clues.vue index fd32e7e..84106e4 100644 --- a/pages/market/clue/add_clues.vue +++ b/pages/market/clue/add_clues.vue @@ -14,12 +14,12 @@ - - - - - - + + + + + 查重 + @@ -454,28 +454,34 @@ - {{v.student_name}} - {{ v.is_status == 1 ? '试听' : '成交' }} + {{v.name}} + - 首选联系人:{{v.contact_name}} + 首选联系人:{{v.decision_maker}} + + + 联系电话:{{v.phone_number || ''}} + + + - {{ $util.formatToDateTime((v.follow && v.follow.follow_up_time || ''), 'm-d H:i') }} 跟进 + {{ $util.formatToDateTime((v.updated_at || ''), 'm-d H:i') }} 跟进 @@ -485,13 +491,13 @@ class="img" > - 意向:{{ v.follow && v.follow.initial_customer_intent || '' }} + 意向:{{ v.initial_intent_name || '' }} - - + + @@ -907,9 +913,9 @@ export default { this.clientUserList = [] let param = { - student_name:this.student_name + name:this.student_name } - let res = await marketApi.clientList(param) + let res = await apiRoute.xs_getAllCustomerResources(param) if(res.code != 1){ uni.showToast({ title: res.msg, From 57a9e7deb88c653d758c1f97ca02935c8759c2c2 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Fri, 30 May 2025 17:58:05 +0800 Subject: [PATCH 03/11] =?UTF-8?q?refactor(market):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=BA=BF=E7=B4=A2=E9=A1=B5=E9=9D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改客户详情页面跳转逻辑,增加对共享资源 ID 的处理 - 更新我的消息页面跳转逻辑,使用发送者和接收者 ID -调整拨打电话功能,增加沟通记录相关参数 - 更改 API 调用方法,使用新的通信记录添加接口 --- pages/market/clue/add_clues.vue | 36 ++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/pages/market/clue/add_clues.vue b/pages/market/clue/add_clues.vue index 84106e4..ba2aa88 100644 --- a/pages/market/clue/add_clues.vue +++ b/pages/market/clue/add_clues.vue @@ -939,23 +939,37 @@ export default { //跳转页面-客户详情 openViewClueInfo(item) { - let id = item.id + let resource_sharing_id = ''; + if (item.resourceSharingHasMany && item.resourceSharingHasMany.length > 0) { + resource_sharing_id = item.resourceSharingHasMany[0].id; // 共享资源表id + } + + if (!resource_sharing_id) { + uni.showToast({ + title: '暂时无法查看', + icon: 'none' + }); + return; + } + uni.navigateTo({ - url: `/pages/market/clue/clue_info?id=${id}` + url: `/pages/market/clue/clue_info?resource_sharing_id=${resource_sharing_id}` }) }, //跳转页面-我的消息 openViewMyMessage(item) { - let hair_staff_id = item.hair_staff_id + let from_id = this.userInfo.id//发送者的id + let to_id = item.customerResource.id//接收者ID uni.navigateTo({ - url: `/pages/common/im_chat_info?hair_staff_id=${hair_staff_id}` + url: `/pages/common/im_chat_info?from_id=${from_id}&to_id=${to_id}` }) }, //拨打电话 async dialTel(item) { - let tel = item.student_phone + + let tel = item.phone_number if (!tel) { uni.showToast({ @@ -965,10 +979,18 @@ export default { return; } + let param = { - sales_id: item.id//线索id + staff_id: this.userInfo.id,//员工id + resource_id: item.id,//资源ID + resource_type: '',//资源类型(如设备、文件、系统等) + communication_type: 'phone',//沟通类型: phone-电话, email-邮件, meeting-会议, other-其他 + communication_result: 'success',//沟通结果: success-成功, failure-失败, pending-待定 + remarks: null,//备注 + tag: null,//标签 } - let res = await marketApi.setCallUp(param)//添加通过记录 + + let res = await apiRoute.xs_communicationRecordsAdd(param)//添加通过记录 if (res.code != 1) { uni.showToast({ title: res.msg, From 9636ff98ab660d8134c62cddad9bb64babd9749a Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Fri, 30 May 2025 18:47:20 +0800 Subject: [PATCH 04/11] =?UTF-8?q?refactor(market):=20=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=8E=89=E6=88=91=E7=9A=84=E5=B8=82=E5=9C=BA=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF=E6=A8=A1?= =?UTF-8?q?=E5=9D=97-=20=E4=BD=BF=E7=94=A8=20=20=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E6=A0=87=E8=AE=B0=E6=B3=A8=E9=87=8A=E6=8E=89=E4=BA=86?= =?UTF-8?q?=E6=95=B4=E4=B8=AA=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20-=20=E4=BF=9D=E7=95=99=E4=BA=86=E5=8E=9F=E6=9C=89?= =?UTF-8?q?=E7=9A=84=20HTML=20=E7=BB=93=E6=9E=84=EF=BC=8C=E4=BB=A5?= =?UTF-8?q?=E4=BE=BF=E4=BA=8E=E6=9C=AA=E6=9D=A5=E5=8F=AF=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=90=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/market/my/index.vue | 52 +++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pages/market/my/index.vue b/pages/market/my/index.vue index ce3bf73..2439434 100644 --- a/pages/market/my/index.vue +++ b/pages/market/my/index.vue @@ -34,32 +34,32 @@ - - - - - - {{userInfo.yjds}} - 业绩单数/人 - - - {{userInfo.yqds}} - 已签单数/人 - - - 1234 - 新课签到数/人 - - - - 较上月 - -5 - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + From 6e7fd6008d12d2feabfb4c83a52334736f566c34 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Fri, 30 May 2025 18:55:01 +0800 Subject: [PATCH 05/11] =?UTF-8?q?feat(market):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=88=86=E9=85=8D=E6=9D=83=E9=99=90=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将判断用户是否为经理的逻辑,改为判断用户是否为销售经理 -通过更新角色键名,提高权限控制的精确度 --- pages/market/clue/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/market/clue/index.vue b/pages/market/clue/index.vue index 2f25661..497b4ef 100644 --- a/pages/market/clue/index.vue +++ b/pages/market/clue/index.vue @@ -267,8 +267,8 @@ export default { this.filteredData_1.shared_by = this.userInfo.id//共享人ID始终是当前登录的员工 - //判断用户是不是经理,是就展示"资源分配" - if(this.userInfo.role_key_arr.includes('manager')){ + //判断用户是不是销售经理,是就展示"资源分配" + if(this.userInfo.role_key_arr.includes('market_manager')){ this.values = [ { id: 1, From 54ccb7fdedf33379fd162e3f8bf2a62d6c517cbe Mon Sep 17 00:00:00 2001 From: LLL <15374889135@163.com> Date: Fri, 30 May 2025 19:51:40 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/apiRoute.js | 43 +- pages/coach/class/list.vue | 4 +- pages/coach/course/info_list.vue | 1043 ++++++++++++++----------- pages/coach/course/list.vue | 1248 +++++++++++++++--------------- pages/coach/my/index.vue | 14 +- 5 files changed, 1286 insertions(+), 1066 deletions(-) diff --git a/api/apiRoute.js b/api/apiRoute.js index f99b173..d081b2e 100644 --- a/api/apiRoute.js +++ b/api/apiRoute.js @@ -128,9 +128,46 @@ export default { - - - + //获取添加学员列表 + addStudentList(data = {}) { + let url = '/course/addStudentList' + return http.get(url, data).then(res => { + return res; + }) + }, + addStudent(data = {}) { + let url = '/course/addStudent' + return http.post(url, data).then(res => { + return res; + }) + }, + delStudentCourse(data = {}) { + let url = '/course/delStudentCourse' + return http.get(url, data).then(res => { + return res; + }) + }, + //获取班级列表 + jlClassList(data = {}) { + let url = '/class/jlClassList' + return http.get(url, data).then(res => { + return res; + }) + }, + //获取课程列表 + courseList(data = {}) { + let url = '/course/courseList' + return http.get(url, data).then(res => { + return res; + }) + }, + //获取课程详情 + courseInfo(data = {}) { + let url = '/course/courseInfo' + return http.get(url, data).then(res => { + return res; + }) + }, //教研管理文章列表 teachingResearchList(data = {}) { let url = '/teachingResearch/list' diff --git a/pages/coach/class/list.vue b/pages/coach/class/list.vue index 2a5a6fb..27da062 100644 --- a/pages/coach/class/list.vue +++ b/pages/coach/class/list.vue @@ -59,7 +59,7 @@ \ No newline at end of file diff --git a/pages/coach/course/list.vue b/pages/coach/course/list.vue index 4c61483..872d074 100644 --- a/pages/coach/course/list.vue +++ b/pages/coach/course/list.vue @@ -1,613 +1,653 @@ \ No newline at end of file diff --git a/pages/coach/my/index.vue b/pages/coach/my/index.vue index 00d9754..26ed68b 100644 --- a/pages/coach/my/index.vue +++ b/pages/coach/my/index.vue @@ -11,7 +11,7 @@ - + {{memberInfo.name}} @@ -96,10 +96,10 @@ - + 设置 @@ -114,9 +114,9 @@