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: "标识是必填" }],