From 205e2c7ae5917d448fa6294e3565f3367c518440 Mon Sep 17 00:00:00 2001
From: zcx <377075991@qq.com>
Date: Mon, 11 Dec 2023 17:28:02 +0800
Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/sch/shop.js | 44 +++
src/views/sch/shop/index.vue | 338 ++++++++++++++++++
src/views/system/employee/index.vue | 6 +-
.../zs/clue/components/FollowInfoDialog.vue | 39 ++
src/views/zs/clue/index.vue | 23 +-
vue.config.js | 2 +-
6 files changed, 443 insertions(+), 9 deletions(-)
create mode 100644 src/api/sch/shop.js
create mode 100644 src/views/sch/shop/index.vue
create mode 100644 src/views/zs/clue/components/FollowInfoDialog.vue
diff --git a/src/api/sch/shop.js b/src/api/sch/shop.js
new file mode 100644
index 0000000..a92b865
--- /dev/null
+++ b/src/api/sch/shop.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询抖音门店列表
+export function listShop(query) {
+ return request({
+ url: '/system/shop/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询抖音门店详细
+export function getShop(shopId) {
+ return request({
+ url: '/system/shop/' + shopId,
+ method: 'get'
+ })
+}
+
+// 新增抖音门店
+export function addShop(data) {
+ return request({
+ url: '/system/shop',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改抖音门店
+export function updateShop(data) {
+ return request({
+ url: '/system/shop',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除抖音门店
+export function delShop(shopId) {
+ return request({
+ url: '/system/shop/' + shopId,
+ method: 'delete'
+ })
+}
diff --git a/src/views/sch/shop/index.vue b/src/views/sch/shop/index.vue
new file mode 100644
index 0000000..bd72d4a
--- /dev/null
+++ b/src/views/sch/shop/index.vue
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/employee/index.vue b/src/views/system/employee/index.vue
index 82eb2dd..5a6469c 100644
--- a/src/views/system/employee/index.vue
+++ b/src/views/system/employee/index.vue
@@ -468,6 +468,8 @@ export default {
type: 'warning'
}).then(function () {
// 走释放线索逻辑,并禁用该用户
+ empAPi.delete(row.employeeId);
+ this.getList();
}).then(() => {
this.msgSuccess('注销成功!');
});
@@ -488,8 +490,10 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
- }).then(function () {
+ }).then(() => {
// 检查一下,如果被使用,提示不可删除
+ empAPi.delete(row.employeeId);
+ this.getList();
}).then(() => {
this.msgSuccess('删除成功!');
});
diff --git a/src/views/zs/clue/components/FollowInfoDialog.vue b/src/views/zs/clue/components/FollowInfoDialog.vue
new file mode 100644
index 0000000..83ee3b8
--- /dev/null
+++ b/src/views/zs/clue/components/FollowInfoDialog.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/zs/clue/index.vue b/src/views/zs/clue/index.vue
index ebaf0a1..31e47fb 100644
--- a/src/views/zs/clue/index.vue
+++ b/src/views/zs/clue/index.vue
@@ -73,6 +73,8 @@
v-if="(admin == 'true' || (scope.row.followUser2 != undefined && scope.row.followUser2.indexOf(userId) != -1)) && !scope.row.state"
v-hasPermi="['zs:clue:discard']" type="text" @click.native.stop="handleDiscard(scope.row)">释放
撞单信息
+ 跟进信息
+
@@ -101,6 +103,8 @@
+
+
@@ -117,6 +121,7 @@ import DYClueFormDialog from './components/DYClueFormDialog.vue';
import SkillDialog from './components/SkillDialog.vue';
import InvitationDialog from './components/InvitationDialog.vue';
import FollowCountDialog from './components/FollowCountDialog.vue';
+import FollowInfoDialog from './components/FollowInfoDialog.vue';
import { defaultColumns } from './columns.js';
import { getClueList, deleteClue, getClueCountBadge, discardClue, getSign, getConsultRecord } from '@/api/zs/clue';
@@ -125,7 +130,7 @@ export default {
name: 'Clue',
components: {
SearchForm, BatchUpdateDialog, PublicDialog, UploadDialog, SignFormDialog, DistributeDialog, ZhuangDanDialog, MemoFormDialog,
- DYClueFormDialog, SkillDialog, InvitationDialog, FollowCountDialog
+ DYClueFormDialog, SkillDialog, InvitationDialog, FollowCountDialog, FollowInfoDialog
},
beforeRouteEnter(to, from, next) {
if (from.name == 'ClueForm') {
@@ -370,19 +375,23 @@ export default {
});
}
},
- //邀约
+ // 邀约
handleInvitation(item) {
this.$nextTick(() => {
this.$refs.InvitationDialog.init(item)
- })
-
+ });
},
- //跟进统计页面
+ // 跟进统计页面
handleFollowCount() {
-
this.$nextTick(() => {
this.$refs.FollowCountDialog.init()
- })
+ });
+ },
+ // 查看跟进记录
+ handleViewFollowInfo (item) {
+ this.$nextTick(() => {
+ this.$refs.FollowInfoDialog.init(item.clueId);
+ });
}
}
};
diff --git a/vue.config.js b/vue.config.js
index d975b06..a541792 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -43,7 +43,7 @@ module.exports = {
},
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
- // target: `https://xueche.ahduima.com/duima/`,
+ // target: `https://xueche.kxxc.top/duima/`,
target: `http://localhost:8088`,
changeOrigin: true,
pathRewrite: {