Commit 2148c906 authored by leon's avatar leon

feat:fix use folder data

parent 7602dff5
......@@ -43,19 +43,27 @@ export default {
let res = await that.$u.api[`${dataMethod.toLowerCase()}Http`](dataUrl, dataFormatter, {
custom: { loading: false }
})
// 文件夹类型的数据,直接拿接口返回数据
if (this.elementInfo.type === 'folder') {
that.elementData.dataList = res.data
return
if (that.elementInfo.type === 'folder') {
that.setFolderData(res.data)
}
if (dataProcessing) {
that.elementData.dataList = that.$u.common.converFunction(dataProcessing, res.data, value.queryFormatter)
} else if (dataConfig && dataConfig.value && dataConfig.value.length) {
that.elementData.dataList = that.$u.charts.parseChartData(res.data, that.elementInfo)
} else {
that.elementData.dataList = JSON.parse(JSON.stringify(res.data.Result))
that.elementData.dataList = JSON.parse(JSON.stringify(res.data))
}
},
setFolderData (value) {
let data = {}
if(this.vuex_folderData) {
data = {...this.vuex_folderData}
}
data[this.elementInfo.id] = value
this.$u.vuex('vuex_folderData', data)
},
/**
* 全局数据
*/
......@@ -109,6 +117,18 @@ export default {
handleFolderData(value) {
const that = this
const { dataProcessing, dataConfig} = { ...value }
if (that.vuex_folderData) {
// 缓存好数据,切换tab时候用
const json = that.vuex_folderData[that.elementInfo.folderId]
if (dataProcessing) {
that.elementData.dataList = that.$u.common.converFunction(dataProcessing, json, value.queryFormatter)
} else if (dataConfig && dataConfig.value && dataConfig.value.length) {
that.elementData.dataList = that.$u.charts.parseChartData(json, that.elementInfo)
} else {
that.elementData.dataList = json
}
}
// 首次加载用
uni.$on(`folder_${that.elementInfo.folderId}`, data => {
if (!data) return
if (dataProcessing) {
......
......@@ -12,7 +12,7 @@ try {
}
// 需要永久存储,且在下次 APP 启动需要取出的,在 state 中的变量名。
let saveStateKeys = ['vuex_token', 'vuex_globalData']
let saveStateKeys = ['vuex_token', 'vuex_globalData', 'vuex_folderData']
// 保存变量到本地存储中
const saveLifeData = function(key, value) {
......@@ -31,7 +31,8 @@ const saveLifeData = function(key, value) {
const store = new Vuex.Store({
state: {
vuex_token: lifeData.vuex_token || '',
vuex_globalData: ""
vuex_globalData: "",
vuex_folderData: ""
},
mutations: {
$uStore(state, payload) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment