Files
cdTestPlant3/cdTMP/src/store/project/treeData.js

51 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-06-19 19:51:12 +08:00
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)
2023-06-28 21:02:31 +08:00
this.treeData = roundData.data
this.originTreeData = roundData.data
2023-06-19 19:51:12 +08:00
}
},
2023-06-28 21:02:31 +08:00
// 用于新增轮次后显示
async resetTreeData(projectId) {
const roundData = await projectApi.getRoundInfo(projectId)
this.treeData = roundData.data
this.originTreeData = roundData.data
},
2023-06-19 19:51:12 +08:00
setCurrentNode(nodeKey) {
this.currentNode = nodeKey
2023-07-25 20:03:06 +08:00
},
// 获取轮次信息中差中间的是哪几个轮次
getRoundMiddleInfo() {
let roundLength = this.treeData.length
// 取出最后一个key的值
let lastKey = parseInt(this.treeData[this.treeData.length - 1].key) + 1
// 遍历数组找出key最大值
let key_list = []
this.treeData.forEach((item) => {
key_list.push(parseInt(item.key))
})
if (roundLength !== lastKey) {
let cha = lastKey - roundLength
return lastKey - cha - 1
} else {
return roundLength
}
2023-06-19 19:51:12 +08:00
}
}
})
export default useTreeDataStore