diff --git a/src/api/oa/erp/erpProjectChange/index.ts b/src/api/oa/erp/erpProjectChange/index.ts new file mode 100644 index 0000000..ea51c0f --- /dev/null +++ b/src/api/oa/erp/erpProjectChange/index.ts @@ -0,0 +1,99 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ErpProjectChangeVO, ErpProjectChangeForm, ErpProjectChangeQuery } from '@/api/oa/erp/erpProjectChange/types'; + +/** + * 查询项目变更申请列表 + * @param query + * @returns {*} + */ + +export const listErpProjectChange = (query?: ErpProjectChangeQuery): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChange/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目变更申请详细 + * @param projectChangeId + */ +export const getErpProjectChange = (projectChangeId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChange/' + projectChangeId, + method: 'get' + }); +}; + +/** + * 新增项目变更申请 + * @param data + */ +export const addErpProjectChange = (data: ErpProjectChangeForm) => { + return request({ + url: '/oa/erp/erpProjectChange', + method: 'post', + data: data + }); +}; + +/** + * 修改项目变更申请 + * @param data + */ +export const updateErpProjectChange = (data: ErpProjectChangeForm) => { + return request({ + url: '/oa/erp/erpProjectChange', + method: 'put', + data: data + }); +}; + +/** + * 删除项目变更申请 + * @param projectChangeId + */ +export const delErpProjectChange = (projectChangeId: string | number | Array) => { + return request({ + url: '/oa/erp/erpProjectChange/' + projectChangeId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目变更申请列表 + * @param query + * @returns {*} + */ +export function getErpProjectChangeList (query) { + return request({ + url: '/oa/erp/erpProjectChange/getErpProjectChangeList', + method: 'get', + params: query + }); +}; + +/** + * 根据项目ID准备项目变更信息(带出项目信息和项目计划阶段) + * @param projectId + */ +export const prepareProjectChangeWithInfo = (projectId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChange/prepareWithInfo/' + projectId, + method: 'get' + }); +}; + +/** + * 提交项目变更并发起审批流 + * @param data + */ +export const submitProjectChangeAndFlowStart = (data: ErpProjectChangeForm) => { + return request({ + url: '/oa/erp/erpProjectChange/submitAndFlowStart', + method: 'post', + data: data + }); +}; diff --git a/src/api/oa/erp/erpProjectChange/types.ts b/src/api/oa/erp/erpProjectChange/types.ts new file mode 100644 index 0000000..b7426eb --- /dev/null +++ b/src/api/oa/erp/erpProjectChange/types.ts @@ -0,0 +1,521 @@ +/** + * 预算变更明细接口 + */ +export interface ErpProjectChangeBudget { + /** + * 预算变更ID + */ + changeBudgetId?: string | number; + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 预算详情ID + */ + budgetDetailId?: string | number; + + /** + * 科目名称 + */ + subjectName?: string; + + /** + * 变更前预算 + */ + budgetBefore?: number; + + /** + * 变更后预算 + */ + budgetAfter?: number; + + /** + * 已使用金额 + */ + amountUsed?: number; + + /** + * 费用调整原因 + */ + adjustmentReason?: string; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; +} + +/** + * 进度变更明细接口 + */ +export interface ErpProjectChangeProgress { + /** + * 进度变更ID + */ + changeProgressId?: string | number; + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 计划阶段ID + */ + planStageId?: string | number; + + /** + * 项目阶段(字典project_phases) + */ + projectPhases?: string; + + /** + * 项目里程碑 + */ + milestoneName?: string; + + /** + * 原计划时间起 + */ + originalStart?: string; + + /** + * 原计划时间止 + */ + originalEnd?: string; + + /** + * 变更后时间起 + */ + changedStart?: string; + + /** + * 变更后时间止 + */ + changedEnd?: string; + + /** + * 里程碑完成程度 + */ + completionDegree?: number; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; +} + +export interface ErpProjectChangeVO { + /** + * 项目变更ID + */ + projectChangeId: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 项目编号 + */ + projectCode: string; + + /** + * 项目名称 + */ + projectName: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory: string; + + /** + * 变更类型(多选)(1预算变更 2计划变更 3范围变更 4需求变更 5合同变更) + */ + changeType: string; + + /** + * 变更次数 + */ + changeNumber: number; + + /** + * 项目经理ID + */ + projectManagerId: string | number; + + /** + * 项目经理姓名 + */ + projectManagerName: string; + + /** + * 部门负责人ID + */ + deptHeadId: string | number; + + /** + * 部门负责人姓名 + */ + deptHeadName: string; + + /** + * 分管副总ID + */ + responsibleVpId: string | number; + + /** + * 分管副总姓名 + */ + responsibleVpName: string; + + /** + * 申请变更时间 + */ + applyChangeDate: string; + + /** + * 项目合同额 + */ + contractAmount: number; + + /** + * 项目合同净额 + */ + contractNetAmount: number; + + /** + * 项目当前情况 + */ + currentStatus: string; + + /** + * 变更原因 + */ + changeReason: string; + + /** + * 后续工作 + */ + followUpWork: string; + + /** + * 项目变更状态(1暂存 2审批中 3可用) + */ + projectChangeStatus: string; + + /** + * 流程状态 + */ + flowStatus: string; + + /** + * 备注 + */ + remark: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag: string; + + /** + * 创建人 + */ + createBy: number; + + /** + * 创建时间 + */ + createTime: string; + + /** + * 预算变更明细列表 + */ + budgetList?: ErpProjectChangeBudget[]; + + /** + * 进度变更明细列表 + */ + progressList?: ErpProjectChangeProgress[]; + +} + +export interface ErpProjectChangeForm extends BaseEntity { + /** + * 项目变更ID + */ + projectChangeId?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 项目编号 + */ + projectCode?: string; + + /** + * 项目名称 + */ + projectName?: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory?: string; + + /** + * 变更类型(多选)(1预算变更 2计划变更 3范围变更 4需求变更 5合同变更) + */ + changeType?: string; + + /** + * 变更次数 + */ + changeNumber?: number; + + /** + * 项目经理ID + */ + projectManagerId?: string | number; + + /** + * 项目经理姓名 + */ + projectManagerName?: string; + + /** + * 部门负责人ID + */ + deptHeadId?: string | number; + + /** + * 部门负责人姓名 + */ + deptHeadName?: string; + + /** + * 分管副总ID + */ + responsibleVpId?: string | number; + + /** + * 分管副总姓名 + */ + responsibleVpName?: string; + + /** + * 申请变更时间 + */ + applyChangeDate?: string; + + /** + * 项目合同额 + */ + contractAmount?: number; + + /** + * 项目合同净额 + */ + contractNetAmount?: number; + + /** + * 项目当前情况 + */ + currentStatus?: string; + + /** + * 变更原因 + */ + changeReason?: string; + + /** + * 后续工作 + */ + followUpWork?: string; + + /** + * 项目变更状态(1暂存 2审批中 3可用) + */ + projectChangeStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 预算变更明细列表 + */ + budgetList?: ErpProjectChangeBudget[]; + + /** + * 进度变更明细列表 + */ + progressList?: ErpProjectChangeProgress[]; + + /** + * 流程编码 + */ + flowCode?: string; + + /** + * 流程处理人 + */ + handler?: string; + + /** + * 流程变量 + */ + variables?: any; + + /** + * 业务扩展数据 + */ + bizExt?: any; + +} + +export interface ErpProjectChangeQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 项目编号 + */ + projectCode?: string; + + /** + * 项目名称 + */ + projectName?: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory?: string; + + /** + * 变更类型(多选)(1预算变更 2计划变更 3范围变更 4需求变更 5合同变更) + */ + changeType?: string; + + /** + * 变更次数 + */ + changeNumber?: number; + + /** + * 项目经理ID + */ + projectManagerId?: string | number; + + /** + * 项目经理姓名 + */ + projectManagerName?: string; + + /** + * 部门负责人ID + */ + deptHeadId?: string | number; + + /** + * 部门负责人姓名 + */ + deptHeadName?: string; + + /** + * 分管副总ID + */ + responsibleVpId?: string | number; + + /** + * 分管副总姓名 + */ + responsibleVpName?: string; + + /** + * 申请变更时间 + */ + applyChangeDate?: string; + + /** + * 项目合同额 + */ + contractAmount?: number; + + /** + * 项目合同净额 + */ + contractNetAmount?: number; + + /** + * 项目当前情况 + */ + currentStatus?: string; + + /** + * 变更原因 + */ + changeReason?: string; + + /** + * 后续工作 + */ + followUpWork?: string; + + /** + * 项目变更状态(1暂存 2审批中 3可用) + */ + projectChangeStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/erp/erpProjectChangeBudget/index.ts b/src/api/oa/erp/erpProjectChangeBudget/index.ts new file mode 100644 index 0000000..f3bfbf2 --- /dev/null +++ b/src/api/oa/erp/erpProjectChangeBudget/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ErpProjectChangeBudgetVO, ErpProjectChangeBudgetForm, ErpProjectChangeBudgetQuery } from '@/api/oa/erp/erpProjectChangeBudget/types'; + +/** + * 查询项目预算变更明细列表 + * @param query + * @returns {*} + */ + +export const listErpProjectChangeBudget = (query?: ErpProjectChangeBudgetQuery): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChangeBudget/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目预算变更明细详细 + * @param changeBudgetId + */ +export const getErpProjectChangeBudget = (changeBudgetId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChangeBudget/' + changeBudgetId, + method: 'get' + }); +}; + +/** + * 新增项目预算变更明细 + * @param data + */ +export const addErpProjectChangeBudget = (data: ErpProjectChangeBudgetForm) => { + return request({ + url: '/oa/erp/erpProjectChangeBudget', + method: 'post', + data: data + }); +}; + +/** + * 修改项目预算变更明细 + * @param data + */ +export const updateErpProjectChangeBudget = (data: ErpProjectChangeBudgetForm) => { + return request({ + url: '/oa/erp/erpProjectChangeBudget', + method: 'put', + data: data + }); +}; + +/** + * 删除项目预算变更明细 + * @param changeBudgetId + */ +export const delErpProjectChangeBudget = (changeBudgetId: string | number | Array) => { + return request({ + url: '/oa/erp/erpProjectChangeBudget/' + changeBudgetId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目预算变更明细列表 + * @param query + * @returns {*} + */ +export function getErpProjectChangeBudgetList (query) { + return request({ + url: '/oa/erp/erpProjectChangeBudget/getErpProjectChangeBudgetList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/erp/erpProjectChangeBudget/types.ts b/src/api/oa/erp/erpProjectChangeBudget/types.ts new file mode 100644 index 0000000..21cbfa2 --- /dev/null +++ b/src/api/oa/erp/erpProjectChangeBudget/types.ts @@ -0,0 +1,156 @@ +export interface ErpProjectChangeBudgetVO { + /** + * 预算变更ID + */ + changeBudgetId: string | number; + + /** + * 变更申请ID + */ + projectChangeId: string | number; + + /** + * 预算详情ID + */ + budgetDetailId: string | number; + + /** + * 科目名称(材料费、人工费、安装费、差旅费、其他费用) + */ + subjectName: string; + + /** + * 变更前预算 + */ + budgetBefore: number; + + /** + * 变更后预算 + */ + budgetAfter: number; + + /** + * 已使用金额 + */ + amountUsed: number; + + /** + * 费用调整原因 + */ + adjustmentReason: string; + + /** + * 排序顺序 + */ + sortOrder: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface ErpProjectChangeBudgetForm extends BaseEntity { + /** + * 预算变更ID + */ + changeBudgetId?: string | number; + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 预算详情ID + */ + budgetDetailId?: string | number; + + /** + * 科目名称(材料费、人工费、安装费、差旅费、其他费用) + */ + subjectName?: string; + + /** + * 变更前预算 + */ + budgetBefore?: number; + + /** + * 变更后预算 + */ + budgetAfter?: number; + + /** + * 已使用金额 + */ + amountUsed?: number; + + /** + * 费用调整原因 + */ + adjustmentReason?: string; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface ErpProjectChangeBudgetQuery extends PageQuery { + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 预算详情ID + */ + budgetDetailId?: string | number; + + /** + * 科目名称(材料费、人工费、安装费、差旅费、其他费用) + */ + subjectName?: string; + + /** + * 变更前预算 + */ + budgetBefore?: number; + + /** + * 变更后预算 + */ + budgetAfter?: number; + + /** + * 已使用金额 + */ + amountUsed?: number; + + /** + * 费用调整原因 + */ + adjustmentReason?: string; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/erp/erpProjectChangeProgress/index.ts b/src/api/oa/erp/erpProjectChangeProgress/index.ts new file mode 100644 index 0000000..ff88b8b --- /dev/null +++ b/src/api/oa/erp/erpProjectChangeProgress/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ErpProjectChangeProgressVO, ErpProjectChangeProgressForm, ErpProjectChangeProgressQuery } from '@/api/oa/erp/erpProjectChangeProgress/types'; + +/** + * 查询项目进度变更明细列表 + * @param query + * @returns {*} + */ + +export const listErpProjectChangeProgress = (query?: ErpProjectChangeProgressQuery): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChangeProgress/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目进度变更明细详细 + * @param changeProgressId + */ +export const getErpProjectChangeProgress = (changeProgressId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectChangeProgress/' + changeProgressId, + method: 'get' + }); +}; + +/** + * 新增项目进度变更明细 + * @param data + */ +export const addErpProjectChangeProgress = (data: ErpProjectChangeProgressForm) => { + return request({ + url: '/oa/erp/erpProjectChangeProgress', + method: 'post', + data: data + }); +}; + +/** + * 修改项目进度变更明细 + * @param data + */ +export const updateErpProjectChangeProgress = (data: ErpProjectChangeProgressForm) => { + return request({ + url: '/oa/erp/erpProjectChangeProgress', + method: 'put', + data: data + }); +}; + +/** + * 删除项目进度变更明细 + * @param changeProgressId + */ +export const delErpProjectChangeProgress = (changeProgressId: string | number | Array) => { + return request({ + url: '/oa/erp/erpProjectChangeProgress/' + changeProgressId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目进度变更明细列表 + * @param query + * @returns {*} + */ +export function getErpProjectChangeProgressList (query) { + return request({ + url: '/oa/erp/erpProjectChangeProgress/getErpProjectChangeProgressList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/erp/erpProjectChangeProgress/types.ts b/src/api/oa/erp/erpProjectChangeProgress/types.ts new file mode 100644 index 0000000..d098f37 --- /dev/null +++ b/src/api/oa/erp/erpProjectChangeProgress/types.ts @@ -0,0 +1,171 @@ +export interface ErpProjectChangeProgressVO { + /** + * 进度变更ID + */ + changeProgressId: string | number; + + /** + * 变更申请ID + */ + projectChangeId: string | number; + + /** + * 计划阶段ID + */ + planStageId: string | number; + + /** + * 项目里程碑 + */ + milestoneName: string; + + /** + * 原计划时间起 + */ + originalStart: string; + + /** + * 原计划时间止 + */ + originalEnd: string; + + /** + * 变更后时间起 + */ + changedStart: string; + + /** + * 变更后时间止 + */ + changedEnd: string; + + /** + * 里程碑完成程度(百分比) + */ + completionDegree: number; + + /** + * 排序顺序 + */ + sortOrder: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface ErpProjectChangeProgressForm extends BaseEntity { + /** + * 进度变更ID + */ + changeProgressId?: string | number; + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 计划阶段ID + */ + planStageId?: string | number; + + /** + * 项目里程碑 + */ + milestoneName?: string; + + /** + * 原计划时间起 + */ + originalStart?: string; + + /** + * 原计划时间止 + */ + originalEnd?: string; + + /** + * 变更后时间起 + */ + changedStart?: string; + + /** + * 变更后时间止 + */ + changedEnd?: string; + + /** + * 里程碑完成程度(百分比) + */ + completionDegree?: number; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface ErpProjectChangeProgressQuery extends PageQuery { + + /** + * 变更申请ID + */ + projectChangeId?: string | number; + + /** + * 计划阶段ID + */ + planStageId?: string | number; + + /** + * 项目里程碑 + */ + milestoneName?: string; + + /** + * 原计划时间起 + */ + originalStart?: string; + + /** + * 原计划时间止 + */ + originalEnd?: string; + + /** + * 变更后时间起 + */ + changedStart?: string; + + /** + * 变更后时间止 + */ + changedEnd?: string; + + /** + * 里程碑完成程度(百分比) + */ + completionDegree?: number; + + /** + * 排序顺序 + */ + sortOrder?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/views/oa/crm/crmQuoteInfo/edit.vue.backup b/src/views/oa/crm/crmQuoteInfo/edit.vue.backup new file mode 100644 index 0000000..24e7817 --- /dev/null +++ b/src/views/oa/crm/crmQuoteInfo/edit.vue.backup @@ -0,0 +1,839 @@ + + + + + diff --git a/src/views/oa/erp/erpProjectChange/edit.vue b/src/views/oa/erp/erpProjectChange/edit.vue new file mode 100644 index 0000000..385eeb7 --- /dev/null +++ b/src/views/oa/erp/erpProjectChange/edit.vue @@ -0,0 +1,423 @@ + + + diff --git a/src/views/oa/erp/erpProjectChange/index.vue b/src/views/oa/erp/erpProjectChange/index.vue new file mode 100644 index 0000000..2ca74d7 --- /dev/null +++ b/src/views/oa/erp/erpProjectChange/index.vue @@ -0,0 +1,492 @@ + + + diff --git a/src/views/oa/erp/erpProjectChangeBudget/index.vue b/src/views/oa/erp/erpProjectChangeBudget/index.vue new file mode 100644 index 0000000..c09ccaf --- /dev/null +++ b/src/views/oa/erp/erpProjectChangeBudget/index.vue @@ -0,0 +1,305 @@ + + + diff --git a/src/views/oa/erp/erpProjectChangeProgress/index.vue b/src/views/oa/erp/erpProjectChangeProgress/index.vue new file mode 100644 index 0000000..1ac72f9 --- /dev/null +++ b/src/views/oa/erp/erpProjectChangeProgress/index.vue @@ -0,0 +1,374 @@ + + + diff --git a/src/views/oa/erp/erpProjectPlan/gantt.vue b/src/views/oa/erp/erpProjectPlan/gantt.vue new file mode 100644 index 0000000..d7341f7 --- /dev/null +++ b/src/views/oa/erp/erpProjectPlan/gantt.vue @@ -0,0 +1,411 @@ + + + + +