Commit a19e23c7 authored by Jenny's avatar Jenny

feat: 组件数据类型-新增文件数据

parent 57bb82ac
<template>
<view></view>
</template>
<script>
import echartElementData from '@/mixins/echartElementData.js'
export default {
name: 'Folder',
mixins: [echartElementData],
methods: {
initChart() {
uni.$emit(`folder_${this.elementInfo.id}`, this.elementData.dataList)
}
}
}
</script>
...@@ -87,6 +87,18 @@ export default { ...@@ -87,6 +87,18 @@ export default {
message.warning(Msg) message.warning(Msg)
} }
}, },
/** 文件数据 */
handleFolderData(data) {
const { dataProcessing } = { ...data }
uni.$on(`folder_${this.elementInfo.folderId}`, (value) => {
if(!value) return
if (dataProcessing) {
this.elementData.dataList = this.$u.common.converFunction(dataProcessing, value)
} else {
this.elementData.dataList = JSON.parse(JSON.stringify(value))
}
})
},
clearTimer() { clearTimer() {
clearInterval(this.timer) clearInterval(this.timer)
...@@ -153,6 +165,8 @@ export default { ...@@ -153,6 +165,8 @@ export default {
} else { } else {
clearInterval(that.timer) clearInterval(that.timer)
} }
} else if (newVal.dataType === 'folder') {
that.handleFolderData(newVal)
} }
}, },
deep: true, deep: true,
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<template v-for="(element, index) in reportInfo.list"> <template v-for="(element, index) in reportInfo.list">
<view <view
class="view-element" class="view-element"
v-if="!element.hide" v-if="!element.hide && element.type !== 'folder'"
:key="element.id" :key="element.id"
:class="[ :class="[
element.type == 'NormalTabs' && element.option.tabs.sticky && pageScrollTop > parseInt(element.top * scale) element.type == 'NormalTabs' && element.option.tabs.sticky && pageScrollTop > parseInt(element.top * scale)
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
<NormalTable v-if="element.type == 'NormalTable'" :elementInfo="element"></NormalTable> <NormalTable v-if="element.type == 'NormalTable'" :elementInfo="element"></NormalTable>
<!-- <Table v-if="element.type == 'NormalTable'" :elementInfo="element"></Table> --> <!-- <Table v-if="element.type == 'NormalTable'" :elementInfo="element"></Table> -->
</view> </view>
<Folder v-if="element.type == 'folder'" :elementInfo="element"></Folder>
</template> </template>
<ModelData <ModelData
...@@ -244,6 +245,7 @@ ...@@ -244,6 +245,7 @@
uni.$emit('handlePullDownRefresh') uni.$emit('handlePullDownRefresh')
const { Status, Result: { info, list } } = res.data const { Status, Result: { info, list } } = res.data
if (Status === 'true') { if (Status === 'true') {
res.data.Result.list = this.elementTreeData(list)
if(info.dataUrl) { if(info.dataUrl) {
that.getGlobalData(info) that.getGlobalData(info)
if(info.dataPollingInterval) { if(info.dataPollingInterval) {
...@@ -268,6 +270,19 @@ ...@@ -268,6 +270,19 @@
that.getStickyTables() that.getStickyTables()
} }
}, },
/** 图层关系关联 子组件获取到folderId*/
elementTreeData(arr) {
arr.forEach(item => {
if(item.type === 'folder') {
item.child.data.forEach(id => {
const index = arr.findIndex(ele => ele.id === id)
arr[index].folderId = item.id
arr[index].isChild = true
})
}
})
return arr
},
/** /**
* 获取全局接口数据 * 获取全局接口数据
*/ */
......
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