更新采购申请

This commit is contained in:
吴红兵
2026-03-01 16:21:26 +08:00
parent efc5dda78a
commit 22fc35b87e
93 changed files with 45 additions and 45 deletions

View File

@@ -0,0 +1,208 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 获取列表
* @param query 查询参数
*/
export function fetchList(query?: any) {
return request({
url: '/finance/financenormalstu/page',
method: 'get',
params: query
});
}
/**
* 新增
* @param obj 对象数据
*/
export function addObj(obj: any) {
return request({
url: '/finance/financenormalstu',
method: 'post',
data: obj
});
}
/**
* 获取详情
* @param id ID
*/
export function getObj(id: string | number) {
return request({
url: '/finance/financenormalstu/' + id,
method: 'get'
});
}
/**
* 删除
* @param id ID
*/
export function delObj(id: string | number) {
return request({
url: '/finance/financenormalstu/' + id,
method: 'delete'
});
}
/**
* 更新
* @param obj 对象数据
*/
export function putObj(obj: any) {
return request({
url: '/finance/financenormalstu',
method: 'put',
data: obj
});
}
/**
* 班级提交
* @param obj 对象数据
*/
export function classSubmit(obj: any) {
return request({
url: '/finance/financenormalstu/classSubmit',
method: 'put',
data: obj
});
}
/**
* 自动学费
* @param obj 对象数据
*/
export function autoXF(obj: any) {
return request({
url: '/finance/financenormalstu/autoXF',
method: 'put',
data: obj
});
}
/**
* 获取学生信息
* @param obj 对象数据
*/
export function getStuInfo(obj: any) {
return request({
url: '/finance/financenormalstu/getStuInfo',
method: 'post',
data: obj
});
}
/**
* 班级缴费
* @param obj 对象数据
*/
export function fsClass(obj: any) {
return request({
url: '/finance/financenormalstu/fsClass',
method: 'put',
data: obj
});
}
/**
* 学生缴费
* @param obj 对象数据
*/
export function stuFs(obj: any) {
return request({
url: '/finance/financenormalstu/stuFs',
method: 'put',
data: obj
});
}
/**
* 学生缴费2
* @param obj 对象数据
*/
export function stuFs2(obj: any) {
return request({
url: '/finance/financePay/stuFs',
method: 'put',
data: obj
});
}
/**
* 更新缴费状态
* @param obj 对象数据,包含 serialNumber
*/
export function updateFs(obj: any) {
return request({
url: '/finance/financePay/updateFs',
method: 'put',
data: obj
});
}
/**
* 批量更新缴费状态
* @param obj 对象数据
*/
export function updateAllFS(obj: any) {
return request({
url: '/finance/financePay/updateFsAll',
method: 'put',
data: obj
});
}
/**
* 更新普通缴费状态
* @param obj 对象数据
*/
export function updateNoramlFs(obj: any) {
return request({
url: '/finance/financenormalstu/updateNoramlFs',
method: 'put',
data: obj
});
}
/**
* 导出信息
* @param query 查询参数
*/
export function exportInfo(query?: any) {
return request({
url: '/finance/financenormalstu/exportInfo',
method: 'get',
params: query
});
}
/**
* 更新班级学费
* @param obj 对象数据
*/
export function updateClassXF(obj: any) {
return request({
url: '/finance/financenormalstu/updateClassXF',
method: 'put',
data: obj
});
}

View File

@@ -0,0 +1,94 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 分页查询
* @param params 查询参数
*/
export function getPage(params?: any) {
return request({
url: '/purchase/purchasingagent/page',
method: 'get',
params
});
}
/**
* 通过id查询
* @param id ID
*/
export function getObj(id: string | number) {
return request({
url: '/purchase/purchasingagent/' + id,
method: 'get'
});
}
/**
* 新增招标代理
* @param obj 对象数据
*/
export function addObj(obj: any) {
return request({
url: '/purchase/purchasingagent',
method: 'post',
data: obj
});
}
/**
* 修改招标代理
* @param obj 对象数据
*/
export function editObj(obj: any) {
return request({
url: '/purchase/purchasingagent/edit',
method: 'post',
data: obj
});
}
/**
* 删除招标代理
* @param id ID
*/
export function delObj(id: string | number) {
return request({
url: '/purchase/purchasingagent/delete',
method: 'post',
data: id
});
}
/**
* 代理汇总(按条件统计各代理的项目数、预算金额、合同金额)
*/
export function getAgentSummary(params?: {
deptCode?: string
planStartDate?: string
planEndDate?: string
hasAcceptEvaluation?: string
}) {
return request({
url: '/purchase/purchasingagent/summary',
method: 'get',
params
});
}

