|
@@ -710,6 +710,7 @@ export default {
|
|
|
cronVal: '',
|
|
|
cronList: [],
|
|
|
reportId: null,
|
|
|
+ reportTableId: null,
|
|
|
reportTemplateList: [],
|
|
|
dataModelList: [],
|
|
|
chooseReportTemplate: null,
|
|
@@ -738,7 +739,7 @@ export default {
|
|
|
searchValue: null,
|
|
|
searchTxt: '',
|
|
|
searchHistoryTxt: '',
|
|
|
- sessionName: 'device_report_index',
|
|
|
+ sessionName: 'device_report_index_',
|
|
|
reportOptions: [{
|
|
|
label: '所有报表',
|
|
|
value: -1
|
|
@@ -861,7 +862,7 @@ export default {
|
|
|
destroyed() {
|
|
|
if (this.reportIntervalTag) {
|
|
|
clearInterval(this.reportIntervalTag)
|
|
|
- sessionStorage.removeItem(this.sessionName)
|
|
|
+ // sessionStorage.removeItem(this.sessionName + this.reportTableId)
|
|
|
}
|
|
|
luckysheet.destroy()
|
|
|
},
|
|
@@ -1394,6 +1395,12 @@ export default {
|
|
|
option.celldata.map(item => {
|
|
|
if (item.v.v) {
|
|
|
item.v.v = String(item.v.v).trim()
|
|
|
+ if (item.v.ct && item.v.ct.t && item.v.ct.t === 'd') {
|
|
|
+ item.v.ct = {
|
|
|
+ fa: "@",
|
|
|
+ t: "s",
|
|
|
+ }
|
|
|
+ }
|
|
|
// 替换${xxx}内部数据
|
|
|
if (item.v.v.match(/\${([^}]+)}/g)) {
|
|
|
luckysheet.setCellValue(item.r, item.c, '')
|
|
@@ -1439,24 +1446,27 @@ export default {
|
|
|
}
|
|
|
// 设备报表
|
|
|
if (type == 5 || type == 6) {
|
|
|
+ let startTimeList = [];
|
|
|
tableItemList.forEach((tableItem, i) => {
|
|
|
let standby = tableItem.standby ? JSON.parse(tableItem.standby) : {}
|
|
|
let dataIndex = standby.index != null ? standby.index : -1
|
|
|
let valueList = tableItem.valueList ? tableItem.valueList.split(',') : []
|
|
|
let xAxis = tableItem.xaxis
|
|
|
let yAxis = tableItem.yaxis
|
|
|
+ this.reportTableId = tableInfo.id
|
|
|
// 序号、时间处理
|
|
|
if (tableItem.timeItemType == 0) { // 序号、开始时间
|
|
|
let valueIndexList = tableItem.valueIndexList ? tableItem.valueIndexList.split(',') : []
|
|
|
this.deviceReportUpdateData('${index}', valueIndexList, false)
|
|
|
let valueTimeList = tableItem.valueTimeList ? tableItem.valueTimeList.split(',') : []
|
|
|
valueTimeList = withDateFormatLength(valueTimeList)
|
|
|
+ startTimeList = valueTimeList;
|
|
|
this.deviceReportUpdateData('${startTime}', valueTimeList, false)
|
|
|
}
|
|
|
if (tableItem.timeItemType == 1) { // 结束时间
|
|
|
let valueTimeList = tableItem.valueTimeList ? tableItem.valueTimeList.split(',') : []
|
|
|
valueTimeList = withDateFormatLength(valueTimeList)
|
|
|
- this.deviceReportUpdateData('${stopTime}', valueTimeList, tableInfo.isGenCountTime == 1)
|
|
|
+ this.deviceReportUpdateData('${stopTime}', valueTimeList, tableInfo.isGenCountTime == 1, startTimeList)
|
|
|
}
|
|
|
if (valueList.length == 0) {
|
|
|
luckysheet.setCellValue(xAxis, yAxis, '')
|
|
@@ -1489,29 +1499,36 @@ export default {
|
|
|
this.updateLocalExcelContent()
|
|
|
},
|
|
|
/** 设备报表时间特殊处理 */
|
|
|
- deviceReportUpdateData(field, dataList, hasCalc) {
|
|
|
- let indexPos = sessionStorage.getItem(this.sessionName)
|
|
|
+ deviceReportUpdateData(field, dataList, hasCalc, startTimeList) {
|
|
|
+ let indexPos = sessionStorage.getItem(this.sessionName + this.reportTableId)
|
|
|
+ console.log(123,this.reportId)
|
|
|
+ console.log(666,indexPos)
|
|
|
if (indexPos) {
|
|
|
+ console.log(6,field)
|
|
|
let pos = indexPos.split(',')
|
|
|
if (field == '${index}') {
|
|
|
let yAxis = parseInt(pos[0])
|
|
|
let xAxis = parseInt(pos[1])
|
|
|
+ console.log(777,dataList)
|
|
|
dataList.forEach((v, j) => {
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis, j + 1)
|
|
|
})
|
|
|
} else if (field == '${startTime}') {
|
|
|
let yAxis = parseInt(pos[0])
|
|
|
let xAxis = parseInt(pos[1]) + 1
|
|
|
+ console.log(888,dataList)
|
|
|
dataList.forEach((v, j) => {
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis, v)
|
|
|
})
|
|
|
} else if (field == '${stopTime}') {
|
|
|
let yAxis = parseInt(pos[0])
|
|
|
let xAxis = parseInt(pos[1]) + 2
|
|
|
+ console.log(999,dataList)
|
|
|
dataList.forEach((v, j) => {
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis, v)
|
|
|
if (hasCalc) {
|
|
|
- let startDate = luckysheet.getCellValue(yAxis + j, xAxis - 1)
|
|
|
+ // let startDate = luckysheet.getCellValue(yAxis + j, xAxis - 1)
|
|
|
+ let startDate = startTimeList[j]
|
|
|
let minutes = this.calculateMinutes(startDate, v)
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis + 1, minutes)
|
|
|
}
|
|
@@ -1529,11 +1546,14 @@ export default {
|
|
|
let yAxis = item.r
|
|
|
let xAxis = item.c
|
|
|
if (field == '${index}') {
|
|
|
- sessionStorage.setItem(this.sessionName, yAxis + ',' + xAxis)
|
|
|
+ console.log(1,field)
|
|
|
+ sessionStorage.setItem(this.sessionName + this.reportTableId, yAxis + ',' + xAxis)
|
|
|
dataList.forEach((v, j) => {
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis, j + 1)
|
|
|
})
|
|
|
} else {
|
|
|
+ console.log(111,field)
|
|
|
+ console.log(111,dataList)
|
|
|
dataList.forEach((v, j) => {
|
|
|
luckysheet.setCellValue(yAxis + j, xAxis, v)
|
|
|
if (hasCalc) {
|
|
@@ -1918,7 +1938,7 @@ export default {
|
|
|
pollingReportData() {
|
|
|
if (this.reportIntervalTag) {
|
|
|
clearInterval(this.reportIntervalTag)
|
|
|
- sessionStorage.removeItem(this.sessionName)
|
|
|
+ // sessionStorage.removeItem(this.sessionName + this.reportTableId)
|
|
|
}
|
|
|
if (this.showReportTableType == 0 || this.showReportTableType == 1 || this.showReportTableType == 5) {
|
|
|
this.reportIntervalTag = setInterval(() => {
|
|
@@ -1931,7 +1951,7 @@ export default {
|
|
|
if (!this.chooseMyReport || !this.chooseMyReport.id) {
|
|
|
if (this.reportIntervalTag) {
|
|
|
clearInterval(this.reportIntervalTag)
|
|
|
- sessionStorage.removeItem(this.sessionName)
|
|
|
+ // sessionStorage.removeItem(this.sessionName + this.reportTableId)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -1968,7 +1988,7 @@ export default {
|
|
|
}).catch((e) => {
|
|
|
if (this.reportIntervalTag) {
|
|
|
clearInterval(this.reportIntervalTag)
|
|
|
- sessionStorage.removeItem(this.sessionName)
|
|
|
+ // sessionStorage.removeItem(this.sessionName + this.reportTableId)
|
|
|
}
|
|
|
loading.close()
|
|
|
showAlertWin(this, null, e)
|
|
@@ -2619,7 +2639,7 @@ export default {
|
|
|
cancelSaveReport() {
|
|
|
if (this.reportIntervalTag) {
|
|
|
clearInterval(this.reportIntervalTag)
|
|
|
- sessionStorage.removeItem(this.sessionName)
|
|
|
+ // sessionStorage.removeItem(this.sessionName + this.reportTableId)
|
|
|
}
|
|
|
luckysheet.destroy()
|
|
|
|