diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java index a293b0f..d2fe7ab 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java @@ -13,7 +13,6 @@ import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; -import org.jeecg.common.aspect.annotation.PermissionData; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; @@ -30,6 +29,8 @@ import org.jeecg.modules.demo.project.dto.DepartExtDto2; import org.jeecg.modules.demo.project.dto.ProjectShenBaoDto; import org.jeecg.modules.demo.project.entity.Project; import org.jeecg.modules.demo.project.service.IProjectService; +import org.jeecg.modules.demo.projectLog.entity.ProjectLog; +import org.jeecg.modules.demo.projectLog.service.IProjectLogService; import org.jeecg.modules.demo.projectType.entity.ProjectType; import org.jeecg.modules.demo.projectType.service.IProjectTypeService; import org.jeecg.modules.demo.userext.entity.UserExt; @@ -84,6 +85,9 @@ public class ProjectController extends JeecgController @Autowired private IDepadminlxService iDepadminlxService; + @Autowired + private IProjectLogService iProjectLogService; + /** * 分页列表查询 * @@ -96,7 +100,7 @@ public class ProjectController extends JeecgController //@AutoLog(value = "项目表-分页列表查询") @ApiOperation(value = "项目表-分页列表查询", notes = "项目表-分页列表查询") @GetMapping(value = "/list") - @PermissionData(pageComponent = "projectApplication/project/ProjectList") +// @PermissionData(pageComponent = "projectApplication/project/ProjectList") public Result> queryPageList(Project project, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @@ -107,12 +111,69 @@ public class ProjectController extends JeecgController customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR); customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR); customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if ("shenbaoren_role".equals(loginUser.getRoleCode())) { + project.setCreateBy(loginUser.getUsername()); + } QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap); Page page = new Page(pageNo, pageSize); IPage pageList = projectService.page(page, queryWrapper); return Result.OK(pageList); } + /** + * @description: + * //('科技主管部门待提交', '1'); + * //('科技主管部门已提交', '2'); + * //('不受理', '3'); + * //('已受理', '4'); + * //('申请人待提交', '5'); + * //('申请单位待提交', '6'); + * //('市科技局待提交', '7'); + * //('市科技局已提交', '8'); + * //('财政主管理部门待审核', '9'); + * //('财政主管理部门审核通过', '10'); + * @param: [project, pageNo, pageSize, req] + * @return: org.jeecg.common.api.vo.Result> + * @author: z.h.c + * @date: 24/11/5 16:25 + */ + @ApiOperation(value = "项目表-分页列表查询", notes = "项目表-分页列表查询") + @GetMapping(value = "/list4Audit") +// @PermissionData(pageComponent = "projectApplication/productAudit/project4AuditList") + public Result> queryPageList2(Project project, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + // 自定义查询规则 + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR); + customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR); + customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR); + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap); + Page page = new Page(pageNo, pageSize); + + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //申请单位数据 + if ("faren_admin".equals(loginUser.getRoleCode())) { + queryWrapper.eq("sys_org_code", loginUser.getOrgCode()); + } + // 区/县管理员数据 + if ("quxian_admin".equals(loginUser.getRoleCode())) { + queryWrapper.likeRight("sys_org_code", loginUser.getOrgCode()); + } + if ("kejiju_admin".equals(loginUser.getRoleCode())) { + queryWrapper.in("project_status", 7, 8); + } + if ("caizheng_admin".equals(loginUser.getRoleCode())) { + queryWrapper.in("budget_status", 9, 10); + } + IPage pageList = projectService.page(page, queryWrapper); + return Result.OK(pageList); + } + @ApiOperation(value = "项目表-根据id查询", notes = "项目表-根据id查询") @GetMapping(value = "/getById") public Result getById(Project param, HttpServletRequest req) { @@ -291,41 +352,70 @@ public class ProjectController extends JeecgController //('申请单位待提交', '6'); //('市科技局待提交', '7'); //('市科技局已提交', '8'); + //('财政主管理部门待审核', '9'); + //('财政主管理部门审核通过', '10'); + Project project1 = projectService.getById(project.getId()); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + ProjectLog log = new ProjectLog(); + log.setOperatorName(loginUser.getRealname()); + log.setOperatorId(loginUser.getId()); + log.setProjectId(project.getId()); + log.setProjectName(project1.getProjectName()); + log.setOperationTime(new Date()); + //申报人提交,并向上级提交->申请单位待提交 if ("shenbaoren_role".equals(loginUser.getRoleCode())) { project.setProjectStatus("6"); //预算书和项目书用同一种状态 project.setBudgetStatus("6"); + + log.setProjectStatus("6"); + log.setBudgetStatus("6"); + log.setOperationMark("申请人提交项目书,申请人提交预算书"); } //申请单位审核通过,并向上级提交->科技主管部门待提交(区/县管理员) if ("faren_admin".equals(loginUser.getRoleCode())) { project.setProjectStatus("1"); //预算书和项目书用同一种状态 project.setBudgetStatus("1"); + + log.setProjectStatus("1"); + log.setBudgetStatus("1"); + log.setOperationMark("申请单位提交项目书,申请单位提交预算书"); } //区/县管理员审核通过,并向上级提交->市科技局处理 if ("quxian_admin".equals(loginUser.getRoleCode())) { project.setProjectStatus("7"); //预算书和项目书用同一种状态 project.setBudgetStatus("7"); + + log.setProjectStatus("7"); + log.setBudgetStatus("7"); + log.setOperationMark("科技主管部门提交项目书,科技主管部门提交预算书"); } //市科技局通过-》财政管理员处理 if ("kejiju_admin".equals(loginUser.getRoleCode())) { project.setProjectStatus("8"); //预算书和项目书用同一种状态 - project.setBudgetStatus("8"); + project.setBudgetStatus("9"); + + log.setProjectStatus("8"); + log.setBudgetStatus("9"); + log.setOperationMark("市科技局已提交,待财政主管部门审核"); } //市科技局通过-》财政管理员处理 if ("caizheng_admin".equals(loginUser.getRoleCode())) { // project.setProjectStatus("10"); - //预算书和项目书用同一种状态 project.setBudgetStatus("10"); + + log.setBudgetStatus("10"); + log.setOperationMark("财政主管部门审核通过"); } project.setUpdateTime(new Date()); - project.setUpdateBy(loginUser.getRealname()); projectService.updateById(project); - return Result.OK("提交成功!"); + + iProjectLogService.save(log); + return Result.OK("操作成功!"); } /** @@ -335,8 +425,8 @@ public class ProjectController extends JeecgController * @author: z.h.c * @date: 24/11/5 11:00 */ - @AutoLog(value = "项目表-申报人取回项目") - @ApiOperation(value = "项目表-提交项目", notes = "项目表-取回项目") + @AutoLog(value = "项目表-申报人取回项目/审核取回") + @ApiOperation(value = "项目表-申报人取回项目/审核取回", notes = "项目表-申报人取回项目/审核取回") @PostMapping(value = "/rollbackProject") public Result rollbackProject(@RequestBody Project project) { //('科技主管部门待提交', '1'); @@ -347,46 +437,28 @@ public class ProjectController extends JeecgController //('申请单位待提交', '6'); //('市科技局待提交', '7'); //('市科技局已提交', '8'); + //('财政主管理部门待审核', '9'); + //('财政主管理部门审核通过', '10'); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); project.setProjectStatus("5"); - - /*申请人待提交,1 - 预算书不存在,10 - 申请单位待提交,2 - 申请主管部门待提交,3 - 申请主管部门待审核,4 - 申请主管部门审核通过,5 - 申请主管部门审核不通过,6 - 申请主管部门已提交,7 - 已受理,8 - 不需要,9*/ - //预算书和项目书用同一种状态 - project.setBudgetStatus("1"); + project.setBudgetStatus("5"); project.setUpdateTime(new Date()); project.setUpdateBy(loginUser.getRealname()); projectService.updateById(project); - return Result.OK("提交成功!"); - } - /** - * @description: 审核已提交的项目 - * @param: [project] - * @return: org.jeecg.common.api.vo.Result - * @author: z.h.c - * @date: 24/11/4 16:12 - */ - @AutoLog(value = "项目表-审核已提交项目") - @ApiOperation(value = "项目表-审核已提交项目", notes = "项目表-审核已提交项目") - @PostMapping(value = "/audit") - public Result audit(@RequestBody Project project) { - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - project.setProjectStatus("6"); - project.setBudgetStatus("2"); - project.setUpdateTime(new Date()); - project.setUpdateBy(loginUser.getRealname()); - projectService.updateById(project); - return Result.OK("审核成功!"); + Project project1 = projectService.getById(project.getId()); + ProjectLog log = new ProjectLog(); + log.setOperatorName(loginUser.getRealname()); + log.setOperatorId(loginUser.getId()); + log.setProjectId(project.getId()); + log.setProjectName(project1.getProjectName()); + log.setOperationTime(new Date()); + log.setProjectStatus("5"); + log.setBudgetStatus("5"); + log.setOperationMark("审核取回"); + iProjectLogService.save(log); + return Result.OK("操作成功!"); } @AutoLog(value = "新增项目审报") diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.api.ts b/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.api.ts new file mode 100644 index 0000000..3f9b13a --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.api.ts @@ -0,0 +1,103 @@ +import {defHttp} from '@/utils/http/axios'; +import {useMessage} from "@/hooks/web/useMessage"; + +const {createConfirm} = useMessage(); + +enum Api { + list = '/project/project/list', + list4Audit = '/project/project/list4Audit', + projectType = '/projectType/getProjectTypeList', + departDtoInfo = '/project/project/getDepartDtoInfo', + save = '/project/project/add', + edit = '/project/project/edit', + deleteOne = '/project/project/delete', + submitOne = '/project/project/submitApply', + rollbackOne = '/project/project/rollbackProject', + deleteBatch = '/project/project/deleteBatch', + importExcel = '/project/project/importExcel', + exportXls = '/project/project/exportXls', +} + +export const getDepartDtoByProjectId = (params) => + defHttp.get({url: Api.departDtoInfo, params}); + + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + + +export const list4Audit = (params) => + defHttp.get({url: Api.list4Audit, params}); + + +export const getProjectTypeList = (params) => + defHttp.get({url: Api.projectType, params}); + + +export const getDepartBaseInfo = (params) => + defHttp.get({url: Api.departBaseInfo, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params, handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +export const submitOne = (params, handleSuccess) => { + return defHttp.post({url: Api.submitOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +export const rollbackOne = (params, handleSuccess) => { + return defHttp.post({url: Api.rollbackOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + + +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({ + url: Api.deleteBatch, + data: params + }, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.data.ts b/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.data.ts new file mode 100644 index 0000000..0902e47 --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/Project.data.ts @@ -0,0 +1,421 @@ +import {BasicColumn, FormSchema} from '@/components/Table'; +import {render} from '@/utils/common/renderUtils'; +import { useUserStore } from '@/store/modules/user'; +import {computed, unref, onMounted, nextTick, ref, onBeforeMount} from 'vue'; +import {useTimeoutFn} from "@/hooks/core/useTimeout"; +import step from "@/views/demo/page/form/step/index.vue"; +import {getMenus} from "@/router/menus"; +import {cloneDeep} from "lodash-es"; +import {forEach} from "@/utils/helper/treeHelper"; + + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '项目名称', + align: "center", + dataIndex: 'projectName' + }, + { + title: '项目类别', + align: "center", + // dataIndex: 'projectTypeid_dictText' + dataIndex: 'projectTypeid_dictText' + }, + { + title: '申请单位', + align: "center", + dataIndex: 'sysOrgCode_dictText' + }, + { + title: '负责人', + align: "center", + dataIndex: 'projectCharger_dictText' + }, + { + title: '项目书状态', + align: "center", + dataIndex: 'projectStatus_dictText' + }, + { + title: '预算书状态', + align: "center", + dataIndex: 'budgetStatus_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "所属部门", + field: 'sysOrgCode', + component: 'JSelectDept', + componentProps: {}, + //colProps: {span: 6}, + }, + { + label: "负责人", + field: 'projectCharger', + component: 'JSelectUser', + componentProps: {}, + //colProps: {span: 6}, + }, + { + label: "项目名称", + field: "projectName", + component: 'Input', //TODO 范围查询 + //colProps: {span: 6}, + }, + { + label: "项目领域", + field: 'projectDomain', + component: 'JDictSelectTag', + componentProps: { + dictCode: "project_domain" + }, + //colProps: {span: 6}, + }, + { + label: "项目类别", + field: 'projectTypeid', + component: 'JDictSelectTag', + componentProps: { + // dictCode: "sys_user,realname,id,username!='admin' order by create_time", + dictCode: 'project_type,type_name,id,status ="1" order by create_time desc ', + }, + }, + { + label: "项目书状态", + field: 'projectStatus', + component: 'JDictSelectTag', + componentProps: { + dictCode: "project_status" + }, + //colProps: {span: 6}, + }, + /*{ + label: "预算书状态", + field: 'budgetStatus', + component: 'JDictSelectTag', + componentProps: { + dictCode: "budget_status" + }, + //colProps: {span: 6}, + },*/ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '所属部门', + field: 'sysOrgCode', + component: 'JSelectDept', + componentProps: {}, + defaultValue: useUserStore().getUserInfo?.orgCode, + + }, + { + label: '负责人', + field: 'projectCharger', + component: 'JSelectUser', + componentProps: {}, + defaultValue: useUserStore().getUserInfo?.username, + }, + { + label: '项目类别', + field: 'projectTypeid', + component: 'Input', + dynamicDisabled: true + }, + { + label: '批次', + field: 'batchNo', + defaultValue: "1", + component: 'Input', + dynamicDisabled: true + }, + { + label: '项目名称', + field: 'projectName', + component: 'Input', + dynamicRules: ({model, schema}) => { + return [ + {required: true, message: '请输入项目名称!'}, + ]; + }, + }, + { + label: '项目领域', + field: 'projectDomain', + component: 'JDictSelectTag', + componentProps: { + dictCode: "project_domain", + type: "radio" + }, + }, + { + label: '新兴产业', + field: 'emergingIndustry', + component: 'JDictSelectTag', + componentProps: { + dictCode: "emerging_industry", + type: "radio" + }, + }, + { + label: '传统产业', + field: 'traditionalIndustry', + component: 'JDictSelectTag', + componentProps: { + dictCode: "traditional_industry", + type: "radio" + }, + }, + { + label: '技术来源', + field: 'technicalSource', + component: 'JDictSelectTag', + componentProps: { + dictCode: "technical_source", + type: "radio" + }, + }, + { + label: '技术水平', + field: 'technicalLevel', + component: 'JDictSelectTag', + componentProps: { + dictCode: "technical_level", + type: "radio" + }, + }, + { + label: '预期主要成果形式', + field: 'resultForm', + component: 'JCheckbox', + componentProps: { + dictCode: "result_form" + }, + }, + { + label: '经费投入(万元)', + field: 'fundInput', + component: 'InputNumber', + }, + { + label: '申请省财政拨款(万元)', + field: 'applyFund', + component: 'InputNumber', + }, + { + label: '所属实验室&研究中心', + field: 'laboratory', + component: 'Input', + }, + { + label: '地方投入(万元)', + field: 'localInput', + component: 'InputNumber', + }, + { + label: '银行贷款(万元)', + field: 'bankLoan', + component: 'InputNumber', + }, + { + label: '自筹(万元)', + field: 'selfRaise', + component: 'InputNumber', + }, + { + label: '项目开始时间', + field: 'startTime', + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD' + }, + }, + { + label: '项目结束时间', + field: 'endTime', + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD' + }, + }, + { + label: '年生产能力(万元)', + field: 'yearlyCapacity', + component: 'InputNumber', + }, + { + label: '就业人数', + field: 'employmentFigure', + component: 'Input', + }, + { + label: '年销售收入(万元)', + field: 'annualSalesRevenue', + component: 'InputNumber', + }, + { + label: '年出口创汇(万元)', + field: 'annualExportEarnings', + component: 'InputNumber', + }, + { + label: '年纳税总额(万元)', + field: 'totalAnnualTaxPayment', + component: 'InputNumber', + }, + { + label: '年净利润(万元)', + field: 'annualProfit', + component: 'InputNumber', + }, + { + label: '申请专利数', + field: 'applyPatentNumber', + component: 'Input', + }, + { + label: '发明专利数', + field: 'invevtionPatentNumber', + component: 'Input', + }, + { + label: '授权专利数', + field: 'creditPatentNumber', + component: 'Input', + }, + { + label: '项目书状态', + field: 'projectStatus', + component: 'JDictSelectTag', + componentProps: { + dictCode: "project_status" + }, + defaultValue: "5", //申请人待提交 + // dynamicDisabled: true, + ifShow: false, + }, + { + label: '预算书状态', + field: 'budgetStatus', + component: 'JDictSelectTag', + componentProps: { + dictCode: "budget_status" + }, + defaultValue: "10", //默认 预算书不存在 + // dynamicDisabled: true, + ifShow: false, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + sysOrgCode: {title: '所属部门', order: 0, view: 'sel_depart', type: 'string',}, + projectName: {title: '项目名称', order: 1, view: 'text', type: 'string',}, + projectDomain: { + title: '项目领域', + order: 2, + view: 'radio', + type: 'string', + dictCode: 'project_domain', + }, + emergingIndustry: { + title: '新兴产业', + order: 3, + view: 'radio', + type: 'string', + dictCode: 'emerging_industry', + }, + traditionalIndustry: { + title: '传统产业', + order: 4, + view: 'radio', + type: 'string', + dictCode: 'traditional_industry', + }, + technicalSource: { + title: '技术来源', + order: 5, + view: 'radio', + type: 'string', + dictCode: 'technical_source', + }, + technicalLevel: { + title: '技术水平', + order: 6, + view: 'radio', + type: 'string', + dictCode: 'technical_level', + }, + resultForm: { + title: '预期主要成果形式', + order: 7, + view: 'checkbox', + type: 'string', + dictCode: 'result_form', + }, + fundInput: {title: '经费投入(万元)', order: 8, view: 'number', type: 'number',}, + applyFund: {title: '申请省财政拨款(万元)', order: 9, view: 'number', type: 'number',}, + /* isAcceptInitProject: { + title: '如无经费支持是否接受指导项目立项', + order: 10, + view: 'switch', + type: 'string', + },*/ + laboratory: {title: '所属实验室、研究中心', order: 11, view: 'text', type: 'string',}, + localInput: {title: '地方投入', order: 12, view: 'number', type: 'number',}, + bankLoan: {title: '银行贷款', order: 13, view: 'number', type: 'number',}, + selfRaise: {title: '自筹', order: 14, view: 'number', type: 'number',}, + startTime: {title: '项目开始时间', order: 15, view: 'date', type: 'string',}, + endTime: {title: '项目结束时间', order: 16, view: 'date', type: 'string',}, + yearlyCapacity: {title: '年生产能力', order: 17, view: 'number', type: 'number',}, + employmentFigure: {title: '就业人数', order: 18, view: 'text', type: 'string',}, + annualSalesRevenue: {title: '年销售收入', order: 19, view: 'number', type: 'number',}, + annualExportEarnings: {title: '年出口创汇', order: 20, view: 'number', type: 'number',}, + totalAnnualTaxPayment: {title: '年纳税总额', order: 21, view: 'number', type: 'number',}, + annualProfit: {title: '年净利润', order: 22, view: 'number', type: 'number',}, + applyPatentNumber: {title: '申请专利数', order: 23, view: 'text', type: 'string',}, + invevtionPatentNumber: {title: '发明专利数', order: 24, view: 'text', type: 'string',}, + creditPatentNumber: {title: '授权专利数', order: 25, view: 'text', type: 'string',}, + projectTypeid: {title: '项目类别', order: 26, view: 'text', type: 'string',}, + batchNo: {title: '批次', order: 27, view: 'text', type: 'string',}, + projectStatus: { + title: '项目书状态', + order: 28, + view: 'list', + type: 'string', + dictCode: 'project_status', + }, + budgetStatus: { + title: '预算书状态', + order: 29, + view: 'list', + type: 'string', + dictCode: 'budget_status', + }, + projectCharger: {title: '负责人', order: 30, view: 'sel_user', type: 'string',}, +}; + +// (function (){ +// alert('1111111'); +// +// })(); + +/** + * 流程表单调用这个方法获取formSchema + * @param param + */ +export function getBpmFormSchema(_formData): FormSchema[] { + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} + diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectForm.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectForm.vue new file mode 100644 index 0000000..656b969 --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectModal.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectModal.vue new file mode 100644 index 0000000..205ffd3 --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/components/ProjectModal.vue @@ -0,0 +1,76 @@ + + + + + \ No newline at end of file diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue new file mode 100644 index 0000000..f7b8e3d --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4CaiZhengList.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue new file mode 100644 index 0000000..df49f88 --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4FaRenList.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue new file mode 100644 index 0000000..cfaa11a --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4KejijuList.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue new file mode 100644 index 0000000..38b9960 --- /dev/null +++ b/jeecgboot-vue3/src/views/projectApplication/productAudit/projectAudit4QuXianList.vue @@ -0,0 +1,245 @@ + + + + +