From 2c0bc99c0397a908edfb7dd3d71fcdf9c601a060 Mon Sep 17 00:00:00 2001 From: zcxee <495141071@qq.com> Date: Sat, 7 Oct 2023 19:29:06 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=95=99=E7=BB=83=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/sch/coach.js | 51 ++++ src/api/zs/feedback.js | 51 ++++ src/views/sch/coach/components/CoachForm.vue | 135 ++++++++++ src/views/sch/coach/index.vue | 159 ++++++++++++ src/views/zs/feedback/index.vue | 253 +++++++++++++++++++ 5 files changed, 649 insertions(+) create mode 100644 src/api/sch/coach.js create mode 100644 src/api/zs/feedback.js create mode 100644 src/views/sch/coach/components/CoachForm.vue create mode 100644 src/views/sch/coach/index.vue create mode 100644 src/views/zs/feedback/index.vue diff --git a/src/api/sch/coach.js b/src/api/sch/coach.js new file mode 100644 index 0000000..ebc8c2e --- /dev/null +++ b/src/api/sch/coach.js @@ -0,0 +1,51 @@ +/* + * @Author: riverQiu + * @Date: 2023-10-07 17:14:32 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-07 18:02:01 + * @Description:教练接口 + */ +import request from '@/utils/request'; + +// 查询教练列表 +export function listCoach(query) { + return request({ + url: '/sch/coach/list', + method: 'get', + params: query + }); +} + +// 查询教练详细 +export function getCoach(coachId) { + return request({ + url: '/sch/coach/' + coachId, + method: 'get' + }); +} + +// 新增教练 +export function addCoach(data) { + return request({ + url: '/sch/coach', + method: 'post', + data: data + }); +} + +// 修改教练 +export function updateCoach(data) { + return request({ + url: '/sch/coach', + method: 'put', + data: data + }); +} + +// 删除教练 +export function delCoach(coachId) { + return request({ + url: '/sch/coach/' + coachId, + method: 'delete' + }); +} diff --git a/src/api/zs/feedback.js b/src/api/zs/feedback.js new file mode 100644 index 0000000..af7ffa7 --- /dev/null +++ b/src/api/zs/feedback.js @@ -0,0 +1,51 @@ +/* + * @Author: riverQiu + * @Date: 2023-10-07 17:14:38 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-07 17:14:44 + * @Description: 线索反馈接口 + */ +import request from '@/utils/request'; + +// 查询线索反馈列表 +export function listFeedback(query) { + return request({ + url: '/zs/feedback/list', + method: 'get', + params: query + }); +} + +// 查询线索反馈详细 +export function getFeedback(feedbackId) { + return request({ + url: '/zs/feedback/' + feedbackId, + method: 'get' + }); +} + +// 新增线索反馈 +export function addFeedback(data) { + return request({ + url: '/zs/feedback', + method: 'post', + data: data + }); +} + +// 修改线索反馈 +export function updateFeedback(data) { + return request({ + url: '/zs/feedback', + method: 'put', + data: data + }); +} + +// 删除线索反馈 +export function delFeedback(feedbackId) { + return request({ + url: '/zs/feedback/' + feedbackId, + method: 'delete' + }); +} diff --git a/src/views/sch/coach/components/CoachForm.vue b/src/views/sch/coach/components/CoachForm.vue new file mode 100644 index 0000000..c5df3b1 --- /dev/null +++ b/src/views/sch/coach/components/CoachForm.vue @@ -0,0 +1,135 @@ + + + + diff --git a/src/views/sch/coach/index.vue b/src/views/sch/coach/index.vue new file mode 100644 index 0000000..7d8d549 --- /dev/null +++ b/src/views/sch/coach/index.vue @@ -0,0 +1,159 @@ + + + diff --git a/src/views/zs/feedback/index.vue b/src/views/zs/feedback/index.vue new file mode 100644 index 0000000..4a9c813 --- /dev/null +++ b/src/views/zs/feedback/index.vue @@ -0,0 +1,253 @@ + + + From 6c71bccd83d95441e069a93c86d97abe9ee6fb9f Mon Sep 17 00:00:00 2001 From: zcxee <495141071@qq.com> Date: Mon, 9 Oct 2023 19:47:09 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=88=86=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 2 +- src/router/index.js | 5 + src/views/question/index.vue | 14 +- .../components/DistributeFormDialog copy.vue | 116 +++++++++++ .../clue/components/DistributeFormDialog.vue | 67 ++++--- src/views/zs/feedback/first.vue | 180 ++++++++++++++++++ src/views/zs/feedback/index.vue | 2 +- 7 files changed, 342 insertions(+), 44 deletions(-) create mode 100644 src/views/zs/clue/components/DistributeFormDialog copy.vue create mode 100644 src/views/zs/feedback/first.vue diff --git a/src/permission.js b/src/permission.js index 1841aea..6bfb0f6 100644 --- a/src/permission.js +++ b/src/permission.js @@ -16,7 +16,7 @@ NProgress.configure({ showSpinner: false }); -const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/question']; +const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/question', '/clue/feedback']; router.beforeEach((to, from, next) => { NProgress.start(); diff --git a/src/router/index.js b/src/router/index.js index df2777f..beb6e9f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -53,6 +53,11 @@ export const constantRoutes = [{ component: () => import('@/views/question'), hidden: true }, +{ + path: '/clue/feedback', + component: () => import('@/views/zs/feedback/first'), + hidden: true +}, { path: '/404', component: () => import('@/views/error/404'), diff --git a/src/views/question/index.vue b/src/views/question/index.vue index 1f423fb..2b141e9 100644 --- a/src/views/question/index.vue +++ b/src/views/question/index.vue @@ -81,7 +81,7 @@ export default { components: { QuestionForm, QuestionAddForm }, - data() { + data () { return { // 遮罩层 loading: false, @@ -98,12 +98,12 @@ export default { dialogAddVisible: false }; }, - created() { + created () { // this.getList(); }, methods: { /** 查询文件列表 */ - getList() { + getList () { this.loading = true; searchQuestion(this.queryParams).then(response => { this.tableList = response.data; @@ -113,7 +113,7 @@ export default { }, /** 搜索按钮操作 */ - handleQuery() { + handleQuery () { if (this.queryParams.question) { this.getList(); } else { @@ -121,17 +121,17 @@ export default { } }, /** 重置按钮操作 */ - resetQuery() { + resetQuery () { this.queryParams.question = ''; this.handleQuery(); }, - handleEdit(item) { + handleEdit (item) { this.dialogVisible = true; this.$nextTick(() => { this.$refs.dialogForm.init(item); }); }, - handleAdd(item) { + handleAdd (item) { this.dialogAddVisible = true; this.$nextTick(() => { this.$refs.dialogAddForm.init(item); diff --git a/src/views/zs/clue/components/DistributeFormDialog copy.vue b/src/views/zs/clue/components/DistributeFormDialog copy.vue new file mode 100644 index 0000000..095c588 --- /dev/null +++ b/src/views/zs/clue/components/DistributeFormDialog copy.vue @@ -0,0 +1,116 @@ + + + + \ No newline at end of file diff --git a/src/views/zs/clue/components/DistributeFormDialog.vue b/src/views/zs/clue/components/DistributeFormDialog.vue index 095c588..61781b4 100644 --- a/src/views/zs/clue/components/DistributeFormDialog.vue +++ b/src/views/zs/clue/components/DistributeFormDialog.vue @@ -3,14 +3,19 @@ - - {{oldForm.placeNames}} - - + + + + + + + + + @@ -19,74 +24,68 @@ - - - \ No newline at end of file + + diff --git a/src/views/zs/feedback/first.vue b/src/views/zs/feedback/first.vue new file mode 100644 index 0000000..439d47b --- /dev/null +++ b/src/views/zs/feedback/first.vue @@ -0,0 +1,180 @@ + + + diff --git a/src/views/zs/feedback/index.vue b/src/views/zs/feedback/index.vue index 4a9c813..4086e65 100644 --- a/src/views/zs/feedback/index.vue +++ b/src/views/zs/feedback/index.vue @@ -48,7 +48,7 @@ + 00000000000000000000000 From d41a186e22761146932e7ddf66e4832fe9a29756 Mon Sep 17 00:00:00 2001 From: zcxee <495141071@qq.com> Date: Mon, 16 Oct 2023 08:58:30 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/sch/coach.js | 10 +- src/api/system/skill.js | 59 ++++ src/api/zs/feedbackDetail.js | 74 +++++ src/api/zs/feedbackOrder.js | 59 ++++ src/permission.js | 9 +- src/router/index.js | 9 +- src/views/sch/coach/components/CoachForm.vue | 5 +- src/views/sch/coach/index.vue | 6 +- src/views/system/employee/index.vue | 45 +-- src/views/system/skill/index.vue | 193 +++++++++++++ src/views/zs/clue/ClueForm/index.vue | 153 +++++----- src/views/zs/clue/columns.js | 268 +++++++++--------- .../components/DistributeFormDialog copy.vue | 42 ++- .../clue/components/DistributeFormDialog.vue | 97 +++++-- src/views/zs/clue/components/SkillDialog.vue | 70 +++++ src/views/zs/clue/index.vue | 110 ++++--- src/views/zs/feedback/arrival.vue | 122 ++++++++ src/views/zs/feedback/first.vue | 180 ------------ src/views/zs/feedback/follow.vue | 126 ++++++++ 19 files changed, 1132 insertions(+), 505 deletions(-) create mode 100644 src/api/system/skill.js create mode 100644 src/api/zs/feedbackDetail.js create mode 100644 src/api/zs/feedbackOrder.js create mode 100644 src/views/system/skill/index.vue create mode 100644 src/views/zs/clue/components/SkillDialog.vue create mode 100644 src/views/zs/feedback/arrival.vue delete mode 100644 src/views/zs/feedback/first.vue create mode 100644 src/views/zs/feedback/follow.vue diff --git a/src/api/sch/coach.js b/src/api/sch/coach.js index ebc8c2e..be32fc0 100644 --- a/src/api/sch/coach.js +++ b/src/api/sch/coach.js @@ -2,7 +2,7 @@ * @Author: riverQiu * @Date: 2023-10-07 17:14:32 * @LastEditors: riverQiu - * @LastEditTime: 2023-10-07 18:02:01 + * @LastEditTime: 2023-10-10 17:00:57 * @Description:教练接口 */ import request from '@/utils/request'; @@ -49,3 +49,11 @@ export function delCoach(coachId) { method: 'delete' }); } + +export function getAllCoaches(query){ + return request({ + url: '/sch/coach/all', + method: 'get', + params: query + }); +} diff --git a/src/api/system/skill.js b/src/api/system/skill.js new file mode 100644 index 0000000..edb38a8 --- /dev/null +++ b/src/api/system/skill.js @@ -0,0 +1,59 @@ +/* + * @Author: riverQiu + * @Date: 2023-10-14 00:31:37 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-15 00:37:52 + * @Description: + */ +import request from '@/utils/request' + +// 查询关键话术列表 +export function listSkill(query) { + return request({ + url: '/system/skill/list', + method: 'get', + params: query + }) +} + +// 查询关键话术详细 +export function getSkill(skillId) { + return request({ + url: '/system/skill/' + skillId, + method: 'get' + }) +} + + +export function getSkillKey() { + return request({ + url: '/system/skill/key', + method: 'get' + }) +} + +// 新增关键话术 +export function addSkill(data) { + return request({ + url: '/system/skill', + method: 'post', + data: data + }) +} + +// 修改关键话术 +export function updateSkill(data) { + return request({ + url: '/system/skill', + method: 'put', + data: data + }) +} + +// 删除关键话术 +export function delSkill(skillId) { + return request({ + url: '/system/skill/' + skillId, + method: 'delete' + }) +} diff --git a/src/api/zs/feedbackDetail.js b/src/api/zs/feedbackDetail.js new file mode 100644 index 0000000..1d3ac59 --- /dev/null +++ b/src/api/zs/feedbackDetail.js @@ -0,0 +1,74 @@ +/* + * @Author: riverQiu + * @Date: 2023-10-11 20:48:02 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-11 20:57:06 + * @Description: + */ +/* + * @Author: riverQiu + * @Date: 2023-10-10 16:08:39 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-10 16:10:06 + * @Description: 反馈单 + */ +import request from '@/utils/request'; + +// 查询线索反馈列表 +export function listFeedbackDetail(query) { + return request({ + url: '/zs/feedback/detail/list', + method: 'get', + params: query + }); +} + +// 查询线索反馈详细 +export function getFeedbackDetail(feedbackId) { + return request({ + url: '/zs/feedback/detail/' + feedbackId, + method: 'get' + }); +} + +export function getFeedbackDetailInfo(query){ + return request({ + url: '/zs/feedback/detail/info', + method: 'get', + params: query + }); +} + +// 查询线索反馈详细 +export function getFeedbackDetailByClueId(clueId) { + return request({ + url: '/zs/feedback/detail/' + clueId, + method: 'get' + }); +} + +// 新增线索反馈 +export function addFeedbackDetail(data) { + return request({ + url: '/zs/feedback/detail', + method: 'post', + data: data + }); +} + +// 修改线索反馈 +export function updateFeedbackDetail(data) { + return request({ + url: '/zs/feedback/detail', + method: 'put', + data: data + }); +} + +// 删除线索反馈 +export function delFeedbackDetail(feedbackId) { + return request({ + url: '/zs/feedback/detail/' + feedbackId, + method: 'delete' + }); +} diff --git a/src/api/zs/feedbackOrder.js b/src/api/zs/feedbackOrder.js new file mode 100644 index 0000000..2e2073c --- /dev/null +++ b/src/api/zs/feedbackOrder.js @@ -0,0 +1,59 @@ +/* + * @Author: riverQiu + * @Date: 2023-10-10 16:08:39 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-10 16:10:06 + * @Description: 反馈单 + */ +import request from '@/utils/request'; + +// 查询线索反馈列表 +export function listFeedbackOrder(query) { + return request({ + url: '/zs/feedback/order/list', + method: 'get', + params: query + }); +} + +// 查询线索反馈详细 +export function getFeedbackOrder(feedbackId) { + return request({ + url: '/zs/feedback/order/' + feedbackId, + method: 'get' + }); +} + +// 查询线索反馈详细 +export function getFeedbackOrderByClueId(clueId) { + return request({ + url: '/zs/feedback/order/' + clueId, + method: 'get' + }); +} + +// 新增线索反馈 +export function addFeedbackOrder(data) { + return request({ + url: '/zs/feedback/order', + method: 'post', + data: data + }); +} + +// 修改线索反馈 +export function updateFeedbackOrder(data) { + return request({ + url: '/zs/feedback/order', + method: 'put', + data: data + }); +} + +// 删除线索反馈 +export function delFeedbackOrder(feedbackId) { + return request({ + url: '/zs/feedback/order/' + feedbackId, + method: 'delete' + }); +} diff --git a/src/permission.js b/src/permission.js index 6bfb0f6..b14dc3e 100644 --- a/src/permission.js +++ b/src/permission.js @@ -1,3 +1,10 @@ +/* + * @Author: riverQiu + * @Date: 2023-08-16 22:04:23 + * @LastEditors: riverQiu + * @LastEditTime: 2023-10-11 22:17:43 + * @Description: + */ import router from './router'; import store from './store'; import { @@ -16,7 +23,7 @@ NProgress.configure({ showSpinner: false }); -const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/question', '/clue/feedback']; +const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/question', '/clue/feedback/follow', '/clue/feedback/arrival']; router.beforeEach((to, from, next) => { NProgress.start(); diff --git a/src/router/index.js b/src/router/index.js index beb6e9f..b143427 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -54,8 +54,13 @@ export const constantRoutes = [{ hidden: true }, { - path: '/clue/feedback', - component: () => import('@/views/zs/feedback/first'), + path: '/clue/feedback/follow', + component: () => import('@/views/zs/feedback/follow'), + hidden: true +}, +{ + path: '/clue/feedback/arrival', + component: () => import('@/views/zs/feedback/arrival'), hidden: true }, { diff --git a/src/views/sch/coach/components/CoachForm.vue b/src/views/sch/coach/components/CoachForm.vue index c5df3b1..cb2c854 100644 --- a/src/views/sch/coach/components/CoachForm.vue +++ b/src/views/sch/coach/components/CoachForm.vue @@ -1,6 +1,6 @@ + + diff --git a/src/views/zs/clue/ClueForm/index.vue b/src/views/zs/clue/ClueForm/index.vue index c419ced..6cbb56f 100644 --- a/src/views/zs/clue/ClueForm/index.vue +++ b/src/views/zs/clue/ClueForm/index.vue @@ -26,6 +26,8 @@ 保存后继续创建下一条 + 关键话术 + 确 定 @@ -39,12 +41,12 @@ - + - + @@ -64,57 +66,57 @@ - + - + - + - - + + {{ dict.dictValue }} - + - - - - + + + + {{ dict.dictValue }} - + - + - + - + @@ -131,7 +133,7 @@ - + @@ -139,7 +141,7 @@
- +
@@ -158,25 +160,28 @@ + +
- - \ No newline at end of file + + diff --git a/src/views/zs/clue/components/DistributeFormDialog.vue b/src/views/zs/clue/components/DistributeFormDialog.vue index 61781b4..4b5808b 100644 --- a/src/views/zs/clue/components/DistributeFormDialog.vue +++ b/src/views/zs/clue/components/DistributeFormDialog.vue @@ -1,32 +1,68 @@ + + + diff --git a/src/views/zs/clue/index.vue b/src/views/zs/clue/index.vue index 3eb5fdc..b90df3e 100644 --- a/src/views/zs/clue/index.vue +++ b/src/views/zs/clue/index.vue @@ -13,15 +13,22 @@ 导出 批量修改 公海 + 关键话术 +
- + + + + @@ -72,26 +81,27 @@ import SignFormDialog from '../sign/components/SignFormDialog.vue'; import ZhuangDanDialog from './components/ZhuangDanDialog.vue'; import MemoFormDialog from './components/MemoFormDialog.vue'; import DYClueFormDialog from './components/DYClueFormDialog.vue'; +import SkillDialog from './components/SkillDialog.vue'; import { defaultColumns } from './columns.js'; import { getClueList, deleteClue, getClueCountBadge, discardClue, getSign, getConsultRecord } from '@/api/zs/clue'; import empApi from '@/api/system/employee'; export default { name: 'Clue', - beforeRouteEnter(to, from, next) { + components: { + SearchForm, BatchUpdateDialog, PublicDialog, UploadDialog, SignFormDialog, DistributeFormDialog, ZhuangDanDialog, MemoFormDialog, + DYClueFormDialog, SkillDialog + }, + beforeRouteEnter (to, from, next) { if (from.name == 'ClueForm') { next(vm => { - vm._getTableList() - }) + vm._getTableList(); + }); } else { - next() + next(); } }, - components: { - SearchForm, BatchUpdateDialog, PublicDialog, UploadDialog, SignFormDialog, DistributeFormDialog, ZhuangDanDialog, MemoFormDialog, - DYClueFormDialog - }, - data() { + data () { return { admin: localStorage.getItem('admin'), userId: localStorage.getItem('userId'), @@ -120,13 +130,20 @@ export default { 报名他校: '#afaeb0', 无效线索: '#afaeb0' }, + feedbackTagColorMap: { + 0: '待分发', + 1: '待跟进', + 2: '已跟进', + 3: '已到场', + 4: '退单' + }, options: undefined, clueInfo: undefined, consultRecord: [], quickSearch: 0 }; }, - created() { + created () { const str = localStorage.getItem(`${this.$route.name}-table-columns`); this.columns = str ? JSON.parse(str) : defaultColumns; this._getClueCountBadge(); @@ -143,10 +160,10 @@ export default { }, methods: { // 分页查询表格数据 - _getTableList() { + _getTableList () { this.loading = true; const tempForm = this.$refs.SearchForm?.searchForm || {}; - this.quickSearch = tempForm.quickSearch + this.quickSearch = tempForm.quickSearch; const params = { ...this.searchForm, ...tempForm }; getClueList(params).then((response) => { this.tableList = response.rows; @@ -155,31 +172,36 @@ export default { }); }, // 获取已过期线索数 - async _getClueCountBadge() { + async _getClueCountBadge () { const resp = await getClueCountBadge(); if (resp.code === 200) { this.expireCount = resp.data; } }, // 新增或修改 - handleAddandUpdate(info) { + handleAddandUpdate (info) { this.$router.push('/zs/clue-form/index/' + (info ? info.clueId : 0)); }, - //抖音新增 - handleDYAddandUpdate(info){ + // 抖音新增 + handleDYAddandUpdate (info) { this.$nextTick(() => { this.$refs.DYClueFormDialog.init(info); }); }, + handleSkill () { + this.$nextTick(() => { + this.$refs.SkillDialog.init(); + }); + }, // 多选框选中数据 - handleSelectionChange(selection) { + handleSelectionChange (selection) { console.log(selection); this.ids = selection.map((item) => item.clueId); this.single = selection.length !== 1; this.multiple = !selection.length; }, // 释放线索操作 - handleDiscard(item) { + handleDiscard (item) { this.$confirm('是否确认释放该条线索(“' + item.name + '/' + item.phone + '”)到公海?', '警告', { confirmButtonText: '确定', cancelButtonText: '取消', @@ -196,7 +218,7 @@ export default { .catch(function () { }); }, // 删除 - handleDelete(item) { + handleDelete (item) { this.$confirm('是否确认删除该条线索(“' + item.name + '/' + item.phone + '”)?', '警告', { confirmButtonText: '确定', cancelButtonText: '取消', @@ -213,13 +235,13 @@ export default { .catch(function () { }); }, // 导入 - handleImport(ydtData, dYData) { + handleImport (ydtData, dYData) { this.$nextTick(() => { - this.$refs.uploadDialogForm.init({ydtData: ydtData, dYData: dYData}); + this.$refs.uploadDialogForm.init({ ydtData: ydtData, dYData: dYData }); }); }, /** 导出按钮操作 */ - handleExport() { + handleExport () { this.$confirm('是否确认导出所有学员信息项?', '警告', { confirmButtonText: '确定', cancelButtonText: '取消', @@ -230,12 +252,12 @@ export default { }); }, // 公海按钮点击时间 - handlePublicClue() { + handlePublicClue () { this.$nextTick(() => { this.$refs.publicDialogForm.init(); }); }, - getEmployee() { + getEmployee () { empApi.getEmployee().then((resp) => { if (resp.code === 200) { this.userOptions = resp.data; @@ -243,7 +265,7 @@ export default { }); }, // 批量修改 - handleBatChUpdate() { + handleBatChUpdate () { this.options = { userOptions: this.userOptions }; @@ -254,7 +276,7 @@ export default { }); }, // 登记成交 - async handleSign(item) { + async handleSign (item) { // 根据clueId查询登记信息 let signInfo = {}; this.clueInfo = item; @@ -266,39 +288,37 @@ export default { this.$refs.signDialogForm.init(signInfo); }); }, - //分发到场地 - handleDistribute(item) { - + // 分发到场地 + handleDistribute (item) { this.$nextTick(() => { this.$refs.distributeDialogForm.init(item.clueId); }); }, - //外呼 - handlePhone(item) { + // 外呼 + handlePhone (item) { }, - handleViewZhuangDan(item) { + handleViewZhuangDan (item) { this.$nextTick(() => { this.$refs.zhuangDanDialog.init(item.clueId); }); }, - handleRowClick(row) { + handleRowClick (row) { if (this.quickSearch != 8) { // if(row.source == '抖音直播'){ // this.handleDYAddandUpdate(row); // } else { - this.handleAddandUpdate(row) + this.handleAddandUpdate(row); // } } }, - handleCellClick(row, column, cell, event) { - //如果点击的是备注的话 开始备注编辑框 + handleCellClick (row, column, cell, event) { + // 如果点击的是备注的话 开始备注编辑框 if (column.property == 'clueMemo') { - console.log(row, column, cell, event) + console.log(row, column, cell, event); this.$nextTick(() => { this.$refs.memoDialog.init(row); }); - } } } diff --git a/src/views/zs/feedback/arrival.vue b/src/views/zs/feedback/arrival.vue new file mode 100644 index 0000000..1b397ae --- /dev/null +++ b/src/views/zs/feedback/arrival.vue @@ -0,0 +1,122 @@ + + + diff --git a/src/views/zs/feedback/first.vue b/src/views/zs/feedback/first.vue deleted file mode 100644 index 439d47b..0000000 --- a/src/views/zs/feedback/first.vue +++ /dev/null @@ -1,180 +0,0 @@ - - - diff --git a/src/views/zs/feedback/follow.vue b/src/views/zs/feedback/follow.vue new file mode 100644 index 0000000..9c0e179 --- /dev/null +++ b/src/views/zs/feedback/follow.vue @@ -0,0 +1,126 @@ + + + From 9631dba573bd76e3be63efbe2c0d175402193f47 Mon Sep 17 00:00:00 2001 From: zcx <377075991@qq.com> Date: Thu, 19 Oct 2023 17:40:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E9=82=80=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- .env.production | 4 +- .env.staging | 4 +- package.json | 4 +- src/api/zs/invitation.js | 53 +++++++ src/layout/components/Sidebar/Logo.vue | 2 +- src/views/login.vue | 2 +- src/views/register.vue | 2 +- src/views/zs/clue/ClueForm/index.vue | 2 +- .../clue/components/InvitationFormDialog.vue | 143 ++++++++++++++++++ src/views/zs/clue/index.vue | 25 ++- vue.config.js | 4 +- 12 files changed, 228 insertions(+), 21 deletions(-) create mode 100644 src/api/zs/invitation.js create mode 100644 src/views/zs/clue/components/InvitationFormDialog.vue diff --git a/.env.development b/.env.development index c60de5b..c935818 100644 --- a/.env.development +++ b/.env.development @@ -6,12 +6,12 @@ # @Description: ### # 页面标题 -VUE_APP_TITLE = 莳松管理系统 +VUE_APP_TITLE = 开心学车管理系统 # 开发环境配置 ENV = 'development' -# 莳松管理系统/开发环境 +# 开心学车管理系统/开发环境 VUE_APP_BASE_API = '/dev-api' JWL_API = '' diff --git a/.env.production b/.env.production index 7607d56..64e3256 100644 --- a/.env.production +++ b/.env.production @@ -1,8 +1,8 @@ # 页面标题 -VUE_APP_TITLE = 莳松管理系统 +VUE_APP_TITLE = 开心学车管理系统 # 生产环境配置 ENV = 'production' -# 莳松管理系统/生产环境 +# 开心学车管理系统/生产环境 VUE_APP_BASE_API = '/duima' diff --git a/.env.staging b/.env.staging index 061ba5c..f0edbe0 100644 --- a/.env.staging +++ b/.env.staging @@ -1,10 +1,10 @@ # 页面标题 -VUE_APP_TITLE = 莳松管理系统 +VUE_APP_TITLE = 开心学车管理系统 NODE_ENV = production # 测试环境配置 ENV = 'staging' -# 莳松管理系统/测试环境 +# 开心学车管理系统/测试环境 VUE_APP_BASE_API = '/stage-api' diff --git a/package.json b/package.json index a25b260..dd3ae93 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "river", "version": "1.0.0", - "description": "莳松管理系统", - "author": "莳松", + "description": "开心学车管理系统", + "author": "开心学车", "license": "MIT", "scripts": { "dev": "vue-cli-service serve", diff --git a/src/api/zs/invitation.js b/src/api/zs/invitation.js new file mode 100644 index 0000000..47b4ee2 --- /dev/null +++ b/src/api/zs/invitation.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询邀约列表 +export function listInvitation(query) { + return request({ + url: '/zs/invitation/list', + method: 'get', + params: query + }) +} + +// 查询邀约详细 +export function getInvitation(invitationId) { + return request({ + url: '/zs/invitation/' + invitationId, + method: 'get' + }) +} + +// 查询邀约详细 +export function getInvitationByClue(query) { + return request({ + url: '/zs/invitation/clue', + method: 'get', + params: query + }) +} + +// 新增邀约 +export function addInvitation(data) { + return request({ + url: '/zs/invitation', + method: 'post', + data: data + }) +} + +// 修改邀约 +export function updateInvitation(data) { + return request({ + url: '/zs/invitation', + method: 'put', + data: data + }) +} + +// 删除邀约 +export function delInvitation(invitationId) { + return request({ + url: '/zs/invitation/' + invitationId, + method: 'delete' + }) +} diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 8ff3ac9..30fcde8 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -27,7 +27,7 @@ export default { }, data() { return { - title: '莳松管理系统', + title: '开心学车管理系统', logo: logoImg }; }, diff --git a/src/views/login.vue b/src/views/login.vue index f9e7075..c969032 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,7 +1,7 @@ - + @@ -43,10 +44,13 @@ - + + + +
@@ -58,6 +62,7 @@ import SearchForm from './components/SearchForm.vue'; import SignFormDialog from './components/SignFormDialog.vue'; import { defaultColumns } from './columns.js'; import UploadDialog from './components/UploadDialog.vue'; +import SettlementDialog from './components/SettlementDialog.vue'; export default { name: 'Sign', @@ -65,7 +70,8 @@ export default { SearchForm, CheckDialog, SignFormDialog, - UploadDialog + UploadDialog, + SettlementDialog }, data() { return { @@ -97,7 +103,8 @@ export default { dialog: { signVisible: false, checkVisible: false, - uploadVisible: false + uploadVisible: false, + settlementVisible: true }, options: { userOptions: [], @@ -225,6 +232,13 @@ export default { this.$nextTick(() => { this.$refs.checkDialogForm.init(item); }); + }, + //结算 + handleSettlement(item){ + this.dialog.settlementVisible = true + this.$nextTick(() => { + this.$refs.SettlementDialog.init(item); + }) } } };