feat:客户管理路径迁移mes

main
黄伟杰 5 days ago
parent c117dd3e06
commit a90a2f1997

@ -1,5 +1,4 @@
import request from '@/config/axios'
import { TransferReqVO } from '@/api/crm/permission'
export interface CustomerVO {
id: number // 编号
@ -31,102 +30,109 @@ export interface CustomerVO {
updateTime: Date // 更新时间
}
export interface TransferReqVO {
id: number
newOwnerUserId: number
oldOwnerPermissionLevel?: number
toBizTypes?: number[]
}
// 查询客户列表
export const getCustomerPage = async (params) => {
return await request.get({ url: `/crm/customer/page`, params })
return await request.get({ url: `/mes/customer/page`, params })
}
// 进入公海客户提醒的客户列表
export const getPutPoolRemindCustomerPage = async (params) => {
return await request.get({ url: `/crm/customer/put-pool-remind-page`, params })
return await request.get({ url: `/mes/customer/put-pool-remind-page`, params })
}
// 获得待进入公海客户数量
export const getPutPoolRemindCustomerCount = async () => {
return await request.get({ url: `/crm/customer/put-pool-remind-count` })
return await request.get({ url: `/mes/customer/put-pool-remind-count` })
}
// 获得今日需联系客户数量
export const getTodayContactCustomerCount = async () => {
return await request.get({ url: `/crm/customer/today-contact-count` })
return await request.get({ url: `/mes/customer/today-contact-count` })
}
// 获得分配给我、待跟进的线索数量的客户数量
export const getFollowCustomerCount = async () => {
return await request.get({ url: `/crm/customer/follow-count` })
return await request.get({ url: `/mes/customer/follow-count` })
}
// 查询客户详情
export const getCustomer = async (id: number) => {
return await request.get({ url: `/crm/customer/get?id=` + id })
return await request.get({ url: `/mes/customer/get?id=` + id })
}
// 新增客户
export const createCustomer = async (data: CustomerVO) => {
return await request.post({ url: `/crm/customer/create`, data })
return await request.post({ url: `/mes/customer/create`, data })
}
// 修改客户
export const updateCustomer = async (data: CustomerVO) => {
return await request.put({ url: `/crm/customer/update`, data })
return await request.put({ url: `/mes/customer/update`, data })
}
// 更新客户的成交状态
export const updateCustomerDealStatus = async (id: number, dealStatus: boolean) => {
return await request.put({ url: `/crm/customer/update-deal-status`, params: { id, dealStatus } })
return await request.put({ url: `/mes/customer/update-deal-status`, params: { id, dealStatus } })
}
// 删除客户
export const deleteCustomer = async (id: number) => {
return await request.delete({ url: `/crm/customer/delete?id=` + id })
return await request.delete({ url: `/mes/customer/delete?id=` + id })
}
// 导出客户 Excel
export const exportCustomer = async (params: any) => {
return await request.download({ url: `/crm/customer/export-excel`, params })
return await request.download({ url: `/mes/customer/export-excel`, params })
}
// 下载客户导入模板
export const importCustomerTemplate = () => {
return request.download({ url: '/crm/customer/get-import-template' })
return request.download({ url: '/mes/customer/get-import-template' })
}
// 导入客户
export const handleImport = async (formData) => {
return await request.upload({ url: `/crm/customer/import`, data: formData })
return await request.upload({ url: `/mes/customer/import`, data: formData })
}
// 客户列表
export const getCustomerSimpleList = async () => {
return await request.get({ url: `/crm/customer/simple-list` })
return await request.get({ url: `/mes/customer/simple-list` })
}
// ======================= 业务操作 =======================
// 客户转移
export const transferCustomer = async (data: TransferReqVO) => {
return await request.put({ url: '/crm/customer/transfer', data })
return await request.put({ url: '/mes/customer/transfer', data })
}
// 锁定/解锁客户
export const lockCustomer = async (id: number, lockStatus: boolean) => {
return await request.put({ url: `/crm/customer/lock`, data: { id, lockStatus } })
return await request.put({ url: `/mes/customer/lock`, data: { id, lockStatus } })
}
// 领取公海客户
export const receiveCustomer = async (ids: any[]) => {
return await request.put({ url: '/crm/customer/receive', params: { ids: ids.join(',') } })
return await request.put({ url: '/mes/customer/receive', params: { ids: ids.join(',') } })
}
// 分配公海给对应负责人
export const distributeCustomer = async (ids: any[], ownerUserId: number) => {
return await request.put({
url: '/crm/customer/distribute',
url: '/mes/customer/distribute',
data: { ids: ids, ownerUserId }
})
}
// 客户放入公海
export const putCustomerPool = async (id: number) => {
return await request.put({ url: `/crm/customer/put-pool?id=${id}` })
return await request.put({ url: `/mes/customer/put-pool?id=${id}` })
}

@ -25,25 +25,25 @@ export enum LimitConfType {
// 查询客户限制配置列表
export const getCustomerLimitConfigPage = async (params) => {
return await request.get({ url: `/crm/customer-limit-config/page`, params })
return await request.get({ url: `/mes/customer-limit-config/page`, params })
}
// 查询客户限制配置详情
export const getCustomerLimitConfig = async (id: number) => {
return await request.get({ url: `/crm/customer-limit-config/get?id=` + id })
return await request.get({ url: `/mes/customer-limit-config/get?id=` + id })
}
// 新增客户限制配置
export const createCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
return await request.post({ url: `/crm/customer-limit-config/create`, data })
return await request.post({ url: `/mes/customer-limit-config/create`, data })
}
// 修改客户限制配置
export const updateCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
return await request.put({ url: `/crm/customer-limit-config/update`, data })
return await request.put({ url: `/mes/customer-limit-config/update`, data })
}
// 删除客户限制配置
export const deleteCustomerLimitConfig = async (id: number) => {
return await request.delete({ url: `/crm/customer-limit-config/delete?id=` + id })
return await request.delete({ url: `/mes/customer-limit-config/delete?id=` + id })
}

