From f85613f1e695ab85131e7bea164823bf5696982c Mon Sep 17 00:00:00 2001 From: ks3356143 <314298729@qq.com> Date: Tue, 5 Mar 2024 16:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=A4=A7=E7=BA=B2=E7=94=9F?= =?UTF-8?q?=E6=88=90=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cdTMP/package-lock.json | 46 ++--- cdTMP/package.json | 2 + cdTMP/src/api/generate/dgGenerate.js | 176 ++++++++++++++++++ cdTMP/src/api/generate/dgSeitaiGenerate.js | 14 ++ cdTMP/src/api/project/testDemand.js | 33 ++++ cdTMP/src/api/system/abbreviation.js | 48 +++++ .../components/ma-crud/components/column.vue | 5 +- cdTMP/src/components/ma-editor/index.vue | 5 +- cdTMP/src/layout/components/navbar.vue | 5 +- cdTMP/src/router/routes/modules/datamanage.js | 11 ++ .../views/datamanage/abbreviation/index.vue | 51 +++++ .../views/datamanage/dictmanage/dataList.vue | 27 ++- .../src/views/project/design-demand/index.vue | 114 +++++++++++- cdTMP/src/views/project/dut/index.vue | 6 +- cdTMP/src/views/project/round/index.vue | 14 +- .../testmanage/projmanage/cpns/progress.vue | 84 +++++++++ .../src/views/testmanage/projmanage/index.vue | 111 ++++++++++- 17 files changed, 704 insertions(+), 48 deletions(-) create mode 100644 cdTMP/src/api/generate/dgSeitaiGenerate.js create mode 100644 cdTMP/src/api/system/abbreviation.js create mode 100644 cdTMP/src/views/datamanage/abbreviation/index.vue create mode 100644 cdTMP/src/views/testmanage/projmanage/cpns/progress.vue diff --git a/cdTMP/package-lock.json b/cdTMP/package-lock.json index 3870de4..c670cff 100644 --- a/cdTMP/package-lock.json +++ b/cdTMP/package-lock.json @@ -44,6 +44,8 @@ "@vitejs/plugin-vue-jsx": "^3.0.1", "@vue/babel-plugin-jsx": "^1.1.1", "autoprefixer": "^10.4.14", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", "eslint": "^8.42.0", "eslint-plugin-vue": "^9.14.1", "less": "^4.1.3", @@ -1760,15 +1762,15 @@ } }, "node_modules/browserslist": { - "version": "4.21.7", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.7.tgz", - "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001489", - "electron-to-chromium": "^1.4.411", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -1821,9 +1823,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001492", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", - "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "version": "1.0.30001591", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", + "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", "dev": true }, "node_modules/chalk": { @@ -2081,9 +2083,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.417", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.417.tgz", - "integrity": "sha512-8rY8HdCxuSVY8wku3i/eDac4g1b4cSbruzocenrqBlzqruAZYHjQCHIjC66dLR9DXhEHTojsC4EjhZ8KmzwXqA==", + "version": "1.4.686", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.686.tgz", + "integrity": "sha512-3avY1B+vUzNxEgkBDpKOP8WarvUAEwpRaiCL0He5OKWEFxzaOFiq4WoZEZe7qh0ReS7DiWoHMnYoQCKxNZNzSg==", "dev": true }, "node_modules/enhanced-resolve": { @@ -2158,9 +2160,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { "node": ">=6" @@ -3341,9 +3343,9 @@ "peer": true }, "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/normalize-path": { @@ -4296,9 +4298,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "dependencies": { "escalade": "^3.1.1", diff --git a/cdTMP/package.json b/cdTMP/package.json index 351db64..5f0ca7d 100644 --- a/cdTMP/package.json +++ b/cdTMP/package.json @@ -47,6 +47,8 @@ "@vitejs/plugin-vue-jsx": "^3.0.1", "@vue/babel-plugin-jsx": "^1.1.1", "autoprefixer": "^10.4.14", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", "eslint": "^8.42.0", "eslint-plugin-vue": "^9.14.1", "less": "^4.1.3", diff --git a/cdTMP/src/api/generate/dgGenerate.js b/cdTMP/src/api/generate/dgGenerate.js index eb208d5..3453465 100644 --- a/cdTMP/src/api/generate/dgGenerate.js +++ b/cdTMP/src/api/generate/dgGenerate.js @@ -33,4 +33,180 @@ export default { params }) }, + /** + * + * @returns 生成技术依据文件部分 + */ + createTechYiju(params = {}) { + return request({ + url: `/generate/create/techyiju`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-测评时间和地点 + */ + createTimeaddress(params = {}) { + return request({ + url: `/generate/create/timeaddress`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-被测软件功能 + */ + createFuncList(params = {}) { + return request({ + url: `/generate/create/funcList`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-测评对象的软件组成描述 + */ + createSoftComposition(params = {}) { + return request({ + url: `/generate/create/softComposition`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-被测软件接口 + */ + createInterface(params = {}) { + return request({ + url: `/generate/create/interface`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-被测软件性能 + */ + createPerformance(params = {}) { + return request({ + url: `/generate/create/performance`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-被测软件性能 + */ + createBaseInformation(params = {}) { + return request({ + url: `/generate/create/baseInformation`, + method: "get", + params + }) + }, + /** + * + * @returns 生成测评大纲-测试总体要求 + */ + createRequirement(params = {}) { + return request({ + url: `/generate/create/requirement`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-测试内容充分性及测试方法有效性 + */ + createAdequacyEffectiveness(params = {}) { + return request({ + url: `/generate/create/adequacy_effectiveness`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-测评组织及分工 + */ + createGroup(params = {}) { + return request({ + url: `/generate/create/group`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-测评条件和保障 + */ + createGuarantee(params = {}) { + return request({ + url: `/generate/create/guarantee`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-缩略语 + */ + createAbbreviation(params = {}) { + return request({ + url: `/generate/create/abbreviation`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-研制总要求-测试项对比表 + */ + createYzComparison(params = {}) { + return request({ + url: `/generate/create/yzComparison`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-需求规格说明追踪表 + */ + createXqComparison(params = {}) { + return request({ + url: `/generate/create/xqComparison`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-反向测试项-需求规格说明追踪表 + */ + createFanXqComparison(params = {}) { + return request({ + url: `/generate/create/fanXqComparison`, + method: "get", + params + }) + }, + /** + * + * @returns 生成-代码质量度量分析表 + */ + createCodeQuality(params = {}) { + return request({ + url: `/generate/create/codeQuality`, + method: "get", + params + }) + }, } diff --git a/cdTMP/src/api/generate/dgSeitaiGenerate.js b/cdTMP/src/api/generate/dgSeitaiGenerate.js new file mode 100644 index 0000000..66b9c36 --- /dev/null +++ b/cdTMP/src/api/generate/dgSeitaiGenerate.js @@ -0,0 +1,14 @@ +import { request } from "@/api/request" +export default { + /** + * 如果缺少部分文件给与提示 + * @returns 根据output_dir生成最终大纲文档 + */ + createDagangSeiTai(params = {}) { + return request({ + url: `/create/dgDocument`, + method: "get", + params + }) + } +} diff --git a/cdTMP/src/api/project/testDemand.js b/cdTMP/src/api/project/testDemand.js index 051c2d7..b5d4990 100644 --- a/cdTMP/src/api/project/testDemand.js +++ b/cdTMP/src/api/project/testDemand.js @@ -44,4 +44,37 @@ export default { data }) }, + /** + * 请求一个项目的所有测试需求(即测试项) + * @returns + */ + getRelatedTestDemand(params = {}) { + return request({ + url: "/project/testDemand/getRelatedTestDemand", + method: "get", + params + }) + }, + /** + * 设计需求关联测试需求(测试项)的接口请求 + * @returns + */ + solveRelatedTestDemand(params = {}) { + return request({ + url: "/project/testDemand/solveRelatedTestDemand", + method: "post", + data: params + }) + }, + /** + * 根据当前设计需求design,找出已关联非自己的测试项 + * @returns + */ + getExistRelatedTestDemand(params = {}) { + return request({ + url: "/project/testDemand/getExistRelatedTestDemand", + method: "post", + data: params + }) + } } diff --git a/cdTMP/src/api/system/abbreviation.js b/cdTMP/src/api/system/abbreviation.js new file mode 100644 index 0000000..b4b7898 --- /dev/null +++ b/cdTMP/src/api/system/abbreviation.js @@ -0,0 +1,48 @@ +import { request } from "@/api/request" + +export default { + /** + * 请求缩略语列表 + * @returns 请求缩略语的数据 + */ + getlist(params = {}) { + return request({ + url: `system/abbreviation/getlist`, + method: "get", + params + }) + }, + /** + * 添加缩略语数据 + * @returns 返回已添加的缩略语 + */ + save(data = {}) { + return request({ + url: "system/abbreviation/save", + method: "post", + data + }) + }, + /** + * 更新缩略语 + * @returns + */ + update(id, data = {}) { + return request({ + url: "system/abbreviation/update/" + id, + method: "put", + data + }) + }, + /** + * 删除缩略语 + * @returns + */ + delete(data) { + return request({ + url: "system/abbreviation/delete", + method: "delete", + data + }) + } +} diff --git a/cdTMP/src/components/ma-crud/components/column.vue b/cdTMP/src/components/ma-crud/components/column.vue index 03dae18..9f7a94b 100644 --- a/cdTMP/src/components/ma-crud/components/column.vue +++ b/cdTMP/src/components/ma-crud/components/column.vue @@ -69,6 +69,7 @@ " type="primary" > {{ options.see.text || '查看' }} --> + - + {{ props.isRecovery diff --git a/cdTMP/src/components/ma-editor/index.vue b/cdTMP/src/components/ma-editor/index.vue index c41a663..7774ce0 100644 --- a/cdTMP/src/components/ma-editor/index.vue +++ b/cdTMP/src/components/ma-editor/index.vue @@ -51,8 +51,8 @@ const props = defineProps({ }, toolbar: { type: [String, Array], - default: - "code undo redo restoredraft | paste pastetext |bold italic underline strikethrough codesample | preview | alignleft alignjustify indent formatpainter | \ + default: // 如果要取消粘贴只粘贴文本,需要用户加格式请加上pastetext + "code undo redo restoredraft | paste |bold italic underline strikethrough codesample | preview | alignleft alignjustify indent formatpainter | \ styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | charmap pagebreak insertdatetime" } }) @@ -81,6 +81,7 @@ const initConfig = reactive({ toolbar: props.toolbar, skeletonScreen: true, branding: false, + paste_as_text: true, // 粘贴文字只能是纯文本 content_css: "/tinymce/skins/content/default/content.css", setup: (editor) => { editor.on("init", () => { diff --git a/cdTMP/src/layout/components/navbar.vue b/cdTMP/src/layout/components/navbar.vue index 8c30c99..2009663 100644 --- a/cdTMP/src/layout/components/navbar.vue +++ b/cdTMP/src/layout/components/navbar.vue @@ -20,7 +20,7 @@
  • - + @@ -159,11 +159,10 @@ const handleClickLogo = () => { } // 测试生成文档-测试项和方法 -const testCreate = async ()=>{ +const testCreate = async () => { const st = await dgGenerateApi.createTestDemand() Message.success(st.message) } - diff --git a/cdTMP/src/views/datamanage/dictmanage/dataList.vue b/cdTMP/src/views/datamanage/dictmanage/dataList.vue index cd9569b..2bcfb08 100644 --- a/cdTMP/src/views/datamanage/dictmanage/dataList.vue +++ b/cdTMP/src/views/datamanage/dictmanage/dataList.vue @@ -59,6 +59,30 @@ const open = (row) => { crudRef.value.requestParams = { id: currentRow.value.id } crudRef.value.requestData() visible.value = true + // 判断如果是行数据的code值为standard则不显示‘文档名称’‘发布来源’‘发布日期’,且表单也不显示 + // columnService可以动态设置表格列的属性!!! + const columnService = crudRef.value.getColumnService() + if (currentRow.value.code === "standard") { + columnService.get("doc_name").setAttr("hide", false) + columnService.get("publish_date").setAttr("hide", false) + columnService.get("source").setAttr("hide", false) + columnService.get("doc_name").setAttr("addDisplay", true) + columnService.get("publish_date").setAttr("addDisplay", true) + columnService.get("source").setAttr("addDisplay", true) + columnService.get("doc_name").setAttr("editDisplay", true) + columnService.get("publish_date").setAttr("editDisplay", true) + columnService.get("source").setAttr("editDisplay", true) + } else { + columnService.get("doc_name").setAttr("hide", true) + columnService.get("publish_date").setAttr("hide", true) + columnService.get("source").setAttr("hide", true) + columnService.get("doc_name").setAttr("addDisplay", false) + columnService.get("publish_date").setAttr("addDisplay", false) + columnService.get("source").setAttr("addDisplay", false) + columnService.get("doc_name").setAttr("editDisplay", false) + columnService.get("publish_date").setAttr("editDisplay", false) + columnService.get("source").setAttr("editDisplay", false) + } } // crudOptions const crudOptions = ref({ @@ -76,6 +100,7 @@ const crudOptions = ref({ edit: { show: true, api: dictApi.updateDictItemData }, delete: { show: true, api: dictApi.realDeleteItem } }) + // crudColumns const columns = ref([ { title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true }, @@ -159,7 +184,7 @@ const columns = ref([ dataIndex: "source", align: "center", search: false, - placeholder: "如果不是标准则不填" + placeholder: "如果不是标准则不填", } ]) diff --git a/cdTMP/src/views/project/design-demand/index.vue b/cdTMP/src/views/project/design-demand/index.vue index be746c7..d830596 100644 --- a/cdTMP/src/views/project/design-demand/index.vue +++ b/cdTMP/src/views/project/design-demand/index.vue @@ -6,18 +6,47 @@ + + + + + +
    已存在的关联项:
    + +
      +
    1. {{ item }}
    2. +
    +
    +
    选择关联的测试需求项:
    + +
    - + diff --git a/cdTMP/src/views/project/dut/index.vue b/cdTMP/src/views/project/dut/index.vue index 6673281..11b6b9c 100644 --- a/cdTMP/src/views/project/dut/index.vue +++ b/cdTMP/src/views/project/dut/index.vue @@ -50,7 +50,7 @@ const crudOptions = ref({ delete: { show: true, api: designDemandApi.delete }, // 处理添加后函数 beforeOpenAdd: function () { - let key_split = route.query.key.split("-") + let key_split = route.query.key.split("-") let round_key = key_split[0] let dut_key = key_split[1] let td = treeDataStore.treeData @@ -58,7 +58,7 @@ const crudOptions = ref({ return true }, beforeOpenEdit: function (record) { - let key_split = route.query.key.split("-") + let key_split = route.query.key.split("-") let round_key = key_split[0] let dut_key = key_split[1] let td = treeDataStore.treeData @@ -98,7 +98,7 @@ const crudColumns = ref([ align: "center", width: 50, dataIndex: "id", - commonRules: [{ required: true, message: "标识是必填" }], + commonRules: [{ required: true, message: "ID必填" }], validateTrigger: "blur" }, { diff --git a/cdTMP/src/views/project/round/index.vue b/cdTMP/src/views/project/round/index.vue index 6d7f7ba..5878e5b 100644 --- a/cdTMP/src/views/project/round/index.vue +++ b/cdTMP/src/views/project/round/index.vue @@ -100,7 +100,8 @@ const beiceType = [ { label: "源代码", value: "SO" }, { label: "设计说明", value: "SJ" }, { label: "需求文档", value: "XQ" }, - { label: "通信协议", value: "XY" } + { label: "通信协议", value: "XY" }, + { label: "研制总要求", value: "YZ" } ] const crudColumns = ref([ @@ -135,7 +136,7 @@ const crudColumns = ref([ dict: { data: beiceType, translation: true, - tagColors: { XQ: "blue", SO: "green", SJ: "orangered", XY: "pinkpurple" } + tagColors: { XQ: "blue", SO: "green", SJ: "orangered", XY: "pinkpurple",YZ:"red" } }, control: (value, data) => { if (value === "SO") { @@ -150,7 +151,6 @@ const crudColumns = ref([ } } else { // 其他数据清除 - return { black_line: { display: false }, pure_code_line: { display: false }, @@ -180,6 +180,14 @@ const crudColumns = ref([ commonRules: [{ required: true, message: "版本必填" }], validateTrigger: "blur" }, + { + title: "用户标识", + align: "center", + dataIndex: "ref", + search: true, + commonRules: [{ required: true, message: "用户标识或编号必填" }], + validateTrigger: "blur" + }, { title: "单位", align: "center", diff --git a/cdTMP/src/views/testmanage/projmanage/cpns/progress.vue b/cdTMP/src/views/testmanage/projmanage/cpns/progress.vue new file mode 100644 index 0000000..c3044ff --- /dev/null +++ b/cdTMP/src/views/testmanage/projmanage/cpns/progress.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/cdTMP/src/views/testmanage/projmanage/index.vue b/cdTMP/src/views/testmanage/projmanage/index.vue index ee5692c..b5a39c1 100644 --- a/cdTMP/src/views/testmanage/projmanage/index.vue +++ b/cdTMP/src/views/testmanage/projmanage/index.vue @@ -6,12 +6,17 @@ +