diff --git a/cdTMP/src/layout/project-layout.vue b/cdTMP/src/layout/project-layout.vue index 72260f3..fffac49 100644 --- a/cdTMP/src/layout/project-layout.vue +++ b/cdTMP/src/layout/project-layout.vue @@ -11,9 +11,9 @@ 搜索 - 空搜索需要点击搜索按钮 + + {{ expandedKeys?.length ? "全部收缩" : "全部展开" }} + { } } } + +// 1.定义展开的tree-key 2.定义全部展开的数据 3.定义展开收缩函数 -> 注意在treeStore里面使用递归处理 +const expandedKeys = ref([]) +const allExpandedKeys = ref([]) +const toggleExpanded = () => { + allExpandedKeys.value = treeDataStore.outExpandNode() + expandedKeys.value = expandedKeys?.value.length ? [] : allExpandedKeys.value +} + /// 设置轮次弹窗的列信息 const roundColumn = ref([ { diff --git a/cdTMP/src/store/project/treeData.js b/cdTMP/src/store/project/treeData.js index a69c255..cc36d37 100644 --- a/cdTMP/src/store/project/treeData.js +++ b/cdTMP/src/store/project/treeData.js @@ -77,7 +77,8 @@ const useTreeDataStore = defineStore("treeDataStore", { let caseKey = temp[4] const nodeKey = temp.join("-") const res = await projectApi.getProblemInfo(projrctId, nodeKey, "4") - this.treeData[roundKey].children[dutKey].children[designKey].children[testKey].children[caseKey].children = res.data + this.treeData[roundKey].children[dutKey].children[designKey].children[testKey].children[caseKey].children = + res.data }, setCurrentNode(nodeKey) { this.currentNode = nodeKey @@ -98,6 +99,28 @@ const useTreeDataStore = defineStore("treeDataStore", { } else { return roundLength } + }, + // 输出当前树状结构可展开的节点 + outExpandNode() { + // 定义递归函数 + const res = [] + function digui(data) { + if (Object.prototype.toString.call(data) === "[object Array]") { + for (let i = 0; i < data.length; i++) { + if (data[i].children) { + res.push(data[i].key) + digui(data[i].children) + } + } + } + } + this.treeData.forEach((item) => { + if (item.children) { + res.push(item.key) + digui(item.children) + } + }) + return res } } }) diff --git a/cdTMP/src/views/project/case/index.vue b/cdTMP/src/views/project/case/index.vue index f7e7cb9..ddcd0f3 100644 --- a/cdTMP/src/views/project/case/index.vue +++ b/cdTMP/src/views/project/case/index.vue @@ -146,6 +146,7 @@ const crudColumns = ref([ { title: "标识", align: "center", + sortable: { sortDirections: ["ascend"] }, width: 140, search: true, dataIndex: "ident", diff --git a/cdTMP/src/views/project/design-demand/index.vue b/cdTMP/src/views/project/design-demand/index.vue index 8acf32d..5e009d4 100644 --- a/cdTMP/src/views/project/design-demand/index.vue +++ b/cdTMP/src/views/project/design-demand/index.vue @@ -63,6 +63,7 @@ const crudColumns = ref([ { title: "标识", dataIndex: "ident", + sortable: { sortDirections: ["ascend"] }, align: "center", search: true, commonRules: [{ required: true, message: "标识是必填" }], diff --git a/cdTMP/src/views/project/dut/index.vue b/cdTMP/src/views/project/dut/index.vue index b8af0e2..1893f94 100644 --- a/cdTMP/src/views/project/dut/index.vue +++ b/cdTMP/src/views/project/dut/index.vue @@ -44,7 +44,7 @@ const crudOptions = ref({ }, showIndex: false, rowSelection: { showCheckedAll: true }, - searchColNumber: 3, + searchColNumber: 4, tablePagination: false, operationColumn: true, operationColumnAlign: "center", @@ -64,6 +64,7 @@ const crudColumns = ref([ { title: "标识", align: "center", + sortable: { sortDirections: ["ascend"] }, width: 120, dataIndex: "ident", search: true, @@ -79,6 +80,13 @@ const crudColumns = ref([ commonRules: [{ required: true, message: "需求名称是必填" }], validateTrigger: "blur" }, + { + title:'章节号', + align:'center', + width:150, + dataIndex:'chapter', + search:true, + }, { title: "需求类型", width: 150, diff --git a/cdTMP/src/views/project/round/index.vue b/cdTMP/src/views/project/round/index.vue index e453963..c41ac2f 100644 --- a/cdTMP/src/views/project/round/index.vue +++ b/cdTMP/src/views/project/round/index.vue @@ -105,6 +105,7 @@ const crudColumns = ref([ { title: "标识", width: 150, + sortable: { sortDirections: ["ascend"] }, align: "center", dataIndex: "ident", search: true, @@ -161,6 +162,30 @@ const crudColumns = ref([ commonRules: [{ required: true, message: "需求名称是必填" }], validateTrigger: "blur" }, + { + title: "版本", + align: "center", + dataIndex: "version", + search: true, + commonRules: [{ required: true, message: "版本必填" }], + validateTrigger: "blur" + }, + { + title: "单位", + align: "center", + dataIndex: "release_union", + search: true, + commonRules: [{ required: true, message: "单位必选" }], + formType: "select", + dict: { url: "system/contact/index", props: { label: "name", value: "name" }, translation: true } + }, + { + title: "发布时间", + dataIndex: "release_date", + hide: true, + commonRules: [{ required: true, message: "时间必填" }], + formType: "date" + }, { title: "空行", hide: true, @@ -191,12 +216,14 @@ const crudColumns = ref([ }, { title: "总代码", + hide: true, align: "center", dataIndex: "total_code_line", formType: "input-number" }, { title: "总行数", + hide: true, align: "center", dataIndex: "total_line", formType: "input-number" @@ -205,6 +232,7 @@ const crudColumns = ref([ title: "注释率 %", align: "center", dataIndex: "comment_line", + hide: true, addDisabled: true, editDisabled: true, customRender: ({ record }) => { diff --git a/cdTMP/src/views/project/testDemand/index.vue b/cdTMP/src/views/project/testDemand/index.vue index 7023083..eb390fe 100644 --- a/cdTMP/src/views/project/testDemand/index.vue +++ b/cdTMP/src/views/project/testDemand/index.vue @@ -90,6 +90,7 @@ const crudColumns = ref([ { title: "标识", dataIndex: "ident", + sortable: { sortDirections: ["ascend"] }, width: 140, align: "center", search: true, diff --git a/cdTMP/src/views/testmanage/projmanage/index.vue b/cdTMP/src/views/testmanage/projmanage/index.vue index bc66210..899d747 100644 --- a/cdTMP/src/views/testmanage/projmanage/index.vue +++ b/cdTMP/src/views/testmanage/projmanage/index.vue @@ -146,6 +146,7 @@ const crudColumns = ref([ { title: "标识", width: 70, + sortable: { sortDirections: ["ascend"] }, dataIndex: "ident", search: true, commonRules: [{ required: true, message: "标识是必填" }],