From c457f5e31df012144e716edd87fff857a6b41e7d Mon Sep 17 00:00:00 2001 From: Yangk Date: Mon, 22 Dec 2025 17:32:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(crm/TripBusine):=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=87=BA=E5=B7=AE=E7=94=B3=E8=AF=B7=E9=A1=B5=E9=9D=A2=E5=8F=8A?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/oa/crm/businessTripApply/index.ts | 76 ++++ src/api/oa/crm/businessTripApply/types.ts | 362 +++++++++++++++ src/views/oa/crm/businessTripApply/index.vue | 454 +++++++++++++++++++ 3 files changed, 892 insertions(+) create mode 100644 src/api/oa/crm/businessTripApply/index.ts create mode 100644 src/api/oa/crm/businessTripApply/types.ts create mode 100644 src/views/oa/crm/businessTripApply/index.vue diff --git a/src/api/oa/crm/businessTripApply/index.ts b/src/api/oa/crm/businessTripApply/index.ts new file mode 100644 index 0000000..b3d4ea1 --- /dev/null +++ b/src/api/oa/crm/businessTripApply/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { BusinessTripApplyVO, BusinessTripApplyForm, BusinessTripApplyQuery } from '@/api/oa/crm/businessTripApply/types'; + +/** + * 查询出差申请列表 + * @param query + * @returns {*} + */ + +export const listBusinessTripApply = (query?: BusinessTripApplyQuery): AxiosPromise => { + return request({ + url: '/oa/crm/businessTripApply/list', + method: 'get', + params: query + }); +}; + +/** + * 查询出差申请详细 + * @param tripId + */ +export const getBusinessTripApply = (tripId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/businessTripApply/' + tripId, + method: 'get' + }); +}; + +/** + * 新增出差申请 + * @param data + */ +export const addBusinessTripApply = (data: BusinessTripApplyForm) => { + return request({ + url: '/oa/crm/businessTripApply', + method: 'post', + data: data + }); +}; + +/** + * 修改出差申请 + * @param data + */ +export const updateBusinessTripApply = (data: BusinessTripApplyForm) => { + return request({ + url: '/oa/crm/businessTripApply', + method: 'put', + data: data + }); +}; + +/** + * 删除出差申请 + * @param tripId + */ +export const delBusinessTripApply = (tripId: string | number | Array) => { + return request({ + url: '/oa/crm/businessTripApply/' + tripId, + method: 'delete' + }); +}; + +/** + * 下拉框查询出差申请列表 + * @param query + * @returns {*} + */ +export function getCrmBusinessTripApplyList (query) { + return request({ + url: '/oa/crm/businessTripApply/getCrmBusinessTripApplyList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/crm/businessTripApply/types.ts b/src/api/oa/crm/businessTripApply/types.ts new file mode 100644 index 0000000..49a2aa5 --- /dev/null +++ b/src/api/oa/crm/businessTripApply/types.ts @@ -0,0 +1,362 @@ +export interface BusinessTripApplyVO { + /** + * 申请ID + */ + tripId: string; + /** + * 申请单号 + */ + applyCode: string; + + /** + * 出差类型(1安装调试 2市场交流 3展会/会议 4其他) + */ + tripType: string; + + /** + * 申请人ID + */ + applicantId: string | number; + + /** + * 申请人姓名 + */ + applicantName: string; + + /** + * 申请人部门ID + */ + deptId: string | number; + + /** + * 申请人部门名称 + */ + deptName: string; + + /** + * 出差地点 + */ + tripLocation: string; + + /** + * 开始日期 + */ + startTime: string; + + /** + * 结束日期 + */ + endTime: string; + + /** + * 时长(天) + */ + durationDays: number; + + /** + * 出差事由 + */ + tripReason: string; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 客户ID + */ + customerId: string | number; + + /** + * 交流对象 + */ + exchangeObject: string; + + /** + * 业务方向 + */ + businessDirection: string; + + /** + * 交流目的 + */ + exchangePurpose: string; + + /** + * 交流过程简述 + */ + exchangeProcess: string; + + /** + * 会议/展会名称 + */ + meetingName: string; + + /** + * 结果反馈 + */ + feedback: string; + + /** + * 申请状态(1暂存 2审批中 3已审批 4作废) + */ + tripStatus: string; + + /** + * 流程状态 + */ + flowStatus: string; + + /** + * 备注 + */ + remark: string; + + /** + * 附件ID(多个用逗号分隔) + */ + ossId: string | number; +} + +export interface BusinessTripApplyForm extends BaseEntity { + /** + * 申请ID + */ + tripId?: string; + /** + * 申请单号 + */ + applyCode?: string; + + /** + * 出差类型(1安装调试 2市场交流 3展会/会议 4其他) + */ + tripType?: string; + + /** + * 申请人ID + */ + applicantId?: string | number; + + /** + * 申请人姓名 + */ + applicantName?: string; + + /** + * 申请人部门ID + */ + deptId?: string | number; + + /** + * 申请人部门名称 + */ + deptName?: string; + + /** + * 出差地点 + */ + tripLocation?: string; + + /** + * 开始日期 + */ + startTime?: string; + + /** + * 结束日期 + */ + endTime?: string; + + /** + * 时长(天) + */ + durationDays?: number; + + /** + * 出差事由 + */ + tripReason?: string; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 客户ID + */ + customerId?: string | number; + + /** + * 交流对象 + */ + exchangeObject?: string; + + /** + * 业务方向 + */ + businessDirection?: string; + + /** + * 交流目的 + */ + exchangePurpose?: string; + + /** + * 交流过程简述 + */ + exchangeProcess?: string; + + /** + * 会议/展会名称 + */ + meetingName?: string; + + /** + * 结果反馈 + */ + feedback?: string; + + /** + * 申请状态(1暂存 2审批中 3已审批 4作废) + */ + tripStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 附件ID(多个用逗号分隔) + */ + ossId?: string | number; +} + +export interface BusinessTripApplyQuery extends PageQuery { + /** + * 申请ID + */ + tripId?: string; + /** + * 申请单号 + */ + applyCode?: string; + + /** + * 出差类型(1安装调试 2市场交流 3展会/会议 4其他) + */ + tripType?: string; + + /** + * 申请人ID + */ + applicantId?: string | number; + + /** + * 申请人姓名 + */ + applicantName?: string; + + /** + * 申请人部门ID + */ + deptId?: string | number; + + /** + * 申请人部门名称 + */ + deptName?: string; + + /** + * 出差地点 + */ + tripLocation?: string; + + /** + * 开始日期 + */ + startTime?: string; + + /** + * 结束日期 + */ + endTime?: string; + + /** + * 时长(天) + */ + durationDays?: number; + + /** + * 出差事由 + */ + tripReason?: string; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 客户ID + */ + customerId?: string | number; + + /** + * 交流对象 + */ + exchangeObject?: string; + + /** + * 业务方向 + */ + businessDirection?: string; + + /** + * 交流目的 + */ + exchangePurpose?: string; + + /** + * 交流过程简述 + */ + exchangeProcess?: string; + + /** + * 会议/展会名称 + */ + meetingName?: string; + + /** + * 结果反馈 + */ + feedback?: string; + + /** + * 申请状态(1暂存 2审批中 3已审批 4作废) + */ + tripStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 附件ID(多个用逗号分隔) + */ + ossId?: string | number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/views/oa/crm/businessTripApply/index.vue b/src/views/oa/crm/businessTripApply/index.vue new file mode 100644 index 0000000..e882c6a --- /dev/null +++ b/src/views/oa/crm/businessTripApply/index.vue @@ -0,0 +1,454 @@ + + + +