CRM:统一日志获取接口

This commit is contained in:
puhui999 2024-01-27 15:15:07 +08:00
parent 26daa3a1ff
commit 5adf75d15b
8 changed files with 33 additions and 24 deletions

View File

@ -85,8 +85,3 @@ export const createContactBusinessList = async (data: ContactBusinessReqVO) => {
export const deleteContactBusinessList = async (data: ContactBusinessReqVO) => { export const deleteContactBusinessList = async (data: ContactBusinessReqVO) => {
return await request.delete({ url: `/crm/contact/delete-business-list`, data }) return await request.delete({ url: `/crm/contact/delete-business-list`, data })
} }
// 查询联系人操作日志
export const getOperateLogPage = async (params: any) => {
return await request.get({ url: '/crm/contact/operate-log-page', params })
}

View File

@ -73,11 +73,6 @@ export const getSimpleCustomerList = async () => {
return await request.get({ url: `/crm/customer/list-all-simple` }) return await request.get({ url: `/crm/customer/list-all-simple` })
} }
// 查询客户操作日志
export const getOperateLogPage = async (id: number) => {
return await request.get({ url: '/crm/customer/operate-log-page?id=' + id })
}
// ======================= 业务操作 ======================= // ======================= 业务操作 =======================
export interface TransferReqVO { export interface TransferReqVO {

View File

@ -0,0 +1,11 @@
import request from '@/config/axios'
export interface OperateLogVO extends PageParam {
bizType: number
bizId: number
}
// 获得操作日志
export const getOperateLogPage = async (params: OperateLogVO) => {
return await request.get({ url: `/crm/operate-log/page`, params })
}

View File

@ -22,8 +22,11 @@ export enum BizTypeEnum {
CRM_LEADS = 1, // 线索 CRM_LEADS = 1, // 线索
CRM_CUSTOMER = 2, // 客户 CRM_CUSTOMER = 2, // 客户
CRM_CONTACT = 3, // 联系人 CRM_CONTACT = 3, // 联系人
CRM_BUSINESS = 5, // 商机 CRM_BUSINESS = 4, // 商机
CRM_CONTRACT = 6 // 合同 CRM_CONTRACT = 5, // 合同
CRM_PRODUCT = 6, // 产品
CRM_RECEIVABLE = 7, // 回款
CRM_RECEIVABLE_PLAN = 8 // 回款计划
} }
/** /**

View File

@ -41,8 +41,3 @@ export const deleteProduct = async (id: number) => {
export const exportProduct = async (params) => { export const exportProduct = async (params) => {
return await request.download({ url: `/crm/product/export-excel`, params }) return await request.download({ url: `/crm/product/export-excel`, params })
} }
// 查询产品操作日志
export const getOperateLogPage = async (params: any) => {
return await request.get({ url: '/crm/product/operate-log-page', params })
}

View File

@ -21,7 +21,7 @@
</el-tabs> </el-tabs>
</el-col> </el-col>
</template> </template>
<script setup lang="ts"> <script lang="ts" setup>
import { useTagsViewStore } from '@/store/modules/tagsView' import { useTagsViewStore } from '@/store/modules/tagsView'
import * as ContactApi from '@/api/crm/contact' import * as ContactApi from '@/api/crm/contact'
import ContactDetailsHeader from '@/views/crm/contact/detail/ContactDetailsHeader.vue' import ContactDetailsHeader from '@/views/crm/contact/detail/ContactDetailsHeader.vue'
@ -30,6 +30,7 @@ import BusinessList from '@/views/crm/business/components/BusinessList.vue' //
import PermissionList from '@/views/crm/permission/components/PermissionList.vue' // import PermissionList from '@/views/crm/permission/components/PermissionList.vue' //
import { BizTypeEnum } from '@/api/crm/permission' import { BizTypeEnum } from '@/api/crm/permission'
import { OperateLogV2VO } from '@/api/system/operatelog' import { OperateLogV2VO } from '@/api/system/operatelog'
import { getOperateLogPage } from '@/api/crm/operateLog'
defineOptions({ name: 'CrmContactDetail' }) defineOptions({ name: 'CrmContactDetail' })
@ -57,7 +58,8 @@ const getOperateLog = async (contactId: number) => {
if (!contactId) { if (!contactId) {
return return
} }
const data = await ContactApi.getOperateLogPage({ const data = await getOperateLogPage({
bizType: BizTypeEnum.CRM_CONTACT,
bizId: contactId bizId: contactId
}) })
logList.value = data.list logList.value = data.list

View File

@ -91,6 +91,7 @@ import CrmTransferForm from '@/views/crm/permission/components/TransferForm.vue'
import FollowUpList from '@/views/crm/followup/index.vue' import FollowUpList from '@/views/crm/followup/index.vue'
import { BizTypeEnum } from '@/api/crm/permission' import { BizTypeEnum } from '@/api/crm/permission'
import type { OperateLogV2VO } from '@/api/system/operatelog' import type { OperateLogV2VO } from '@/api/system/operatelog'
import { getOperateLogPage } from '@/api/crm/operateLog'
defineOptions({ name: 'CrmCustomerDetail' }) defineOptions({ name: 'CrmCustomerDetail' })
@ -164,7 +165,10 @@ const getOperateLog = async () => {
if (!customerId.value) { if (!customerId.value) {
return return
} }
const data = await CustomerApi.getOperateLogPage(customerId.value) const data = await getOperateLogPage({
bizType: BizTypeEnum.CRM_CUSTOMER,
bizId: customerId.value
})
logList.value = data.list logList.value = data.list
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<ProductDetailsHeader :product="product" :loading="loading" @refresh="getProductData(id)" /> <ProductDetailsHeader :loading="loading" :product="product" @refresh="getProductData(id)" />
<el-col> <el-col>
<el-tabs> <el-tabs>
<el-tab-pane label="详细资料"> <el-tab-pane label="详细资料">
@ -11,16 +11,19 @@
</el-tabs> </el-tabs>
</el-col> </el-col>
</template> </template>
<script setup lang="ts"> <script lang="ts" setup>
import { useTagsViewStore } from '@/store/modules/tagsView' import { useTagsViewStore } from '@/store/modules/tagsView'
import { OperateLogV2VO } from '@/api/system/operatelog' import { OperateLogV2VO } from '@/api/system/operatelog'
import * as ProductApi from '@/api/crm/product' import * as ProductApi from '@/api/crm/product'
import ProductDetailsHeader from '@/views/crm/product/detail/ProductDetailsHeader.vue' import ProductDetailsHeader from '@/views/crm/product/detail/ProductDetailsHeader.vue'
import ProductDetailsInfo from '@/views/crm/product/detail/ProductDetailsInfo.vue' import ProductDetailsInfo from '@/views/crm/product/detail/ProductDetailsInfo.vue'
import { BizTypeEnum } from '@/api/crm/permission'
import { getOperateLogPage } from '@/api/crm/operateLog'
defineOptions({ name: 'CrmProductDetail' }) defineOptions({ name: 'CrmProductDetail' })
const route = useRoute() const route = useRoute()
const message = useMessage()
const id = Number(route.params.id) // const id = Number(route.params.id) //
const loading = ref(true) // const loading = ref(true) //
const product = ref<ProductApi.ProductVO>({} as ProductApi.ProductVO) // const product = ref<ProductApi.ProductVO>({} as ProductApi.ProductVO) //
@ -42,7 +45,8 @@ const getOperateLog = async (productId: number) => {
if (!productId) { if (!productId) {
return return
} }
const data = await ProductApi.getOperateLogPage({ const data = await getOperateLogPage({
bizType: BizTypeEnum.CRM_PRODUCT,
bizId: productId bizId: productId
}) })
logList.value = data.list logList.value = data.list
@ -53,7 +57,7 @@ const { delView } = useTagsViewStore() // 视图操作
const { currentRoute } = useRouter() // const { currentRoute } = useRouter() //
onMounted(async () => { onMounted(async () => {
if (!id) { if (!id) {
ElMessage.warning('参数错误,产品不能为空!') message.warning('参数错误,产品不能为空!')
delView(unref(currentRoute)) delView(unref(currentRoute))
return return
} }