diff --git a/src/api/crm/billtemplate/index.ts b/src/api/crm/billtemplate/index.ts index 3f653bb0e..85e219166 100644 --- a/src/api/crm/billtemplate/index.ts +++ b/src/api/crm/billtemplate/index.ts @@ -1,41 +1,46 @@ -import request from '@/config/axios' - -// 票据模版 VO -export interface BillTemplateVO { - id: number // 主键 - name: string // 名称 - status: number // 状态 -} - -// 票据模版 API -export const BillTemplateApi = { - // 查询票据模版分页 - getBillTemplatePage: async (params: any) => { - return await request.get({ url: `/crm/bill-template/page`, params }) - }, - - // 查询票据模版详情 - getBillTemplate: async (id: number) => { - return await request.get({ url: `/crm/bill-template/get?id=` + id }) - }, - - // 新增票据模版 - createBillTemplate: async (data: BillTemplateVO) => { - return await request.post({ url: `/crm/bill-template/create`, data }) - }, - - // 修改票据模版 - updateBillTemplate: async (data: BillTemplateVO) => { - return await request.put({ url: `/crm/bill-template/update`, data }) - }, - - // 删除票据模版 - deleteBillTemplate: async (id: number) => { - return await request.delete({ url: `/crm/bill-template/delete?id=` + id }) - }, - - // 导出票据模版 Excel - exportBillTemplate: async (params) => { - return await request.download({ url: `/crm/bill-template/export-excel`, params }) - }, -} \ No newline at end of file +import request from '@/config/axios' + +// 票据模版 VO +export interface BillTemplateVO { + id: number // 主键 + name: string // 名称 + status: number // 状态 +} + +// 票据模版 API +export const BillTemplateApi = { + // 查询票据模版分页 + getBillTemplatePage: async (params: any) => { + return await request.get({ url: `/crm/bill-template/page`, params }) + }, + + // 查询票据模版详情 + getBillTemplate: async (id: number) => { + return await request.get({ url: `/crm/bill-template/get?id=` + id }) + }, + + // 新增票据模版 + createBillTemplate: async (data: BillTemplateVO) => { + return await request.post({ url: `/crm/bill-template/create`, data }) + }, + + // 修改票据模版 + updateBillTemplate: async (data: BillTemplateVO) => { + return await request.put({ url: `/crm/bill-template/update`, data }) + }, + + // 删除票据模版 + deleteBillTemplate: async (id: number) => { + return await request.delete({ url: `/crm/bill-template/delete?id=` + id }) + }, + + // 获得 票据模版列表(精简) + getSimpleList : async () => { + return await request.get({ url: `/crm/bill-template/simple-list` }) + }, + + // 导出票据模版 Excel + exportBillTemplate: async (params) => { + return await request.download({ url: `/crm/bill-template/export-excel`, params }) + }, +} diff --git a/src/views/crm/billtemplate/components/index.vue b/src/views/crm/billtemplate/components/index.vue index 2722480aa..dd712214e 100644 --- a/src/views/crm/billtemplate/components/index.vue +++ b/src/views/crm/billtemplate/components/index.vue @@ -159,7 +159,6 @@ const getList = (val: []) => { // id: undefined, // productId: undefined, // productName: undefined, -// productCategoryId: undefined, //产品分类编号 // productUnit: undefined, // 产品单位 // productNo: undefined, // 产品条码 // productPrice: undefined, // 产品价格 diff --git a/src/views/crm/business/components/BusinessProductForm.vue b/src/views/crm/business/components/BusinessProductForm.vue index 1aeba02d2..81172f80b 100644 --- a/src/views/crm/business/components/BusinessProductForm.vue +++ b/src/views/crm/business/components/BusinessProductForm.vue @@ -85,8 +85,7 @@ const formLoading = ref(false); // 表单的加载中 const formData = ref([]); // 表单数据 const formRules = reactive({ productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }], - businessPrice: [{ required: true, message: '合同价格不能为空', trigger: 'blur' }], - count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }] + businessPrice: [{ required: true, message: '合同价格不能为空', trigger: 'blur' }] }); const formRef = ref(null); // 表单 Ref const productList = ref([]); // 产品列表 @@ -128,7 +127,6 @@ watch( // id: undefined, // productId: undefined, // productName: undefined, -// productCategoryId: undefined, // 产品分类编号 // productUnit: undefined, // 产品单位 // productNo: undefined, // 产品条码 // productPrice: undefined, // 产品价格 @@ -155,8 +153,7 @@ const getList = (val: []) => { "detailType": item.detailType, "productUnit": item.unit, "onlinePrice": '', - "offlinePrice": '', - "count": '' + "offlinePrice": '' }) } }) diff --git a/src/views/crm/contract/components/ContractBAuthorizedPersonForm.vue b/src/views/crm/contract/components/ContractBAuthorizedPersonForm.vue index 635fb9465..194ebcbae 100644 --- a/src/views/crm/contract/components/ContractBAuthorizedPersonForm.vue +++ b/src/views/crm/contract/components/ContractBAuthorizedPersonForm.vue @@ -9,10 +9,10 @@ > - + diff --git a/src/views/crm/contract/components/ContractProductForm.vue b/src/views/crm/contract/components/ContractProductForm.vue index dd83a24c9..18a251d24 100644 --- a/src/views/crm/contract/components/ContractProductForm.vue +++ b/src/views/crm/contract/components/ContractProductForm.vue @@ -24,10 +24,17 @@ - + + + + @@ -131,8 +138,7 @@ const handleAdd = () => { productUnit: undefined, // 产品单位 productNo: undefined, // 产品条码 productPrice: undefined, // 产品价格 - contractPrice: undefined, - count: 1 + contractPrice: undefined } formData.value.push(row) } diff --git a/src/views/crm/quotation/QuotationForm.vue b/src/views/crm/quotation/QuotationForm.vue index 2529d9d12..be9192e7e 100644 --- a/src/views/crm/quotation/QuotationForm.vue +++ b/src/views/crm/quotation/QuotationForm.vue @@ -182,9 +182,9 @@ @@ -361,6 +361,7 @@ import * as CustomerApi from '@/api/crm/customer' import * as UserApi from '@/api/system/user' import * as DeptApi from '@/api/system/dept' import * as BusinessApi from '@/api/crm/business' +import {BillTemplateApi } from '@/api/crm/billtemplate' import { erpPriceMultiply, erpPriceInputFormatter } from '@/utils' /** CRM 方案报价 表单 */ @@ -530,6 +531,8 @@ const open = async (type: string, id?: number) => { // 获得部门树 deptTree.value = handleTree(await DeptApi.getSimpleDeptList()) deptList.value = await DeptApi.getSimpleDeptList() + // 获得用户列表 + invoiceTemplateList.value = await BillTemplateApi.getSimpleList() } defineExpose({ open }) // 提供 open 方法,用于打开弹窗 diff --git a/src/views/crm/quotation/components/QuotationProductForm.vue b/src/views/crm/quotation/components/QuotationProductForm.vue index 02976c8ff..ba12b4343 100644 --- a/src/views/crm/quotation/components/QuotationProductForm.vue +++ b/src/views/crm/quotation/components/QuotationProductForm.vue @@ -23,10 +23,17 @@ - + + + + @@ -111,7 +118,8 @@ const formRules = reactive({ quotationId: [{ required: true, message: '报价编号不能为空', trigger: 'blur' }], productId: [{ required: true, message: '产品编号不能为空', trigger: 'blur' }], productName: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }], - productCategoryId: [{ required: true, message: '产品分类编号不能为空', trigger: 'blur' }], + category: [{ required: true, message: '产品分类编号不能为空', trigger: 'blur' }], + detailType: [{ required: true, message: '产品分类编号不能为空', trigger: 'blur' }], productUnit: [{ required: true, message: '产品单位不能为空', trigger: 'blur' }], onlinePrice: [{ required: true, message: '线上价格不能为空', trigger: 'blur' }], offlinePrice: [{ required: true, message: '线下价格不能为空', trigger: 'blur' }],