From 75af8f63c7cc30166075e9bab8f366bcc3dd83f9 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Thu, 29 Jan 2026 14:26:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa/crm):=20=E6=B7=BB=E5=8A=A0=E7=A4=BC?= =?UTF-8?q?=E5=93=81=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增礼品申请编辑页面,包含基本信息、礼品明细、审批信息等功能 - 实现礼品申请的增删改查操作,支持批量发放礼品功能 - 添加礼品申请明细、礼品信息、礼品发放记录等相关API接口 - 集成审批流程功能,支持工作流条件分支判断和审批记录查看 - 实现库存不足异常处理和用户友好的提示机制 --- src/api/oa/crm/crmCustomerInfo/types.ts | 65 ++ src/api/oa/crm/crmGiftApply/index.ts | 100 +++ src/api/oa/crm/crmGiftApply/types.ts | 319 ++++++++++ src/api/oa/crm/crmGiftApplyDetail/index.ts | 76 +++ src/api/oa/crm/crmGiftApplyDetail/types.ts | 186 ++++++ src/api/oa/crm/crmGiftInfo/index.ts | 76 +++ src/api/oa/crm/crmGiftInfo/types.ts | 126 ++++ src/api/oa/crm/crmGiftIssueRecord/index.ts | 76 +++ src/api/oa/crm/crmGiftIssueRecord/types.ts | 291 +++++++++ src/views/oa/crm/crmGiftApply/edit.vue | 574 ++++++++++++++++++ src/views/oa/crm/crmGiftApply/index.vue | 282 +++++++++ src/views/oa/crm/crmGiftApplyDetail/index.vue | 346 +++++++++++ src/views/oa/crm/crmGiftInfo/index.vue | 284 +++++++++ src/views/oa/crm/crmGiftIssueRecord/index.vue | 137 +++++ 14 files changed, 2938 insertions(+) create mode 100644 src/api/oa/crm/crmCustomerInfo/types.ts create mode 100644 src/api/oa/crm/crmGiftApply/index.ts create mode 100644 src/api/oa/crm/crmGiftApply/types.ts create mode 100644 src/api/oa/crm/crmGiftApplyDetail/index.ts create mode 100644 src/api/oa/crm/crmGiftApplyDetail/types.ts create mode 100644 src/api/oa/crm/crmGiftInfo/index.ts create mode 100644 src/api/oa/crm/crmGiftInfo/types.ts create mode 100644 src/api/oa/crm/crmGiftIssueRecord/index.ts create mode 100644 src/api/oa/crm/crmGiftIssueRecord/types.ts create mode 100644 src/views/oa/crm/crmGiftApply/edit.vue create mode 100644 src/views/oa/crm/crmGiftApply/index.vue create mode 100644 src/views/oa/crm/crmGiftApplyDetail/index.vue create mode 100644 src/views/oa/crm/crmGiftInfo/index.vue create mode 100644 src/views/oa/crm/crmGiftIssueRecord/index.vue diff --git a/src/api/oa/crm/crmCustomerInfo/types.ts b/src/api/oa/crm/crmCustomerInfo/types.ts new file mode 100644 index 0000000..ce0d9c9 --- /dev/null +++ b/src/api/oa/crm/crmCustomerInfo/types.ts @@ -0,0 +1,65 @@ +/** + * 客户信息 类型定义 + */ +export interface CrmCustomerInfoVO { + customerId: number; + customerName: string; + mnemonicName?: string; + industryId?: number; + customerType?: number; + customerStatus?: number; + customerLevel?: number; + customerSource?: number; + ownerId?: number; + ownerName?: string; + detailedAddress?: string; + customerScale?: number; + parentCustomerId?: number; + customerRelationship?: string; + legalRepresentative?: string; + businessLicenseNumber?: string; + taxNumber?: string; + bankAccountOpening?: string; + bankNumber?: string; + ossId?: string; + remark?: string; + activeFlag?: string; + ourCompanyFlag?: string; +} + +export interface CrmCustomerInfoQuery { + pageNum?: number; + pageSize?: number; + customerName?: string; + mnemonicName?: string; + customerType?: number; + customerStatus?: number; + customerLevel?: number; + activeFlag?: string; + ourCompanyFlag?: string; +} + +export interface CrmCustomerInfoForm { + customerId?: number; + customerName?: string; + mnemonicName?: string; + industryId?: number; + customerType?: number; + customerStatus?: number; + customerLevel?: number; + customerSource?: number; + ownerId?: number; + detailedAddress?: string; + customerScale?: number; + parentCustomerId?: number; + customerRelationship?: string; + legalRepresentative?: string; + businessLicenseNumber?: string; + taxNumber?: string; + bankAccountOpening?: string; + bankNumber?: string; + ossId?: string; + remark?: string; + activeFlag?: string; + ourCompanyFlag?: string; +} diff --git a/src/api/oa/crm/crmGiftApply/index.ts b/src/api/oa/crm/crmGiftApply/index.ts new file mode 100644 index 0000000..5c9b0ab --- /dev/null +++ b/src/api/oa/crm/crmGiftApply/index.ts @@ -0,0 +1,100 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmGiftApplyForm, CrmGiftApplyQuery, CrmGiftApplyVO } from '@/api/oa/crm/crmGiftApply/types'; + +/** + * 查询礼品申请列表 + * @param query + * @returns {*} + */ + +export const listCrmGiftApply = (query?: CrmGiftApplyQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftApply/list', + method: 'get', + params: query + }); +}; + +/** + * 查询礼品申请详细 + * @param giftApplyId + */ +export const getCrmGiftApply = (giftApplyId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftApply/' + giftApplyId, + method: 'get' + }); +}; + +/** + * 新增礼品申请 + * @param data + */ +export const addCrmGiftApply = (data: CrmGiftApplyForm) => { + return request({ + url: '/oa/crm/crmGiftApply', + method: 'post', + data: data + }); +}; + +/** + * 修改礼品申请 + * @param data + */ +export const updateCrmGiftApply = (data: CrmGiftApplyForm) => { + return request({ + url: '/oa/crm/crmGiftApply', + method: 'put', + data: data + }); +}; + +/** + * 删除礼品申请 + * @param giftApplyId + */ +export const delCrmGiftApply = (giftApplyId: string | number | Array) => { + return request({ + url: '/oa/crm/crmGiftApply/' + giftApplyId, + method: 'delete' + }); +}; + +/** + * 下拉框查询礼品申请列表 + * @param query + * @returns {*} + */ +export function getCrmGiftApplyList(query) { + return request({ + url: '/oa/crm/crmGiftApply/getCrmGiftApplyList', + method: 'get', + params: query + }); +} + +/** + * 提交礼品申请并发起审批流程 + * @param data + */ +export const giftApplySubmitAndFlowStart = (data: CrmGiftApplyForm): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftApply/submitAndFlowStart', + method: 'post', + data: data + }); +}; + +/** + * 批量发放礼品 + * @param data + */ +export const batchIssueGifts = (data: CrmGiftApplyForm) => { + return request({ + url: '/oa/crm/crmGiftApply/batchIssue', + method: 'post', + data: data + }); +}; diff --git a/src/api/oa/crm/crmGiftApply/types.ts b/src/api/oa/crm/crmGiftApply/types.ts new file mode 100644 index 0000000..5e7130d --- /dev/null +++ b/src/api/oa/crm/crmGiftApply/types.ts @@ -0,0 +1,319 @@ +import { CrmGiftApplyDetailVO } from '@/api/oa/crm/crmGiftApplyDetail/types'; + +export interface CrmGiftApplyVO { + /** + * 申请单ID + */ + giftApplyId: string | number; + + /** + * 礼品申请编号 + */ + applicationCode: string; + + /** + * 申请人ID + */ + applicantId: string | number; + + /** + * 申请人姓名 + */ + applicantName: string; + + /** + * 申请人所属部门ID + */ + applicantDeptId: string | number; + + /** + * 申请人所属部门名称 + */ + applicantDeptName: string; + + /** + * 申请日期 + */ + applicationDate: string; + + /** + * 客户ID + */ + customerUnitId: string | number; + + /** + * 客户名称 + */ + customerUnitName: string; + + /** + * 客人姓名 + */ + guestName: string; + + /** + * 人数 + */ + peopleCount: number; + + /** + * 申请事由 + */ + applicationReason: string; + + /** + * 领用人ID + */ + recipientId: string | number; + + /** + * 领用人姓名 + */ + recipientName: string; + + /** + * 领用日期 + */ + recipientDate: string; + + /** + * 申请总金额 + */ + totalAmount: number; + + /** + * 礼品申请状态(1暂存 2审批中 3已审批 4作废) + */ + applicationStatus: string; + + /** + * 流程状态 + */ + flowStatus: string; + + /** + * 备注 + */ + remark: string; + + /** + * 礼品申请明细列表 + */ + detailList?: CrmGiftApplyDetailVO[]; +} + +// CrmGiftApplyDetailVO 从 crmGiftApplyDetail/types.ts 导入,避免重复定义 +export type { CrmGiftApplyDetailVO }; + +export interface CrmGiftApplyForm extends BaseEntity { + /** + * 申请单ID + */ + giftApplyId?: string | number; + + /** + * 礼品申请编号 + */ + applicationCode?: string; + + /** + * 申请人ID + */ + applicantId?: string | number; + + /** + * 申请人姓名 + */ + applicantName?: string; + + /** + * 申请人所属部门ID + */ + applicantDeptId?: string | number; + + /** + * 申请人所属部门名称 + */ + applicantDeptName?: string; + + /** + * 申请日期 + */ + applicationDate?: string; + + /** + * 客户ID + */ + customerUnitId?: string | number; + + /** + * 客户名称 + */ + customerUnitName?: string; + + /** + * 客人姓名 + */ + guestName?: string; + + /** + * 人数 + */ + peopleCount?: number; + + /** + * 申请事由 + */ + applicationReason?: string; + + /** + * 领用人ID + */ + recipientId?: string | number; + + /** + * 领用人姓名 + */ + recipientName?: string; + + /** + * 领用日期 + */ + recipientDate?: string; + + /** + * 申请总金额 + */ + totalAmount?: number; + + /** + * 礼品申请状态(1暂存 2审批中 3已审批 4作废) + */ + applicationStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 备注 + */ + remark?: string; + + // ==================== 流程相关字段 ==================== + + /** + * 流程定义编码 + */ + flowCode?: string; + + /** + * 流程变量 + */ + variables?: any; + + /** + * 流程业务扩展信息 + */ + bizExt?: any; + + // ==================== 子表数据 ==================== + + /** + * 礼品申请明细列表 + */ + detailList?: CrmGiftApplyDetailVO[]; +} + +export interface CrmGiftApplyQuery extends PageQuery { + /** + * 礼品申请编号 + */ + applicationCode?: string; + + /** + * 申请人ID + */ + applicantId?: string | number; + + /** + * 申请人姓名 + */ + applicantName?: string; + + /** + * 申请人所属部门ID + */ + applicantDeptId?: string | number; + + /** + * 申请人所属部门名称 + */ + applicantDeptName?: string; + + /** + * 申请日期 + */ + applicationDate?: string; + + /** + * 客户ID + */ + customerUnitId?: string | number; + + /** + * 客户名称 + */ + customerUnitName?: string; + + /** + * 客人姓名 + */ + guestName?: string; + + /** + * 人数 + */ + peopleCount?: number; + + /** + * 申请事由 + */ + applicationReason?: string; + + /** + * 领用人ID + */ + recipientId?: string | number; + + /** + * 领用人姓名 + */ + recipientName?: string; + + /** + * 领用日期 + */ + recipientDate?: string; + + /** + * 申请总金额 + */ + totalAmount?: number; + + /** + * 礼品申请状态(1暂存 2审批中 3已审批 4作废) + */ + applicationStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/oa/crm/crmGiftApplyDetail/index.ts b/src/api/oa/crm/crmGiftApplyDetail/index.ts new file mode 100644 index 0000000..fa195c3 --- /dev/null +++ b/src/api/oa/crm/crmGiftApplyDetail/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmGiftApplyDetailForm, CrmGiftApplyDetailQuery, CrmGiftApplyDetailVO } from '@/api/oa/crm/crmGiftApplyDetail/types'; + +/** + * 查询礼品申请明细列表 + * @param query + * @returns {*} + */ + +export const listCrmGiftApplyDetail = (query?: CrmGiftApplyDetailQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftApplyDetail/list', + method: 'get', + params: query + }); +}; + +/** + * 查询礼品申请明细详细 + * @param detailId + */ +export const getCrmGiftApplyDetail = (detailId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftApplyDetail/' + detailId, + method: 'get' + }); +}; + +/** + * 新增礼品申请明细 + * @param data + */ +export const addCrmGiftApplyDetail = (data: CrmGiftApplyDetailForm) => { + return request({ + url: '/oa/crm/crmGiftApplyDetail', + method: 'post', + data: data + }); +}; + +/** + * 修改礼品申请明细 + * @param data + */ +export const updateCrmGiftApplyDetail = (data: CrmGiftApplyDetailForm) => { + return request({ + url: '/oa/crm/crmGiftApplyDetail', + method: 'put', + data: data + }); +}; + +/** + * 删除礼品申请明细 + * @param detailId + */ +export const delCrmGiftApplyDetail = (detailId: string | number | Array) => { + return request({ + url: '/oa/crm/crmGiftApplyDetail/' + detailId, + method: 'delete' + }); +}; + +/** + * 下拉框查询礼品申请明细列表 + * @param query + * @returns {*} + */ +export function getCrmGiftApplyDetailList(query) { + return request({ + url: '/oa/crm/crmGiftApplyDetail/getCrmGiftApplyDetailList', + method: 'get', + params: query + }); +} diff --git a/src/api/oa/crm/crmGiftApplyDetail/types.ts b/src/api/oa/crm/crmGiftApplyDetail/types.ts new file mode 100644 index 0000000..800cfb2 --- /dev/null +++ b/src/api/oa/crm/crmGiftApplyDetail/types.ts @@ -0,0 +1,186 @@ +export interface CrmGiftApplyDetailVO { + /** + * 礼品申请明细ID + */ + detailId: string | number; + + /** + * 申请单ID + */ + applicationId: string | number; + + /** + * 礼品ID + */ + giftId: string | number; + + /** + * 礼品编码 + */ + giftCode: string; + + /** + * 礼品名称 + */ + giftName: string; + + /** + * 规格型号 + */ + specification: string; + + /** + * 单价(含税) + */ + unitPrice: number; + + /** + * 库存数量 + */ + inventoryQuantity: number; + + /** + * 申请数量 + */ + applicationQuantity: number; + + /** + * 礼品金额 + */ + giftAmount: number; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface CrmGiftApplyDetailForm extends BaseEntity { + /** + * 礼品申请明细ID + */ + detailId?: string | number; + + /** + * 申请单ID + */ + applicationId?: string | number; + + /** + * 礼品ID + */ + giftId?: string | number; + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 单价(含税) + */ + unitPrice?: number; + + /** + * 库存数量 + */ + inventoryQuantity?: number; + + /** + * 申请数量 + */ + applicationQuantity?: number; + + /** + * 礼品金额 + */ + giftAmount?: number; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface CrmGiftApplyDetailQuery extends PageQuery { + + /** + * 申请单ID + */ + applicationId?: string | number; + + /** + * 礼品ID + */ + giftId?: string | number; + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 单价(含税) + */ + unitPrice?: number; + + /** + * 库存数量 + */ + inventoryQuantity?: number; + + /** + * 申请数量 + */ + applicationQuantity?: number; + + /** + * 礼品金额 + */ + giftAmount?: number; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/crm/crmGiftInfo/index.ts b/src/api/oa/crm/crmGiftInfo/index.ts new file mode 100644 index 0000000..6f41bd4 --- /dev/null +++ b/src/api/oa/crm/crmGiftInfo/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmGiftInfoForm, CrmGiftInfoQuery, CrmGiftInfoVO } from '@/api/oa/crm/crmGiftInfo/types'; + +/** + * 查询礼品信息列表 + * @param query + * @returns {*} + */ + +export const listCrmGiftInfo = (query?: CrmGiftInfoQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftInfo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询礼品信息详细 + * @param giftId + */ +export const getCrmGiftInfo = (giftId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftInfo/' + giftId, + method: 'get' + }); +}; + +/** + * 新增礼品信息 + * @param data + */ +export const addCrmGiftInfo = (data: CrmGiftInfoForm) => { + return request({ + url: '/oa/crm/crmGiftInfo', + method: 'post', + data: data + }); +}; + +/** + * 修改礼品信息 + * @param data + */ +export const updateCrmGiftInfo = (data: CrmGiftInfoForm) => { + return request({ + url: '/oa/crm/crmGiftInfo', + method: 'put', + data: data + }); +}; + +/** + * 删除礼品信息 + * @param giftId + */ +export const delCrmGiftInfo = (giftId: string | number | Array) => { + return request({ + url: '/oa/crm/crmGiftInfo/' + giftId, + method: 'delete' + }); +}; + +/** + * 下拉框查询礼品信息列表 + * @param query + * @returns {*} + */ +export function getCrmGiftInfoList(query) { + return request({ + url: '/oa/crm/crmGiftInfo/getCrmGiftInfoList', + method: 'get', + params: query + }); +} diff --git a/src/api/oa/crm/crmGiftInfo/types.ts b/src/api/oa/crm/crmGiftInfo/types.ts new file mode 100644 index 0000000..f948efc --- /dev/null +++ b/src/api/oa/crm/crmGiftInfo/types.ts @@ -0,0 +1,126 @@ +export interface CrmGiftInfoVO { + /** + * 礼品ID + */ + giftId: string | number; + + /** + * 礼品编码 + */ + giftCode: string; + + /** + * 礼品名称 + */ + giftName: string; + + /** + * 规格型号 + */ + specification: string; + + /** + * 采购单价(含税) + */ + unitPrice: number; + + /** + * 单位ID + */ + unitId: string | number; + + /** + * 库存数量 + */ + inventoryQuantity: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface CrmGiftInfoForm extends BaseEntity { + /** + * 礼品ID + */ + giftId?: string | number; + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 采购单价(含税) + */ + unitPrice?: number; + + /** + * 单位ID + */ + unitId?: string | number; + + /** + * 库存数量 + */ + inventoryQuantity?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface CrmGiftInfoQuery extends PageQuery { + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 采购单价(含税) + */ + unitPrice?: number; + + /** + * 单位ID + */ + unitId?: string | number; + + /** + * 库存数量 + */ + inventoryQuantity?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/crm/crmGiftIssueRecord/index.ts b/src/api/oa/crm/crmGiftIssueRecord/index.ts new file mode 100644 index 0000000..7c8ebdc --- /dev/null +++ b/src/api/oa/crm/crmGiftIssueRecord/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmGiftIssueRecordForm, CrmGiftIssueRecordQuery, CrmGiftIssueRecordVO } from '@/api/oa/crm/crmGiftIssueRecord/types'; + +/** + * 查询礼品发放记录列表 + * @param query + * @returns {*} + */ + +export const listCrmGiftIssueRecord = (query?: CrmGiftIssueRecordQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftIssueRecord/list', + method: 'get', + params: query + }); +}; + +/** + * 查询礼品发放记录详细 + * @param issueRecordId + */ +export const getCrmGiftIssueRecord = (issueRecordId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmGiftIssueRecord/' + issueRecordId, + method: 'get' + }); +}; + +/** + * 新增礼品发放记录 + * @param data + */ +export const addCrmGiftIssueRecord = (data: CrmGiftIssueRecordForm) => { + return request({ + url: '/oa/crm/crmGiftIssueRecord', + method: 'post', + data: data + }); +}; + +/** + * 修改礼品发放记录 + * @param data + */ +export const updateCrmGiftIssueRecord = (data: CrmGiftIssueRecordForm) => { + return request({ + url: '/oa/crm/crmGiftIssueRecord', + method: 'put', + data: data + }); +}; + +/** + * 删除礼品发放记录 + * @param issueRecordId + */ +export const delCrmGiftIssueRecord = (issueRecordId: string | number | Array) => { + return request({ + url: '/oa/crm/crmGiftIssueRecord/' + issueRecordId, + method: 'delete' + }); +}; + +/** + * 下拉框查询礼品发放记录列表 + * @param query + * @returns {*} + */ +export function getCrmGiftIssueRecordList(query) { + return request({ + url: '/oa/crm/crmGiftIssueRecord/getCrmGiftIssueRecordList', + method: 'get', + params: query + }); +} diff --git a/src/api/oa/crm/crmGiftIssueRecord/types.ts b/src/api/oa/crm/crmGiftIssueRecord/types.ts new file mode 100644 index 0000000..c24a162 --- /dev/null +++ b/src/api/oa/crm/crmGiftIssueRecord/types.ts @@ -0,0 +1,291 @@ +export interface CrmGiftIssueRecordVO { + /** + * 发放记录ID + */ + issueRecordId: string | number; + + /** + * 申请单ID + */ + applicationId: string | number; + + /** + * 申请单编号 + */ + applicationCode: string; + + /** + * 申请明细ID + */ + detailId: string | number; + + /** + * 礼品ID + */ + giftId: string | number; + + /** + * 礼品编码 + */ + giftCode: string; + + /** + * 礼品名称 + */ + giftName: string; + + /** + * 规格型号 + */ + specification: string; + + /** + * 发放数量 + */ + issueQuantity: number; + + /** + * 发放时间 + */ + issueDate: string; + + /** + * 领取人ID + */ + recipientId: string | number; + + /** + * 领取人姓名 + */ + recipientName: string; + + /** + * 发放人ID + */ + issueBy: number; + + /** + * 发放人姓名 + */ + issueByName: string; + + /** + * 发放部门ID + */ + issueDeptId: string | number; + + /** + * 发放部门名称 + */ + issueDeptName: string; + + /** + * 发放前库存数量 + */ + beforeInventory: number; + + /** + * 发放后库存数量 + */ + afterInventory: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface CrmGiftIssueRecordForm extends BaseEntity { + /** + * 发放记录ID + */ + issueRecordId?: string | number; + + /** + * 申请单ID + */ + applicationId?: string | number; + + /** + * 申请单编号 + */ + applicationCode?: string; + + /** + * 申请明细ID + */ + detailId?: string | number; + + /** + * 礼品ID + */ + giftId?: string | number; + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 发放数量 + */ + issueQuantity?: number; + + /** + * 发放时间 + */ + issueDate?: string; + + /** + * 领取人ID + */ + recipientId?: string | number; + + /** + * 领取人姓名 + */ + recipientName?: string; + + /** + * 发放人ID + */ + issueBy?: number; + + /** + * 发放人姓名 + */ + issueByName?: string; + + /** + * 发放部门ID + */ + issueDeptId?: string | number; + + /** + * 发放部门名称 + */ + issueDeptName?: string; + + /** + * 发放前库存数量 + */ + beforeInventory?: number; + + /** + * 发放后库存数量 + */ + afterInventory?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface CrmGiftIssueRecordQuery extends PageQuery { + + /** + * 申请单ID + */ + applicationId?: string | number; + + /** + * 申请单编号 + */ + applicationCode?: string; + + /** + * 申请明细ID + */ + detailId?: string | number; + + /** + * 礼品ID + */ + giftId?: string | number; + + /** + * 礼品编码 + */ + giftCode?: string; + + /** + * 礼品名称 + */ + giftName?: string; + + /** + * 规格型号 + */ + specification?: string; + + /** + * 发放数量 + */ + issueQuantity?: number; + + /** + * 发放时间 + */ + issueDate?: string; + + /** + * 领取人ID + */ + recipientId?: string | number; + + /** + * 领取人姓名 + */ + recipientName?: string; + + /** + * 发放人ID + */ + issueBy?: number; + + /** + * 发放人姓名 + */ + issueByName?: string; + + /** + * 发放部门ID + */ + issueDeptId?: string | number; + + /** + * 发放部门名称 + */ + issueDeptName?: string; + + /** + * 发放前库存数量 + */ + beforeInventory?: number; + + /** + * 发放后库存数量 + */ + afterInventory?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/views/oa/crm/crmGiftApply/edit.vue b/src/views/oa/crm/crmGiftApply/edit.vue new file mode 100644 index 0000000..fafc09c --- /dev/null +++ b/src/views/oa/crm/crmGiftApply/edit.vue @@ -0,0 +1,574 @@ + + + + + diff --git a/src/views/oa/crm/crmGiftApply/index.vue b/src/views/oa/crm/crmGiftApply/index.vue new file mode 100644 index 0000000..fb8977d --- /dev/null +++ b/src/views/oa/crm/crmGiftApply/index.vue @@ -0,0 +1,282 @@ + + + diff --git a/src/views/oa/crm/crmGiftApplyDetail/index.vue b/src/views/oa/crm/crmGiftApplyDetail/index.vue new file mode 100644 index 0000000..d676531 --- /dev/null +++ b/src/views/oa/crm/crmGiftApplyDetail/index.vue @@ -0,0 +1,346 @@ + + + diff --git a/src/views/oa/crm/crmGiftInfo/index.vue b/src/views/oa/crm/crmGiftInfo/index.vue new file mode 100644 index 0000000..7ca9fb4 --- /dev/null +++ b/src/views/oa/crm/crmGiftInfo/index.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/views/oa/crm/crmGiftIssueRecord/index.vue b/src/views/oa/crm/crmGiftIssueRecord/index.vue new file mode 100644 index 0000000..bbf1123 --- /dev/null +++ b/src/views/oa/crm/crmGiftIssueRecord/index.vue @@ -0,0 +1,137 @@ + + +