From 3480d6604c1c12f4bfa359cf03c2dce449822269 Mon Sep 17 00:00:00 2001 From: zy Date: Sat, 24 May 2025 12:48:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7-=E8=81=94=E7=B3=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local | 4 +- package-lock.json | 9 + package.json | 1 + src/components/SelectCustomer/src/index.vue | 2 +- src/main.ts | 3 +- src/utils/dict.ts | 1 + src/views/crm/business/BusinessForm.vue | 8 +- .../crm/business/components/BusinessList.vue | 1 + src/views/crm/contact/ContactForm.vue | 41 +- .../crm/contact/components/ContactList.vue | 1 + src/views/crm/contract/ContractForm.vue | 50 +- .../ContractAAuthorizedCompanyForm.vue | 177 +++--- .../ContractAAuthorizedPersonForm.vue | 183 +++--- .../ContractBAuthorizedPersonForm.vue | 235 +++---- .../components/ContractChangeLimit.vue | 8 +- .../crm/contract/components/ContractList.vue | 1 + .../components/ContractProductForm.vue | 373 +++++------ .../crm/contract/components/QuotationList.vue | 1 + .../contract/detail/ContractChangeDetail.vue | 75 ++- .../crm/contract/detail/ContractDetail.vue | 71 ++- .../customer/detail/companyDetailsInfo.vue | 70 ++- .../companyInfo/changerecorddata/index.vue | 2 + .../companyInfo/companyabnormalinfo/index.vue | 2 + .../companyInfo/companybranchinfo/index.vue | 2 + .../companyInfo/companycourtinfo/index.vue | 2 + .../companyjudgmentdebtorinfo/index.vue | 2 + .../companyInfo/companylawsuitinfo/index.vue | 2 + .../detail/companyInfo/employeedata/index.vue | 2 + .../detail/companyInfo/partnerdata/index.vue | 2 + src/views/crm/customer/detail/index.vue | 56 +- src/views/crm/customer/pool/index.vue | 56 +- src/views/crm/followup/index.vue | 6 +- .../permission/components/PermissionList.vue | 2 +- src/views/crm/quotation/QuotationDetail.vue | 580 +++++++++++++----- src/views/crm/quotation/QuotationForm.vue | 56 +- .../components/QuotationProductDetail.vue | 8 +- .../quotation/components/RevenueAnalysis.vue | 141 +++-- src/views/crm/quotation/index.vue | 26 +- .../RecruitmentRequestForm.vue | 7 +- 39 files changed, 1486 insertions(+), 783 deletions(-) diff --git a/.env.local b/.env.local index de3676009..4f4983ead 100644 --- a/.env.local +++ b/.env.local @@ -6,8 +6,8 @@ VITE_DEV=true # 请求路径 # 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' +VITE_BASE_URL='http://m94844f6.natappfree.cc' +# VITE_BASE_URL='http://172.22.3.168:48080' # VITE_BASE_URL='http://172.22.3.203:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务 diff --git a/package-lock.json b/package-lock.json index 91734769c..6e776df80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,6 +60,7 @@ "vue-router": "4.4.5", "vue-signature-pad": "^3.0.2", "vue-types": "^5.1.1", + "vue3-print-nb": "^0.1.4", "vue3-signature": "^0.2.4", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", @@ -17105,6 +17106,14 @@ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", "license": "MIT" }, + "node_modules/vue3-print-nb": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz", + "integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==", + "dependencies": { + "vue": "^3.0.5" + } + }, "node_modules/vue3-signature": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/vue3-signature/-/vue3-signature-0.2.4.tgz", diff --git a/package.json b/package.json index d76a70c12..888f02bf2 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "vue-router": "4.4.5", "vue-signature-pad": "^3.0.2", "vue-types": "^5.1.1", + "vue3-print-nb": "^0.1.4", "vue3-signature": "^0.2.4", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", diff --git a/src/components/SelectCustomer/src/index.vue b/src/components/SelectCustomer/src/index.vue index 587e3d748..928522178 100644 --- a/src/components/SelectCustomer/src/index.vue +++ b/src/components/SelectCustomer/src/index.vue @@ -50,7 +50,7 @@ watch(() => props.modelValue, (val) => { let selectItem = props.customerList.filter(v => v.id === val) options.value = [...options.value, ...selectItem] } -},) +}, { immediate: true }) watch(() => props.customerList, (val) => { options.value = val.slice(0, 10) diff --git a/src/main.ts b/src/main.ts index dae04a46a..8b02f0f8a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -44,6 +44,7 @@ import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐 import VueSignaturePad from "vue-signature-pad"; +import print from 'vue3-print-nb' // 创建实例 const setupAll = async () => { const app = createApp(App) @@ -68,7 +69,7 @@ const setupAll = async () => { app.use(VueDOMPurifyHTML) app.use(VueSignaturePad); - + app.use(print) app.mount('#app') } diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 63ac284ab..90a67f639 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -221,6 +221,7 @@ export enum DICT_TYPE { TIME_TYPE='time_type',// 时间类型 CRM_PARTNER_TYPE = 'crm_partner_type',//合作类型 CRM_SERVICE_FEE_COLLECTION_METHOD = 'crm_service_fee_collection_method',//服务费收取方式 + CRM_CONTACT_ROLE_TYPE = 'crm_contact_role_type',//角色 CRM_PRODUCT_CATEGORY = "crm_product_category", //CRM 产品类型 CRM_PRODUCT_DETAIL_TYPE = "crm_product_detail_type", //CRM 产品明细类型 diff --git a/src/views/crm/business/BusinessForm.vue b/src/views/crm/business/BusinessForm.vue index fdfc4053e..0a6a3c939 100644 --- a/src/views/crm/business/BusinessForm.vue +++ b/src/views/crm/business/BusinessForm.vue @@ -8,11 +8,11 @@ v-loading="formLoading" > - + @@ -104,7 +104,7 @@ /> --> - + { loading.value = false } } +defineExpose({ getList }) const getData = (val,data) => { list.value = data diff --git a/src/views/crm/contact/ContactForm.vue b/src/views/crm/contact/ContactForm.vue index 02c202daa..628771442 100644 --- a/src/views/crm/contact/ContactForm.vue +++ b/src/views/crm/contact/ContactForm.vue @@ -1,5 +1,5 @@ diff --git a/src/views/crm/customer/detail/companyInfo/changerecorddata/index.vue b/src/views/crm/customer/detail/companyInfo/changerecorddata/index.vue index 47770a2b7..b23f65cd1 100644 --- a/src/views/crm/customer/detail/companyInfo/changerecorddata/index.vue +++ b/src/views/crm/customer/detail/companyInfo/changerecorddata/index.vue @@ -32,12 +32,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await ChangeRecordDataApi.getChangeRecordDataPage(queryParams) list.value = data.list total.value = data.total + emit('success','ChangeRecordDataFormIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/companyabnormalinfo/index.vue b/src/views/crm/customer/detail/companyInfo/companyabnormalinfo/index.vue index 5933121c8..e06ae4b76 100644 --- a/src/views/crm/customer/detail/companyInfo/companyabnormalinfo/index.vue +++ b/src/views/crm/customer/detail/companyInfo/companyabnormalinfo/index.vue @@ -35,12 +35,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await CompanyAbnormalInfoApi.getCompanyAbnormalInfoPage(queryParams) list.value = data.list total.value = data.total + emit('success','CompanyaBnormalInfoIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/companybranchinfo/index.vue b/src/views/crm/customer/detail/companyInfo/companybranchinfo/index.vue index 6619c9c42..d14bc4c75 100644 --- a/src/views/crm/customer/detail/companyInfo/companybranchinfo/index.vue +++ b/src/views/crm/customer/detail/companyInfo/companybranchinfo/index.vue @@ -30,12 +30,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await CompanyBranchInfoApi.getCompanyBranchInfoPage(queryParams) list.value = data.list total.value = data.total + emit('success','CompanyBranchInfoIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/companycourtinfo/index.vue b/src/views/crm/customer/detail/companyInfo/companycourtinfo/index.vue index 4208bd4a9..29bce9935 100644 --- a/src/views/crm/customer/detail/companyInfo/companycourtinfo/index.vue +++ b/src/views/crm/customer/detail/companyInfo/companycourtinfo/index.vue @@ -33,12 +33,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await CompanyCourtInfoApi.getCompanyCourtInfoPage(queryParams) list.value = data.list total.value = data.total + emit('success','CompanyCourtInfoIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/companyjudgmentdebtorinfo/index.vue b/src/views/crm/customer/detail/companyInfo/companyjudgmentdebtorinfo/index.vue index d6f0116c1..d94446b10 100644 --- a/src/views/crm/customer/detail/companyInfo/companyjudgmentdebtorinfo/index.vue +++ b/src/views/crm/customer/detail/companyInfo/companyjudgmentdebtorinfo/index.vue @@ -33,12 +33,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await CompanyJudgmentDebtorInfoApi.getCompanyJudgmentDebtorInfoPage(queryParams) list.value = data.list total.value = data.total + emit('success','CompanyJudgmentDebtorInfoIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/companylawsuitinfo/index.vue b/src/views/crm/customer/detail/companyInfo/companylawsuitinfo/index.vue index 6f6dcb54a..0225ee31f 100644 --- a/src/views/crm/customer/detail/companyInfo/companylawsuitinfo/index.vue +++ b/src/views/crm/customer/detail/companyInfo/companylawsuitinfo/index.vue @@ -34,12 +34,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await CompanyLawsuitInfoApi.getCompanyLawsuitInfoPage(queryParams) list.value = data.list total.value = data.total + emit('success','CompanyLawsuitInfoIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/employeedata/index.vue b/src/views/crm/customer/detail/companyInfo/employeedata/index.vue index 085b6a845..41126d17e 100644 --- a/src/views/crm/customer/detail/companyInfo/employeedata/index.vue +++ b/src/views/crm/customer/detail/companyInfo/employeedata/index.vue @@ -32,12 +32,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await EmployeeDataApi.getEmployeeDataPage(queryParams) list.value = data.list total.value = data.total + emit('success','EmployeeDataIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/companyInfo/partnerdata/index.vue b/src/views/crm/customer/detail/companyInfo/partnerdata/index.vue index 540329795..5959f26da 100644 --- a/src/views/crm/customer/detail/companyInfo/partnerdata/index.vue +++ b/src/views/crm/customer/detail/companyInfo/partnerdata/index.vue @@ -34,12 +34,14 @@ const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ +const emit = defineEmits(['success']) const getList = async () => { loading.value = true try { const data = await PartnerDataApi.getPartnerDataPage(queryParams) list.value = data.list total.value = data.total + emit('success', 'PartnerDataIstrue', list.value) } finally { loading.value = false } diff --git a/src/views/crm/customer/detail/index.vue b/src/views/crm/customer/detail/index.vue index cf0bde87c..166684643 100644 --- a/src/views/crm/customer/detail/index.vue +++ b/src/views/crm/customer/detail/index.vue @@ -38,20 +38,20 @@ - - - + + + - - + + - - + + - + - - + + - - + + - - + + @@ -105,27 +120,32 @@ - + - + - + + + + + + + + - + - - + -->