diff --git a/src/api/oa/crm/crmQuoteInfo/index.ts b/src/api/oa/crm/crmQuoteInfo/index.ts new file mode 100644 index 0000000..6a73639 --- /dev/null +++ b/src/api/oa/crm/crmQuoteInfo/index.ts @@ -0,0 +1,98 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmQuoteInfoVO, CrmQuoteInfoForm, CrmQuoteInfoQuery } from '@/api/oa/crm/crmQuoteInfo/types'; + +/** + * 查询报价单信息列表 + * @param query + * @returns {*} + */ + +export const listCrmQuoteInfo = (query?: CrmQuoteInfoQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteInfo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询报价单信息详细 + * @param quoteId + */ +export const getCrmQuoteInfo = (quoteId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteInfo/' + quoteId, + method: 'get' + }); +}; + +/** + * 新增报价单信息 + * @param data + */ +export const addCrmQuoteInfo = (data: CrmQuoteInfoForm) => { + return request({ + url: '/oa/crm/crmQuoteInfo', + method: 'post', + data: data + }); +}; + +/** + * 修改报价单信息 + * @param data + */ +export const updateCrmQuoteInfo = (data: CrmQuoteInfoForm) => { + return request({ + url: '/oa/crm/crmQuoteInfo', + method: 'put', + data: data + }); +}; + +/** + * 删除报价单信息 + * @param quoteId + */ +export const delCrmQuoteInfo = (quoteId: string | number | Array) => { + return request({ + url: '/oa/crm/crmQuoteInfo/' + quoteId, + method: 'delete' + }); +}; + +/** + * 下拉框查询报价单信息列表 + * @param query + * @returns {*} + */ +export function getCrmQuoteInfoList (query) { + return request({ + url: '/oa/crm/crmQuoteInfo/getCrmQuoteInfoList', + method: 'get', + params: query + }); +}; + +/** + * 查看同一次的多轮报价集合 + * @param quoteId + */ +export const listQuoteRounds = (quoteId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteInfo/rounds/' + quoteId, + method: 'get' + }); +}; + +/** + * 根据报价明细回写主表金额汇总 + * @param quoteId + */ +export const recalcQuoteTotals = (quoteId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteInfo/recalc/' + quoteId, + method: 'post' + }); +}; diff --git a/src/api/oa/crm/crmQuoteInfo/types.ts b/src/api/oa/crm/crmQuoteInfo/types.ts new file mode 100644 index 0000000..b85bf92 --- /dev/null +++ b/src/api/oa/crm/crmQuoteInfo/types.ts @@ -0,0 +1,560 @@ +export interface CrmQuoteInfoVO { + /** + * 报价ID + */ + quoteId: string | number; + + /** + * 报价单号 + */ + quoteCode: string; + + /** + * 报价单名称 + */ + quoteName: string; + + /** + * 报价轮次 + */ + quoteRound: number; + + /** + * 报价大类(1橡机板块 2非橡机板块) + */ + quoteCategory: string; + + /** + * 报价类型(1对内 2对外) + */ + quoteType: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection: string; + + /** + * 部门 + */ + quoteDeptId: string | number; + + /** + * 报价日期 + */ + quoteDate: string; + + /** + * 报价有效期起 + */ + validFrom: string | number; + + /** + * 报价有效期(天) + */ + validDays: string | number; + + /** + * 报价有效期止 + */ + validTo: string | number; + + /** + * 交货期(天) + */ + deliveryPeriod: number; + + /** + * 交付/交货方式 + */ + deliveryMethod: string; + + /** + * 付款方式(1电汇 2承兑) + */ + paymentMethod: string; + + /** + * 币种(字典类型) + */ + currencyType: string; + + /** + * 含税信息(如:含13%增值税) + */ + taxIncludedInfo: string; + + /** + * 税率(默认按明细可覆盖) + */ + taxRate: number; + + /** + * 总报价 + */ + totalPrice: number; + + /** + * 未税总价 + */ + totalBeforeTax: number; + + /** + * 税额 + */ + totalTax: number; + + /** + * 含税总价 + */ + totalIncludingTax: number; + + /** + * 客户方联系人ID + */ + customerContactId: string | number; + + /** + * 客户方联系人 + */ + customerContactName: string; + + /** + * 客户方联系电话 + */ + customerContactPhone: string; + + /** + * 客户方电子邮箱 + */ + customerContactEmail: string; + + /** + * 供货方联系人ID + */ + supplierContactId: string | number; + + /** + * 供货方联系人 + */ + supplierContactName: string; + + /** + * 供货方联系电话 + */ + supplierContactPhone: string; + + /** + * 供货方电子邮箱 + */ + supplierContactEmail: string; + + /** + * 项目ID(可选) + */ + projectId: string | number; + + /** + * 打印模板ID(可选) + */ + templateId: string | number; + + /** + * 附件ID + */ + ossId: string | number; + + /** + * 报价单状态(1暂存 2审批中 3可用) + */ + quoteStatus: string; + + /** + * 流程状态 + */ + flowStatus: string; + + /** + * 备注 + */ + remark: string; + + /** + * 报价单子表-物料明细 + */ + itemsVo?: CrmQuoteMaterialVO[]; + +} + +export interface CrmQuoteInfoForm extends BaseEntity { + /** + * 报价ID + */ + quoteId?: string | number; + + /** + * 报价单号 + */ + quoteCode?: string; + + /** + * 报价单名称 + */ + quoteName?: string; + + /** + * 报价轮次 + */ + quoteRound?: number; + + /** + * 报价大类(1橡机板块 2非橡机板块) + */ + quoteCategory?: string; + + /** + * 报价类型(1对内 2对外) + */ + quoteType?: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection?: string; + + /** + * 部门 + */ + quoteDeptId?: string | number; + + /** + * 报价日期 + */ + quoteDate?: string; + + /** + * 报价有效期起 + */ + validFrom?: string | number; + + /** + * 报价有效期(天) + */ + validDays?: string | number; + + /** + * 报价有效期止 + */ + validTo?: string | number; + + /** + * 交货期(天) + */ + deliveryPeriod?: number; + + /** + * 交付/交货方式 + */ + deliveryMethod?: string; + + /** + * 付款方式(1电汇 2承兑) + */ + paymentMethod?: string; + + /** + * 币种(字典类型) + */ + currencyType?: string; + + /** + * 含税信息(如:含13%增值税) + */ + taxIncludedInfo?: string; + + /** + * 税率(默认按明细可覆盖) + */ + taxRate?: number; + + /** + * 总报价 + */ + totalPrice?: number; + + /** + * 未税总价 + */ + totalBeforeTax?: number; + + /** + * 税额 + */ + totalTax?: number; + + /** + * 含税总价 + */ + totalIncludingTax?: number; + + /** + * 客户方联系人ID + */ + customerContactId?: string | number; + + /** + * 客户方联系人 + */ + customerContactName?: string; + + /** + * 客户方联系电话 + */ + customerContactPhone?: string; + + /** + * 客户方电子邮箱 + */ + customerContactEmail?: string; + + /** + * 供货方联系人ID + */ + supplierContactId?: string | number; + + /** + * 供货方联系人 + */ + supplierContactName?: string; + + /** + * 供货方联系电话 + */ + supplierContactPhone?: string; + + /** + * 供货方电子邮箱 + */ + supplierContactEmail?: string; + + /** + * 项目ID(可选) + */ + projectId?: string | number; + + /** + * 打印模板ID(可选) + */ + templateId?: string | number; + + /** + * 附件ID + */ + ossId?: string | number; + + /** + * 报价单状态(1暂存 2审批中 3可用) + */ + quoteStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 报价单子表-物料明细 + */ + itemsBo?: CrmQuoteMaterialForm[]; + +} + +export interface CrmQuoteInfoQuery extends PageQuery { + + /** + * 报价单号 + */ + quoteCode?: string; + + /** + * 报价单名称 + */ + quoteName?: string; + + /** + * 报价轮次 + */ + quoteRound?: number; + + /** + * 报价大类(1橡机板块 2非橡机板块) + */ + quoteCategory?: string; + + /** + * 报价类型(1对内 2对外) + */ + quoteType?: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection?: string; + + /** + * 部门 + */ + quoteDeptId?: string | number; + + /** + * 报价日期 + */ + quoteDate?: string; + + /** + * 报价有效期起 + */ + validFrom?: string | number; + + /** + * 报价有效期(天) + */ + validDays?: string | number; + + /** + * 报价有效期止 + */ + validTo?: string | number; + + /** + * 交货期(天) + */ + deliveryPeriod?: number; + + /** + * 交付/交货方式 + */ + deliveryMethod?: string; + + /** + * 付款方式(1电汇 2承兑) + */ + paymentMethod?: string; + + /** + * 币种(字典类型) + */ + currencyType?: string; + + /** + * 含税信息(如:含13%增值税) + */ + taxIncludedInfo?: string; + + /** + * 税率(默认按明细可覆盖) + */ + taxRate?: number; + + /** + * 总报价 + */ + totalPrice?: number; + + /** + * 未税总价 + */ + totalBeforeTax?: number; + + /** + * 税额 + */ + totalTax?: number; + + /** + * 含税总价 + */ + totalIncludingTax?: number; + + /** + * 客户方联系人ID + */ + customerContactId?: string | number; + + /** + * 客户方联系人 + */ + customerContactName?: string; + + /** + * 客户方联系电话 + */ + customerContactPhone?: string; + + /** + * 客户方电子邮箱 + */ + customerContactEmail?: string; + + /** + * 供货方联系人ID + */ + supplierContactId?: string | number; + + /** + * 供货方联系人 + */ + supplierContactName?: string; + + /** + * 供货方联系电话 + */ + supplierContactPhone?: string; + + /** + * 供货方电子邮箱 + */ + supplierContactEmail?: string; + + /** + * 项目ID(可选) + */ + projectId?: string | number; + + /** + * 打印模板ID(可选) + */ + templateId?: string | number; + + /** + * 附件ID + */ + ossId?: string | number; + + /** + * 报价单状态(1暂存 2审批中 3可用) + */ + quoteStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + +import type { CrmQuoteMaterialVO, CrmQuoteMaterialForm } from '@/api/oa/crm/crmQuoteMaterial/types'; + + + diff --git a/src/api/oa/crm/crmQuoteMaterial/index.ts b/src/api/oa/crm/crmQuoteMaterial/index.ts new file mode 100644 index 0000000..d32e16e --- /dev/null +++ b/src/api/oa/crm/crmQuoteMaterial/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmQuoteMaterialVO, CrmQuoteMaterialForm, CrmQuoteMaterialQuery } from '@/api/oa/crm/crmQuoteMaterial/types'; + +/** + * 查询报价单物料明细列表 + * @param query + * @returns {*} + */ + +export const listCrmQuoteMaterial = (query?: CrmQuoteMaterialQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteMaterial/list', + method: 'get', + params: query + }); +}; + +/** + * 查询报价单物料明细详细 + * @param quoteMaterialId + */ +export const getCrmQuoteMaterial = (quoteMaterialId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmQuoteMaterial/' + quoteMaterialId, + method: 'get' + }); +}; + +/** + * 新增报价单物料明细 + * @param data + */ +export const addCrmQuoteMaterial = (data: CrmQuoteMaterialForm) => { + return request({ + url: '/oa/crm/crmQuoteMaterial', + method: 'post', + data: data + }); +}; + +/** + * 修改报价单物料明细 + * @param data + */ +export const updateCrmQuoteMaterial = (data: CrmQuoteMaterialForm) => { + return request({ + url: '/oa/crm/crmQuoteMaterial', + method: 'put', + data: data + }); +}; + +/** + * 删除报价单物料明细 + * @param quoteMaterialId + */ +export const delCrmQuoteMaterial = (quoteMaterialId: string | number | Array) => { + return request({ + url: '/oa/crm/crmQuoteMaterial/' + quoteMaterialId, + method: 'delete' + }); +}; + +/** + * 下拉框查询报价单物料明细列表 + * @param query + * @returns {*} + */ +export function getCrmQuoteMaterialList (query) { + return request({ + url: '/oa/crm/crmQuoteMaterial/getCrmQuoteMaterialList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/crm/crmQuoteMaterial/types.ts b/src/api/oa/crm/crmQuoteMaterial/types.ts new file mode 100644 index 0000000..4854824 --- /dev/null +++ b/src/api/oa/crm/crmQuoteMaterial/types.ts @@ -0,0 +1,246 @@ +export interface CrmQuoteMaterialVO { + /** + * 报价物料ID + */ + quoteMaterialId: string | number; + + /** + * 报价ID + */ + quoteId: string | number; + + /** + * 序号(ERP风格) + */ + itemNo: number; + + /** + * 产品/服务名称 + */ + productName: string; + + /** + * 规格描述 + */ + specificationDescription: string; + + /** + * 物料ID(SAP) + */ + materialId: string | number; + + /** + * 销售物料ID(关联名) + */ + relationMaterialId: string | number; + + /** + * 数量 + */ + amount: number; + + /** + * 单位ID + */ + unitId: string | number; + + /** + * 单位名称 + */ + unitName: string; + + /** + * 未税单价 + */ + beforePrice: number; + + /** + * 税率 + */ + taxRate: number; + + /** + * 含税单价 + */ + includingPrice: number; + + /** + * 小计(含税) + */ + subtotal: number; + + /** + * 备注 + */ + remark: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag: string; + +} + +export interface CrmQuoteMaterialForm extends BaseEntity { + /** + * 报价物料ID + */ + quoteMaterialId?: string | number; + + /** + * 报价ID + */ + quoteId?: string | number; + + /** + * 序号(ERP风格) + */ + itemNo?: number; + + /** + * 产品/服务名称 + */ + productName?: string; + + /** + * 规格描述 + */ + specificationDescription?: string; + + /** + * 物料ID(SAP) + */ + materialId?: string | number; + + /** + * 销售物料ID(关联名) + */ + relationMaterialId?: string | number; + + /** + * 数量 + */ + amount?: number; + + /** + * 单位ID + */ + unitId?: string | number; + + /** + * 单位名称 + */ + unitName?: string; + + /** + * 未税单价 + */ + beforePrice?: number; + + /** + * 税率 + */ + taxRate?: number; + + /** + * 含税单价 + */ + includingPrice?: number; + + /** + * 小计(含税) + */ + subtotal?: number; + + /** + * 备注 + */ + remark?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + +} + +export interface CrmQuoteMaterialQuery extends PageQuery { + + /** + * 报价ID + */ + quoteId?: string | number; + + /** + * 序号(ERP风格) + */ + itemNo?: number; + + /** + * 产品/服务名称 + */ + productName?: string; + + /** + * 规格描述 + */ + specificationDescription?: string; + + /** + * 物料ID(SAP) + */ + materialId?: string | number; + + /** + * 销售物料ID(关联名) + */ + relationMaterialId?: string | number; + + /** + * 数量 + */ + amount?: number; + + /** + * 单位ID + */ + unitId?: string | number; + + /** + * 单位名称 + */ + unitName?: string; + + /** + * 未税单价 + */ + beforePrice?: number; + + /** + * 税率 + */ + taxRate?: number; + + /** + * 含税单价 + */ + includingPrice?: number; + + /** + * 小计(含税) + */ + subtotal?: number; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/erp/projectContracts/types.ts b/src/api/oa/erp/projectContracts/types.ts index 664901b..e77ca36 100644 --- a/src/api/oa/erp/projectContracts/types.ts +++ b/src/api/oa/erp/projectContracts/types.ts @@ -29,6 +29,36 @@ export interface ProjectContractsVO { */ activeFlag: string; + /** + * 项目名称 + */ + projectName?: string; + + /** + * 合同编号 + */ + contractCode?: string; + + /** + * 合同名称 + */ + contractName?: string; + + /** + * 合同总价 + */ + totalPrice?: number; + + /** + * 业务方向 + */ + businessDirection?: string; + + /** + * 合同状态 + */ + contractStatus?: string; + } export interface ProjectContractsForm extends BaseEntity { diff --git a/src/api/oa/erp/projectInfo/index.ts b/src/api/oa/erp/projectInfo/index.ts index 7d7b57e..e0b453d 100644 --- a/src/api/oa/erp/projectInfo/index.ts +++ b/src/api/oa/erp/projectInfo/index.ts @@ -62,6 +62,18 @@ export const delProjectInfo = (projectId: string | number | Array { + return request({ + url: '/oa/erp/projectInfo/submitAndFlowStart', + method: 'post', + data: data + }); +}; + /** * 下拉框查询项目信息列表 * @param query diff --git a/src/api/oa/erp/projectInfo/types.ts b/src/api/oa/erp/projectInfo/types.ts index b486ddf..d1b3094 100644 --- a/src/api/oa/erp/projectInfo/types.ts +++ b/src/api/oa/erp/projectInfo/types.ts @@ -212,6 +212,21 @@ export interface ProjectInfoForm extends BaseEntity { */ activeFlag?: string; + /** + * 流程编码 + */ + flowCode?: string; + + /** + * 流程变量 + */ + variables?: any; + + /** + * 流程业务扩展字段 + */ + bizExt?: any; + } export interface ProjectInfoQuery extends PageQuery { diff --git a/src/enums/OAEnum.ts b/src/enums/OAEnum.ts new file mode 100644 index 0000000..9973dc6 --- /dev/null +++ b/src/enums/OAEnum.ts @@ -0,0 +1,46 @@ +/** + * 编号规则代码枚举 + */ +export enum CodeRuleEnum { + /** + * 合同编号规则 + */ + CONTRACT = '1001', + + /** + * 项目编号规则(销售项目、预投项目) + */ + PROJECT = '1002', + + /** + * 研发项目编号规则 + */ + PROJECT_RD = '1003', +} + +/** + * 项目类别枚举 + */ +export enum ProjectCategoryEnum { + /** + * 销售项目(实施、物流) + */ + SALE_IMPLEMENT = '1', + + /** + * 销售项目(备件) + */ + SALE_SPARE = '2', + + /** + * 研发项目 + */ + RD = '3', + + /** + * 预投项目 + */ + PRE_INVEST = '4', +} + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index efb1ae3..dbea43e 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -65,7 +65,7 @@
- + {{ userStore.nickname }}
- + - - - - + + + + @@ -110,7 +123,11 @@ - + + + @@ -119,117 +136,49 @@ - + - - - - - - {{ dict.label }} - - - - - - - - - - - - - - - - - - - - - {{ dict.label }} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{ dict.label }} - - - - - - - - - - - - - - - - - {{ dict.label }} - - - - - + +