Commit 2148c906 authored by leon's avatar leon

feat:fix use folder data

parent 7602dff5
...@@ -43,19 +43,27 @@ export default { ...@@ -43,19 +43,27 @@ export default {
let res = await that.$u.api[`${dataMethod.toLowerCase()}Http`](dataUrl, dataFormatter, { let res = await that.$u.api[`${dataMethod.toLowerCase()}Http`](dataUrl, dataFormatter, {
custom: { loading: false } custom: { loading: false }
}) })
// 文件夹类型的数据,直接拿接口返回数据 if (that.elementInfo.type === 'folder') {
if (this.elementInfo.type === 'folder') { that.setFolderData(res.data)
that.elementData.dataList = res.data
return
} }
if (dataProcessing) { if (dataProcessing) {
that.elementData.dataList = that.$u.common.converFunction(dataProcessing, res.data, value.queryFormatter) that.elementData.dataList = that.$u.common.converFunction(dataProcessing, res.data, value.queryFormatter)
} else if (dataConfig && dataConfig.value && dataConfig.value.length) { } else if (dataConfig && dataConfig.value && dataConfig.value.length) {
that.elementData.dataList = that.$u.charts.parseChartData(res.data, that.elementInfo) that.elementData.dataList = that.$u.charts.parseChartData(res.data, that.elementInfo)
} else { } 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 { ...@@ -109,6 +117,18 @@ export default {
handleFolderData(value) { handleFolderData(value) {
const that = this const that = this
const { dataProcessing, dataConfig} = { ...value } 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 => { uni.$on(`folder_${that.elementInfo.folderId}`, data => {
if (!data) return if (!data) return
if (dataProcessing) { if (dataProcessing) {
......
...@@ -12,7 +12,7 @@ try { ...@@ -12,7 +12,7 @@ try {
} }
// 需要永久存储,且在下次 APP 启动需要取出的,在 state 中的变量名。 // 需要永久存储,且在下次 APP 启动需要取出的,在 state 中的变量名。
let saveStateKeys = ['vuex_token', 'vuex_globalData'] let saveStateKeys = ['vuex_token', 'vuex_globalData', 'vuex_folderData']
// 保存变量到本地存储中 // 保存变量到本地存储中
const saveLifeData = function(key, value) { const saveLifeData = function(key, value) {
...@@ -31,7 +31,8 @@ const saveLifeData = function(key, value) { ...@@ -31,7 +31,8 @@ const saveLifeData = function(key, value) {
const store = new Vuex.Store({ const store = new Vuex.Store({
state: { state: {
vuex_token: lifeData.vuex_token || '', vuex_token: lifeData.vuex_token || '',
vuex_globalData: "" vuex_globalData: "",
vuex_folderData: ""
}, },
mutations: { mutations: {
$uStore(state, payload) { $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