From 2e9937cad27c6dfe1898356ba1106678f8ff755a Mon Sep 17 00:00:00 2001 From: wyw <13885678+wyw0828@user.noreply.gitee.com> Date: Fri, 2 Aug 2024 13:22:33 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E6=96=B0=E5=A2=9E=E5=A4=96=E5=8C=85?= =?UTF-8?q?=E5=90=88=E5=90=8C=E5=8E=86=E5=8F=B2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/cms/codegen-cms-exthistory-sql.sql | 55 ++ .../OutsContractHistoryController.java | 27 +- .../vo/OutsContractHistoryPageReqVO.java | 23 - .../vo/OutsContractHistoryRespVO.java | 27 +- .../vo/OutsContractHistorySaveReqVO.java | 19 +- .../OutsContractHistoryMapper.java | 10 +- .../OutsContractHistoryService.java | 19 +- .../OutsContractHistoryServiceImpl.java | 77 ++- .../src/api/cms/extcontracthistory/index.ts | 71 +++ .../ExtContractHistoryForm.vue | 300 +++++++++ .../views/cms/extcontracthistory/index.vue | 567 ++++++++++++++++++ 11 files changed, 1090 insertions(+), 105 deletions(-) create mode 100644 sql/cms/codegen-cms-exthistory-sql.sql create mode 100644 yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/api/cms/extcontracthistory/index.ts create mode 100644 yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/ExtContractHistoryForm.vue create mode 100644 yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/index.vue diff --git a/sql/cms/codegen-cms-exthistory-sql.sql b/sql/cms/codegen-cms-exthistory-sql.sql new file mode 100644 index 000000000..598336426 --- /dev/null +++ b/sql/cms/codegen-cms-exthistory-sql.sql @@ -0,0 +1,55 @@ +-- 菜单 SQL +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status, component_name +) +VALUES ( + '外部合同管理', '', 2, 0, 2758, + 'ext-contract-history', '', 'cms/extcontracthistory/index', 0, 'ExtContractHistory' +); + +-- 按钮父菜单ID +-- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码 +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '外部合同查询', 'cms:ext-contract-history:query', 3, 1, @parentId, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '外部合同创建', 'cms:ext-contract-history:create', 3, 2, @parentId, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '外部合同更新', 'cms:ext-contract-history:update', 3, 3, @parentId, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '外部合同删除', 'cms:ext-contract-history:delete', 3, 4, @parentId, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '外部合同导出', 'cms:ext-contract-history:export', 3, 5, @parentId, + '', '', '', 0 +); \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java index 8ec2fc4ec..351c2a581 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/OutsContractHistoryController.java @@ -9,7 +9,6 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryPageReqVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistorySaveReqVO; -import cn.iocoder.yudao.module.cms.dal.dataobject.outscontracthistory.OutsContractHistoryDO; import cn.iocoder.yudao.module.cms.service.outscontracthistory.OutsContractHistoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -36,13 +35,6 @@ public class OutsContractHistoryController { @Resource private OutsContractHistoryService outsContractHistoryService; - @PostMapping("/create") - @Operation(summary = "创建外包合同历史") - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:create')") - public CommonResult createOutsContractHistory(@Valid @RequestBody OutsContractHistorySaveReqVO createReqVO) { - return success(outsContractHistoryService.createOutsContractHistory(createReqVO)); - } - @PutMapping("/update") @Operation(summary = "更新外包合同历史") @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:update')") @@ -51,30 +43,21 @@ public class OutsContractHistoryController { return success(true); } - @DeleteMapping("/delete") - @Operation(summary = "删除外包合同历史") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:delete')") - public CommonResult deleteOutsContractHistory(@RequestParam("id") Long id) { - outsContractHistoryService.deleteOutsContractHistory(id); - return success(true); - } - @GetMapping("/get") @Operation(summary = "获得外包合同历史") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:query')") public CommonResult getOutsContractHistory(@RequestParam("id") Long id) { - OutsContractHistoryDO outsContractHistory = outsContractHistoryService.getOutsContractHistory(id); - return success(BeanUtils.toBean(outsContractHistory, OutsContractHistoryRespVO.class)); + OutsContractHistoryRespVO outsContractHistory = outsContractHistoryService.getOutsContractHistory(id); + return success(outsContractHistory); } @GetMapping("/page") @Operation(summary = "获得外包合同历史分页") @PreAuthorize("@ss.hasPermission('cms:outs-contract-history:query')") public CommonResult> getOutsContractHistoryPage(@Valid OutsContractHistoryPageReqVO pageReqVO) { - PageResult pageResult = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, OutsContractHistoryRespVO.class)); + PageResult pageResult = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO); + return success(pageResult); } @GetMapping("/export-excel") @@ -84,7 +67,7 @@ public class OutsContractHistoryController { public void exportOutsContractHistoryExcel(@Valid OutsContractHistoryPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO).getList(); + List list = outsContractHistoryService.getOutsContractHistoryPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "外包合同历史.xls", "数据", OutsContractHistoryRespVO.class, BeanUtils.toBean(list, OutsContractHistoryRespVO.class)); diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java index 0ad3ee01e..bcf6f6095 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryPageReqVO.java @@ -30,32 +30,9 @@ public class OutsContractHistoryPageReqVO extends PageParam { @Schema(description = "类型", example = "1") private String countType; - @Schema(description = "合同金额") - private BigDecimal amount; - - @Schema(description = "编号") - private String code; - @Schema(description = "专业") private String major; - @Schema(description = "流程实体id", example = "32397") - private String processInstanceId; - - @Schema(description = "签订时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] signingTime; - - @Schema(description = "结算数") - private BigDecimal settlementAmount; - - @Schema(description = "合同文件url", example = "https://www.iocoder.cn") - private String contractFileUrl; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - @Schema(description = "流程状态", example = "2") private String processStatus; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java index 4a48f955b..2dc6a5034 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistoryRespVO.java @@ -15,18 +15,23 @@ import java.time.LocalDateTime; @ExcelIgnoreUnannotated public class OutsContractHistoryRespVO { - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16040") - @ExcelProperty("主键") - private Long id; - - @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31803") - @ExcelProperty("项目id") - private Long projectId; - - @Schema(description = "合同名称", example = "芋艿") + @Schema(description = "合同名称", example = "张三") @ExcelProperty("合同名称") private String name; + @Schema(description = "主控部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产一部") + @ExcelProperty("主控部门") + private String trackingDep; + + @Schema(description = "项目经理", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("项目经理") + private String projectManager; + + @Schema(description = "签订合同总额") + @ExcelProperty("签订合同总额") + private BigDecimal outsAmount; + + @Schema(description = "主合同id", example = "19949") @ExcelProperty("主合同id") private Long contractId; @@ -65,10 +70,6 @@ public class OutsContractHistoryRespVO { @ExcelProperty("合同文件url") private String contractFileUrl; - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - @Schema(description = "流程状态", example = "2") @ExcelProperty("流程状态") private String processStatus; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java index 3666b6905..02157cf23 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/controller/admin/outscontracthistory/vo/OutsContractHistorySaveReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -18,9 +19,25 @@ public class OutsContractHistorySaveReqVO { @NotNull(message = "项目id不能为空") private Long projectId; - @Schema(description = "合同名称", example = "芋艿") + + @Schema(description = "合同名称", example = "张三") + @ExcelProperty("合同名称") private String name; + @Schema(description = "主控部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产一部") + @ExcelProperty("主控部门") + private String trackingDep; + + @Schema(description = "项目经理", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("项目经理") + private String projectManager; + + @Schema(description = "签订合同总额") + @ExcelProperty("签订合同总额") + private BigDecimal outsAmount; + + + @Schema(description = "主合同id", example = "19949") private Long contractId; diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java index 22553a69e..5bb1691a2 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/dal/mysql/outscontracthistory/OutsContractHistoryMapper.java @@ -21,18 +21,10 @@ public interface OutsContractHistoryMapper extends BaseMapperX getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO); + PageResult getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java index 63d8d3948..326f9010d 100644 --- a/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java +++ b/yudao-module-cms/yudao-module-cms-biz/src/main/java/cn/iocoder/yudao/module/cms/service/outscontracthistory/OutsContractHistoryServiceImpl.java @@ -2,16 +2,25 @@ package cn.iocoder.yudao.module.cms.service.outscontracthistory; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.cms.controller.admin.contract.vo.ContractRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryPageReqVO; +import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistoryRespVO; import cn.iocoder.yudao.module.cms.controller.admin.outscontracthistory.vo.OutsContractHistorySaveReqVO; import cn.iocoder.yudao.module.cms.dal.dataobject.outscontracthistory.OutsContractHistoryDO; import cn.iocoder.yudao.module.cms.dal.mysql.outscontracthistory.OutsContractHistoryMapper; +import cn.iocoder.yudao.module.cms.service.contract.ContractService; +import cn.iocoder.yudao.module.pms.api.ProjectApi; +import cn.iocoder.yudao.module.pms.api.project.dto.ProjectRespDTO; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.util.ArrayList; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.OUTS_CONTRACT_HISTORY_NOT_EXISTS; +import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.cms.enums.ErrorCodeConstants.PROJECT_NOT_EXISTS; /** * 外包合同历史 Service 实现类 @@ -25,14 +34,11 @@ public class OutsContractHistoryServiceImpl implements OutsContractHistoryServic @Resource private OutsContractHistoryMapper outsContractHistoryMapper; - @Override - public Long createOutsContractHistory(OutsContractHistorySaveReqVO createReqVO) { - // 插入 - OutsContractHistoryDO outsContractHistory = BeanUtils.toBean(createReqVO, OutsContractHistoryDO.class); - outsContractHistoryMapper.insert(outsContractHistory); - // 返回 - return outsContractHistory.getId(); - } + @Resource + private ProjectApi projectApi; + + @Resource + private ContractService contractService; @Override public void updateOutsContractHistory(OutsContractHistorySaveReqVO updateReqVO) { @@ -43,14 +49,6 @@ public class OutsContractHistoryServiceImpl implements OutsContractHistoryServic outsContractHistoryMapper.updateById(updateObj); } - @Override - public void deleteOutsContractHistory(Long id) { - // 校验存在 - validateOutsContractHistoryExists(id); - // 删除 - outsContractHistoryMapper.deleteById(id); - } - private void validateOutsContractHistoryExists(Long id) { if (outsContractHistoryMapper.selectById(id) == null) { throw exception(OUTS_CONTRACT_HISTORY_NOT_EXISTS); @@ -58,13 +56,50 @@ public class OutsContractHistoryServiceImpl implements OutsContractHistoryServic } @Override - public OutsContractHistoryDO getOutsContractHistory(Long id) { - return outsContractHistoryMapper.selectById(id); + public OutsContractHistoryRespVO getOutsContractHistory(Long id) { + //校验 + if (id == null) { + throw exception(OUTS_CONTRACT_NOT_EXISTS); + } + OutsContractHistoryDO outsContractHistoryDO = outsContractHistoryMapper.selectById(id); + OutsContractHistoryRespVO outsContractHistoryResp = BeanUtils.toBean(outsContractHistoryDO, OutsContractHistoryRespVO.class); + Long contractId = outsContractHistoryResp.getContractId(); + ContractRespVO contract = contractService.getContract(contractId); + + outsContractHistoryResp.setName(contract.getName()); + outsContractHistoryResp.setTrackingDep(contract.getTrackingDep()); + outsContractHistoryResp.setProjectManager(contract.getProjectManager()); + outsContractHistoryResp.setOutsAmount(contract.getAmount()); + + return outsContractHistoryResp; } @Override - public PageResult getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO) { - return outsContractHistoryMapper.selectPage(pageReqVO); + public PageResult getOutsContractHistoryPage(OutsContractHistoryPageReqVO pageReqVO) { + if (pageReqVO == null) { + throw exception(PARAM_NOT_EXISTS); + } + + Long projectId = pageReqVO.getProjectId(); + ProjectRespDTO project = projectApi.getProject(projectId); + if (project == null) { + throw exception(PROJECT_NOT_EXISTS); + } + + PageResult outsContractHistoryPage = outsContractHistoryMapper.selectPage(pageReqVO); + List outsContractDOList = outsContractHistoryPage.getList(); + List outsContractRespVOList = new ArrayList<>(); + + + for (OutsContractHistoryDO outsContractHistoryDO : outsContractDOList) { + Long id = outsContractHistoryDO.getId(); + OutsContractHistoryRespVO outsContractHistory = getOutsContractHistory(id); + outsContractRespVOList.add(outsContractHistory); + } + + PageResult pageResult = new PageResult<>(); + pageResult.setList(outsContractRespVOList); + return pageResult; } } \ No newline at end of file diff --git a/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/api/cms/extcontracthistory/index.ts b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/api/cms/extcontracthistory/index.ts new file mode 100644 index 000000000..b9ecbdeac --- /dev/null +++ b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/api/cms/extcontracthistory/index.ts @@ -0,0 +1,71 @@ +import request from '@/config/axios' + +// 外部合同 VO +export interface ExtContractHistoryVO { + id: number // 主键 + projectId: number // 项目id + name: string // 合同名称 + type: string // 合同类型 + customerCompanyId: number // 客户公司id + progress: string // 合同进展 + expectedTime: Date // 预计签订时间 + signingTime: Date // 签订时间 + archiveTime: Date // 归档时间 + status: string // 状态 + amount: number // 合同金额 + preAmount: number // 前期费用 + designFee: number // 设计费 + surveyFees: number // 勘测费 + testingFee: number // 检测费 + otherFee: string // 其他费 + countType: string // 计费方式 + remark: string // 备注 + contractFileUrl: string // 合同附件url + constructionCost: number // 建安费 + source: string // 资金来源 + chargingStandard: string // 收费标准 + discount: string // 优惠 + consortium: boolean // 是否联合体 + consortiumCompany: string // 联合体单位 + reminderTime: Date // 合同提示时间 + approvedAmount: number // 审定金额 + reviewFileUrl: string // 审核文件url + processInstanceId: string // 流程实体id + processStatus: string // 流程状态 + contractId: number // 合同id + extContractId: number // 外部合同id + version: string // 版本 +} + +// 外部合同 API +export const ExtContractHistoryApi = { + // 查询外部合同分页 + getExtContractHistoryPage: async (params: any) => { + return await request.get({ url: `/cms/ext-contract-history/page`, params }) + }, + + // 查询外部合同详情 + getExtContractHistory: async (id: number) => { + return await request.get({ url: `/cms/ext-contract-history/get?id=` + id }) + }, + + // 新增外部合同 + createExtContractHistory: async (data: ExtContractHistoryVO) => { + return await request.post({ url: `/cms/ext-contract-history/create`, data }) + }, + + // 修改外部合同 + updateExtContractHistory: async (data: ExtContractHistoryVO) => { + return await request.put({ url: `/cms/ext-contract-history/update`, data }) + }, + + // 删除外部合同 + deleteExtContractHistory: async (id: number) => { + return await request.delete({ url: `/cms/ext-contract-history/delete?id=` + id }) + }, + + // 导出外部合同 Excel + exportExtContractHistory: async (params) => { + return await request.download({ url: `/cms/ext-contract-history/export-excel`, params }) + }, +} \ No newline at end of file diff --git a/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/ExtContractHistoryForm.vue b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/ExtContractHistoryForm.vue new file mode 100644 index 000000000..240f55906 --- /dev/null +++ b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/ExtContractHistoryForm.vue @@ -0,0 +1,300 @@ + + \ No newline at end of file diff --git a/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/index.vue b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/index.vue new file mode 100644 index 000000000..5a4da54e2 --- /dev/null +++ b/yudao-ui/yudao-ui-admin-vue3-ExtContractHistory/src/views/cms/extcontracthistory/index.vue @@ -0,0 +1,567 @@ + + + \ No newline at end of file