1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import { DemensionStoreInter } from './../types/store'
- import { DemensionPagesListInter, DemensionPagesInter } from '@/js-pages/types'
- import { defineStore } from 'pinia'
- import pagesArr from '@/js-pages'
- import $axios from '@/api'
- import { useRoute } from 'vue-router'
- export const useDemensionStore = defineStore({
- id: 'process',
- state: () => {
- return <DemensionStoreInter>{
- pageNum: 1,
- pageSize: 10,
- deleted: 0,
- entityType: 2,
- entityName: '',
- entityId: '',
- totalNum: 0,
- totalPage: 0,
- selectDemension: {},
- dataList: [],
- tabInfo: {
- totalNumList: [0, 0]
- }
- }
- },
- actions: {
- getDemension() {
- const route = useRoute()
- //遍历获取所有维度列表
- const allDemensionArr = [] as DemensionPagesListInter[]
- const demensionArr = (arr: any[]): DemensionPagesInter[] => {
- return arr.reduce((total, item: any) => item.list ? demensionArr(item.list) : allDemensionArr.push(item), [])
- }
- demensionArr(pagesArr)
- //根据路由名称匹配对应维度
- this.selectDemension = allDemensionArr.find(item => route.path === `/${item.routing}`)!
- if (this.selectDemension.tabs === 'deleted') {
- this.getDeletedList()
- return
- }
- this.getList()
- },
- //有历史tab页的请求,自定义请求获取额外数据
- async getDeletedList() {
- this.deleted = 1
- const totalNum1 = await (await this.getList()).totalNum
- this.dataList = []
- this.deleted = 0
- const totalNum2 = await (await this.getList()).totalNum
- this.tabInfo.totalNumList = [totalNum2, totalNum1]
- // console.log()
- },
- async getList(extraParams?: {}) {
- //发起请求
- const { pageNum, pageSize, deleted, entityType, entityName, entityId } = this
- const params = {
- dimensionCode: this.selectDemension?.code,
- pageNum,
- pageSize,
- deleted,
- entityType,
- entityName,
- entityId,
- ...extraParams
- }
- const res = await $axios.get('lawyer-workbench/risk/dimension/page', { params }) as { totalNum: number, totalPage: number, dataList: [] }
- this.totalNum = res.totalNum
- this.totalPage = res.totalPage
- this.dataList.push(...res.dataList)
- return res
- }
- }
- })
|