|
@@ -453,7 +453,7 @@ export default {
|
|
|
this.$store.commit('SET_CHART_INFO_MAP',chartInfoMap)
|
|
|
this.addMyChartShow = false
|
|
|
},
|
|
|
- //编辑ppt时,初始化相关
|
|
|
+ //编辑ppt时,按页初始化相关
|
|
|
async initPageElements(page,type="edit",only=false) {
|
|
|
this.pptInitType = type
|
|
|
const chartElements = page.elements.filter((item) => {
|
|
@@ -477,22 +477,62 @@ export default {
|
|
|
await this.listHandle(chartElements);
|
|
|
this.initCharts(chartElements, page);
|
|
|
},
|
|
|
+ //图表,表格数据统一加载,不按照页
|
|
|
+ async initPPTAllPage(pageList){
|
|
|
+ let chartElements = []
|
|
|
+ let sheetElements = []
|
|
|
+ pageList.forEach(page=>{
|
|
|
+ const pageChartElements = page.elements.filter((item) => {
|
|
|
+ return item.type === "chart";
|
|
|
+ });
|
|
|
+ const pageSheetElements = page.elements.filter((item)=>{
|
|
|
+ return item.type === 'sheet'
|
|
|
+ })
|
|
|
+ chartElements.push(...pageChartElements)
|
|
|
+ sheetElements.push(...pageSheetElements)
|
|
|
+ })
|
|
|
+
|
|
|
+ await this.sheetListHandle(sheetElements);
|
|
|
+ await this.listHandle(chartElements);
|
|
|
+ },
|
|
|
async listHandle(chartElements,fromType='') {
|
|
|
+ let needGetDataArr = []
|
|
|
for(let i=0;i<chartElements.length;i++) {
|
|
|
- if(!this.optionMap[chartElements[i].chartId])
|
|
|
- await this.getchartData(chartElements[i].chartId);
|
|
|
+ if(!this.optionMap[chartElements[i].chartId]){
|
|
|
+ needGetDataArr.push(new Promise((res,rej)=>{
|
|
|
+ res(this.getchartData(chartElements[i].chartId))
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ /* await this.getchartData(chartElements[i].chartId);
|
|
|
//由于演示页的图表没有await加载,在这里更新每一张图表的信息
|
|
|
if(fromType==='present'){
|
|
|
let temp = getChartInfo(this.optionMap[chartElements[i].chartId])
|
|
|
this.$store.commit('SET_CHART_INFO',{chartId:chartElements[i].chartId,chartInfo:temp})
|
|
|
+ } */
|
|
|
+ }
|
|
|
+ await Promise.all(needGetDataArr).then(()=>{
|
|
|
+ console.log('promise all then chart')
|
|
|
+ if(fromType==='present'){
|
|
|
+ for(let i=0;i<chartElements.length;i++) {
|
|
|
+ let temp = getChartInfo(this.optionMap[chartElements[i].chartId])
|
|
|
+ this.$store.commit('SET_CHART_INFO',{chartId:chartElements[i].chartId,chartInfo:temp})
|
|
|
}
|
|
|
}
|
|
|
- },
|
|
|
+ })
|
|
|
+ },
|
|
|
async sheetListHandle(sheetElements){
|
|
|
+ let needGetDataArr = []
|
|
|
for(let i=0;i<sheetElements.length;i++){
|
|
|
- if(!this.sheetDataMap[sheetElements[i].sheetId])
|
|
|
- await this.getsheetData(sheetElements[i].sheetId)
|
|
|
+ if(!this.sheetDataMap[sheetElements[i].sheetId]){
|
|
|
+ needGetDataArr.push(new Promise((res,rej)=>{
|
|
|
+ res(this.getsheetData(chartElements[i].sheetId))
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ /* await this.getsheetData(sheetElements[i].sheetId) */
|
|
|
}
|
|
|
+ await Promise.all(needGetDataArr).then(()=>{
|
|
|
+ console.log('promise all then sheet')
|
|
|
+ })
|
|
|
},
|
|
|
async getsheetData(id){
|
|
|
const res = await sheetInterface.getSheetData({
|
|
@@ -505,6 +545,7 @@ export default {
|
|
|
return 1
|
|
|
},
|
|
|
initCharts(elements, page) {
|
|
|
+ console.log('initCharts')
|
|
|
const index = this.pageList.findIndex((i) => i.id === page.id)
|
|
|
if(index===-1) return
|
|
|
elements.forEach((item) => {
|