Browse Source

wip: CRM-代办消息-修改模块为backlog

dhb52 1 year ago
parent
commit
48693b50f2

+ 18 - 0
src/api/crm/backlog/index.ts

@@ -0,0 +1,18 @@
+import request from '@/config/axios'
+
+import { type CustomerVO } from '../customer'
+import { type ClueVO } from '../clue'
+
+
+// 查询客户列表
+// TODO @芋艿:看看是不是后续融合到 getCustomerPage 里;
+export const getTodayCustomerPage = async (params) => {
+  return await request.get({ url: `/crm/backlog/today-customer-page`, params })
+}
+
+// 查询线索列表
+export const getFollowLeadsPage = async (params) => {
+  return await request.get({ url: `/crm/backlog/page`, params })
+}
+
+export  { type CustomerVO, type ClueVO }

+ 0 - 40
src/api/crm/message/index.ts

@@ -1,40 +0,0 @@
-import request from '@/config/axios'
-
-export interface CustomerVO {
-  id?: number
-  name: string
-  industryId: number
-  level: number
-  source: number
-  followUpStatus?: boolean
-  lockStatus?: boolean
-  dealStatus?: boolean
-  mobile: string
-  telephone: string
-  website: string
-  qq: string
-  wechat: string
-  email: string
-  description: string
-  remark: string
-  ownerUserId?: number
-  ownerUserName?: string
-  ownerUserDept?: string
-  roUserIds?: string
-  rwUserIds?: string
-  areaId?: number
-  areaName?: string
-  detailAddress: string
-  contactLastTime?: Date
-  contactNextTime: Date
-  createTime?: Date
-  updateTime?: Date
-  creator?: string
-  creatorName?: string
-}
-
-// 查询客户列表
-// TODO @芋艿:看看是不是后续融合到 getCustomerPage 里;
-export const getTodayCustomerPage = async (params) => {
-  return await request.get({ url: `/crm/message/todayCustomer`, params })
-}

+ 3 - 3
src/router/modules/remaining.ts

@@ -530,15 +530,15 @@ const remainingRouter: AppRouteRecordRaw[] = [
         component: () => import('@/views/crm/product/detail/index.vue')
       },
       {
-        path: 'message',
-        name: 'CrmMessage',
+        path: 'backlog',
+        name: 'CrmBacklog',
         meta: {
           title: '待办事项',
           noCache: true,
           hidden: true
         },
         // TODO @db52:后面搞,搞成菜单
-        component: () => import('@/views/crm/message/index.vue')
+        component: () => import('@/views/crm/backlog/index.vue')
       }
     ]
   }

+ 15 - 3
src/views/crm/message/index.vue → src/views/crm/backlog/index.vue

@@ -17,13 +17,25 @@
     <el-col :span="20" :xs="24">
       <TodayCustomer v-if="leftType === 'todayCustomer'" />
       <FollowLeads v-if="leftType === 'followLeads'" />
+      <CheckContract v-if="leftType === 'checkContract'" />
+      <CheckReceivables v-if="leftType === 'checkReceivables'" />
+      <EndContract v-if="leftType === 'endContract'" />
+      <FollowCustomer v-if="leftType === 'followCustomer'" />
+      <PutInPoolRemind v-if="leftType === 'putInPoolRemind'" />
+      <RemindReceivables v-if="leftType === 'remindReceivables'" />
     </el-col>
   </el-row>
 </template>
-<!-- @dbh52:模块改成 backlog 会更合适,待办事项 -->
+
 <script lang="ts" setup>
-import TodayCustomer from './tables/TodayCustomer.vue'
+import CheckContract from './tables/CheckContract.vue'
+import CheckReceivables from './tables/CheckReceivables.vue'
+import EndContract from './tables/EndContract.vue'
+import FollowCustomer from './tables/FollowCustomer.vue'
 import FollowLeads from './tables/FollowLeads.vue'