@ -10,10 +10,10 @@ export interface CustomerPoolConfigVO {
// 获取客户公海规则设置
export const getCustomerPoolConfig = async () => {
return await request.get({ url: `/crm/customer-pool-config/get` })
return await request.get({ url: `/mes/customer-pool-config/get` })
}
// 更新客户公海规则设置
export const saveCustomerPoolConfig = async (data: CustomerPoolConfigVO) => {
return await request.put({ url: `/crm/customer-pool-config/save`, data })
return await request.put({ url: `/mes/customer-pool-config/save`, data })
}

@ -520,17 +520,6 @@ const remainingRouter: AppRouteRecordRaw[] = [
},
component: () => import('@/views/crm/clue/detail/index.vue')
},
{
path: 'customer/detail/:id',
name: 'CrmCustomerDetail',
meta: {
title: '客户详情',
noCache: true,
hidden: true,
activeMenu: '/crm/customer'
},
component: () => import('@/views/crm/customer/detail/index.vue')
},
{
path: 'business/detail/:id',
name: 'CrmBusinessDetail',
@ -706,6 +695,17 @@ const remainingRouter: AppRouteRecordRaw[] = [
hidden: true
},
children: [
{
path: 'customer/detail/:id',
name: 'MesCustomerDetail',
meta: {
title: '客户详情',
noCache: true,
hidden: true,
activeMenu: '/mes/customer'
},
component: () => import('@/views/mes/customer/detail/index.vue')
},
{
path: 'task/plan/:taskId',
name: 'TaskToPlan',

@ -220,7 +220,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 打开联系人详情 */

@ -221,7 +221,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 打开联系人详情 */

@ -115,12 +115,12 @@
</template>
<script setup lang="ts">
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import { FOLLOWUP_STATUS } from './common'
defineOptions({ name: 'CrmCustomerFollowList' })
defineOptions({ name: 'MesCustomerFollowList' })
const { push } = useRouter()
@ -155,7 +155,7 @@ const handleQuery = () => {
/** 打开客户详情 */
const openDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 激活时 */

@ -113,12 +113,12 @@
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import { SCENE_TYPES } from './common'
defineOptions({ name: 'CrmCustomerPutPoolRemindList' })
defineOptions({ name: 'MesCustomerPutPoolRemindList' })
const loading = ref(true) //
const total = ref(0) //
@ -152,7 +152,7 @@ const handleQuery = () => {
/** 打开客户详情 */
const { push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 激活时 */

@ -127,12 +127,12 @@
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import { CONTACT_STATUS, SCENE_TYPES } from './common'
defineOptions({ name: 'CrmCustomerTodayContactList' })
defineOptions({ name: 'MesCustomerTodayContactList' })
const { push } = useRouter()
@ -168,7 +168,7 @@ const handleQuery = () => {
/** 打开客户详情 */
const openDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 初始化 **/

@ -181,7 +181,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 打开合同详情 */

@ -205,7 +205,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 激活时 */

@ -37,7 +37,7 @@ import ContractAuditList from './components/ContractAuditList.vue'
import ContractRemindList from './components/ContractRemindList.vue'
import ReceivablePlanRemindList from './components/ReceivablePlanRemindList.vue'
import ReceivableAuditList from './components/ReceivableAuditList.vue'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as ClueApi from '@/api/crm/clue'
import * as ContractApi from '@/api/crm/contract'
import * as ReceivableApi from '@/api/crm/receivable'

@ -138,7 +138,7 @@
<script setup lang="ts">
import * as BusinessApi from '@/api/crm/business'
import * as BusinessStatusApi from '@/api/crm/business/status'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as UserApi from '@/api/system/user'
import { useUserStore } from '@/store/modules/user'
import BusinessProductForm from './components/BusinessProductForm.vue'

@ -231,7 +231,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 添加/修改操作 */

@ -174,7 +174,7 @@
import * as ContactApi from '@/api/crm/contact'
import { DICT_TYPE, getBoolDictOptions, getIntDictOptions } from '@/utils/dict'
import * as UserApi from '@/api/system/user'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as AreaApi from '@/api/system/area'
import { defaultProps } from '@/utils/tree'
import { useUserStore } from '@/store/modules/user'

@ -222,7 +222,7 @@ import download from '@/utils/download'
import * as ContactApi from '@/api/crm/contact'
import ContactForm from './ContactForm.vue'
import { DICT_TYPE } from '@/utils/dict'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { TabsPaneContext } from 'element-plus'
defineOptions({ name: 'CrmContact' })
@ -321,7 +321,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 初始化 **/

@ -194,7 +194,7 @@
</Dialog>
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as ContractApi from '@/api/crm/contract'
import * as UserApi from '@/api/system/user'
import * as ContactApi from '@/api/crm/contact'

@ -265,7 +265,7 @@ import * as ContractApi from '@/api/crm/contract'
import ContractForm from './ContractForm.vue'
import { DICT_TYPE } from '@/utils/dict'
import { erpPriceInputFormatter, erpPriceTableColumnFormatter } from '@/utils'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { TabsPaneContext } from 'element-plus'
defineOptions({ name: 'CrmContract' })
@ -375,7 +375,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 打开联系人详情 */

@ -55,7 +55,7 @@ import * as UserApi from '@/api/system/user'
import * as BusinessApi from '@/api/crm/business'
import * as ClueApi from '@/api/crm/clue'
import * as ContactApi from '@/api/crm/contact'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as ContractApi from '@/api/crm/contract'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { BizTypeEnum, PermissionLevelEnum, TransferReqVO } from '@/api/crm/permission'

@ -148,7 +148,7 @@ import * as ReceivablePlanApi from '@/api/crm/receivable/plan'
import * as ReceivableApi from '@/api/crm/receivable'
import { ReceivableVO } from '@/api/crm/receivable'
import * as UserApi from '@/api/system/user'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as ContractApi from '@/api/crm/contract'
import { useUserStore } from '@/store/modules/user'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'

@ -208,7 +208,7 @@ import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
import * as ReceivableApi from '@/api/crm/receivable'
import ReceivableForm from './ReceivableForm.vue'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { TabsPaneContext } from 'element-plus'
import { erpPriceTableColumnFormatter } from '@/utils'
@ -301,7 +301,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 打开合同详情 */

@ -133,7 +133,7 @@
<script lang="ts" setup>
import * as ReceivablePlanApi from '@/api/crm/receivable/plan'
import * as UserApi from '@/api/system/user'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as ContractApi from '@/api/crm/contract'
import { useUserStore } from '@/store/modules/user'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'

@ -220,7 +220,7 @@ import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
import * as ReceivablePlanApi from '@/api/crm/receivable/plan'
import ReceivablePlanForm from './ReceivablePlanForm.vue'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { erpPriceInputFormatter, erpPriceTableColumnFormatter } from '@/utils'
import { TabsPaneContext } from 'element-plus'
import ReceivableForm from '@/views/crm/receivable/ReceivableForm.vue'
@ -323,7 +323,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 初始化 **/

@ -285,7 +285,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 获取统计数据 */

@ -237,7 +237,7 @@ const openDetail = (id: number) => {
/** 打开客户详情 */
const openCustomerDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 获取统计数据 */

@ -146,7 +146,7 @@
</template>
<script lang="ts" setup>
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as AreaApi from '@/api/system/area'
import { defaultProps } from '@/utils/tree'
import * as UserApi from '@/api/system/user'

@ -50,7 +50,7 @@
</Dialog>
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import download from '@/utils/download'
import type { UploadUserFile } from 'element-plus'
import * as UserApi from '@/api/system/user'

@ -32,10 +32,10 @@
</template>
<script lang="ts" setup>
import { DICT_TYPE } from '@/utils/dict'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { formatDate } from '@/utils/formatTime'
defineOptions({ name: 'CrmCustomerDetailsHeader' })
defineOptions({ name: 'MesCustomerDetailsHeader' })
defineProps<{
customer: CustomerApi.CustomerVO //
loading: boolean //

@ -58,11 +58,11 @@
</ContentWrap>
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import { DICT_TYPE } from '@/utils/dict'
import { formatDate } from '@/utils/formatTime'
defineOptions({ name: 'CrmCustomerDetailsInfo' })
defineOptions({ name: 'MesCustomerDetailsInfo' })
const { customer } = defineProps<{
customer: CustomerApi.CustomerVO //
}>()

@ -2,7 +2,7 @@
<CustomerDetailsHeader :customer="customer" :loading="loading">
<el-button
v-if="permissionListRef?.validateWrite"
v-hasPermi="['crm:customer:update']"
v-hasPermi="['mes:customer:update']"
type="primary"
@click="openForm"
>
@ -40,28 +40,28 @@
<el-col>
<el-tabs>
<el-tab-pane label="跟进记录">
<FollowUpList :biz-id="customerId" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
<FollowUpList :biz-id="customerId" :biz-type="CUSTOMER_BIZ_TYPE" />
</el-tab-pane>
<el-tab-pane label="基本信息">
<CustomerDetailsInfo :customer="customer" />
</el-tab-pane>
<el-tab-pane label="联系人" lazy>
<ContactList :biz-id="customer.id!" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
<ContactList :biz-id="customer.id!" :biz-type="CUSTOMER_BIZ_TYPE" />
</el-tab-pane>
<el-tab-pane label="团队成员">
<PermissionList
ref="permissionListRef"
:biz-id="customer.id!"
:biz-type="BizTypeEnum.CRM_CUSTOMER"
:biz-type="CUSTOMER_BIZ_TYPE"
:show-action="!permissionListRef?.isPool || false"
@quit-team="close"
/>
</el-tab-pane>
<el-tab-pane label="商机" lazy>
<BusinessList :biz-id="customer.id!" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
<BusinessList :biz-id="customer.id!" :biz-type="CUSTOMER_BIZ_TYPE" />
</el-tab-pane>
<el-tab-pane label="合同" lazy>
<ContractList :biz-id="customer.id!" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
<ContractList :biz-id="customer.id!" :biz-type="CUSTOMER_BIZ_TYPE" />
</el-tab-pane>
<el-tab-pane label="回款" lazy>
<ReceivablePlanList :customer-id="customer.id!" @create-receivable="createReceivable" />
@ -76,12 +76,12 @@
<!-- 表单弹窗添加/修改 -->
<CustomerForm ref="formRef" @success="getCustomer" />
<CustomerDistributeForm ref="distributeForm" @success="getCustomer" />
<CrmTransferForm ref="transferFormRef" :biz-type="BizTypeEnum.CRM_CUSTOMER" @success="close" />
<CustomerTransferForm ref="transferFormRef" :biz-type="CUSTOMER_BIZ_TYPE" @success="close" />
</template>
<script lang="ts" setup>
import { useTagsViewStore } from '@/store/modules/tagsView'
import * as CustomerApi from '@/api/crm/customer'
import CustomerForm from '@/views/crm/customer/CustomerForm.vue'
import * as CustomerApi from '@/api/mes/customer'
import CustomerForm from '@/views/mes/customer/CustomerForm.vue'
import CustomerDetailsInfo from './CustomerDetailsInfo.vue' // -
import CustomerDetailsHeader from './CustomerDetailsHeader.vue' // -
import ContactList from '@/views/crm/contact/components/ContactList.vue' //
@ -90,14 +90,15 @@ import BusinessList from '@/views/crm/business/components/BusinessList.vue' //
import ReceivableList from '@/views/crm/receivable/components/ReceivableList.vue' //
import ReceivablePlanList from '@/views/crm/receivable/plan/components/ReceivablePlanList.vue' //
import PermissionList from '@/views/crm/permission/components/PermissionList.vue' //
import CrmTransferForm from '@/views/crm/permission/components/TransferForm.vue'
import CustomerTransferForm from '@/views/crm/permission/components/TransferForm.vue'
import FollowUpList from '@/views/crm/followup/index.vue'
import { BizTypeEnum } from '@/api/crm/permission'
import type { OperateLogVO } from '@/api/system/operatelog'
import { getOperateLogPage } from '@/api/crm/operateLog'
import CustomerDistributeForm from '@/views/crm/customer/pool/CustomerDistributeForm.vue'
import CustomerDistributeForm from '@/views/mes/customer/pool/CustomerDistributeForm.vue'
defineOptions({ name: 'CrmCustomerDetail' })
defineOptions({ name: 'MesCustomerDetail' })
const CUSTOMER_BIZ_TYPE = 2
const customerId = ref(0) //
const loading = ref(true) //
@ -140,7 +141,7 @@ const handleUpdateDealStatus = async () => {
}
/** 客户转移 */
const transferFormRef = ref<InstanceType<typeof CrmTransferForm>>() // ref
const transferFormRef = ref<InstanceType<typeof CustomerTransferForm>>() // ref
const transfer = () => {
transferFormRef.value?.open(customerId.value)
}
@ -191,7 +192,7 @@ const getOperateLog = async () => {
return
}
const data = await getOperateLogPage({
bizType: BizTypeEnum.CRM_CUSTOMER,
bizType: CUSTOMER_BIZ_TYPE,
bizId: customerId.value
})
logList.value = data.list
@ -205,7 +206,7 @@ const createReceivable = (planData: any) => {
const close = () => {
delView(unref(currentRoute))
push({ name: 'CrmCustomer' })
push({ name: 'MesCustomer' })
}
/** 初始化 */

@ -83,16 +83,16 @@
<Icon class="mr-5px" icon="ep:refresh" />
重置
</el-button>
<el-button v-hasPermi="['crm:customer:create']" type="primary" @click="openForm('create')">
<el-button v-hasPermi="['mes:customer:create']" type="primary" @click="openForm('create')">
<Icon class="mr-5px" icon="ep:plus" />
新增
</el-button>
<el-button v-hasPermi="['crm:customer:import']" plain type="warning" @click="handleImport">
<el-button v-hasPermi="['mes:customer:import']" plain type="warning" @click="handleImport">
<Icon icon="ep:upload" />
导入
</el-button>
<el-button
v-hasPermi="['crm:customer:export']"
v-hasPermi="['mes:customer:export']"
:loading="exportLoading"
plain
type="success"
@ -188,7 +188,7 @@
<el-table-column align="center" fixed="right" label="操作" min-width="150">
<template #default="scope">
<el-button
v-hasPermi="['crm:customer:update']"
v-hasPermi="['mes:customer:update']"
link
type="primary"
@click="openForm('update', scope.row.id)"
@ -196,7 +196,7 @@
编辑
</el-button>
<el-button
v-hasPermi="['crm:customer:delete']"
v-hasPermi="['mes:customer:delete']"
link
type="danger"
@click="handleDelete(scope.row.id)"
@ -224,12 +224,12 @@
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import CustomerForm from './CustomerForm.vue'
import CustomerImportForm from './CustomerImportForm.vue'
import { TabsPaneContext } from 'element-plus'
defineOptions({ name: 'CrmCustomer' })
defineOptions({ name: 'MesCustomer' })
const message = useMessage() //
const { t } = useI18n() //
@ -285,7 +285,7 @@ const resetQuery = () => {
/** 打开客户详情 */
const { currentRoute, push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 添加/修改操作 */

@ -54,12 +54,12 @@
</Dialog>
</template>
<script setup lang="ts">
import * as CustomerLimitConfigApi from '@/api/crm/customer/limitConfig'
import * as CustomerLimitConfigApi from '@/api/mes/customer/limitConfig'
import * as DeptApi from '@/api/system/dept'
import { defaultProps, handleTree } from '@/utils/tree'
import * as UserApi from '@/api/system/user'
import { cloneDeep } from 'lodash-es'
import { LimitConfType } from '@/api/crm/customer/limitConfig'
import { LimitConfType } from '@/api/mes/customer/limitConfig'
import { aw } from '../../../../../dist-prod/assets/index-9eac537b'
const { t } = useI18n() //

@ -4,7 +4,7 @@
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['crm:customer-limit-config:create']"
v-hasPermi="['mes:customer-limit-config:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
@ -57,7 +57,7 @@
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['crm:customer-limit-config:update']"
v-hasPermi="['mes:customer-limit-config:update']"
>
编辑
</el-button>
@ -65,7 +65,7 @@
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['crm:customer-limit-config:delete']"
v-hasPermi="['mes:customer-limit-config:delete']"
>
删除
</el-button>
@ -85,10 +85,10 @@
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import * as CustomerLimitConfigApi from '@/api/crm/customer/limitConfig'
import * as CustomerLimitConfigApi from '@/api/mes/customer/limitConfig'
import CustomerLimitConfigForm from './CustomerLimitConfigForm.vue'
import { DICT_TYPE } from '@/utils/dict'
import { LimitConfType } from '@/api/crm/customer/limitConfig'
import { LimitConfType } from '@/api/mes/customer/limitConfig'
defineOptions({ name: 'CustomerLimitConfigList' })

@ -16,7 +16,7 @@
</template>
<script setup lang="ts">
import CustomerLimitConfigList from './CustomerLimitConfigList.vue'
import { LimitConfType } from '@/api/crm/customer/limitConfig'
import { LimitConfType } from '@/api/mes/customer/limitConfig'
defineOptions({ name: 'CrmCustomerLimitConfig' })
defineOptions({ name: 'MesCustomerLimitConfig' })
</script>

@ -25,9 +25,9 @@
</Dialog>
</template>
<script lang="ts" setup>
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
import * as UserApi from '@/api/system/user'
import { distributeCustomer } from '@/api/crm/customer'
import { distributeCustomer } from '@/api/mes/customer'
const { t } = useI18n() //
const message = useMessage() //

@ -84,7 +84,7 @@
重置
</el-button>
<el-button
v-hasPermi="['crm:customer:export']"
v-hasPermi="['mes:customer:export']"
:loading="exportLoading"
plain
type="success"
@ -176,9 +176,9 @@
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import * as CustomerApi from '@/api/crm/customer'
import * as CustomerApi from '@/api/mes/customer'
defineOptions({ name: 'CrmCustomerPool' })
defineOptions({ name: 'MesCustomerPool' })
const message = useMessage() //
@ -237,7 +237,7 @@ const resetQuery = () => {
/** 打开客户详情 */
const { currentRoute, push } = useRouter()
const openDetail = (id: number) => {
push({ name: 'CrmCustomerDetail', params: { id } })
push({ name: 'MesCustomerDetail', params: { id } })
}
/** 导出按钮操作 */

@ -18,7 +18,7 @@
<el-button
type="primary"
@click="onSubmit"
v-hasPermi="['crm:customer-pool-config:update']"
v-hasPermi="['mes:customer-pool-config:update']"
>
保存
</el-button>
@ -59,10 +59,10 @@
</ContentWrap>
</template>
<script setup lang="ts">
import * as CustomerPoolConfigApi from '@/api/crm/customer/poolConfig'
import * as CustomerPoolConfigApi from '@/api/mes/customer/poolConfig'
import { CardTitle } from '@/components/Card'
defineOptions({ name: 'CrmCustomerPoolConfig' })
defineOptions({ name: 'MesCustomerPoolConfig' })
const message = useMessage() //
const { t } = useI18n() //
Loading…
Cancel
Save