12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import {defineStore} from "pinia";
- import {mockGetSearchArea} from "@/api/modules/mock/mock";
- import {readonly} from "vue";
- export const useWebStore = defineStore('web', {
- state: () => ({
- searchAreaTree: []
- }),
- getters: {
- searchAreaIndexTotal() {
- let num = 0
- this.searchAreaTree.forEach(v => {
- v.children?.forEach(c => {
- num++
- })
- })
- return num
- },
- searchAreaTypeMap() {
- const map = new Map()
- this.searchAreaTree.forEach(v => {
- v.children?.forEach(c => {
- map.set(c.treeId, c.treeName)
- })
- })
- return map
- },
- },
- actions: {
- getSearchAreaTree() {
- return new Promise(resolve => {
- mockGetSearchArea().then(res => {
- this.searchAreaTree = readonly(res.data.map(v => {
- v.treeId = v.name
- v.treeName = v.name
- v.children?.forEach(c => {
- c.treeId = c.indexKey
- c.treeName = c.indexName
- c.children.forEach(s => {
- s.treeId = s.indexKey
- s.treeName = s.indexName
- })
- })
- return v
- }))
- resolve(this.searchAreaTree)
- })
- })
- }
- },
- })
|