View File

@@ -0,0 +1,89 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 获取树形列表(全量,数据量大时建议用懒加载接口)
* @param params 查询参数
*/
export function getTree(params?: any) {
return request({
url: '/purchase/purchasingcategory/tree',
method: 'get',
params
});
}
/**
* 获取树根节点(懒加载用)
*/
export function getTreeRoots() {
return request({
url: '/purchase/purchasingcategory/tree/roots',
method: 'get'
});
}
/**
* 获取子节点(懒加载用)
* @param parentCode 父节点编码
*/
export function getTreeChildren(parentCode: string) {
return request({
url: '/purchase/purchasingcategory/tree/children',
method: 'get',
params: { parentCode }
});
}
/**
* 新增
* @param obj 对象数据
*/
export function addObj(obj: any) {
return request({
url: '/purchase/purchasingcategory',
method: 'post',
data: obj
});
}
/**
* 删除
* @param id ID
*/
export function delObj(id: string | number) {
return request({
url: '/purchase/purchasingcategory/delete',
method: 'post',
data: {id:id}
});
}
/**
* 更新
* @param obj 对象数据
*/
export function editObj(obj: any) {
return request({
url: '/purchase/purchasingcategory/edit',
method: 'post',
data: obj
});
}

View File

@@ -0,0 +1,131 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 获取采购文件列表(含历史版本)
* @param applyId 采购申请ID
*/
export function getDocList(applyId: number | string) {
return request({
url: '/purchase/purchasingdoc/list/' + applyId,
method: 'get'
});
}
/**
* 上传采购文件(招标代理)
* @param data 文件信息
*/
export function uploadDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/upload',
method: 'post',
data
});
}
/**
* 重新上传采购文件
* @param data 文件信息
*/
export function reuploadDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/reupload',
method: 'post',
data
});
}
/**
* 获取采购文件下载地址
* @param id 采购文件ID
*/
export function getDocDownloadUrl(id: number | string) {
return `/purchase/purchasingdoc/download/${id}`;
}
/**
* 确认无误
* @param data 审核信息
*/
export function confirmDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/confirm',
method: 'post',
data
});
}
/**
* 退回修改
* @param data 审核信息
*/
export function returnDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/return',
method: 'post',
data
});
}
/**
* 确认流程结束
* @param applyId 采购申请ID
*/
export function completeDoc(applyId: number | string) {
return request({
url: '/purchase/purchasingdoc/complete',
method: 'post',
params: { applyId }
});
}
/**
* 获取审核记录
* @param applyId 采购申请ID
*/
export function getAuditRecords(applyId: number | string) {
return request({
url: '/purchase/purchasingdoc/audit-records/' + applyId,
method: 'get'
});
}
/**
* 获取待审核列表
* @param params 分页参数
*/
export function getMyPending(params?: any) {
return request({
url: '/purchase/purchasingdoc/my-pending',
method: 'get',
params
});
}
/**
* 获取可执行操作
* @param applyId 采购申请ID
*/
export function getAvailableActions(applyId: number | string) {
return request({
url: '/purchase/purchasingdoc/actions/' + applyId,
method: 'get'
});
}

View File