+import PutInPoolRemind from './tables/PutInPoolRemind.vue'
+import RemindReceivables from './tables/RemindReceivables.vue'
+import TodayCustomer from './tables/TodayCustomer.vue'
 
 const leftType = ref('todayCustomer')
 const leftSides = ref([
@@ -66,7 +78,7 @@ const leftSides = ref([
   },
   {
     name: '待回款提醒',
-    infoType: 'remindReceivablesPlan',
+    infoType: 'remindReceivables',
     msgCount: 4,
     tips: ''
   },

+ 1 - 0
src/views/crm/message/tables/FollowLeads.vue → src/views/crm/backlog/tables/FollowLeads.vue

@@ -1,4 +1,5 @@
 <!-- 分配给我的线索 -->
+<!-- TODO: 后续再统一改名字 -->
 <template>
   <div>
     TODO: 分配给我的线索

+ 8 - 26
src/views/crm/message/tables/TodayCustomer.vue → src/views/crm/backlog/tables/TodayCustomer.vue

@@ -1,7 +1,7 @@
 <template>
   <ContentWrap>
     <div class="pb-5 text-xl">
-      {{ title }}
+      今日需联系客户
     </div>
     <!-- 搜索工作栏 -->
     <el-form
@@ -12,7 +12,7 @@
       label-width="68px"
     >
       <el-form-item label="状态" prop="contactStatus">
-        <el-select v-model="queryParams.contactStatus" class="!w-240px" placeholder="状态">
+        <el-select v-model="queryParams.contactStatus" class="!w-240px" placeholder="状态" @change="handleQuery">
           <el-option
             v-for="(option, index) in CONTACT_STATUS"
             :label="option.label"
@@ -22,7 +22,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="归属" prop="sceneType">
-        <el-select v-model="queryParams.sceneType" class="!w-240px" placeholder="归属">
+        <el-select v-model="queryParams.sceneType" class="!w-240px" placeholder="归属" @change="handleQuery">
           <el-option
             v-for="(option, index) in SCENE_TYPES"
             :label="option.label"
@@ -31,16 +31,6 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item>
-        <el-button @click="handleQuery">
-          <Icon class="mr-5px" icon="ep:search" />
-          搜索
-        </el-button>
-        <el-button @click="resetQuery(undefined)">
-          <Icon class="mr-5px" icon="ep:refresh" />
-          重置
-        </el-button>
-      </el-form-item>
     </el-form>
   </ContentWrap>
   <ContentWrap>
@@ -123,19 +113,12 @@
 <script lang="ts" setup name="TodayCustomer">
 import { DICT_TYPE } from '@/utils/dict'
 import { dateFormatter } from '@/utils/formatTime'
-import * as MessageApi from '@/api/crm/message'
+import * as BacklogApi from '@/api/crm/backlog'
 
-const title = ref('今日需联系客户') // TODO @dbh52:这个不用枚举一个变量哈;
 const loading = ref(true) // 列表的加载中
 const total = ref(0) // 列表的总页数
 const list = ref([]) // 列表的数据
-const queryParams = ref<{
-  // TODO @dbh52:这个 ref 类型定义可以去掉哈。之前定义的原因,是因为 idea 报错了;默认 idea 可以推导出类型
-  pageNo: number
-  pageSize: number
-  contactStatus: number | undefined
-  sceneType: number | undefined
-}>({
+const queryParams = ref({
   pageNo: 1,
   pageSize: 10,
   contactStatus: 1,
@@ -152,16 +135,15 @@ const CONTACT_STATUS = [
 const SCENE_TYPES = [
   // TODO 芋艿:貌似可以搞成全局枚举
   { label: '我负责的', value: 1 },
-  { label: '我跟进的', value: 2 },
-  { label: '我参与的', value: 3 },
-  { label: '下属负责的', value: 4 }
+  { label: '我参与的', value: 2 },
+  { label: '下属负责的', value: 3 }
 ]
 
 /** 查询列表 */
 const getList = async () => {
   loading.value = true
   try {
-    const data = await MessageApi.getTodayCustomerPage(queryParams.value)
+    const data = await BacklogApi.getTodayCustomerPage(queryParams.value)
     list.value = data.list
     total.value = data.total
   } finally {