diff --git a/src/api/cs-device-boot/EquipmentDelivery.ts b/src/api/cs-device-boot/EquipmentDelivery.ts index 407b7f5..41f9234 100644 --- a/src/api/cs-device-boot/EquipmentDelivery.ts +++ b/src/api/cs-device-boot/EquipmentDelivery.ts @@ -150,3 +150,4 @@ export function getRawData(data?: any) { data }) } + diff --git a/src/utils/echartMethod.ts b/src/utils/echartMethod.ts index b45b36e..b91a3ad 100644 --- a/src/utils/echartMethod.ts +++ b/src/utils/echartMethod.ts @@ -1,4 +1,3 @@ - const dataProcessing = (arr: any[]) => { return arr .filter(item => typeof item === 'number' || (typeof item === 'string' && !isNaN(parseFloat(item)))) @@ -258,6 +257,32 @@ export const completeTimeSeries = (rawData: string[][]): (string | null)[][] => } }) + // 补首尾边界:首日 00:00:00、末日 23:59:59 + const createPadItem = (timeStr: string): (string | null | undefined)[] => { + const result: (string | null | undefined)[] = [timeStr, '/'] + if (template.length > 2) result.push(template[2]) + if (template.length > 3) result.push(template[3]) + return result + } + + const firstDate = new Date(completedData[0][0] as string) + const dayStartStr = formatTime( + new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate(), 0, 0, 0) + ) + + const lastDate = new Date(completedData[completedData.length - 1][0] as string) + const dayEndStr = formatTime(new Date(lastDate.getFullYear(), lastDate.getMonth(), lastDate.getDate(), 23, 59, 59)) + + const firstTimeStr = formatTime(new Date(completedData[0][0] as string)) + if (firstTimeStr !== dayStartStr) { + completedData.unshift(createPadItem(dayStartStr)) + } + + const lastTimeStr = formatTime(new Date(completedData[completedData.length - 1][0] as string)) + if (lastTimeStr !== dayEndStr) { + completedData.push(createPadItem(dayEndStr)) + } + return completedData } diff --git a/src/views/govern/analyze/APF/index.vue b/src/views/govern/analyze/APF/index.vue index 4d44e35..d1d0e38 100644 --- a/src/views/govern/analyze/APF/index.vue +++ b/src/views/govern/analyze/APF/index.vue @@ -245,10 +245,10 @@ const setEchart = () => { for (let j in phaseList) { color.push(j == 'A' ? '#DAA520' : j == 'B' ? '#2E8B57' : j == 'C' ? '#A52a2a' : '#0000CC') legend.push( - j == 'M' ? k : j == 'A' ? `A相_${k}` : j == 'B' ? `B相_${k}` : j == 'C' ? `C相_${k}` : j + j == 'T' ? k : j == 'A' ? `A相_${k}` : j == 'B' ? `B相_${k}` : j == 'C' ? `C相_${k}` : j ) series.push({ - name: j == 'M' ? k : j == 'A' ? `A相_${k}` : j == 'B' ? `B相_${k}` : j == 'C' ? `C相_${k}` : j, + name: j == 'T' ? k : j == 'A' ? `A相_${k}` : j == 'B' ? `B相_${k}` : j == 'C' ? `C相_${k}` : j, symbol: 'none', smooth: true, type: 'line', diff --git a/src/views/govern/device/control/index.vue b/src/views/govern/device/control/index.vue index 8349399..9b27421 100644 --- a/src/views/govern/device/control/index.vue +++ b/src/views/govern/device/control/index.vue @@ -130,6 +130,7 @@ :showSearch="false" v-if=" (dataSet.indexOf('_trenddata') == -1 && + dataSet.indexOf('_kilowattHour') == -1 && dataSet.indexOf('_realtimedata') == -1 && dataSet.indexOf('_event') == -1) || realTimeFlag @@ -297,6 +298,7 @@ :style="{ height: tableHeight }" v-if=" dataSet.indexOf('_trenddata') == -1 && + dataSet.indexOf('_kilowattHour') == -1 && dataSet.indexOf('_realtimedata') == -1 && dataSet.indexOf('_event') == -1 && tableData.length != 0 @@ -482,6 +484,10 @@
+ +
+ +
{ trendDataTime.value = '' activeTrendName.value = val * 1 @@ -932,6 +940,10 @@ const nodeClick = async (e: anyObj, node: any) => { if (item.type === 'trenddata') { item.id = item.id + '_trenddata' } + //电镀数据 + if (item.type === 'kilowattHour') { + item.id = item.id + '_kilowattHour' + } //实时数据 if (item.type === 'realtimedata') { item.id = item.id + '_realtimedata' @@ -1257,6 +1269,26 @@ const handleClick = async (tab?: any) => { tableLoading.value = false }, 0) } + //电镀数据 + if (dataSet.value.includes('_kilowattHour')) { + let obj = { + devId: deviceId.value, //e.id + lineId: lineId.value, //e.pid + type: 4, + list: [ + { + lineId: lineId.value, + devId: dataSet.value.replace('_kilowattHour', '') + } + ] + // startTime: datePickerRef.value && datePickerRef.value.timeValue[0], + // endTime: datePickerRef.value && datePickerRef.value.timeValue[1] + } + setTimeout(() => { + electroplatingRef.value && electroplatingRef.value.getTrendRequest(obj) + tableLoading.value = false + }, 0) + } //查询实时数据 if (dataSet.value.includes('_realtimedata')) { tableLoading.value = true diff --git a/src/views/govern/device/control/tabs/electroplating.vue b/src/views/govern/device/control/tabs/electroplating.vue new file mode 100644 index 0000000..c4663cd --- /dev/null +++ b/src/views/govern/device/control/tabs/electroplating.vue @@ -0,0 +1,842 @@ + + + + diff --git a/src/views/govern/setting/statisticalType/binding.vue b/src/views/govern/setting/statisticalType/binding.vue index 99a821d..4effe8f 100644 --- a/src/views/govern/setting/statisticalType/binding.vue +++ b/src/views/govern/setting/statisticalType/binding.vue @@ -1,475 +1,475 @@ - - - + + +