@@ -0,0 +1,336 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 分页查询
* @param params 查询参数
*/
export function getPage(params?: any) {
return request({
url: '/purchase/purchasingapply/page',
method: 'get',
params
});
}
/**
* 通过id查询
* @param id ID
*/
export function getObj(id: number) {
return request({
url: '/purchase/purchasingapply/' + id,
method: 'get'
});
}
/**
* 新增采购申请(提交并启动流程)
* @param obj 对象数据
*/
export function addObj(obj: any) {
return request({
url: '/purchase/purchasingapply/submit',
method: 'post',
data: obj
});
}
/**
* 暂存采购申请
* @param obj 对象数据
*/
export function tempStore(obj: any) {
return request({
url: '/purchase/purchasingapply/temp-store',
method: 'post',
data: obj
});
}
/**
* 提交采购申请(启动流程)
* @param obj 对象数据
*/
export function submitObj(obj: any) {
return request({
url: '/purchase/purchasingapply/submit',
method: 'post',
data: obj
});
}
/**
* 分配招标代理(指定或随机),仅学校统一采购或部门自行采购且委托采购中心采购时可用
* @param applyId 采购申请ID
* @param mode random | designated
* @param agentId 指定模式时的代理ID
*/
export function assignAgent(applyId: number | string, mode: 'random' | 'designated', agentId?: string) {
return request({
url: '/purchase/purchasingapply/assign-agent',
method: 'post',
data: { id: Number(applyId), mode, agentId: agentId || undefined }
});
}
/**
* 发送招标代理:将采购项目发送给已分配的招标代理
* @param applyId 采购申请ID
*/
export function sendToAgent(applyId: number | string) {
return request({
url: '/purchase/purchasingapply/sendToAgent',
method: 'post',
data: { id: Number(applyId) }
});
}
/**
* 撤回招标代理:撤回已发送的招标代理
* @param applyId 采购申请ID
*/
export function revokeAgent(applyId: number | string) {
return request({
url: '/purchase/purchasingapply/revokeAgent',
method: 'post',
data: { id: Number(applyId) }
});
}
/**
* 保存实施采购方式(分步骤实施采购-第一步)
* @param id 采购申请ID
* @param implementType 实施采购方式1-自行组织采购2-委托代理采购
*/
export function saveImplementType(id: number | string, implementType: string) {
return request({
url: '/purchase/purchasingapply/save-implement-type',
method: 'post',
data: { id: Number(id), implementType }
});
}
/**
* 修改采购申请
* @param obj 对象数据
*/
export function editObj(obj: any) {
return request({
url: '/purchase/purchasingapply/edit',
method: 'post',
data: obj
});
}
/**
* 删除采购申请
* @param id ID
*/
export function delObj(id: number) {
return request({
url: '/purchase/purchasingapply/delete',
method: 'post',
data: id
});
}
/**
* 获取采购申请附件列表
* @param purchaseId 采购申请ID
*/
export function getApplyFiles(purchaseId: string | number) {
return request({
url: '/purchase/purchasingfiles/applyFiles',
method: 'post',
params: { purchaseId }
});
}
/**
* 履约验收关联的合同列表(未被使用的合同)
* @param params 可选参数,如 id 等
*/
export function getContracts(params?: any) {
return request({
url: '/purchase/purchasingapply/getContracts',
method: 'get',
params
});
}
/**
* 实施采购:上传采购文件并关联到申请单(可同时保存采购代表人方式与人员)
* @param id 采购申请ID
* @param fileIds 已上传的采购文件ID列表fileType=130
* @param implementType 实施采购方式 1:自行组织采购 2:委托代理采购
* @param representorTeacherNo 需求部门初审-指定采购代表人(单人)
* @param representors 需求部门初审-部门多人逗号分隔
*/
export function implementApply(
id: number,
fileIds: string[],
implementType?: string,
representorTeacherNo?: string,
representors?: string
) {
return request({
url: '/purchase/purchasingapply/implement',
method: 'get',
params: { id, fileIds, implementType, representorTeacherNo, representors }
});
}
/**
* 发起采购文件审批流程(需已实施采购并上传采购文件)
* @param id 采购申请ID
* @param representorTeacherNo 需求部门初审-指定采购代表人单人用户ID或工号
* @param representors 需求部门初审-部门多人由系统抽取多人用户ID或工号逗号分隔
*/
export function startFileFlow(
id: number,
representorTeacherNo?: string,
representors?: string
) {
return request({
url: '/purchase/purchasingapply/startFileFlow',
method: 'post',
data: { id, representorTeacherNo, representors }
});
}
/**
* 获取部门下人员(用于选采购代表人)
*/
export function getDeptMembers() {
return request({
url: '/purchase/purchasingapply/getDeptMembers',
method: 'get'
});
}
/**
* 保存采购代表(指定单人或部门多人)
* @param id 采购申请ID
* @param representorTeacherNo 指定采购代表人单人用户ID或工号
* @param representors 部门多人由系统抽取多人用户ID或工号逗号分隔
*/
export function saveRepresentor(id: number, representorTeacherNo?: string, representors?: string) {
return request({
url: '/purchase/purchasingapply/saveRepresentor',
method: 'post',
data: { id, representorTeacherNo, representors }
});
}
/**
* 文件归档按文件类型打包下载该申请单下所有附件的下载地址GET 请求,浏览器直接下载 zip
* @param purchaseId 采购申请ID
*/
export function getArchiveDownloadUrl(purchaseId: string | number) {
return `/purchase/purchasingfiles/archive?purchaseId=${encodeURIComponent(String(purchaseId))}`;
}
/**
* 下载审批表:导出采购审批表 Word 文档apply.docx 模板,仅占位符替换)
* @param id 采购申请ID
*/
export function getApplyTemplateDownloadUrl(id: string | number) {
return `/purchase/purchasingapply/export-apply-template?id=${encodeURIComponent(String(id))}`;
}
/**
* 下载文件审批表:导出采购文件审批表 Word 文档fileapply.docx 模板)
* @param id 采购申请ID
*/
export function getFileApplyTemplateDownloadUrl(id: string | number) {
return `/purchase/purchasingapply/export-file-apply-template?id=${encodeURIComponent(String(id))}`;
}
// ==================== 招标代理专用接口 ====================
/**
* 招标代理获取待处理列表
* @param params 分页参数
*/
export function getAgentPendingList(params?: any) {
return request({
url: '/purchase/purchasingdoc/agent/list',
method: 'get',
params
});
}
/**
* 招标代理获取采购需求文件列表
* @param applyId 采购申请ID
*/
export function getAgentRequirementFiles(applyId: number | string) {
return request({
url: `/purchase/purchasingdoc/agent/requirement/${applyId}`,
method: 'get'
});
}
/**
* 招标代理获取项目详情(仅返回采购编号和项目名称)
* @param applyId 采购申请ID
*/
export function getAgentApplyDetail(applyId: number | string) {
return request({
url: `/purchase/purchasingdoc/agent/detail/${applyId}`,
method: 'get'
});
}
/**
* 招标代理上传采购文件
* @param data 文件数据
*/
export function uploadAgentDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/upload',
method: 'post',
data
});
}
/**
* 招标代理重新上传采购文件
* @param data 文件数据
*/
export function reuploadAgentDoc(data: any) {
return request({
url: '/purchase/purchasingdoc/reupload',
method: 'post',
data
});
}
/**
* 获取采购文件列表
* @param applyId 采购申请ID
*/
export function getDocList(applyId: number | string) {
return request({
url: `/purchase/purchasingdoc/list/${applyId}`,
method: 'get'
});
}

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 2018-2025, cyweb All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
*/
import request from '/@/utils/request';
/**
* 分页查询
* @param params 查询参数
*/
export function getPage(params?: any) {
return request({
url: '/purchase/purchasingSchoolLeader/page',
method: 'get',
params
});
}
/**
* 通过id查询
* @param id ID
*/
export function getObj(id: string | number) {
return request({
url: '/purchase/purchasingSchoolLeader/details',
method: 'get',
params: { id }
});
}
/**
* 新增校领导(党委)
* @param obj 对象数据
*/
export function addObj(obj: any) {
return request({
url: '/purchase/purchasingSchoolLeader',
method: 'post',
data: obj
});
}
/**
* 修改校领导(党委)
* @param obj 对象数据
*/
export function editObj(obj: any) {
return request({
url: '/purchase/purchasingSchoolLeader',
method: 'put',
data: obj
});
}
/**
* 删除校领导(党委)
* @param ids ID数组
*/
export function delObj(ids: string[] | number[]) {
return request({
url: '/purchase/purchasingSchoolLeader',
method: 'delete',
data: ids
});
}

View File

@@ -0,0 +1,48 @@
/*
* 采购模板管理 API
*/
import request from '/@/utils/request';
/**
* 模板列表
*/
export function listTemplates(params?: any) {
return request({
url: '/purchase/purchasingtemplate/list',
method: 'get',
params,
});
}
/**
* 上传 / 覆盖模板
* @param formData 含 file、type 的 FormData
*/
export function uploadTemplate(formData: FormData) {
return request({
url: '/purchase/purchasingtemplate/upload',
method: 'post',
data: formData,
headers: { 'Content-Type': 'multipart/form-data' },
});
}
/**
* 获取模板下载地址
*/
export function getTemplateDownloadUrl(type: string) {
return `/purchase/purchasingtemplate/download?type=${encodeURIComponent(type)}`;
}
/**
* 更新模板类型名称
*/
export function updateTemplateTitle(data: { id: number | string; templateTitle: string }) {
return request({
url: '/purchase/purchasingtemplate/updateTitle',
method: 'post',
data,
});
}