From fa2ee0cd6a2376a4afbd00680226901725207f10 Mon Sep 17 00:00:00 2001 From: qsh <> Date: Fri, 17 Oct 2025 18:07:15 +0800 Subject: [PATCH] sc --- .env.base | 3 +- src/api/clue/clueRemark.js | 50 +++++ src/permission.js | 8 + src/router/modules/remaining.ts | 41 ++-- src/views/Clue/Order/Comp/OrderRemark.vue | 161 +++++++++++++++ src/views/Clue/Order/index.vue | 5 + src/views/Clue/Pool/Comp/DialogRemark.vue | 104 ++++++++++ src/views/Clue/Pool/index.vue | 16 ++ src/views/Clue/ReceiveInput/index.vue | 100 ++++++++++ src/views/Clue/Set/Comp/RemarkGroup.vue | 228 ++++++++++++++++++++++ src/views/Clue/Set/index.vue | 5 + 11 files changed, 705 insertions(+), 16 deletions(-) create mode 100644 src/api/clue/clueRemark.js create mode 100644 src/views/Clue/Order/Comp/OrderRemark.vue create mode 100644 src/views/Clue/Pool/Comp/DialogRemark.vue create mode 100644 src/views/Clue/ReceiveInput/index.vue create mode 100644 src/views/Clue/Set/Comp/RemarkGroup.vue diff --git a/.env.base b/.env.base index f1f5dc1..c4e5a4a 100644 --- a/.env.base +++ b/.env.base @@ -5,7 +5,8 @@ VITE_DEV=true # 请求路径 # VITE_BASE_URL='http://47.98.161.246:48080' -VITE_BASE_URL='http://114.215.207.150:48080' +# VITE_BASE_URL='http://114.215.207.150:48080' +VITE_BASE_URL='http://localhost:48080' # 高德地图key密钥 # 1寻驾 diff --git a/src/api/clue/clueRemark.js b/src/api/clue/clueRemark.js new file mode 100644 index 0000000..cb63e9f --- /dev/null +++ b/src/api/clue/clueRemark.js @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +// 获得微信群列表 +export const getWxGroupPage = (params) => { + return request.get({ url: '/admin-api/crm/wxgroup/page', params }) +} + +// 创建微信群 +export const createWxGroup = (data) => { + return request.post({ url: '/admin-api/crm/wxgroup/create', data, isSubmitForm: true }) +} + +// 更新微信群 +export const updateWxGroup = (data) => { + return request.put({ url: '/admin-api/crm/wxgroup/update', data }) +} + +// 删除微信群 +export const deleteWxGroup = (id) => { + return request.delete({ url: `/admin-api/crm/wxgroup?groupId=${id}` }) +} + +export const getWxGroupSimpleList = async () => { + return await request.get({ url: '/admin-api/crm/wxgroup/simple-list' }) +} + +// 报备 +export const reportClue = (data) => { + return request.post({ url: '/admin-api/crm/clue-remark/remark/save', data }) +} + +// 接待提交报名信息 +export const registerClue = (data) => { + return request.post({ url: '/admin-api/crm/clue-remark/sign/save', data }) +} + +// 分页查询报备信息 +export const getClueRemarkPage = (params) => { + return request.get({ url: '/admin-api/crm/clue-remark/page', params }) +} + +// 区域查询报备信息 +export const getClueRemarkByRemarkId = (params) => { + return request.get({ url: `/admin-api/crm/clue-remark/sign/get`, params }) +} + +// 销售查询报备信息 +export const getClueRemarkByClueId = (params) => { + return request.get({ url: `/admin-api/crm/clue-remark/remark/get`, params }) +} diff --git a/src/permission.js b/src/permission.js index 557b9b2..684e2e9 100644 --- a/src/permission.js +++ b/src/permission.js @@ -9,6 +9,7 @@ import { useUserStoreWithOut } from '@/store/modules/user' import { usePermissionStoreWithOut } from '@/store/modules/permission' import { useAppStoreWithOut } from '@/store/modules/app' import { getTenantId, getAppId, setTenantId, setAppId } from '@/utils/auth' +import { checkPermi } from '@/utils/permission' const { start, done } = useNProgress() @@ -40,6 +41,13 @@ router.beforeEach(async (to, from, next) => { await waitTime(1500) } next({ path: '/' }) + } else if (to.name == 'ReceiveInput') { + if (!checkPermi(['clue:remark:receive-input'])) { + next({ path: '/403', replace: true, query: { noGoBack: true } }) + return + } else { + next() + } } else { // 获取所有字典 const dictStore = useDictStoreWithOut() diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 6f70d3a..6386088 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -58,21 +58,21 @@ const remainingRouter: AppRouteRecordRaw[] = [ meta: { title: '首页', hidden: true - } - // ,children: [ - // { - // path: '/index', - // component: () => import('@/views/Basic/Menu/index.vue'), - // name: 'Home', - // meta: { - // title: '首页', - // icon: 'ep:home-filled', - // noTagsView: true, - // affix: true - // // hidden: true - // } - // } - // ] + }, + children: [ + { + path: '/index', + component: () => import('@/views/Basic/Menu/index.vue'), + name: 'Home', + meta: { + title: '首页', + icon: 'ep:home-filled', + noTagsView: true, + affix: true + // hidden: true + } + } + ] }, { path: '/swagger', @@ -164,6 +164,17 @@ const remainingRouter: AppRouteRecordRaw[] = [ // } // ] // }, + { + path: '/receive-input/:id', + name: 'ReceiveInput', + component: () => import('@/views/Clue/ReceiveInput/index.vue'), + meta: { + title: '接待信息录入', + hidden: true, + noTagsView: true, + permission: 'clue:receiveInput:index' + } + }, { path: '/login', component: () => import('@/views/Login/Login.vue'), diff --git a/src/views/Clue/Order/Comp/OrderRemark.vue b/src/views/Clue/Order/Comp/OrderRemark.vue new file mode 100644 index 0000000..86379af --- /dev/null +++ b/src/views/Clue/Order/Comp/OrderRemark.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/Clue/Order/index.vue b/src/views/Clue/Order/index.vue index 89f6c79..57b22ed 100644 --- a/src/views/Clue/Order/index.vue +++ b/src/views/Clue/Order/index.vue @@ -26,6 +26,9 @@ + + + @@ -37,6 +40,8 @@ import Reback from './Comp/Reback.vue' import AfterSales from './Comp/AfterSales.vue' import Delivery from './Comp/Delivery.vue' import Settle from './Comp/Settle.vue' +import OrderRemark from './Comp/OrderRemark.vue' + import { checkPermi } from '@/utils/permission' const appStore = useAppStore() diff --git a/src/views/Clue/Pool/Comp/DialogRemark.vue b/src/views/Clue/Pool/Comp/DialogRemark.vue new file mode 100644 index 0000000..55976c1 --- /dev/null +++ b/src/views/Clue/Pool/Comp/DialogRemark.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/views/Clue/Pool/index.vue b/src/views/Clue/Pool/index.vue index 6df5cc1..d19fbce 100644 --- a/src/views/Clue/Pool/index.vue +++ b/src/views/Clue/Pool/index.vue @@ -133,6 +133,15 @@ > 修改 + + 报备 + + @@ -207,6 +217,7 @@ import DialogSuccess from './Comp/DialogSuccess.vue' import DialogFollow from './Comp/DialogFollow.vue' import ClueMap from './Comp/ClueMap.vue' import DialogBatchChangeFollow from './Comp/DialogBatchChangeFollow.vue' +import DialogRemark from './Comp/DialogRemark.vue' import { getSimpleUserList as getUserOption, getAllUserList, @@ -363,6 +374,11 @@ async function makeCall(phone) { console.log('打电话:' + phone) } +const remarkRef = ref() +function handleRemark(row) { + remarkRef.value.open(row) +} + // 登记 function handleSuccess(row) { successRef.value.open(row.clueId) diff --git a/src/views/Clue/ReceiveInput/index.vue b/src/views/Clue/ReceiveInput/index.vue new file mode 100644 index 0000000..e1fa3df --- /dev/null +++ b/src/views/Clue/ReceiveInput/index.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/views/Clue/Set/Comp/RemarkGroup.vue b/src/views/Clue/Set/Comp/RemarkGroup.vue new file mode 100644 index 0000000..b4bdd7f --- /dev/null +++ b/src/views/Clue/Set/Comp/RemarkGroup.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/views/Clue/Set/index.vue b/src/views/Clue/Set/index.vue index b04e75c..48c7caa 100644 --- a/src/views/Clue/Set/index.vue +++ b/src/views/Clue/Set/index.vue @@ -33,6 +33,10 @@ + + + + @@ -54,6 +58,7 @@ import IntentionStatus from './Comp/IntentionStatus.vue' import ExtraFeeType from './Comp/ExtraFeeType.vue' import OtherPayType from './Comp/OtherPayType.vue' import GeneralSet from './Comp/GeneralSet.vue' +import RemarkGroup from './Comp/RemarkGroup.vue' import { checkPermi } from '@/utils/permission' import { useAppStore } from '@/store/modules/app'