From a3e714aad98f13af2e70c3593dc78d9f35158d18 Mon Sep 17 00:00:00 2001 From: zy Date: Sat, 17 May 2025 17:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local | 5 +- src/api/crm/business/index.ts | 10 ++ src/api/crm/product/index.ts | 5 + src/api/crm/quotation/index.ts | 5 + src/components/processForm/index.ts | 3 + src/components/processForm/src/index.vue | 39 ++++ src/components/processTable/index.ts | 3 + src/components/processTable/src/index.vue | 52 ++++++ src/plugins/formCreate/index.ts | 4 + src/router/modules/remaining.ts | 2 +- src/views/crm/business/BusinessForm.vue | 31 ++++ src/views/crm/capitalcost/CapitalCostForm.vue | 140 +++++++++------ .../crm/contract-change-record/index.vue | 32 ++-- src/views/crm/product/ProductForm.vue | 17 ++ .../ProductProcurementCostForm.vue | 18 ++ .../crm/productprocurementcost/index.vue | 20 ++- src/views/crm/quotation/QuotationForm.vue | 33 +++- .../quotation/components/RevenueAnalysis.vue | 105 +++++++++-- .../briefWeekWork/BriefWorkWeekDetail.vue | 169 +++++++++++------- .../briefWeekWork/BriefWorkWeekForm.vue | 15 +- .../components/selectCustomer.vue | 71 ++++---- .../briefWeekWork/components/selectTask.vue | 63 ++++--- .../project/briefWork/BriefWorkDetail.vue | 60 +++++-- src/views/project/briefWork/index.vue | 2 +- 24 files changed, 668 insertions(+), 236 deletions(-) create mode 100644 src/components/processForm/index.ts create mode 100644 src/components/processForm/src/index.vue create mode 100644 src/components/processTable/index.ts create mode 100644 src/components/processTable/src/index.vue diff --git a/.env.local b/.env.local index 0af2b7fc0..aa3d06322 100644 --- a/.env.local +++ b/.env.local @@ -4,7 +4,10 @@ NODE_ENV=development VITE_DEV=true # 请求路径 -VITE_BASE_URL='http://127.0.0.1:48080' +# VITE_BASE_URL='http://8.130.12.151:48080' +# VITE_BASE_URL='http://lhy.free.idcfengye.com' +# VITE_BASE_URL='http://m94844f6.natappfree.cc' +VITE_BASE_URL='http://172.22.3.168:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务 VITE_UPLOAD_TYPE=server diff --git a/src/api/crm/business/index.ts b/src/api/crm/business/index.ts index 4c748e345..ec7196e2d 100644 --- a/src/api/crm/business/index.ts +++ b/src/api/crm/business/index.ts @@ -100,3 +100,13 @@ export const getBusinessPageByContact = async (params) => { export const transferBusiness = async (data: TransferReqVO) => { return await request.put({ url: '/crm/business/transfer', data }) } + +// 查询项目难度 +export const getDifficult = async (params) => { + return await request.get({ url: `/crm/project-difficulty/page`, params }) +} + +// 查询平台 +export const getTechnicalList = async (params) => { + return await request.get({ url: `/crm/technical-docking-checklist/page`, params }) +} diff --git a/src/api/crm/product/index.ts b/src/api/crm/product/index.ts index 36a9ca77d..d75d4c4e0 100644 --- a/src/api/crm/product/index.ts +++ b/src/api/crm/product/index.ts @@ -50,3 +50,8 @@ export const deleteProduct = async (id: number) => { export const exportProduct = async (params) => { return await request.download({ url: `/crm/product/export-excel`, params }) } + +// 查询产品列表 +export const getInsuranceList = async () => { + return await request.get({ url: `/crm/service-fee-collection-method/get-insurance-list` }) +} diff --git a/src/api/crm/quotation/index.ts b/src/api/crm/quotation/index.ts index 41b6c6bb3..9773d46c7 100644 --- a/src/api/crm/quotation/index.ts +++ b/src/api/crm/quotation/index.ts @@ -85,6 +85,11 @@ export const QuotationApi = { return await request.post({ url: `/crm/quotation/customer-confirm`, data }) }, + // 查询服务费收取方式 + getServerMethodList: async (params: any) => { + return await request.get({ url: `/crm/service-fee-collection-method/page`, params }) + }, + // ==================== 子表(CRM 报价产品关联) ==================== // 获得CRM 报价产品关联列表 diff --git a/src/components/processForm/index.ts b/src/components/processForm/index.ts new file mode 100644 index 000000000..983310b27 --- /dev/null +++ b/src/components/processForm/index.ts @@ -0,0 +1,3 @@ +import processForm from './src/index.vue' + +export { processForm } diff --git a/src/components/processForm/src/index.vue b/src/components/processForm/src/index.vue new file mode 100644 index 000000000..acd36dcf6 --- /dev/null +++ b/src/components/processForm/src/index.vue @@ -0,0 +1,39 @@ + + + \ No newline at end of file diff --git a/src/components/processTable/index.ts b/src/components/processTable/index.ts new file mode 100644 index 000000000..c44de9c19 --- /dev/null +++ b/src/components/processTable/index.ts @@ -0,0 +1,3 @@ +import processTable from './src/index.vue' + +export { processTable } diff --git a/src/components/processTable/src/index.vue b/src/components/processTable/src/index.vue new file mode 100644 index 000000000..6dc8f227a --- /dev/null +++ b/src/components/processTable/src/index.vue @@ -0,0 +1,52 @@ + + + \ No newline at end of file diff --git a/src/plugins/formCreate/index.ts b/src/plugins/formCreate/index.ts index 07d2c51fe..6bded1617 100644 --- a/src/plugins/formCreate/index.ts +++ b/src/plugins/formCreate/index.ts @@ -64,6 +64,8 @@ import install from '@form-create/element-ui/auto-import' //======================= 自定义组件 ======================= import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile' +import { processForm } from '@/components/processForm' +import { processTable } from '@/components/processTable' import { useApiSelect } from '@/components/FormCreate' import { Editor } from '@/components/Editor' import DictSelect from '@/components/FormCreate/src/components/DictSelect.vue' @@ -112,6 +114,8 @@ const components = [ UploadImg, UploadImgs, UploadFile, + processForm, + processTable, DictSelect, UserSelect, DeptSelect, diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index cae3adc1c..9f076183a 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -894,7 +894,7 @@ const remainingRouter: AppRouteRecordRaw[] = [ component: () => import('@/views/project/online/OnlineApplicationDetail.vue') }, { - path: 'briefWork/BriefWorkDetail', + path: 'briefWork/BriefWorkProcess', name: 'DayReportDetail', meta: { title: '日报详情', diff --git a/src/views/crm/business/BusinessForm.vue b/src/views/crm/business/BusinessForm.vue index 2b9b0c175..1b422aefd 100644 --- a/src/views/crm/business/BusinessForm.vue +++ b/src/views/crm/business/BusinessForm.vue @@ -182,6 +182,30 @@ + + + + + + + + + + + + + + @@ -301,6 +325,8 @@ const formRef = ref(); const userOptions = ref([]); const statusTypeList = ref([]); const customerList = ref([]); +const techOptions = ref([]); +const difficultOptions = ref([]); const deptTree = ref(); const props = defineProps({ type: propTypes.number.def(undefined) @@ -435,6 +461,11 @@ onMounted(async () => { customerList.value = await CustomerApi.getSelfCustomerSimpleList(); statusTypeList.value = await BusinessStatusApi.getBusinessStatusTypeSimpleList(); userOptions.value = await UserApi.getSimpleUserList(); + let techData = await BusinessApi.getTechnicalList({pageNo: 1, pageSize: 1000});//平台 + console.log('%csrc/views/crm/business/BusinessForm.vue:468 diffData', 'color: #007acc;', techData); + techOptions.value = techData.list + let diffData = await BusinessApi.getDifficult({pageNo: 1, pageSize: 1000});//困难度 + difficultOptions.value = diffData.list deptTree.value = handleTree(await DeptApi.getSimpleDeptList()); }); diff --git a/src/views/crm/capitalcost/CapitalCostForm.vue b/src/views/crm/capitalcost/CapitalCostForm.vue index 165578c61..06976e285 100644 --- a/src/views/crm/capitalcost/CapitalCostForm.vue +++ b/src/views/crm/capitalcost/CapitalCostForm.vue @@ -1,63 +1,95 @@