Commit 95b3e4a4 authored by 莫坚培's avatar 莫坚培

feat: 饼图渲染完成

parent e2d1dfd4
...@@ -929,13 +929,13 @@ function startRequestLoop() { ...@@ -929,13 +929,13 @@ function startRequestLoop() {
} }
for (let i = 0, len = dataPoolList.length; i < len; i++) { for (let i = 0, len = dataPoolList.length; i < len; i++) {
requestLoopStopFlag = true // 进入循环即表示已经开始请求 requestLoopStopFlag = true // 进入循环即表示已经开始请求
await sendRequestLoopData(dataPoolList[i], i, len) await sendLoopDataRequest(dataPoolList[i], i, len)
} }
}, requestLoopTime) }, requestLoopTime)
} }
// 发起requestLoopDataPool的合并请求 // 发起requestLoopDataPool的合并请求
function sendRequestLoopData(list, i, len) { function sendLoopDataRequest(list, i, len) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
request.post(`/bi/${appId}/variables/real-time/data/mergeReq`, list) request.post(`/bi/${appId}/variables/real-time/data/mergeReq`, list)
.then(res => { .then(res => {
...@@ -984,17 +984,51 @@ function renderRequestLoopData(poolData, resData) { ...@@ -984,17 +984,51 @@ function renderRequestLoopData(poolData, resData) {
// 动态文本 // 动态文本
dynamictext: () => loopRenderImage(poolData, resData, 'dynamictext'), dynamictext: () => loopRenderImage(poolData, resData, 'dynamictext'),
// 饼图 // 饼图
piechart: () => loopRenderImage(poolData, resData), piechart: () => loopRenderPiechart(poolData, resData),
// 仪表板 // 仪表板
dashboardchart: () => loopRenderImage(poolData, resData), // dashboardchart: () => loopRenderImage(poolData, resData),
// 折线图 // 折线图
linechart: () => loopRenderImage(poolData, resData), // linechart: () => loopRenderImage(poolData, resData),
// 柱状图 // 柱状图
barchart: () => loopRenderImage(poolData, resData) // barchart: () => loopRenderImage(poolData, resData)
} }
ControlTypeMap[poolData.ControlType] && ControlTypeMap[poolData.ControlType]() ControlTypeMap[poolData.ControlType] && ControlTypeMap[poolData.ControlType]()
} }
function loopRenderPiechart(poolData, resData) {
// 清空数据
resetPieChart(poolData.name)
if (document.getElementById(`${poolData.name}`)) {
let chart = echarts.init(document.getElementById(`${poolData.name}`));
let chartOption = chart.getOption()
let serireData = []
let resValue = JSON.parse(resData[`${poolData.dataPoolMapIndex}-${poolData.name}`])
if (resValue) {
let variablesList = poolData.option.Variables
variablesList.forEach((vItem, vIndex) => {
let value = resValue[vItem.CheckData.equipmentId || vItem.CheckData.equipmentid][vItem.CheckData.name]
value && (value = value.toFixed(vItem.d || 0))
serireData.push({
value: value,
name: chartOption.legend[0].data[vIndex],
label: chartOption.series[0].data[vIndex].label,
emphasis: chartOption.series[0].data[vIndex].emphasis
})
})
} else {
serireData.push({
value: '',
name: '暂无数据'
})
}
chartOption.series[0].data = $.extend(chartOption.series[0].data, serireData)
chart.setOption(chartOption, true)
}
}
// 渲染动态图片、动态文本 // 渲染动态图片、动态文本
function loopRenderImage(poolData, resData, label) { function loopRenderImage(poolData, resData, label) {
// 给默认值 // 给默认值
...@@ -1215,10 +1249,12 @@ function handleRequestDataPie(item, index) { ...@@ -1215,10 +1249,12 @@ function handleRequestDataPie(item, index) {
assemblyKey: `${index}-${item.Name}`, assemblyKey: `${index}-${item.Name}`,
pieChartOrPanel pieChartOrPanel
}) })
Controls.dataPoolMap[index] = item Controls.dataPoolMap[index] = pieItem
Controls.dataPoolMap[`${index}-${item.Name}`] = pieItem Controls.dataPoolMap[index].ControlType = item.ControlType
Controls.dataPoolMap[`${index}-${item.Name}`].ControlType = item.ControlType Controls.dataPoolMap[index].dataPoolMapIndex = index
Controls.dataPoolMap[`${index}-${item.Name}`].dataPoolMapIndex = index // Controls.dataPoolMap[`${index}-${item.Name}`] = pieItem
// Controls.dataPoolMap[`${index}-${item.Name}`].ControlType = item.ControlType
// Controls.dataPoolMap[`${index}-${item.Name}`].dataPoolMapIndex = index
} }
} }
}) })
...@@ -1239,7 +1275,7 @@ function handleRequestDataDashboard(item, index) { ...@@ -1239,7 +1275,7 @@ function handleRequestDataDashboard(item, index) {
variableCode: VariableCheckDataObj.name variableCode: VariableCheckDataObj.name
}] }]
}) })
Controls.dataPoolMap[index] = item // Controls.dataPoolMap[index] = item
Controls.dataPoolMap[`${index}-${item.Name}`] = dashItem Controls.dataPoolMap[`${index}-${item.Name}`] = dashItem
Controls.dataPoolMap[`${index}-${item.Name}`].ControlType = item.ControlType Controls.dataPoolMap[`${index}-${item.Name}`].ControlType = item.ControlType
Controls.dataPoolMap[`${index}-${item.Name}`].dataPoolMapIndex = index Controls.dataPoolMap[`${index}-${item.Name}`].dataPoolMapIndex = index
...@@ -1254,21 +1290,24 @@ function handleRequestDataLineAndBar(label, item, index) { ...@@ -1254,21 +1290,24 @@ function handleRequestDataLineAndBar(label, item, index) {
if (pieItem.name === item.Name) { if (pieItem.name === item.Name) {
if (pieItem.defaultDataConfig.datatype === '实时数据') { if (pieItem.defaultDataConfig.datatype === '实时数据') {
let list = pieItem.option?.Variables || [] let list = pieItem.option?.Variables || []
list.forEach((variableItem, variableIndex) => { requestLoopDataPool.push({
let vc = variableItem.CheckData urlType: 'limit',
requestLoopDataPool.push({ assemblyKey: `${index}-${item.Name}`,
urlType: 'limit', limitData: {
assemblyKey: `${index}-${variableIndex}-${item.Name}`, limit: pieItem.DataCount,
limitData: { variableSearchList: list.map(lItem => {
deviceId: vc.equipmentId ? vc.equipmentId : vc.equipmentid, return {
variableId: vc.id, deviceId: lItem.CheckData.equipmentId ? lItem.CheckData.equipmentId : lItem.CheckData.equipmentid,
variableCode: vc.name variableId: lItem.CheckData.id,
} variableName: lItem.CheckData.name
}) }
Controls.dataPoolMap[index] = item })
Controls.dataPoolMap[`${index}-${variableIndex}-${item.Name}`] = pieItem }
Controls.dataPoolMap[`${index}-${variableIndex}-${item.Name}`].ControlType = item.ControlType
}) })
// Controls.dataPoolMap[index] = item
Controls.dataPoolMap[`${index}-${item.Name}`] = pieItem
Controls.dataPoolMap[`${index}-${item.Name}`].ControlType = item.ControlType
Controls.dataPoolMap[`${index}-${item.Name}`].dataPoolMapIndex = index
} }
} }
}) })
...@@ -3778,7 +3817,7 @@ function renderPieChart(item) { ...@@ -3778,7 +3817,7 @@ function renderPieChart(item) {
postData.forEach((k, ki) => { postData.forEach((k, ki) => {
let value = res.data.data[k.deviceId][k.variableCode] let value = res.data.data[k.deviceId][k.variableCode]
if (value) { if (value) {
value.toFixed(d[ki] ? d[ki] : 0) value = value.toFixed(d[ki] ? d[ki].d : 0)
} }
serireData.push({ serireData.push({
value: value, value: value,
......
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