添加关联问题单功能

This commit is contained in:
2024-03-13 21:18:08 +08:00
parent 71f622f1f3
commit 4b7a9d3c5f
10 changed files with 482 additions and 77 deletions

View File

@@ -4,10 +4,20 @@
<!-- CRUD组件 -->
<ma-crud :options="crudOptions" :columns="crudColumns" ref="crudRef">
<template #ident="{ record }">
{{ "PT_" + route.query.ident + "_" + record.ident.padStart(3,"0") }}
{{ "PT_" + route.query.ident + "_" + record.ident.padStart(3, "0") }}
</template>
<!-- 表格前置扩展槽:添加关联按钮 -->
<template #tableAfterButtons>
<a-button type="outline" status="warning" @click="handleRelatedProblem">
<template #icon>
<icon-plus-circle />
</template>
关联添加问题单
</a-button>
</template>
</ma-crud>
</div>
<problem-choose ref="problemchoose" @deleted="related_reload"></problem-choose>
</div>
</template>
@@ -16,6 +26,7 @@ import { ref } from "vue"
import { useRoute, useRouter } from "vue-router"
import problemApi from "@/api/project/problem"
import { useTreeDataStore } from "@/store"
import ProblemChoose from "./components/ProblemChoose.vue"
const treeDataStore = useTreeDataStore()
const route = useRoute()
const router = useRouter()
@@ -26,13 +37,25 @@ const testDemandNumber = route.query.key.split("-")[3]
const caseNumber = route.query.key.split("-")[4]
const crudRef = ref()
const projectId = ref(route.query.id)
const problemchoose = ref()
// ~~~~关联问题单逻辑~~~~
//// 点击关联按钮
const handleRelatedProblem = () => {
problemchoose.value.open()
}
//// 当关联a-modal删除一个问题单时通知我刷新表格
const related_reload = () => {
crudRef.value.refresh()
}
const crudOptions = ref({
api: problemApi.getProblemList,
add: { show: true, api: problemApi.save },
edit: { show: true, api: problemApi.update },
delete: { show: true, api: problemApi.delete },
operationColumnAlign: "center", // 操作列居中
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 design_key = key_split[2]
@@ -47,7 +70,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 design_key = key_split[2]
@@ -62,19 +85,6 @@ const crudOptions = ref({
>用例[${record.name}]-`
return true
},
afterAdd: (res) => {
console.log(res)
let id = projectId.value
treeDataStore.updateProblemTreeData(res.data, id)
},
afterEdit: (res) => {
let id = projectId.value
treeDataStore.updateProblemTreeData(res.data, id)
},
afterDelete: (res, record) => {
let id = projectId.value
treeDataStore.updateProblemTreeData(record, id)
},
parameters: {
projectId: route.query.id,
round: roundNumber,
@@ -263,13 +273,13 @@ const crudColumns = ref([
}
const tagObj = []
for (let item in record.closeMethod) {
if (item === "0") {
if (record.closeMethod[item] === "1") {
tagObj.push(
<a-tag size="small" bordered color="blue">
修改文档
</a-tag>
)
} else if (item === "1") {
} else if (record.closeMethod[item] === "2") {
tagObj.push(
<a-tag size="small" bordered color="green">
修改程序