Просмотр исходного кода

Merge branch 'master' of http://106.52.242.177:3000/askqvn/crm-app

zhangxin 1 месяц назад
Родитель
Сommit
4ca40c2677

+ 69 - 0
README.md

@@ -0,0 +1,69 @@
1
+# CRM 移动应用 (App端)
2
+
3
+## 项目简介
4
+本项目是 CRM 系统的移动端应用,采用 [uni-app](https://uniapp.dcloud.io/) 框架开发,支持跨平台发布(H5、小程序、App)。它为销售人员和仓库管理人员提供了便捷的移动办公能力,支持实时的线索跟进、订单处理、询价核价及 VoIP 通话功能。
5
+
6
+## 技术栈
7
+- **开发框架**: uni-app (基于 Vue 2.x)
8
+- **UI 组件库**: uView UI
9
+- **状态管理**: Vuex
10
+- **通信协议**: WebSocket, HTTPS
11
+- **VoIP 实现**: JsSIP, Recorder-core (录音相关)
12
+- **工具类**: Day.js, Lodash, mp-storage
13
+
14
+## 核心功能模块
15
+
16
+### 1. 首页与工作台 (`pages/index`)
17
+- 展示销售简报、今日任务及业绩达成情况。
18
+- 支持按团队或个人维度查看数据统计。
19
+
20
+### 2. 线索管理 (`pages/clue`, `pages/privateClue`, `pages/publicClue`)
21
+- **线索公海**: 领取和查看公海池中的客户线索。
22
+- **销售线索**: 个人名下的线索管理,支持多维度筛选和排序。
23
+- **线索详情**: 包含客户基础信息、广告来源、通话记录、跟进记录等多个标签页。
24
+- **新增线索/跟进**: 随时随地录入新线索或添加跟进内容。
25
+
26
+### 3. 订单与财务 (`pages/order`, `pages/orderDetail`, `pages/orderForm`)
27
+- **接单中心**: 接收和处理系统分配的订单。
28
+- **订单详情**: 查看订单全貌,包括佣金记录、回款记录、发货信息等。
29
+- **财务表单**: 移动端支持快捷填写佣金申请表和回款登记表。
30
+
31
+### 4. 仓库与库存 (`pages/wareHouse`)
32
+- **库存管理**: 实时查看仓库库存,支持库存编辑。
33
+- **业务开单**: 直接在手机上完成销售开单流程。
34
+- **假货登记**: 现场记录和上报异常货物信息。
35
+
36
+### 5. 询价与核价 (`pages/inquiry`, `pages/verification`)
37
+- **询价中心**: 快速处理客户询价请求。
38
+- **核价中心**: 对询价进行审核和定价,确保价格策略的一致性。
39
+
40
+### 6. 通信与录音 (`pages/uploadRecord`)
41
+- 集成 VoIP 功能,支持直接拨打客户电话。
42
+- 通话结束后,支持自动或手动上传通话录音到服务器,确保服务质量可追溯。
43
+
44
+## 目录结构
45
+```text
46
+crm-app/
47
+├── components/         # 业务组件
48
+├── js_sdk/             # 外部 SDK (如地图、扫码等)
49
+├── mixins/             # 混入逻辑 (跟进、上传等)
50
+├── pages/              # 页面目录 (每个子文件夹代表一个功能模块)
51
+├── static/             # 静态资源 (图片、图标、音频等)
52
+├── store/              # Vuex 状态管理
53
+├── uni_modules/        # uni-app 插件模块 (如 uview-ui)
54
+├── utils/              # 工具函数 (请求封装、权限校验、通用字典等)
55
+├── App.vue             # 应用入口
56
+├── main.js             # Vue 初始化
57
+├── manifest.json       # 应用配置 (AppID、权限、分包等)
58
+└── pages.json          # 页面路由及底部导航配置
59
+```
60
+
61
+## 开发注意事项
62
+- **UI 规范**: 统一使用 uView UI 组件,确保移动端交互体验一致。
63
+- **权限控制**: 页面跳转及按钮操作需通过 `utils/permission.js` 进行权限校验。
64
+- **VoIP 环境**: 移动端拨号需确保网络环境稳定,并获取必要的麦克风权限。
65
+- **Mock 数据**: 开发环境下可使用 `mock/` 目录下的模拟数据进行界面调试。
66
+
67
+## 部署说明
68
+- 本项目支持发布为安卓/iOS App,也可部署为 H5 页面集成在企业微信或钉钉中。
69
+- 发布前请检查 `manifest.json` 中的各平台配置项。

+ 29 - 0
pages/README.md

@@ -0,0 +1,29 @@
1
+# App 业务页面模块
2
+
3
+## 模块概述
4
+包含所有移动端功能页面。页面基于 `uni-app` 标准结构开发,每个目录代表一个独立的功能模块。
5
+
6
+## 重点模块详解
7
+
8
+### 1. 线索中心 (`pages/clue` & `pages/privateClue`)
9
+- **`index.vue`**: 线索列表主页,支持下拉刷新和滑动加载。
10
+- **`clueDetail/`**: 采用分包或标签页设计,展示线索详情、广告属性、通话和跟进记录。
11
+- **`addClue/`**: 快速录入客户信息。
12
+
13
+### 2. 接单与询价 (`pages/order` & `pages/inquiry`)
14
+- **`order/index.vue`**: 接单中心,展示待处理、进行中、已完成的订单任务。
15
+- **`inquiry/`**: 询价中心,销售人员上传产品需求,后台进行报价。
16
+- **`verification/`**: 核价流程,用于审核报价单。
17
+
18
+### 3. 仓库管理 (`pages/wareHouse`)
19
+- 移动端仓库核心功能,支持现场盘点和业务开单。
20
+- **`fakeRegistration.vue`**: 针对异常货物(假货)的快速登记上报。
21
+
22
+### 4. 通信与录音 (`pages/uploadRecord`)
23
+- **录音上传**: 移动端在通话结束后,会自动捕获通话时长并提示用户上传录音。
24
+- **`circumstances/`**: 环境监测(可能用于外勤签到或特定工作环境校验)。
25
+
26
+## 开发指南
27
+- **路由跳转**: 使用 `uni.navigateTo` 等 API,并确保在 `pages.json` 中已注册。
28
+- **生命周期**: 优先使用 `onLoad` 获取参数,`onShow` 刷新数据。
29
+- **UI 规范**: 统一使用 `u-view` 组件,如 `u-button`, `u-input`, `u-list`。

+ 9 - 0
pages/addFollow/README.md

@@ -0,0 +1,9 @@
1
+# 线索跟进记录添加
2
+
3
+## 1. 页面职责
4
+快速录入沟通结果。
5
+
6
+## 2. 核心交互
7
+- **语音转文字**: 长按录音并自动填充。
8
+- **下次跟进提醒**: 设置时间触发系统消息推送。
9
+- **公海退回**: 支持一键将线索退回公海。

+ 8 - 0
pages/circumstances/README.md

@@ -0,0 +1,8 @@
1
+# 环境监测 (Circumstances)
2
+
3
+## 1. 页面职责
4
+外勤人员环境合规性校验。
5
+
6
+## 2. 功能
7
+- **位置校验**: 确保销售处于客户地址的合理范围内。
8
+- **合规存证**: 采集设备环境信息作为业务存证。

+ 10 - 0
pages/clueDetail/tabs/README.md

@@ -0,0 +1,10 @@
1
+# 详情页功能标签 (Tabs)
2
+
3
+## 1. 目录职责
4
+包含线索详情页面的所有子功能组件。
5
+
6
+## 2. 组件说明
7
+- **clueInfo**: 客户基础静态信息。
8
+- **advertising**: 广告来源背景。
9
+- **followRecord**: 时间轴形式的历史跟进。
10
+- **callRecord**: VoIP 通话流水及录音回放。

+ 9 - 0
pages/inquiry/README.md

@@ -0,0 +1,9 @@
1
+# 询价中心 (Inquiry)
2
+
3
+## 1. 页面职责
4
+处理非标产品的现场询价。
5
+
6
+## 2. 核心功能
7
+- **发起询价**: 上传产品照片、型号及预期价格。
8
+- **状态追踪**: 查看后端定价人员的实时回复。
9
+- **转开单**: 询价通过后,可一键导入数据发起正式开单。

+ 9 - 0
pages/login/README.md

@@ -0,0 +1,9 @@
1
+# 登录与权限 (Login)
2
+
3
+## 1. 页面职责
4
+系统身份验证与环境初始化。
5
+
6
+## 2. 核心逻辑
7
+- **RSA 加密**: 密码传输加密。
8
+- **网关配置**: 支持手动切换开发/生产环境接口地址。
9
+- **状态存储**: 登录后同步更新 Vuex 状态与 Storage。

+ 9 - 0
pages/order/README.md

@@ -0,0 +1,9 @@
1
+# 接单中心 (Order Center)
2
+
3
+## 1. 页面职责
4
+接收新指派的任务,并进行接单确认。
5
+
6
+## 2. 核心流程
7
+- **接单**: 销售点击“接单”,系统记录 `accept_time`。
8
+- **导航**: 详情页集成高德/百度地图一键导航。
9
+- **推送**: 集成 Unipush 实时提醒新单到达。

+ 13 - 0
pages/privateClue/README.md

@@ -0,0 +1,13 @@
1
+# 销售线索列表 (Private Clue)
2
+
3
+## 1. 页面职责
4
+移动端销售人员管理名下线索的主入口。
5
+
6
+## 2. 核心功能
7
+- **列表展示**: 支持搜索、筛选及实时更新。
8
+- **快捷拨号**: 滑动行或点击详情页悬浮按钮发起 VoIP 呼叫。
9
+- **解密查看**: 手机号默认脱敏,点击“眼睛”图标解密并触发审计。
10
+
11
+## 3. 技术实现
12
+- **组件**: `clueDetail/index.vue`
13
+- **通信**: 使用 `uni.$emit('refreshList')` 保证列表与详情数据同步。

+ 12 - 0
pages/wareHouse/README.md

@@ -0,0 +1,12 @@
1
+# 仓库管理中心 (WareHouse)
2
+
3
+## 1. 页面职责
4
+货物的出入库、盘点及销售现场开单。
5
+
6
+## 2. 核心模块
7
+- **扫码识别**: 调用 `uni.scanCode` 快速识别货物。
8
+- **现场开单**: `openOrder.vue` 允许销售扣减库存并锁定。
9
+- **假货登记**: `fakeRegistration.vue` 现场拍照上传。
10
+
11
+## 3. 业务逻辑
12
+- **库存锁定**: 开单时锁定 15 分钟,防止超卖。

+ 26 - 0
pages/wareHouse/components/README.md

@@ -0,0 +1,26 @@
1
+# 仓库管理 - 移动端子组件
2
+
3
+## 模块概述
4
+本目录包含仓库模块的所有业务子组件,采用 uni-app 组件化开发,重点处理移动端的高频交互场景。
5
+
6
+## 组件明细
7
+
8
+### 1. 业务开单 (`openOrder.vue`)
9
+- **功能**: 支持扫描条码或手动搜索货物进行销售开单。
10
+- **逻辑**: 集成库存校验,防止超卖。
11
+
12
+### 2. 异常处理 (`fakeRegistration.vue`)
13
+- **功能**: 现场发现疑似假货时的快速报备。
14
+- **交互**: 支持拍照上传附件、地理位置自动获取。
15
+
16
+### 3. 详情与编辑 (`detail.vue`, `edit.vue`)
17
+- **`detail.vue`**: 展示货物全属性,包含入库历史、操作日志。
18
+- **`edit.vue`**: 提供库存修正、状态变更(如:正常、锁定、待检测)功能。
19
+
20
+### 4. 搜索与过滤 (`searchFilter.vue`)
21
+- 针对移动端屏幕尺寸优化的侧滑筛选器。
22
+- 支持按品类、批次、仓库区域进行快速检索。
23
+
24
+## 组件间通信
25
+- 使用 `uni.$emit` 和 `uni.$on` 处理页面间的数据回传(如开单成功后刷新列表)。
26
+- 复杂状态通过 `store/modules/warehouse.js` 共享。