54321
This commit is contained in:
15
cdTMP/src/api/project/dut.js
Normal file
15
cdTMP/src/api/project/dut.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { request } from "@/api/request"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
/**
|
||||||
|
* 根据项目id、round信息,请求dut
|
||||||
|
* @returns dut数据
|
||||||
|
*/
|
||||||
|
getDutList(params = {}) {
|
||||||
|
return request({
|
||||||
|
url: `project/getDutList`,
|
||||||
|
method: "get",
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,21 @@ export default {
|
|||||||
method: "get"
|
method: "get"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 根据项目名、树节点等级和key查找被测件
|
||||||
|
* @returns 被测件
|
||||||
|
*/
|
||||||
|
getDutInfo(projectId, key, level) {
|
||||||
|
return request({
|
||||||
|
url: `project/getDutInfo`,
|
||||||
|
method: "get",
|
||||||
|
params: {
|
||||||
|
projectId: projectId,
|
||||||
|
key: key,
|
||||||
|
level: level
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 根据项目名、树节点等级和key查找设计需求
|
* 根据项目名、树节点等级和key查找设计需求
|
||||||
* @returns 设计需求树状节点信息
|
* @returns 设计需求树状节点信息
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
<div class="center-side flex items-center justify-center">
|
<div class="center-side flex items-center justify-center">
|
||||||
{{ title }}
|
<template v-if="title"> 项目名称:{{ title }} </template>
|
||||||
<Menu v-if="topMenu"></Menu>
|
<Menu v-if="topMenu"></Menu>
|
||||||
</div>
|
</div>
|
||||||
<ul class="right-side">
|
<ul class="right-side">
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
<a-layout-sider class="layout-sider">
|
<a-layout-sider class="layout-sider">
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<a-input-group class="mb-2 w-full flex items-center" size="mini">
|
<a-input-group class="mb-2 w-full flex items-center" size="mini">
|
||||||
<a-input style="height: 32px"></a-input>
|
<a-input style="height: 32px" v-model="searchKey" allow-clear></a-input>
|
||||||
<a-button>搜索</a-button>
|
<a-button @click="handleSearchTreeDataClick">搜索</a-button>
|
||||||
</a-input-group>
|
</a-input-group>
|
||||||
<a-input-group class="mb-2 w-full flex items-center justify-between" size="mini">
|
<a-input-group class="mb-2 w-full flex items-center justify-between" size="mini">
|
||||||
<a-button class="w-1/2" type="primary">增加轮次</a-button>
|
<a-button class="w-1/2" type="primary">增加轮次</a-button>
|
||||||
@@ -25,8 +25,7 @@
|
|||||||
showLine
|
showLine
|
||||||
ref="treeRef"
|
ref="treeRef"
|
||||||
border
|
border
|
||||||
:default-expand-selected="true"
|
:default-selected-keys="[currentNode ? currentNode : route.query.key]"
|
||||||
:default-selected-keys="[route.query.key]"
|
|
||||||
></a-tree>
|
></a-tree>
|
||||||
</div>
|
</div>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
@@ -47,67 +46,108 @@ import PageLayout from "@/layout/page-layout.vue"
|
|||||||
import projectApi from "@/api/project/project"
|
import projectApi from "@/api/project/project"
|
||||||
import { useRoute } from "vue-router"
|
import { useRoute } from "vue-router"
|
||||||
import { useRouter } from "vue-router"
|
import { useRouter } from "vue-router"
|
||||||
|
import { useTreeDataStore } from "@/store"
|
||||||
|
import { storeToRefs } from "pinia"
|
||||||
// 缩小后的menu菜单
|
// 缩小后的menu菜单
|
||||||
const drawerVisible = ref(false)
|
const drawerVisible = ref(false)
|
||||||
provide("toggleDrawerMenu", () => {
|
provide("toggleDrawerMenu", () => {
|
||||||
drawerVisible.value = !drawerVisible.value
|
drawerVisible.value = !drawerVisible.value
|
||||||
})
|
})
|
||||||
|
// 搜索绑定与搜索按钮点击
|
||||||
|
const searchKey = ref("")
|
||||||
|
const handleSearchTreeDataClick = () => {
|
||||||
|
const loop = (itemdata) => {
|
||||||
|
const result = []
|
||||||
|
itemdata.forEach((item) => {
|
||||||
|
if (item.title.indexOf(searchKey.value) > -1) {
|
||||||
|
result.push({ ...item })
|
||||||
|
} else if (item.children) {
|
||||||
|
const filterdata = loop(item.children)
|
||||||
|
if (filterdata.length) {
|
||||||
|
result.push({
|
||||||
|
...item,
|
||||||
|
children: filterdata
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
// 返回过滤后的treeData
|
||||||
|
// treeDataStore.originTreeData
|
||||||
|
if (searchKey.value) {
|
||||||
|
treeData.value = loop(treeDataStore.treeData)
|
||||||
|
} else {
|
||||||
|
treeData.value = treeDataStore.originTreeData
|
||||||
|
}
|
||||||
|
}
|
||||||
// 树状
|
// 树状
|
||||||
/// 初始化round轮次数据
|
/// 初始化round轮次数据
|
||||||
|
const treeDataStore = useTreeDataStore()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const treeRef = ref()
|
const treeRef = ref()
|
||||||
const treeData = ref([])
|
const { treeData, currentNode } = storeToRefs(treeDataStore)
|
||||||
const projectInfo = ref({ ...route.query })
|
const projectInfo = ref({ ...route.query })
|
||||||
const projectId = ref(route.query.projectId)
|
const projectId = ref(route.query.projectId)
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const roundData = await projectApi.getRoundInfo(projectId)
|
treeDataStore.initTreeData(projectId)
|
||||||
treeData.value = roundData
|
|
||||||
})
|
})
|
||||||
/// 点击树状节点-参数1:节点数组,参数2:树node对象
|
/// 点击树状节点-参数1:节点数组,参数2:树node对象
|
||||||
const pointNode = (value, data) => {
|
const pointNode = (value, data) => {
|
||||||
console.log(data.node)
|
console.log(data.node);
|
||||||
if (data.node.level === "0") {
|
if (data.node.level === "0") {
|
||||||
router.push({ name: "round", query: { ...projectInfo.value, key: data.node.key } })
|
router.push({ name: "round", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
}
|
}
|
||||||
if (data.node.level === "1") {
|
if (data.node.level === "1") {
|
||||||
router.push({ name: "designDemand", query: { ...projectInfo.value, key: data.node.key } })
|
router.push({ name: "dut", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
}
|
}
|
||||||
if (data.node.level === "2") {
|
if (data.node.level === "2") {
|
||||||
router.push({ name: "testDemand", query: { ...projectInfo.value, key: data.node.key } })
|
router.push({ name: "designDemand", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
}
|
}
|
||||||
if (data.node.level === "3") {
|
if (data.node.level === "3") {
|
||||||
router.push({ name: "case", query: { ...projectInfo.value, key: data.node.key } })
|
router.push({ name: "testDemand", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
}
|
}
|
||||||
if (data.node.level === "4") {
|
if (data.node.level === "4") {
|
||||||
|
router.push({ name: "case", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
|
}
|
||||||
|
if (data.node.level === "5") {
|
||||||
router.push({ name: "problem", query: { ...projectInfo.value, key: data.node.key } })
|
router.push({ name: "problem", query: { ...projectInfo.value, key: data.node.key } })
|
||||||
}
|
}
|
||||||
|
treeDataStore.setCurrentNode(data.node.key)
|
||||||
}
|
}
|
||||||
/// 动态加载函数-参数1:树node对象
|
/// 动态加载函数-参数1:树node对象
|
||||||
const loadMore = (nodeData) => {
|
const loadMore = (nodeData) => {
|
||||||
console.log("动态加载的节点为:", nodeData) // 输出点击节点的key,以及添加上去的level属性
|
console.log("动态加载的节点为:", nodeData) // 输出点击节点的key,以及添加上去的level属性
|
||||||
if (nodeData.level == "0") {
|
if (nodeData.level == "0") {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const res = await projectApi.getDemandInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
const res = await projectApi.getDutInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
||||||
nodeData.children = res
|
nodeData.children = res
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (nodeData.level == "1") {
|
if (nodeData.level == "1") {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const res = await projectApi.getTestInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
const res = await projectApi.getDemandInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
||||||
nodeData.children = res
|
nodeData.children = res
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (nodeData.level == "2") {
|
if (nodeData.level == "2") {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const res = await projectApi.getCaseInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
const res = await projectApi.getTestInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
||||||
nodeData.children = res
|
nodeData.children = res
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (nodeData.level == "3") {
|
if (nodeData.level == "3") {
|
||||||
|
return new Promise(async (resolve) => {
|
||||||
|
const res = await projectApi.getCaseInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
||||||
|
nodeData.children = res
|
||||||
|
resolve()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (nodeData.level == "4") {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
const res = await projectApi.getProblemInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
const res = await projectApi.getProblemInfo(projectInfo.value.id, nodeData.key, nodeData.level)
|
||||||
nodeData.children = res
|
nodeData.children = res
|
||||||
|
|||||||
@@ -44,6 +44,17 @@ const router = createRouter({
|
|||||||
icon: "icon-arrow-right"
|
icon: "icon-arrow-right"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "dut",
|
||||||
|
name: "dut",
|
||||||
|
component: () => import("@/views/project/dut/index.vue"),
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true,
|
||||||
|
roles: ["*"],
|
||||||
|
locale: "被测件信息",
|
||||||
|
icon: "icon-arrow-right"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "designDemand",
|
path: "designDemand",
|
||||||
name: "designDemand",
|
name: "designDemand",
|
||||||
|
|||||||
@@ -6,15 +6,9 @@ import useTabBarStore from "./modules/tab-bar"
|
|||||||
import useFormStore from "./modules/form"
|
import useFormStore from "./modules/form"
|
||||||
import useKeepAliveStore from "./modules/keepAlive"
|
import useKeepAliveStore from "./modules/keepAlive"
|
||||||
import useTagStore from "./modules/tag"
|
import useTagStore from "./modules/tag"
|
||||||
|
import useTreeDataStore from "./project/treeData"
|
||||||
|
|
||||||
const pinia = createPinia()
|
const pinia = createPinia()
|
||||||
|
|
||||||
export {
|
export { useUserStore, useAppStore, useTabBarStore, useFormStore, useKeepAliveStore, useTagStore,useTreeDataStore }
|
||||||
useUserStore,
|
|
||||||
useAppStore,
|
|
||||||
useTabBarStore,
|
|
||||||
useFormStore,
|
|
||||||
useKeepAliveStore,
|
|
||||||
useTagStore,
|
|
||||||
}
|
|
||||||
export default pinia
|
export default pinia
|
||||||
|
|||||||
27
cdTMP/src/store/project/treeData.js
Normal file
27
cdTMP/src/store/project/treeData.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import { defineStore } from "pinia"
|
||||||
|
import projectApi from "@/api/project/project"
|
||||||
|
|
||||||
|
const useTreeDataStore = defineStore("treeDataStore", {
|
||||||
|
state: () => {
|
||||||
|
return {
|
||||||
|
treeData: [],
|
||||||
|
originTreeData: [],
|
||||||
|
currentNode: undefined
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
// 不能使用箭头函数,无法绑定this
|
||||||
|
async initTreeData(projectId) {
|
||||||
|
if (this.treeData.length === 0) {
|
||||||
|
const roundData = await projectApi.getRoundInfo(projectId)
|
||||||
|
this.treeData = roundData
|
||||||
|
this.originTreeData = roundData
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setCurrentNode(nodeKey) {
|
||||||
|
this.currentNode = nodeKey
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export default useTreeDataStore
|
||||||
@@ -14,14 +14,16 @@ import problemApi from "@/api/project/problem"
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const roundNumber = route.query.key.split("-")[0]
|
const roundNumber = route.query.key.split("-")[0]
|
||||||
const designDemandNumber = route.query.key.split("-")[1]
|
const dutNumber = route.query.key.split("-")[1]
|
||||||
const testDemandNumber = route.query.key.split("-")[2]
|
const designDemandNumber = route.query.key.split("-")[2]
|
||||||
const caseNumber = route.query.key.split("-")[3]
|
const testDemandNumber = route.query.key.split("-")[3]
|
||||||
|
const caseNumber = route.query.key.split("-")[4]
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
api: problemApi.getProblemList,
|
api: problemApi.getProblemList,
|
||||||
parameters: {
|
parameters: {
|
||||||
projectId: route.query.id,
|
projectId: route.query.id,
|
||||||
round: roundNumber,
|
round: roundNumber,
|
||||||
|
dut: dutNumber,
|
||||||
designDemand: designDemandNumber,
|
designDemand: designDemandNumber,
|
||||||
testDemand: testDemandNumber,
|
testDemand: testDemandNumber,
|
||||||
case: caseNumber
|
case: caseNumber
|
||||||
@@ -112,7 +114,7 @@ const crudOptions = ref({
|
|||||||
{ span: 12, formList: [{ dataIndex: "revokePerson" }] },
|
{ span: 12, formList: [{ dataIndex: "revokePerson" }] },
|
||||||
{ span: 12, formList: [{ dataIndex: "revokeDate" }] }
|
{ span: 12, formList: [{ dataIndex: "revokeDate" }] }
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -270,7 +272,7 @@ const crudColumns = ref([
|
|||||||
title: "设师上级",
|
title: "设师上级",
|
||||||
hide: true,
|
hide: true,
|
||||||
dataIndex: "designerPerson",
|
dataIndex: "designerPerson",
|
||||||
commonRules: [{ required: true, message: "提单人必填" }],
|
commonRules: [{ required: true, message: "提单人必填" }]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "提单日期",
|
title: "提单日期",
|
||||||
|
|||||||
@@ -15,13 +15,15 @@ const route = useRoute()
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
// 根据传参获取key,分别为轮次、设计需求的key
|
// 根据传参获取key,分别为轮次、设计需求的key
|
||||||
const roundNumber = route.query.key.split("-")[0]
|
const roundNumber = route.query.key.split("-")[0]
|
||||||
const designDemandNumber = route.query.key.split("-")[1]
|
const dutNumber = route.query.key.split("-")[0]
|
||||||
|
const designDemandNumber = route.query.key.split("-")[2]
|
||||||
// crud组件
|
// crud组件
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
api: testDemandApi.getTestDemandList,
|
api: testDemandApi.getTestDemandList,
|
||||||
parameters: {
|
parameters: {
|
||||||
projectId: route.query.id,
|
projectId: route.query.id,
|
||||||
round: roundNumber,
|
round: roundNumber,
|
||||||
|
dut: dutNumber,
|
||||||
designDemand: designDemandNumber
|
designDemand: designDemandNumber
|
||||||
},
|
},
|
||||||
showIndex: false,
|
showIndex: false,
|
||||||
|
|||||||
83
cdTMP/src/views/project/dut/index.vue
Normal file
83
cdTMP/src/views/project/dut/index.vue
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
<template>
|
||||||
|
<div class="ma-content-block lg:flex justify-between p-4">
|
||||||
|
<div class="lg:w-full w-full lg:ml-4 mt-5 lg:mt-0">
|
||||||
|
<!-- CRUD组件 -->
|
||||||
|
<ma-crud :options="crudOptions" :columns="crudColumns"></ma-crud>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from "vue"
|
||||||
|
import { useRoute, useRouter } from "vue-router"
|
||||||
|
import designDemandApi from "@/api/project/designDemand"
|
||||||
|
const route = useRoute()
|
||||||
|
const router = useRouter()
|
||||||
|
const roundNumber = route.query.key.split("-")[0]
|
||||||
|
const dutNumber = route.query.key.split("-")[1]
|
||||||
|
// crud组件
|
||||||
|
const crudOptions = ref({
|
||||||
|
api: designDemandApi.getDesignDemandList,
|
||||||
|
parameters: {
|
||||||
|
projectId: route.query.id,
|
||||||
|
round: roundNumber,
|
||||||
|
dut: dutNumber
|
||||||
|
},
|
||||||
|
showIndex: false,
|
||||||
|
rowSelection: { showCheckedAll: true },
|
||||||
|
add: { show: true },
|
||||||
|
edit: { show: true },
|
||||||
|
delete: { show: true },
|
||||||
|
searchColNumber: 3,
|
||||||
|
tablePagination: true,
|
||||||
|
operationColumn: true,
|
||||||
|
formOption: {
|
||||||
|
width: 1200
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const crudColumns = ref([
|
||||||
|
{
|
||||||
|
title: "ID",
|
||||||
|
width: 50,
|
||||||
|
dataIndex: "id",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "标识是必填" }],
|
||||||
|
validateTrigger: "blur"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "标识",
|
||||||
|
width: 120,
|
||||||
|
dataIndex: "ident",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "标识是必填" }],
|
||||||
|
validateTrigger: "blur"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "需求名称",
|
||||||
|
width: 150,
|
||||||
|
dataIndex: "name",
|
||||||
|
search: true,
|
||||||
|
commonRules: [{ required: true, message: "需求名称是必填" }],
|
||||||
|
validateTrigger: "blur"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "需求类型",
|
||||||
|
width: 150,
|
||||||
|
dataIndex: "demandType",
|
||||||
|
formType: "radio",
|
||||||
|
search: true,
|
||||||
|
dict: { name: "demandType", props: { label: "title", value: "key" }, translation: true },
|
||||||
|
commonRules: [{ required: true, message: "需求类型是必填" }],
|
||||||
|
validateTrigger: "blur"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "需求描述",
|
||||||
|
dataIndex: "description",
|
||||||
|
width: 300,
|
||||||
|
formType: "editor",
|
||||||
|
height: 300
|
||||||
|
}
|
||||||
|
])
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped></style>
|
||||||
@@ -10,13 +10,13 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue"
|
import { ref } from "vue"
|
||||||
import { useRoute, useRouter } from "vue-router"
|
import { useRoute, useRouter } from "vue-router"
|
||||||
import designDemandApi from "@/api/project/designDemand"
|
import dutApi from "@/api/project/dut"
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
// crud组件
|
// crud组件
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
api: designDemandApi.getDesignDemandList,
|
api: dutApi.getDutList,
|
||||||
parameters: {
|
parameters: {
|
||||||
projectId: route.query.id,
|
projectId: route.query.id,
|
||||||
round: route.query.key
|
round: route.query.key
|
||||||
@@ -30,13 +30,14 @@ const crudOptions = ref({
|
|||||||
tablePagination: true,
|
tablePagination: true,
|
||||||
operationColumn: true,
|
operationColumn: true,
|
||||||
formOption: {
|
formOption: {
|
||||||
width: 1200
|
width: 500
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const crudColumns = ref([
|
const crudColumns = ref([
|
||||||
{
|
{
|
||||||
title: "ID",
|
title: "ID",
|
||||||
width: 50,
|
width: 50,
|
||||||
|
align:'center',
|
||||||
dataIndex: "id",
|
dataIndex: "id",
|
||||||
search: true,
|
search: true,
|
||||||
commonRules: [{ required: true, message: "标识是必填" }],
|
commonRules: [{ required: true, message: "标识是必填" }],
|
||||||
@@ -44,37 +45,61 @@ const crudColumns = ref([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "标识",
|
title: "标识",
|
||||||
width: 120,
|
width: 150,
|
||||||
|
align:'center',
|
||||||
dataIndex: "ident",
|
dataIndex: "ident",
|
||||||
search: true,
|
search: true,
|
||||||
commonRules: [{ required: true, message: "标识是必填" }],
|
commonRules: [{ required: true, message: "标识是必填" }],
|
||||||
validateTrigger: "blur"
|
validateTrigger: "blur"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "需求名称",
|
title: "被测件名",
|
||||||
width: 150,
|
width: 120,
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
search: true,
|
search: true,
|
||||||
commonRules: [{ required: true, message: "需求名称是必填" }],
|
commonRules: [{ required: true, message: "需求名称是必填" }],
|
||||||
validateTrigger: "blur"
|
validateTrigger: "blur"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "需求类型",
|
title:"空行",
|
||||||
width: 150,
|
hide:true,
|
||||||
dataIndex: "demandType",
|
align:'center',
|
||||||
formType: "radio",
|
dataIndex:"black_line"
|
||||||
search: true,
|
|
||||||
dict: { name: "demandType", props: { label: "title", value: "key" }, translation: true },
|
|
||||||
commonRules: [{ required: true, message: "需求类型是必填" }],
|
|
||||||
validateTrigger: "blur"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "需求描述",
|
title:"纯注释",
|
||||||
dataIndex: "description",
|
hide:true,
|
||||||
width: 300,
|
align:'center',
|
||||||
formType: "editor",
|
dataIndex:"pure_code_line"
|
||||||
height: 300
|
},
|
||||||
}
|
{
|
||||||
|
title:"混合行",
|
||||||
|
hide:true,
|
||||||
|
align:'center',
|
||||||
|
dataIndex:"mix_line"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"总注释",
|
||||||
|
hide:true,
|
||||||
|
align:'center',
|
||||||
|
dataIndex:"total_comment_line"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"总代码",
|
||||||
|
align:'center',
|
||||||
|
dataIndex:"total_code_line"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"总行数",
|
||||||
|
align:'center',
|
||||||
|
dataIndex:"total_line"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"注释率",
|
||||||
|
align:'center',
|
||||||
|
dataIndex:"comment_line",
|
||||||
|
commonRules: [{ required: true, message: "注释率必填" }],
|
||||||
|
},
|
||||||
])
|
])
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -14,14 +14,16 @@ import caseApi from "@/api/project/case"
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const roundNumber = route.query.key.split("-")[0]
|
const roundNumber = route.query.key.split("-")[0]
|
||||||
const designDemandNumber = route.query.key.split("-")[1]
|
const dutNumber = route.query.key.split("-")[1]
|
||||||
const testDemandNumber = route.query.key.split("-")[2]
|
const designDemandNumber = route.query.key.split("-")[2]
|
||||||
|
const testDemandNumber = route.query.key.split("-")[3]
|
||||||
// crud设置
|
// crud设置
|
||||||
const crudOptions = ref({
|
const crudOptions = ref({
|
||||||
api: caseApi.getCaseList,
|
api: caseApi.getCaseList,
|
||||||
parameters: {
|
parameters: {
|
||||||
projectId: route.query.id,
|
projectId: route.query.id,
|
||||||
round: roundNumber,
|
round: roundNumber,
|
||||||
|
dut: dutNumber,
|
||||||
designDemand: designDemandNumber,
|
designDemand: designDemandNumber,
|
||||||
testDemand: testDemandNumber
|
testDemand: testDemandNumber
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user