This commit is contained in:
2023-08-25 13:28:24 +08:00
parent 9bd55a0ab0
commit 2ed1d96074
9 changed files with 72 additions and 31 deletions

View File

@@ -79,6 +79,7 @@ const initConfig = reactive({
toolbar_mode: "wrap",
plugins: props.plugins,
toolbar: props.toolbar,
skeletonScreen: true,
branding: false,
content_css: "/tinymce/skins/content/default/content.css",
setup: (editor) => {

View File

@@ -23,6 +23,7 @@
@select="pointNode"
:load-more="loadMore"
v-model:expanded-keys="expandedKeys"
v-model:selected-keys="selectedKeys"
showLine
ref="treeRef"
border
@@ -160,6 +161,9 @@ const projectId = ref(route.query.id)
onMounted(async () => {
treeDataStore.initTreeData(projectId.value)
})
// v-model绑定选中节点
const selectedKeys = ref([])
const previousKey = ref(null)
// 1.定义展开的tree-key 2.定义全部展开的数据 3.定义展开收缩函数 -> 注意在treeStore里面使用递归处理
const expandedKeys = ref([])
const allExpandedKeys = ref([])
@@ -171,6 +175,9 @@ const toggleExpanded = () => {
let timerId = null
let count = 0
const pointNode = (value, data) => {
// 获取处理单击不选中,双击选中的变量
let catch_selected_key = selectedKeys.value
selectedKeys.value = previousKey.value
count++
if (timerId) {
return
@@ -243,6 +250,10 @@ const pointNode = (value, data) => {
router.push({ name: "problem", query: { ...projectInfo.value, key: data.node.key } })
}
treeDataStore.setCurrentNode(data.node.key)
// 单击设置选择的key
selectedKeys.value = catch_selected_key
// 单击后设置previous选中的key是什么
previousKey.value = catch_selected_key
count = 0
clearTimeout(timerId)
timerId = null

View File

@@ -12,11 +12,20 @@ const useTreeDataStore = defineStore("treeDataStore", {
actions: {
// 不能使用箭头函数无法绑定this
async initTreeData(projectId) {
// 获取localStorage的treeData数据
if(localStorage.getItem("tree_local_data")){
this.treeData = JSON.parse(localStorage.getItem("tree_local_data"))
}
if (this.treeData.length === 0) {
const roundData = await projectApi.getRoundInfo(projectId)
this.treeData = roundData.data
this.originTreeData = roundData.data
}
// 将用户关闭页面数据储存于localStorage中 -> 注意用户打开其他项目 -> 务必清除localStorage的tree_local_data数据
// 暂定在点击进入工作台时清除!!!
window.addEventListener("beforeunload",()=>{
localStorage.setItem("tree_local_data",JSON.stringify(this.treeData))
})
},
// 用于新增轮次后显示
async resetTreeData(projectId) {

View File

@@ -32,11 +32,12 @@ const crudOptions = ref({
edit: { show: true, api: problemApi.update },
delete: { show: true, api: problemApi.delete },
beforeOpenAdd: function () {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
let test_key = route.query.key.split("-")[3]
let case_key = route.query.key.split("-")[4]
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]
let test_key = key_split[3]
let case_key = key_split[4]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} >
${td[round_key].title} > ${td[round_key].children[dut_key].title} >
@@ -46,11 +47,12 @@ const crudOptions = ref({
return true
},
beforeOpenEdit: function (record) {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
let test_key = route.query.key.split("-")[3]
let case_key = route.query.key.split("-")[4]
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]
let test_key = key_split[3]
let case_key = key_split[4]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} >
${td[round_key].title} > ${td[round_key].children[dut_key].title} >

View File

@@ -52,17 +52,19 @@ const crudOptions = ref({
edit: { show: true, api: testDemandApi.update },
delete: { show: true, api: testDemandApi.delete },
beforeOpenAdd: function () {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
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]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} > ${td[round_key].title} > ${td[round_key].children[dut_key].title} > ${td[round_key].children[dut_key].children[design_key].title} > 测试项-`
return true
},
beforeOpenEdit: function (record) {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
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]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} > ${td[round_key].title} > ${td[round_key].children[dut_key].title} > ${td[round_key].children[dut_key].children[design_key].title} >测试项[${record.name}]-`
return true

View File

@@ -50,15 +50,17 @@ const crudOptions = ref({
delete: { show: true, api: designDemandApi.delete },
// 处理添加后函数
beforeOpenAdd: function () {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let key_split = route.query.key.split("-")
let round_key = key_split[0]
let dut_key = key_split[1]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} > ${td[round_key].title} > ${td[round_key].children[dut_key].title} > 设计需求-`
return true
},
beforeOpenEdit: function (record) {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let key_split = route.query.key.split("-")
let round_key = key_split[0]
let dut_key = key_split[1]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} > ${td[round_key].title} > ${td[round_key].children[dut_key].title} >设计需求[${record.name}]-`
return true

View File

@@ -57,11 +57,13 @@ const crudOptions = ref({
add: { show: true, api: dutApi.save, text: "新增被测件" },
// 处理添加后函数
beforeOpenAdd: function () {
crudRef.value.crudFormRef.actionTitle = `${route.query.ident}>第${parseInt(route.query.key) + 1}轮>被测件-`
let round_str = parseInt(route.query.key) + 1
crudRef.value.crudFormRef.actionTitle = `${route.query.ident}>第${round_str}轮>被测件-`
return true
},
beforeOpenEdit: function (record) {
crudRef.value.crudFormRef.actionTitle = `${route.query.ident}>第${parseInt(route.query.key) + 1}轮>被测件[${record.name}]-`
let round_str = parseInt(route.query.key) + 1
crudRef.value.crudFormRef.actionTitle = `${route.query.ident}>第${round_str}轮>被测件[${record.name}]-`
return true
},
afterAdd: (res) => {

View File

@@ -38,10 +38,11 @@ const crudOptions = ref({
delete: { show: true, api: caseApi.delete },
// 处理新增删除后树状图显示
beforeOpenAdd: function () {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
let test_key = route.query.key.split("-")[3]
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]
let test_key = key_split[3]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} >
${td[round_key].title} > ${td[round_key].children[dut_key].title} >
@@ -50,10 +51,11 @@ const crudOptions = ref({
return true
},
beforeOpenEdit: function (record) {
let round_key = route.query.key.split("-")[0]
let dut_key = route.query.key.split("-")[1]
let design_key = route.query.key.split("-")[2]
let test_key = route.query.key.split("-")[3]
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]
let test_key = key_split[3]
let td = treeDataStore.treeData
crudRef.value.crudFormRef.actionTitle = `${route.query.ident} >
${td[round_key].title} > ${td[round_key].children[dut_key].title} >

View File

@@ -4,7 +4,7 @@
<!-- ma-crud组件 -->
<ma-crud :options="crudOptions" :columns="crudColumns" ref="crudRef">
<template #operationBeforeExtend="{ record }">
<a-link @click="$router.push({ name: 'project', query: record })">进入工作区</a-link>
<a-link @click="enterWorkPlant(record)">进入工作区</a-link>
<a-link @click="previewRef.open(record, crudColumns)"><icon-eye />预览</a-link>
</template>
</ma-crud>
@@ -14,10 +14,20 @@
</template>
<script lang="jsx" setup>
import { ref } from "vue"
import { useRoute, useRouter } from "vue-router"
import projectApi from "@/api/testmanage/project"
import preview from "./cpns/preview.vue"
const router = useRouter()
// 定义预览组件的Ref
const previewRef = ref(null)
// 点击进入工作区函数 - 每次点击后都清除localStorage中树状目录数据
const enterWorkPlant = function (record) {
if (localStorage.getItem("tree_local_data")) {
localStorage.removeItem("tree_local_data")
}
router.push({ name: "project", query: record })
}
// CRUD-OPTIONS
const crudRef = ref()
const crudOptions = ref({