diff --git a/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue new file mode 100644 index 00000000..dfc29380 --- /dev/null +++ b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue @@ -0,0 +1,98 @@ + + + diff --git a/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedQuerySection.vue b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedQuerySection.vue index 7bebe4a9..41427a2f 100644 --- a/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedQuerySection.vue +++ b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedQuerySection.vue @@ -79,6 +79,7 @@ +
+ + + +
+ + + + diff --git a/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedRecruitmentDetailDialog.vue b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedRecruitmentDetailDialog.vue new file mode 100644 index 00000000..fa91aae8 --- /dev/null +++ b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedRecruitmentDetailDialog.vue @@ -0,0 +1,81 @@ + + + diff --git a/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedTransferDetailDialog.vue b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedTransferDetailDialog.vue new file mode 100644 index 00000000..9e8cced7 --- /dev/null +++ b/ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedTransferDetailDialog.vue @@ -0,0 +1,71 @@ + + + diff --git a/ruoyi-ui/tests/unit/special-check-extended-query-columns.test.js b/ruoyi-ui/tests/unit/special-check-extended-query-columns.test.js new file mode 100644 index 00000000..6bc3e9d8 --- /dev/null +++ b/ruoyi-ui/tests/unit/special-check-extended-query-columns.test.js @@ -0,0 +1,30 @@ +const assert = require("assert"); +const fs = require("fs"); +const path = require("path"); + +const source = fs.readFileSync( + path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/ExtendedQuerySection.vue"), + "utf8" +); + +[ + "采购事项ID", + "项目名称", + "标的物名称", + "申请人姓名", + "申请日期", + "招聘项目编号", + "招聘项目名称", + "职位名称", + "面试官姓名摘要", + "录用情况", + "员工姓名", + "调动类型", + "调动前部门", + "调动后部门", + "调动日期", + "查看详情", +].forEach((token) => assert(source.includes(token), token)); + +assert(source.includes("handleDetail"), "缺少详情查看方法"); +assert(source.includes("操作"), "缺少操作列"); diff --git a/ruoyi-ui/tests/unit/special-check-extended-query-detail-dialogs.test.js b/ruoyi-ui/tests/unit/special-check-extended-query-detail-dialogs.test.js new file mode 100644 index 00000000..584f53b1 --- /dev/null +++ b/ruoyi-ui/tests/unit/special-check-extended-query-detail-dialogs.test.js @@ -0,0 +1,54 @@ +const assert = require("assert"); +const fs = require("fs"); +const path = require("path"); + +const sectionSource = fs.readFileSync( + path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/ExtendedQuerySection.vue"), + "utf8" +); +const purchaseDialogSource = fs.readFileSync( + path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue"), + "utf8" +); +const recruitmentDialogSource = fs.readFileSync( + path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/ExtendedRecruitmentDetailDialog.vue"), + "utf8" +); +const transferDialogSource = fs.readFileSync( + path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/ExtendedTransferDetailDialog.vue"), + "utf8" +); + +assert(sectionSource.includes("getExtendedPurchaseDetail"), "缺少采购详情接口调用"); +assert(sectionSource.includes("getExtendedRecruitmentDetail"), "缺少招聘详情接口调用"); +assert(sectionSource.includes("getExtendedTransferDetail"), "缺少调动详情接口调用"); +assert(sectionSource.includes("extended-purchase-detail-dialog"), "缺少采购详情弹窗挂载"); +assert(sectionSource.includes("extended-recruitment-detail-dialog"), "缺少招聘详情弹窗挂载"); +assert(sectionSource.includes("extended-transfer-detail-dialog"), "缺少调动详情弹窗挂载"); +assert(sectionSource.includes("详情加载失败"), "详情查询失败时应提示错误"); + +[ + "基本信息", + "数量与金额", + "供应商信息", + "日期信息", + "申请人信息", + "采购负责人信息", + "审计信息", +].forEach((token) => assert(purchaseDialogSource.includes(token), token)); + +[ + "招聘项目信息", + "职位信息", + "候选人信息", + "录用信息", + "面试官信息", + "审计信息", +].forEach((token) => assert(recruitmentDialogSource.includes(token), token)); + +[ + "基本信息", + "调动前信息", + "调动后信息", + "审计信息", +].forEach((token) => assert(transferDialogSource.includes(token), token));