diff --git a/src/api/oa/erp/contractInfo/index.ts b/src/api/oa/erp/contractInfo/index.ts index 681ba3f..a2f830b 100644 --- a/src/api/oa/erp/contractInfo/index.ts +++ b/src/api/oa/erp/contractInfo/index.ts @@ -74,3 +74,15 @@ export function getErpContractInfoList(query) { params: query }); } + +/** + * 提交合同并发起流程 + * @param data + */ +export const contractSubmitAndFlowStart = (data: ContractInfoForm): AxiosPromise => { + return request({ + url: '/oa/erp/contractInfo/contractSubmitAndFlowStart', + method: 'post', + data: data + }); +}; diff --git a/src/api/oa/erp/contractInfo/types.ts b/src/api/oa/erp/contractInfo/types.ts index 554064b..f867900 100644 --- a/src/api/oa/erp/contractInfo/types.ts +++ b/src/api/oa/erp/contractInfo/types.ts @@ -306,7 +306,9 @@ export interface ContractInfoForm extends BaseEntity { * 合同物料列表 */ contractMaterialList?: any[]; - + flowCode?: any; + variables?: any; + bizExt?: any; } export interface ContractInfoQuery extends PageQuery { diff --git a/src/api/oa/erp/projectContracts/index.ts b/src/api/oa/erp/projectContracts/index.ts new file mode 100644 index 0000000..74b2cc5 --- /dev/null +++ b/src/api/oa/erp/projectContracts/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ProjectContractsVO, ProjectContractsForm, ProjectContractsQuery } from '@/api/oa/erp/projectContracts/types'; + +/** + * 查询项目关联合同列表 + * @param query + * @returns {*} + */ + +export const listProjectContracts = (query?: ProjectContractsQuery): AxiosPromise => { + return request({ + url: '/oa/erp/projectContracts/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目关联合同详细 + * @param projectContractsId + */ +export const getProjectContracts = (projectContractsId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/projectContracts/' + projectContractsId, + method: 'get' + }); +}; + +/** + * 新增项目关联合同 + * @param data + */ +export const addProjectContracts = (data: ProjectContractsForm) => { + return request({ + url: '/oa/erp/projectContracts', + method: 'post', + data: data + }); +}; + +/** + * 修改项目关联合同 + * @param data + */ +export const updateProjectContracts = (data: ProjectContractsForm) => { + return request({ + url: '/oa/erp/projectContracts', + method: 'put', + data: data + }); +}; + +/** + * 删除项目关联合同 + * @param projectContractsId + */ +export const delProjectContracts = (projectContractsId: string | number | Array) => { + return request({ + url: '/oa/erp/projectContracts/' + projectContractsId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目关联合同列表 + * @param query + * @returns {*} + */ +export function getErpProjectContractsList (query) { + return request({ + url: '/oa/erp/projectContracts/getErpProjectContractsList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/erp/projectContracts/types.ts b/src/api/oa/erp/projectContracts/types.ts new file mode 100644 index 0000000..664901b --- /dev/null +++ b/src/api/oa/erp/projectContracts/types.ts @@ -0,0 +1,96 @@ +export interface ProjectContractsVO { + /** + * 关联ID + */ + projectContractsId: string | number; + + /** + * 项目ID + */ + projectId: string | number; + + /** + * 合同ID + */ + contractId: string | number; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 备注 + */ + remark: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag: string; + +} + +export interface ProjectContractsForm extends BaseEntity { + /** + * 关联ID + */ + projectContractsId?: string | number; + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 合同ID + */ + contractId?: string | number; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 备注 + */ + remark?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + +} + +export interface ProjectContractsQuery extends PageQuery { + + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 合同ID + */ + contractId?: string | number; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/erp/projectInfo/index.ts b/src/api/oa/erp/projectInfo/index.ts new file mode 100644 index 0000000..7d7b57e --- /dev/null +++ b/src/api/oa/erp/projectInfo/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ProjectInfoVO, ProjectInfoForm, ProjectInfoQuery } from '@/api/oa/erp/projectInfo/types'; + +/** + * 查询项目信息列表 + * @param query + * @returns {*} + */ + +export const listProjectInfo = (query?: ProjectInfoQuery): AxiosPromise => { + return request({ + url: '/oa/erp/projectInfo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目信息详细 + * @param projectId + */ +export const getProjectInfo = (projectId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/projectInfo/' + projectId, + method: 'get' + }); +}; + +/** + * 新增项目信息 + * @param data + */ +export const addProjectInfo = (data: ProjectInfoForm) => { + return request({ + url: '/oa/erp/projectInfo', + method: 'post', + data: data + }); +}; + +/** + * 修改项目信息 + * @param data + */ +export const updateProjectInfo = (data: ProjectInfoForm) => { + return request({ + url: '/oa/erp/projectInfo', + method: 'put', + data: data + }); +}; + +/** + * 删除项目信息 + * @param projectId + */ +export const delProjectInfo = (projectId: string | number | Array) => { + return request({ + url: '/oa/erp/projectInfo/' + projectId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目信息列表 + * @param query + * @returns {*} + */ +export function getErpProjectInfoList (query) { + return request({ + url: '/oa/erp/projectInfo/getErpProjectInfoList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/erp/projectInfo/types.ts b/src/api/oa/erp/projectInfo/types.ts new file mode 100644 index 0000000..b486ddf --- /dev/null +++ b/src/api/oa/erp/projectInfo/types.ts @@ -0,0 +1,321 @@ +export interface ProjectInfoVO { + /** + * 项目ID + */ + projectId: string | number; + + /** + * 有无合同(1有 2无) + */ + contractFlag: string; + + /** + * 项目编号 + */ + projectCode: string; + + /** + * 项目名称 + */ + projectName: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory: string; + + /** + * 备件标识(1是 0否) + */ + spareFlag: string; + + /** + * 项目类型ID + */ + projectTypeId: string | number; + + /** + * 付款方式 + */ + paymentMethod: string; + + /** + * 部门ID + */ + deptId: string | number; + + /** + * 项目经理 + */ + managerId: string | number; + + /** + * 部门负责人 + */ + chargeId: string | number; + + /** + * 分管副总 + */ + deputyId: string | number; + + /** + * 抄送人员 + */ + peopleId: string | number; + + /** + * 金额 + */ + amount: number; + + /** + * 项目状态(1暂存 2审批中 3可用) + */ + projectStatus: string; + + /** + * 流程状态 + */ + flowStatus: string; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 合同ID(预留) + */ + contractId: string | number; + + /** + * 备注 + */ + remark: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag: string; + +} + +export interface ProjectInfoForm extends BaseEntity { + /** + * 项目ID + */ + projectId?: string | number; + + /** + * 有无合同(1有 2无) + */ + contractFlag?: string; + + /** + * 项目编号 + */ + projectCode?: string; + + /** + * 项目名称 + */ + projectName?: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection?: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory?: string; + + /** + * 备件标识(1是 0否) + */ + spareFlag?: string; + + /** + * 项目类型ID + */ + projectTypeId?: string | number; + + /** + * 付款方式 + */ + paymentMethod?: string; + + /** + * 部门ID + */ + deptId?: string | number; + + /** + * 项目经理 + */ + managerId?: string | number; + + /** + * 部门负责人 + */ + chargeId?: string | number; + + /** + * 分管副总 + */ + deputyId?: string | number; + + /** + * 抄送人员 + */ + peopleId?: string | number; + + /** + * 金额 + */ + amount?: number; + + /** + * 项目状态(1暂存 2审批中 3可用) + */ + projectStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 合同ID(预留) + */ + contractId?: string | number; + + /** + * 备注 + */ + remark?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + +} + +export interface ProjectInfoQuery extends PageQuery { + + /** + * 有无合同(1有 2无) + */ + contractFlag?: string; + + /** + * 项目编号 + */ + projectCode?: string; + + /** + * 项目名称 + */ + projectName?: string; + + /** + * 业务方向(1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售) + */ + businessDirection?: string; + + /** + * 项目类别(1销售(实施、物流) 2销售(备件) 3研发 4预投) + */ + projectCategory?: string; + + /** + * 备件标识(1是 0否) + */ + spareFlag?: string; + + /** + * 项目类型ID + */ + projectTypeId?: string | number; + + /** + * 付款方式 + */ + paymentMethod?: string; + + /** + * 部门ID + */ + deptId?: string | number; + + /** + * 项目经理 + */ + managerId?: string | number; + + /** + * 部门负责人 + */ + chargeId?: string | number; + + /** + * 分管副总 + */ + deputyId?: string | number; + + /** + * 抄送人员 + */ + peopleId?: string | number; + + /** + * 金额 + */ + amount?: number; + + /** + * 项目状态(1暂存 2审批中 3可用) + */ + projectStatus?: string; + + /** + * 流程状态 + */ + flowStatus?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 合同ID(预留) + */ + contractId?: string | number; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/oa/erp/projectType/index.ts b/src/api/oa/erp/projectType/index.ts new file mode 100644 index 0000000..c8eb96f --- /dev/null +++ b/src/api/oa/erp/projectType/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ProjectTypeVO, ProjectTypeForm, ProjectTypeQuery } from '@/api/oa/erp/projectType/types'; + +/** + * 查询项目类型信息列表 + * @param query + * @returns {*} + */ + +export const listProjectType = (query?: ProjectTypeQuery): AxiosPromise => { + return request({ + url: '/oa/erp/projectType/list', + method: 'get', + params: query + }); +}; + +/** + * 查询项目类型信息详细 + * @param projectTypeId + */ +export const getProjectType = (projectTypeId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/projectType/' + projectTypeId, + method: 'get' + }); +}; + +/** + * 新增项目类型信息 + * @param data + */ +export const addProjectType = (data: ProjectTypeForm) => { + return request({ + url: '/oa/erp/projectType', + method: 'post', + data: data + }); +}; + +/** + * 修改项目类型信息 + * @param data + */ +export const updateProjectType = (data: ProjectTypeForm) => { + return request({ + url: '/oa/erp/projectType', + method: 'put', + data: data + }); +}; + +/** + * 删除项目类型信息 + * @param projectTypeId + */ +export const delProjectType = (projectTypeId: string | number | Array) => { + return request({ + url: '/oa/erp/projectType/' + projectTypeId, + method: 'delete' + }); +}; + +/** + * 下拉框查询项目类型信息列表 + * @param query + * @returns {*} + */ +export function getErpProjectTypeList (query) { + return request({ + url: '/oa/erp/projectType/getErpProjectTypeList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/erp/projectType/types.ts b/src/api/oa/erp/projectType/types.ts new file mode 100644 index 0000000..f49ba61 --- /dev/null +++ b/src/api/oa/erp/projectType/types.ts @@ -0,0 +1,115 @@ +export interface ProjectTypeVO { + /** + * 项目类型ID + */ + projectTypeId: string | number; + + /** + * 父级ID + */ + parentId: string | number; + + /** + * 项目类型名称 + */ + typeName: string; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 备件标识(1是 0否) + */ + spareFlag: string; + + /** + * 备注 + */ + remark: string; + + /** + * 顶级标识(1是 0否) + */ + topFlag: string; + + /** + * 子对象 + */ + children: ProjectTypeVO[]; +} + +export interface ProjectTypeForm extends BaseEntity { + /** + * 项目类型ID + */ + projectTypeId?: string | number; + + /** + * 父级ID + */ + parentId?: string | number; + + /** + * 项目类型名称 + */ + typeName?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 备件标识(1是 0否) + */ + spareFlag?: string; + + /** + * 备注 + */ + remark?: string; + + /** + * 顶级标识(1是 0否) + */ + topFlag?: string; + +} + +export interface ProjectTypeQuery { + + /** + * 父级ID + */ + parentId?: string | number; + + /** + * 项目类型名称 + */ + typeName?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 备件标识(1是 0否) + */ + spareFlag?: string; + + /** + * 顶级标识(1是 0否) + */ + topFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts index 03c54d5..d147ee3 100644 --- a/src/api/system/dept/index.ts +++ b/src/api/system/dept/index.ts @@ -63,3 +63,12 @@ export const delDept = (deptId: number | string) => { method: 'delete' }); }; + +// 查询全部部门列表 +export const allListDept = (query?: DeptQuery) => { + return request({ + url: '/system/dept/allListDept', + method: 'get', + params: query + }); +}; diff --git a/src/views/oa/erp/contractInfo/edit.vue b/src/views/oa/erp/contractInfo/edit.vue index a29e015..48cfff1 100644 --- a/src/views/oa/erp/contractInfo/edit.vue +++ b/src/views/oa/erp/contractInfo/edit.vue @@ -1,9 +1,9 @@ - + - - - - - 保 存 - 返 回 - - - @@ -338,7 +329,7 @@ @@ -369,28 +360,31 @@ diff --git a/src/views/oa/erp/projectContracts/index.vue b/src/views/oa/erp/projectContracts/index.vue new file mode 100644 index 0000000..625df85 --- /dev/null +++ b/src/views/oa/erp/projectContracts/index.vue @@ -0,0 +1,270 @@ + + + diff --git a/src/views/oa/erp/projectInfo/index.vue b/src/views/oa/erp/projectInfo/index.vue new file mode 100644 index 0000000..8d588e8 --- /dev/null +++ b/src/views/oa/erp/projectInfo/index.vue @@ -0,0 +1,437 @@ + + + diff --git a/src/views/oa/erp/projectType/index.vue b/src/views/oa/erp/projectType/index.vue new file mode 100644 index 0000000..6a8b51a --- /dev/null +++ b/src/views/oa/erp/projectType/index.vue @@ -0,0 +1,290 @@ + + +