From 75a3365af2e78f89c464c9cdf87a91ab5b577e77 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期一, 20 四月 2026 09:53:40 +0800
Subject: [PATCH] 1

---
 WebTM/views/数采管理/DAQ_EvidenceEquipmentCockpitDetail.html |  191 ++++++++++++++++++++++++++---------------------
 1 files changed, 106 insertions(+), 85 deletions(-)

diff --git "a/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpitDetail.html" "b/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpitDetail.html"
index d96c478..f756e7d 100644
--- "a/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpitDetail.html"
+++ "b/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpitDetail.html"
@@ -16,6 +16,7 @@
     <script src="../../layuiadmin/soulTable.slim.js"></script>
     <script src="../../layuiadmin/PageTitle.js"></script>
     <script src="../../layuiadmin/echarts.min.js"></script>
+    <script src="../../layuiadmin/dayjs.min.js"></script>
     <script src="../../layuiadmin/Scripts/webConfig.js"></script>
 
     <style type="text/css">
@@ -299,106 +300,95 @@
             function get_LineChart(mychart22, chartData1) {
                 var baseTime = $("HBeginDate").val()
                 var endTime = $("HEndDate").val()
+                var startTime = dayjs(baseTime).valueOf();
+                var endTime = dayjs(endTime).valueOf();
                 var yAxisData = [$("#HDeptName").val()]
-                var seriesData = chartData1.map(item => [
-                    item.StartTime,
-                    item.EndTime,
-                    item.EquipName,
-                    item.Status
-                ]);
-                // 榛樿鐨刼ption缁撴瀯
-                chartsOption = {
-                    // 鏍囬
-                    title: {
-                        text: '璁惧杩愯鏃跺簭',
-                        left: 'left',
-                        show: false
-                    },
-                    // 鍥句緥锛堝彸涓婅鐨勭姸鎬佹爣璇嗭級
-                    legend: {
-                        data: ['杩愯', '寮�鏈�', '鍋滄満', '鍛婅', '鍏虫満'],
-                        right: 10,
-                        top: 5,
-                        show: true
-                    },
-                    // 鎻愮ず妗嗭紙榧犳爣鎮诞鏃舵樉绀猴級
+                if (chartData1.length == 0) {
+                    return
+                }
+                var categories = [chartData1[0]["鐢熶骇璧勬簮"]];
+                var types = [
+                    { name: '姝e父杩愯', color: '#73cc3f' },
+                    { name: '绂荤嚎', color: '#9b9a9b' },
+                    { name: '寰呮満', color: '#f2a439' },
+                ];
+
+                var getColor = function (name) {
+                    for (var i = 0; i < types.length; i++) {
+                        if (name == types[i].name) {
+                            return types[i].color
+                        }
+                    }
+                }
+
+                var chartDataTimeline = []
+                for (var cursor = 0; cursor < chartData1.length; cursor++) {
+                    chartDataTimeline.push({
+                        "name": chartData1[cursor]["HResult"],
+                        "value": [
+                            0,
+                            dayjs(chartData1[cursor]["鏃堕棿"]).valueOf(),
+                            dayjs(chartData1[cursor]["鏃堕棿"]).add(5, 'm').valueOf(),
+                            300000
+                        ],
+                        "itemStyle": {
+                            "normal": {
+                                "color": getColor(chartData1[cursor]["HResult"])
+                            }
+                        }
+                    })
+                }
+                var chartsOption = {
                     tooltip: {
-                        trigger: 'axis',
                         formatter: function (params) {
-                            // params 鏄竴涓暟缁勶紝杩欓噷鍙湁涓�鏉℃暟鎹�
-                            const data = params[0];
-                            const start = new Date(data.value[0]);
-                            const end = new Date(data.value[1]);
-                            // 鏍煎紡鍖栨椂闂存樉绀�
-                            return `${data.name}<br/>${start.toLocaleTimeString()} ~ ${end.toLocaleTimeString()}`;
+                            return params.marker + params.name;
                         }
                     },
-                    // 缃戞牸锛堣皟鏁村浘琛ㄥ唴杈硅窛锛岀粰Y杞村拰X杞存爣绛剧暀鍑虹┖闂达級
                     grid: {
-                        left: '3%',
-                        right: '4%',
-                        bottom: '3%',
+                        top: 0,
+                        bottom: 0,
+                        left: 20,  // 缁橸杞存枃瀛楃暀涓�鐐逛綅缃�
+                        right: 20,
                         containLabel: true
                     },
-                    // X杞撮厤缃細鏃堕棿杞�
                     xAxis: {
-                        type: 'time', // 鍏抽敭锛氭椂闂寸被鍨嬭酱
-                        min: baseTime, // 鍥哄畾鏈�灏忔椂闂达細14:00
-                        max: endTime,  // 鍥哄畾鏈�澶ф椂闂达細娆℃棩12:00
+                        type: 'time',
+                        min: startTime,  //  寮�濮嬫椂闂存埑
+                        max: endTime,  //  缁撴潫鏃堕棿鎴�
+                        minInterval: 7200000, // 闂撮殧涓ゅ皬鏃�
+                        scale: true,
                         axisLabel: {
-                            // 鏍煎紡鍖朮杞存爣绛炬樉绀轰负 14:00, 16:00 鏍煎紡
-                            formatter: function (value) {
-                                const date = new Date(value);
-                                return `${date.getHours()}:${String(date.getMinutes()).padStart(2, '0')}`;
-                            },
-                            interval: 2 * 3600 * 1000 // 姣�2灏忔椂鏄剧ず涓�涓埢搴︼紙瀵瑰簲14, 16, 18...锛�
+                            formatter: function (val) {
+                                return echarts.format.formatTime('hh:mm', val);
+                            }
                         },
-                        axisLine: { show: true },
-                        splitLine: { show: true }
+                        axisLine: {
+                            show: false   //  闅愯棌 x 杞磋酱绾�
+                        }
                     },
-                    // Y杞撮厤缃細绫荤洰杞�
                     yAxis: {
-                        type: 'category',
-                        data: yAxisData,
-                        axisLine: { show: false },
-                        axisTick: { show: false } // 闅愯棌Y杞村埢搴︾嚎
+                        data: categories,
+                        axisLine: {
+                            show: false   //  闅愯棌 y 杞磋酱绾�
+                        },
+                        name: "",
+                        axisLabel: { show: false }, //  闅愯棌Y杞存爣绛�
                     },
-                    // 绯诲垪鏁版嵁
                     series: [
                         {
-                            name: ['杩愯', '寮�鏈�', '鍋滄満', '鍛婅', '鍏虫満'],
-                            type: 'bar', // 浣跨敤鏌辩姸鍥惧疄鐜扮敇鐗瑰浘鏁堟灉
-                            barWidth: '80%', // 鏌卞瓙楂樺害
-                            // 鏁版嵁鏄犲皠锛氬皢鏃堕棿鎴虫暟鎹叧鑱斿埌X杞�
-                            encode: {
-                                x: [0, 1], // value 鐨勭0椤逛綔涓鸿捣濮嬶紝绗�1椤逛綔涓虹粨鏉�
-                                y: 2       // value 鐨勭2椤逛綔涓篩杞寸被鐩�
-                            },
-                            // 鍏蜂綋鏁版嵁
-                            data: seriesData,
-                            // 鐘舵�侀鑹叉槧灏�
+                            type: 'custom',
+                            renderItem: renderItem,
                             itemStyle: {
-                                color: function (params) {
-                                    // 鏍规嵁鏁版嵁鍚嶇О鍖归厤棰滆壊
-                                    const name = params.data[2];
-                                    const colorMap = {
-                                        '杩愯': '#67C23A',
-                                        '杩愯涓�': '#67C23A',
-                                        '寮�鏈�': '#409EFF',
-                                        '鍋滄満': '#E6A23C',
-                                        '鍛婅': '#F56C6C',
-                                        '鍏虫満': '#909399',
-                                        '缁翠慨涓�': '#F56C6C',
-                                        '缁存姢涓�': '#F56C6C'
-                                    };
-                                    return colorMap[name] || '#ccc';
-                                }
+                                opacity: 0.8
                             },
-                            // 鏌卞瓙涓婁笉鏄剧ず鏂囧瓧鏍囩
-                            label: { show: false }
+                            encode: {
+                                x: [1, 2],
+                                y: 0
+                            },
+                            data: chartDataTimeline
                         }
                     ]
-                };
+                }
 
 
                 // 濡傛灉鏈夋暟鎹紝鏇存柊option鐨勫唴瀹�
@@ -450,16 +440,18 @@
 
                 // 鑾峰彇璁惧杩愯鏃跺簭淇℃伅
                 $.ajax({
-                    url: GetWEBURL() + '/SB_EquipRunningStatus/ReportByID',
+                    url: GetWEBURL() + '/DAQ_EquipRunningSlice/GetHEquipStatusReportList2_DAQ',
                     type: "GET",
-                    data: { "HEquipID": HEquipID, "sWhere": sWhere2, "user": sessionStorage["HUserName"] },
+                    data: { "HEquipID": HEquipID, HDeptID: 0, HBeginDate: util.toDateString(HBeginDate, 'yyyy-MM-dd'), HEndDate: util.toDateString(HEndDate, 'yyyy-MM-dd'), "user": sessionStorage["HUserName"] },
                     dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json  script  jsonp
                     success: function (data) {
-                        console.log(data)
-
                         if (data.count == 1) {
+                            var dataInstance = []
+                            for (var key in data.data) {
+                                $.merge(dataInstance, data.data[key])
+                            }
                             var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts"))
-                            get_LineChart(EquipRunningStatusCharts, data.data);//鎶樼嚎
+                            get_LineChart(EquipRunningStatusCharts, dataInstance);//鎶樼嚎
                         } else {
                             layer.alert(data.Message, { time: 1 * 2000, icon: 5 });
                             return false;
@@ -524,6 +516,35 @@
             //#endregion
 
         })
+
+        function renderItem(params, api) {
+        var categoryIndex = api.value(0);
+        var start = api.coord([api.value(1), categoryIndex]);
+        var end = api.coord([api.value(2), categoryIndex]);
+        var height = api.size([0, 1])[1] * 0.6;
+        var rectShape = echarts.graphic.clipRectByRect(
+            {
+                x: start[0],
+                y: start[1] - height / 2,
+                width: end[0] - start[0],
+                height: height
+            },
+            {
+                x: params.coordSys.x,
+                y: params.coordSys.y,
+                width: params.coordSys.width,
+                height: params.coordSys.height
+            }
+        );
+        return (
+            rectShape && {
+                type: 'rect',
+                transition: ['shape'],
+                shape: rectShape,
+                style: api.style()
+            }
+        );
+    }
     </script>
 </body>
 

--
Gitblit v1.9.1