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", toolbar_mode: "wrap",
plugins: props.plugins, plugins: props.plugins,
toolbar: props.toolbar, toolbar: props.toolbar,
skeletonScreen: true,
branding: false, branding: false,
content_css: "/tinymce/skins/content/default/content.css", content_css: "/tinymce/skins/content/default/content.css",
setup: (editor) => { setup: (editor) => {

View File

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

View File

@@ -12,11 +12,20 @@ const useTreeDataStore = defineStore("treeDataStore", {
actions: { actions: {
// 不能使用箭头函数无法绑定this // 不能使用箭头函数无法绑定this
async initTreeData(projectId) { 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) { if (this.treeData.length === 0) {
const roundData = await projectApi.getRoundInfo(projectId) const roundData = await projectApi.getRoundInfo(projectId)
this.treeData = roundData.data this.treeData = roundData.data
this.originTreeData = 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) { async resetTreeData(projectId) {

View File

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

View File

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

View File

@@ -57,11 +57,13 @@ const crudOptions = ref({
add: { show: true, api: dutApi.save, text: "新增被测件" }, add: { show: true, api: dutApi.save, text: "新增被测件" },
// 处理添加后函数 // 处理添加后函数
beforeOpenAdd: function () { 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 return true
}, },
beforeOpenEdit: function (record) { 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 return true
}, },
afterAdd: (res) => { afterAdd: (res) => {

View File

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

View File

@@ -4,7 +4,7 @@
<!-- ma-crud组件 --> <!-- ma-crud组件 -->
<ma-crud :options="crudOptions" :columns="crudColumns" ref="crudRef"> <ma-crud :options="crudOptions" :columns="crudColumns" ref="crudRef">
<template #operationBeforeExtend="{ record }"> <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> <a-link @click="previewRef.open(record, crudColumns)"><icon-eye />预览</a-link>
</template> </template>
</ma-crud> </ma-crud>
@@ -14,10 +14,20 @@
</template> </template>
<script lang="jsx" setup> <script lang="jsx" setup>
import { ref } from "vue" import { ref } from "vue"
import { useRoute, useRouter } from "vue-router"
import projectApi from "@/api/testmanage/project" import projectApi from "@/api/testmanage/project"
import preview from "./cpns/preview.vue" import preview from "./cpns/preview.vue"
const router = useRouter()
// 定义预览组件的Ref // 定义预览组件的Ref
const previewRef = ref(null) 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 // CRUD-OPTIONS
const crudRef = ref() const crudRef = ref()
const crudOptions = ref({ const crudOptions = ref({