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 @@
- 1.验证手机号码
- 2.设置新密码
+ 1.验证手机号码
+ 2.设置新密码
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 下一步
- 提交
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+ 提交
+
+
+
+
+
+
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 @@
-
-
-
- 课表
-
-
-
-
-
-
- {{v.week}}
-
- {{today == v.date ? '今':v.today}}
-
-
-
-
-
- 查看更多
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 班级:{{v.classes_name}}
- 时间:{{v.date}}
- 课室:{{v.address}}
-
- 课程:{{v.courses_name}}
-
-
-
-
-
- {{ v.status === 1 ? '未开始' : v.status === 2 ? '上课中' : '已结束' }}
-
-
-
-
-
- 已签到学生 ({{v.sign_list.length }}/{{v.max_students.split(',').length }})
-
-
-
-
-
-
-
-
- 详情
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 课表
+
+
+
+
+
+
+ {{v.weekday}}
+ {{today == v.date ? '今':v.dayOfMonth}}
+
+
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 时间:{{v.course_date}}
+ 课室:{{v.venue.venue_name}}
+ 课程:{{v.course.course_name}}
+ 人数:{{v.venue.capacity}}
+
+
+
+
+ {{ v.status === 'pending' ? '未开始' : v.status === 'ongoing' ? '上课中' : '已结束' }}
+
+
+
+
+
+
+
+ 已签到学生 ({{v.student.length }}/{{v.venue.capacity}})
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@