From ef4ba11d43ff3687fdc1a3be97ae382184f04caa Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期四, 09 四月 2026 12:08:11 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-LayUI
---
WebTM/WebTM.csproj.user | 2
WebTM/views/模治具管理/器具报表/Sc_MouldMonthUseReport.html | 541 ++++++++++
WebTM/views/质量管理/首件检验单/QC_FirstPieceCheckBillList2.html | 2
WebTM/views/模治具管理/模治具仓库管理/Sc_MouldProdOutBillEdit.html | 3
WebTM/views/数采管理/DAQ_EvidenceEquipmentCockpitDetail.html | 517 ++++++++++
WebTM/views/系统管理/多级审批/审核流程单/Xt_CheckFlowEdit.html | 7
WebTM/views/设备管理/设备工艺参数订单点检表/SB_EquipICMOTechParamBillEdit.html | 2
WebTM/views/数采管理/DAQ_EvidenceEquipmentCockpit.html | 1153 ++++++++++++++++++++++
WebTM/views/模治具管理/器具报表/Sc_MouldDailyUseReport.html | 829 ++++++++++++++++
WebTM/WebTM.csproj | 2
10 files changed, 3,051 insertions(+), 7 deletions(-)
diff --git a/WebTM/WebTM.csproj b/WebTM/WebTM.csproj
index a571cad..17a6420 100644
--- a/WebTM/WebTM.csproj
+++ b/WebTM/WebTM.csproj
@@ -686,6 +686,8 @@
<Content Include="views\妗堜緥浠g爜\鍗庤繙\HY_HistogramReport_ForPCSCheckNote.html" />
<Content Include="views\妗堜緥浠g爜\鍗庤繙\HY_HistogramReport.html" />
<Content Include="views\妗堜緥浠g爜\鍗庤繙\HY_InterfaceTest.html" />
+ <Content Include="views\妯℃不鍏风鐞哱鍣ㄥ叿鎶ヨ〃\Sc_MouldDailyUseReport.html" />
+ <Content Include="views\妯℃不鍏风鐞哱鍣ㄥ叿鎶ヨ〃\Sc_MouldMonthUseReport.html" />
<Content Include="views\妯℃不鍏风鐞哱鍣ㄥ叿鎶ヨ〃\Sc_MoldMainoverdueWarnReport.html" />
<Content Include="views\妯℃不鍏风鐞哱鍣ㄥ叿棰嗙敤鐢宠鍗昞Sc_MouldOutRequestBillEdit.html" />
<Content Include="views\妯℃不鍏风鐞哱鍣ㄥ叿棰嗙敤鐢宠鍗昞Sc_MouldOutRequestBillList.html" />
diff --git a/WebTM/WebTM.csproj.user b/WebTM/WebTM.csproj.user
index 1d2e0a2..8ae4207 100644
--- a/WebTM/WebTM.csproj.user
+++ b/WebTM/WebTM.csproj.user
@@ -6,7 +6,7 @@
<ProjectView>ShowAllFiles</ProjectView>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<NameOfLastUsedPublishProfile>D:\鏅轰簯LMes\MESWMS-LayUI\WebTM\Properties\PublishProfiles\SWETM.pubxml</NameOfLastUsedPublishProfile>
- <NameOfLastUsedPublishProfile>D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\LAYUI.pubxml</NameOfLastUsedPublishProfile>
+ <NameOfLastUsedPublishProfile>C:\Users\19858\Desktop\鏅轰簯杩堟�漒MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ProjectView>ShowAllFiles</ProjectView>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
diff --git "a/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpit.html" "b/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpit.html"
new file mode 100644
index 0000000..6d18281
--- /dev/null
+++ "b/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpit.html"
@@ -0,0 +1,1153 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8" />
+ <title>璁惧鐘舵�佸垎甯�</title>
+ <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
+ <script src="../../layuiadmin/layui/layui.js"></script>
+ <script src="../../layuiadmin/layui/layui.js"></script>
+ <script src="../../layuiadmin/Scripts/json2.js"></script>
+ <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
+ <script src="../../layuiadmin/layui/layui1.js"></script>
+ <script src="../../layuiadmin/echarts.min.js"></script>
+ <link href="../../layuiadmin/layui/css/ReportPlatform.css" rel="stylesheet" />
+ <script src="../../layuiadmin/Scripts/webConfig.js"></script>
+ <style>
+ /*鏍戠姸鍥剧偣鍑婚珮浜彉鑹�*/
+ .layui-tree-set-active>.layui-tree-entry .layui-tree-main {
+ background: #aef0f7;
+ }
+
+ .cnt {
+ border: 1px solid #5FB878;
+ height: 50px;
+ border-radius: 5px;
+ /*background: -webkit-gradient(linear, 0% 0%, 0% 50%,from(#262525), to(#262525));*/
+ /*璋锋瓕*/
+ }
+
+ .bottomright {
+ cursor: pointer;
+ /*榧犳爣鍙樻垚鎵嬫寚鏍峰紡*/
+ transition: all 0.1s;
+ /*鎵�鏈夊睘鎬у彉鍖栧湪0.6绉掑唴鎵ц鍔ㄧ敾*/
+ }
+
+ .bottomright:hover {
+ transform: scale(1.3);
+ /*榧犳爣鏀句笂涔嬪悗鍏冪礌鍙樻垚1.4鍊嶅ぇ灏�*/
+ }
+
+ .imgtitle {
+ width: 70%;
+ height: 50px;
+ text-align: center;
+ display: block;
+ font-size: 15px;
+ float: left;
+ line-height: 50px;
+ }
+
+ .cns {
+ border: 1px solid #5FB878;
+ height: 130px;
+ border-radius: 5px;
+ }
+
+ .cns p {
+ font-size: 12px;
+ line-height: 18px;
+ margin: 0 5px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+
+ .check1 {
+ cursor: pointer;
+ /*榧犳爣鍙樻垚鎵嬫寚鏍峰紡*/
+ -webkit-transition: border linear .1s, -webkit-box-shadow linear .5s;
+ border-color: rgba(0, 148, 255, .75);
+ -webkit-box-shadow: 0 0 18px rgba(0, 148, 255);
+ }
+
+ .prs {
+ font-family: "寰蒋闆呴粦";
+ font-weight: bold;
+ line-height: 30px;
+ margin: 0 0px 0px 10px;
+ float: left;
+ }
+
+ .layui-progress {
+ width: 45%;
+ float: left;
+ top: 6px;
+ }
+
+ .tr1-1,
+ .tr1-2,
+ .tr1-3,
+ .tr1-4 {
+ margin-left: 3%;
+ margin-top: 4%;
+ height: 310px;
+ border: 1px solid rgb(0 0 0 / 10%);
+ width: 95%;
+ }
+
+ .btnM {
+ width: 30%;
+ height: 50px;
+ line-height: 50px;
+ float: left;
+ text-align: right;
+ }
+
+ .layui-icon {
+ font-size: 20px;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="layui-fluid">
+ <div class="layui-col-md12">
+ <div class="layui-card" style="padding: 1px">
+ <div class="layui-card-body" style="padding: 1px;">
+ <form class="layui-form" action="" lay-filter="component-form-group">
+ <div class="layui-row">
+ <div class="layui-col-xs2 layui-inline" style="border: solid 1.5px #e0d6d64d;">
+ <div id="TreeTable" class="demo-tree demo-tree-box"
+ style="height: 600px; overflow: scroll;"></div>
+ </div>
+ <div class="layui-col-xs10 layui-inline" style="border: solid 1.5px #e0d6d64d;">
+ <div id="btomleft" style="height:600px;display:block;overflow-y:auto;">
+
+ </div>
+ </div>
+ <!-- <div class="layui-col-xs1 layui-inline" style="border: solid 1.5px #e0d6d64d;">
+ <fieldset style="border: 1px solid #eee; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%); height: 585px;">
+ <legend style="color: #5FB878">鎿嶄綔鍙�</legend>
+ <div class="content4">
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="PowerOn(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-pause imgicon"></span>
+ </div>
+ <span class="imgtitle">寮�鏈�</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="PowerOff(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-logout imgicon"></span>
+ </div>
+ <span class="imgtitle">鍋滄満</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="DotCheck(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-list imgicon"></span>
+ </div>
+ <span class="imgtitle">鐐规璁板綍</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="FaultRegistration(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-list imgicon"></span>
+ </div>
+ <span class="imgtitle">鏁呴殰鐧昏</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="Maintenance(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-form imgicon"></span>
+ </div>
+ <span class="imgtitle">缁翠慨</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="Resume(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-table imgicon"></span>
+ </div>
+ <span class="imgtitle">灞ュ巻</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="Process(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-file imgicon"></span>
+ </div>
+ <span class="imgtitle">宸ヨ壓</span>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10">
+ <div class="layui-col-sm12 " onclick="HStatus(event,this)">
+ <div class="cnt bottomright">
+ <div class="btnM">
+ <span class="layui-icon layui-icon-set imgicon"></span>
+ </div>
+ <span class="imgtitle">鐘舵��</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ </div> -->
+ </div>
+ <div class="layui-row" style="display: none;">
+ <div class="layui-col-xs3 layui-inline">
+ <div class="tr1-1" id="mychart11"> </div>
+ </div>
+ <div class="layui-col-xs3 layui-inline">
+ <div class="tr1-2" id="mychart22"> </div>
+ </div>
+ <div class="layui-col-xs3 layui-inline">
+ <div class="tr1-3" id="mychart3"> </div>
+ </div>
+ <div class="layui-col-xs3 layui-inline">
+ <div class="tr1-4" id="mychart4"> </div>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+
+</html>
+<script>
+ var wktag = 0;
+ var HEquipID = 0;//璁惧id
+ var HEquipNumber = "";//璁惧缂栫爜
+ var HEquipName = "";//璁惧鍚嶇О
+ var HSourceID = "";//浜х嚎id
+ var HDeptID = "";
+ layui.config({
+ base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+ }).extend({
+ index: 'lib/index', //涓诲叆鍙fā鍧�
+ }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'tree'], function () {
+ //#region 鍏敤鍙橀噺
+ var $ = layui.$
+ , admin = layui.admin
+ , layer = layui.layer
+ , table = layui.table
+ , form = layui.form
+ , element = layui.element
+ , laypage = layui.laypage
+ , laydate = layui.laydate
+ , tree = layui.tree
+ //#endregion
+
+ //#region 杩涘叆椤甸潰鍗冲姞杞�
+
+ //鍒濆鍖栫晫闈�
+ set_ClearBill();
+
+ //#endregion
+
+ //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+
+
+
+
+ //#endregion
+
+
+ //#region 鏈〉闈㈣璋冪敤鐨勬墍鏈夋柟娉�
+
+ //#region 鍒濆鍖栫晫闈�
+ function set_ClearBill() {
+ var mychart11 = echarts.init(document.getElementById('mychart11'));
+ var mychart22 = echarts.init(document.getElementById('mychart22'));
+ var mychart3 = echarts.init(document.getElementById('mychart3'));
+ var mychart4 = echarts.init(document.getElementById('mychart4'));
+ get_Histogram1(mychart11, '');//鏌辩姸鍥�1
+ get_LineChart(mychart22, '');//鎶樼嚎
+ get_Statistics(mychart3, '');//楗煎浘
+ get_Histogram4(mychart4, '');//鏌辩姸鍥�4
+
+ //鏌ヨ
+ get_Display_Tree();
+ }
+ //#endregion
+
+ //鏌ヨ宸ュ崟
+ function Check(HDeptID) {
+ wktag = 0;
+ $("#btomleft").html("");
+ $.ajax({
+ url: GetWEBURL() + '/Sc_HEquipStateDistribution/Sc_HEquipStateDistribution_Souce',
+ type: "GET",
+ data: { "HDeptID": HDeptID, "user": sessionStorage["HUserName"], "OrganizationID": sessionStorage["OrganizationID"] },
+ dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json script jsonp
+ success: function (data) {
+
+ var LoadData1 = data.data.h_p_sc_HDeptSouceMOList;
+ if (LoadData1.length > 0) //宸ュ崟鍒楄〃鏁版嵁
+ {
+
+ for (var i = 0; i < LoadData1.length; i++) {
+ var html1 = '';
+ html1 += '<div class="layui-col-sm12 layui-col-md2" style="margin: 6px;width: 180px;">';
+ html1 += '<div class="cns" id="bs' + (i + 1) + '" onclick="CheckBtom(this,' + (i + 1) + ')">';
+ html1 += '<dl>';
+ html1 += '<dd class="tcenter">';
+ html1 += '<h1 style="display:none;"><span>鐢熶骇璁㈠崟鍙蜂富ID锛�</span><span id="df' + (i + 1) + '">' + LoadData1[i].鐢熶骇璁㈠崟涓诲唴鐮� + '</span></h1>';
+ html1 += '<h1 style="display:none;"><span>鐢熶骇璁㈠崟瀛怚D锛�</span><span id="ds' + (i + 1) + '">' + LoadData1[i].鐢熶骇璁㈠崟瀛愬唴鐮� + '</span></h1>';
+ html1 += '<h1 style="display:none;"><span>浜х嚎ID锛�</span><span id="cs' + (i + 1) + '">' + LoadData1[i].HSourceID + '</span></h1>';
+ html1 += '<h1 style="display:none;"><span>璁惧ID锛�</span><span id="sb' + (i + 1) + '">' + LoadData1[i].璁惧id + '</span></h1>';
+
+ html1 += '<p><span>璁惧缂栫爜锛�</span><span id="sbbm' + (i + 1) + '">' + LoadData1[i].璁惧缂栫爜 + '</span></p>';
+ html1 += '<p><span>璁惧鍚嶇О锛�</span><span id="sbmc' + (i + 1) + '">' + LoadData1[i].璁惧鍚嶇О + '</span></p>';
+ html1 += '<p><span>浜х嚎锛�</span><span id="cxmc' + (i + 1) + '">' + LoadData1[i].浜х嚎 + '</span></p>';
+ html1 += '<p><span>褰撳墠璁㈠崟锛�</span><span id="gd' + (i + 1) + '">' + LoadData1[i].鐢熶骇璁㈠崟 + '</span></p>';
+ html1 += '<p><span>璁㈠崟鏁伴噺锛�</span><span id="ddqty' + (i + 1) + '">' + LoadData1[i].浠诲姟鍗曟暟閲� + '</span></p>';
+ html1 += '<p><span>瀹屾垚鏁伴噺锛�</span><span id="wcqty' + (i + 1) + '">' + LoadData1[i].娴佽浆鍗℃暟閲� + '</span></p>';
+ switch (LoadData1[i].璁惧鐘舵��) {
+ case "绌洪棽":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border6"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "寮�鏈�":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border4"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "鍋滄満":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border3"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "鐢熶骇":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border2"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "缁翠慨涓�":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border5"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "鏁呴殰":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border1"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ case "缁翠慨瀹屾垚":
+ html1 += '<p><span>褰撳墠鐘舵�侊細</span><span class="gj_icon color_border7"></span><span>' + LoadData1[i].璁惧鐘舵�� + '</span></p>';
+ break;
+ default:
+ }
+ html1 += '</dd>';
+ html1 += '</dl>';
+ html1 += '</div>';
+ html1 += '</div>';
+ $("#btomleft").append(html1);
+ }
+ }
+ },
+ error: function (err) {
+ layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ });
+ }
+
+ // 鏍戠姸鍥炬煡璇�
+ function get_Display_Tree() {
+ var sWhere = " and HWorkShopFlag =1 and HUSEORGID=" + sessionStorage["OrganizationID"];
+ var ajaxLoad = layer.load();
+ $.ajax({
+ url: GetWEBURL() + '/Gy_Department/Gy_DepartmentTreeList',
+ data: { "sWhere": sWhere },
+ type: "GET",
+ success: function (data1) {
+ if (data1.count == 1) {
+ layer.close(ajaxLoad);
+ var data = JSON.parse(data1.data);
+ MenuMain(data);
+ } else {
+ layer.close(ajaxLoad);
+ layer.alert(data1.code + data1.Message, { icon: 5 });
+ }
+ }, error: function () {
+ layer.close(ajaxLoad);
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ }
+ });
+ }
+
+ //閬嶅巻鐢熸垚涓昏彍鍗�
+ function MenuMain(data) {
+ var liStr = '[';
+ //閬嶅巻鐢熸垚涓昏彍鍗�
+ for (var i = 0; i < data.length; i++) {
+ // 鍒ゆ柇鏄惁瀛樺湪瀛愯彍鍗�
+ if (data[i].children != null && data[i].children.length > 0) {
+ liStr += '{"title": "' + data[i].id + "-" + data[i].title + '", "id": "' + data[i].id + '","spread":true, "children":[ ';
+ // 閬嶅巻鑾峰彇瀛愯彍鍗�
+ for (var k = 0; k < data[i].children.length; k++) {
+ liStr += getChildMenu(data[i].children[k], 0);
+ }
+ liStr = liStr.substring(0, liStr.length - 1);
+ liStr += ']},';
+ } else {
+ liStr += '{"title": "' + data[i].id + "-" + data[i].title + '", "id": "' + data[i].id + '"},';
+ }
+ };
+ liStr = liStr.substring(0, liStr.length - 1);
+ liStr += "]";
+ var treeTable = JSON.parse(liStr);
+ tree.render({
+ elem: '#TreeTable' //榛樿鏄偣鍑昏妭鐐瑰彲杩涜鏀剁缉
+ , data: treeTable
+ , click: function (obj) {
+ //楂樹寒鍙樿壊
+ $(".layui-tree-set").removeClass('layui-tree-set-active');
+ obj.elem.addClass('layui-tree-set-active');
+
+ var data = obj.data; //鑾峰彇褰撳墠鐐瑰嚮鐨勮妭鐐规暟鎹�
+ HDeptID = 0;
+ if (data.id == "0") {
+
+ } else {
+ HDeptID = data.id;
+ }
+ Check(HDeptID);
+ }
+ });
+ }
+
+ // 閫掑綊鐢熸垚瀛愯彍鍗�
+ function getChildMenu(subMenu, num) {
+ num++;
+ var subStr = '';
+ if (subMenu.children != null && subMenu.children.length > 0) {
+ subStr += '{"title": "' + subMenu.id + "-" + subMenu.title + '", "id": "' + subMenu.id + '", "children":[';
+ for (var j = 0; j < subMenu.children.length; j++) {
+ subStr += getChildMenu(subMenu.children[j], num);
+ if (j + 1 == subMenu.children.length) {
+ subStr = subStr.substring(0, subStr.length - 1);
+ }
+ }
+ subStr += ']},';
+ } else {
+ subStr += '{"title": "' + subMenu.id + "-" + subMenu.title + '", "id": "' + subMenu.id + '"},';
+ }
+ return subStr;
+ }
+
+ });
+ //#endregion
+
+ //宸ュ崟鍒楄〃閫変腑
+ function CheckBtom(obj, i) {
+ workcode = $("#gd" + i + "").html(); //閫氳繃鏍峰紡ID鑾峰彇html鍐呭(宸ュ崟鍙�)
+ HICMOInterID = $("#df" + i + "").html(); //鐢熶骇璁㈠崟涓诲唴鐮�
+ HICMOEntryID = $("#ds" + i + "").html(); //鐢熶骇璁㈠崟瀛愬唴鐮�
+ HEquipID = $("#sb" + i + "").html(); //璁惧id
+ HEquipNumber = $("#sbbm" + i + "").html(); //璁惧缂栫爜
+ HEquipName = $("#sbmc" + i + "").html(); //璁惧鍚嶇О
+ HSourceID = $("#cs" + i + "").html(); //浜х嚎id
+
+ $('.cns').removeClass('check1'); //鍒犻櫎涓嶅悓鐖剁骇clss鏍峰紡鐩稿悓鐨勬墍鏈夊厓绱�
+ $("#bs" + i + "").addClass('check1'); // 娣诲姞褰撳墠鍏冪礌鐨勬牱寮�
+ if (HEquipID != "" && HEquipID != null) {
+ wktag = 1;
+ }
+ sWhere = {
+ HDeptID: HDeptID
+ , HSourceID: HSourceID
+ }
+
+ /* 鐐瑰嚮 璁惧 寮�鍚澶囪鎯呭脊绐楋紝璁惧鐘舵�佽鎯呴〉闈�
+ *璇︽儏椤甸潰锛氭棩鏈熻繃婊ゃ�佽澶囪繍琛屽垎鏋愩�佽鎶ワ紙鍙互鍏堝彇鍊间负鏈�杩戠殑瀹夌伅绠$悊锛夊彇鍊肩敤 璁惧杩愯鐘舵�佽〃 Sb_EquipRunningStatus(璁惧褰撳墠鐘舵�佹晥鐜囧垎鏋�)
+ */
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '璁惧璇︽儏',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: './DAQ_EvidenceEquipmentCockpitDetail.html?HEquipID=' + HEquipID,
+ end: function () {
+
+ },
+ success: function (dom, index) {
+
+ },
+ });
+ // FourReport(JSON.stringify(sWhere));
+ }
+
+ //鏌ヨ 閮ㄩ棬+浜х嚎 4涓浘琛� 璧嬪��
+ function FourReport(sWhere) {
+ $.ajax({
+ url: GetWEBURL() + '/Sc_HEquipStateDistribution/Get_EquipStateDistribution_FourReport',
+ type: "GET",
+ data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "OrganizationID": sessionStorage["OrganizationID"] },
+ dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json script jsonp
+ success: function (data) {
+ var chartData = data.data.h_p_Sc_FourStateDistributionReport;
+ var chartData1 = data.data.h_p_Sc_FourStateDistributionReport1;
+ var chartData2 = data.data.h_p_Sc_FourStateDistributionReport2;
+ var chartData3 = data.data.h_p_Sc_FourStateDistributionReport3;
+ var mychart11 = echarts.init(document.getElementById('mychart11'));
+ var mychart22 = echarts.init(document.getElementById('mychart22'));
+ var mychart3 = echarts.init(document.getElementById('mychart3'));
+ var mychart4 = echarts.init(document.getElementById('mychart4'));
+
+ get_Histogram1(mychart11, chartData);
+ get_LineChart(mychart22, chartData1);
+ get_Statistics(mychart3, chartData2);
+ get_Histogram4(mychart4, chartData3);
+
+ },
+ error: function (err) {
+ layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ });
+ }
+
+ //鏌辩姸鍥�
+ function get_Histogram1(mychart11, chartData) {
+ // 榛樿鐨刼ption缁撴瀯
+ var option = {
+ title: {
+ text: '杩戜竷澶╀骇鑳�', // 榛樿鏍囬涓虹┖
+ left: 'center',
+ top: '10%', // 璋冩暣鏍囬浣嶇疆锛屾斁鍒版渶涓婇潰
+ textStyle: {
+ fontSize: 18,
+ color: '#ff0000'
+ }
+ },
+ grid: {
+ top: '25%', // 璋冩暣grid鐨則op鍊硷紝缁欐爣棰樼暀鍑虹┖闂�
+ bottom: '20%',
+ left: '10%',
+ right: '10%'
+ },
+ xAxis: {
+ type: 'category',
+ data: [] // 榛樿x杞存暟鎹负绌�
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series: [
+ {
+ data: [], // 榛樿series鏁版嵁涓虹┖
+ type: 'bar'
+ }
+ ]
+ };
+
+ // 濡傛灉鏈夋暟鎹紝鏇存柊option鐨勫唴瀹�
+ if (chartData && chartData.length > 0) {
+ option.title.text = '杩戜竷澶╀骇鑳�'; // 姝e父鏁版嵁鏃舵病鏈夋爣棰�
+ option.xAxis.data = chartData.map(item => item.鏃ユ湡); // 璁剧疆x杞存暟鎹�
+ option.series[0].data = chartData.map(item => item['鐢熶骇鎬绘暟']); // 璁剧疆y杞存暟鎹�
+
+ option.series[0].label = {
+ normal: {
+ show: true,
+ position: 'top',
+ formatter: function (params) {
+ return echarts.format.addCommas(params.value);
+ }
+ }
+ };
+
+ option.series[0].itemStyle = {
+ normal: {
+ color: '#15b1fa',
+ label: {
+ show: true // 鍦ㄦ煴鐘跺浘涓婃樉绀烘暟鎹�
+ }
+ }
+ };
+ } else {
+ // 娌℃湁鏁版嵁鏃讹紝鏄剧ず"鏆傛棤鏁版嵁"鎻愮ず
+ option.title.text = '鏆傛棤鏁版嵁';
+ }
+
+ // 鏇存柊鍥捐〃
+ mychart11.setOption(option);
+ }
+
+ //鏌辩姸鍥�2
+ function get_LineChart(mychart22, chartData1) {
+ // 榛樿鐨刼ption缁撴瀯
+ var option = {
+ title: {
+ text: '缁翠慨', // 榛樿鏍囬涓虹┖
+ left: 'center',
+ top: '10%', // 璋冩暣鏍囬浣嶇疆锛屾斁鍒版渶涓婇潰
+ textStyle: {
+ fontSize: 18,
+ color: '#ff0000'
+ }
+ },
+ axisLabel: {
+ show: true,
+ interval: 0,
+ color: '#15b1fa',
+ formatter: function (value) {
+ var ret = "";//鎷兼帴鍔燶n杩斿洖鐨勭被鐩」
+ var maxLength = 1;//姣忛」鏄剧ず鏂囧瓧涓暟
+ var valLength = value.length;//X杞寸被鐩」鐨勬枃瀛椾釜鏁�
+ var rowN = Math.ceil(valLength / maxLength); //绫荤洰椤归渶瑕佹崲琛岀殑琛屾暟
+ if (rowN > 1)//濡傛灉绫荤洰椤圭殑鏂囧瓧澶т簬3,
+ {
+ for (var i = 0; i < rowN; i++) {
+ var temp = "";//姣忔鎴彇鐨勫瓧绗︿覆
+ var start = i * maxLength;//寮�濮嬫埅鍙栫殑浣嶇疆
+ var end = start + maxLength;//缁撴潫鎴彇鐨勪綅缃�
+ //杩欓噷涔熷彲浠ュ姞涓�涓槸鍚︽槸鏈�鍚庝竴琛岀殑鍒ゆ柇锛屼絾鏄笉鍔犱篃娌℃湁褰卞搷锛岄偅灏变笉鍔犲惂
+ temp = value.substring(start, end) + "\n";
+ ret += temp; //鍑�熸渶缁堢殑瀛楃涓�
+ }
+ return ret;
+ }
+ else {
+ return value;
+ }
+ }
+ },
+ grid: {
+ top: '25%', // 璋冩暣grid鐨則op鍊硷紝缁欐爣棰樼暀鍑虹┖闂�
+ bottom: '20%',
+ left: '10%',
+ right: '10%'
+ },
+ xAxis: {
+ type: 'category',
+ data: [] // 榛樿x杞存暟鎹负绌�
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series: [
+ {
+ data: [], // 榛樿series鏁版嵁涓虹┖
+ type: 'bar'
+ }
+ ]
+ };
+
+
+
+ // 濡傛灉鏈夋暟鎹紝鏇存柊option鐨勫唴瀹�
+ if (chartData1 && chartData1.length > 0) {
+ option.title.text = '涓嶈壇鍘熷洜'; // 姝e父鏁版嵁鏃舵病鏈夋爣棰�
+ option.xAxis.data = chartData1.map(item => item.涓嶈壇鍘熷洜); // 璁剧疆x杞存暟鎹�
+ option.series[0].data = chartData1.map(item => item['鏁伴噺']); // 璁剧疆y杞存暟鎹�
+
+ option.series[0].label = {
+ normal: {
+ show: true,
+ position: 'top',
+ formatter: function (params) {
+ return echarts.format.addCommas(params.value);
+ }
+ }
+ };
+
+ option.series[0].itemStyle = {
+ normal: {
+ color: '#15b1fa',
+ label: {
+ show: true // 鍦ㄦ煴鐘跺浘涓婃樉绀烘暟鎹�
+ }
+ }
+ };
+ } else {
+ // 娌℃湁鏁版嵁鏃讹紝鏄剧ず"鏆傛棤鏁版嵁"鎻愮ず
+ option.title.text = '鏆傛棤鏁版嵁';
+ }
+
+ // 鏇存柊鍥捐〃
+ mychart22.setOption(option);
+ }
+
+ //楗煎浘
+ function get_Statistics(mychart3, chartData2) {
+ // 濡傛灉 chartData2 涓虹┖锛屾彁渚涗竴涓�滄棤鏁版嵁鈥濇彁绀�
+ if (chartData2.length === 0) {
+ mychart3.setOption({
+ title: {
+ text: '鏆傛棤鏁版嵁',
+ left: 'center',
+ top: '10%',
+ textStyle: {
+ color: 'red', // 璁剧疆鏍囬棰滆壊涓虹孩鑹�
+ fontSize: 18,
+ fontWeight: 'bold'
+ }
+ },
+ series: [], // 娓呯┖鏁版嵁
+ graphic: [] // 娓呯┖鍥惧舰涓殑鏂囨湰
+ });
+ return;
+ }
+
+ // 鐘舵�侀鑹叉槧灏�
+ const statusColorMap = {
+ '寮�鏈�': '#28a745', // 缁胯壊
+ '鏁呴殰': '#ff63a5', // 妗冪孩鑹�
+ '鍋滄満': '#f0ad4e', // 榛勮壊
+ '鏈煡': '#6c757d' // 鐏拌壊
+ };
+
+ // 璁$畻寮�鏈虹巼
+ const totalDevices = chartData2.reduce((sum, item) => sum + item.鏁伴噺, 0);
+ const onlineDevices = chartData2.find(item => item.鐘舵�� === '寮�鏈�')?.鏁伴噺 || 0;
+ const onlineRate = totalDevices === 0 ? 0 : (onlineDevices / totalDevices * 100).toFixed(2);
+
+ // 鍔ㄦ�佺敓鎴愰ゼ鍥炬暟鎹紝骞舵牴鎹姸鎬佽缃鑹�
+ var data = chartData2.map(function (item) {
+ // 鑾峰彇褰撳墠鐘舵�佺殑棰滆壊锛岄粯璁や负鐏拌壊
+ var color = statusColorMap[item.鐘舵�乚 || statusColorMap['鏈煡'];
+
+ return {
+ value: item.鏁伴噺,
+ name: item.鐘舵��,
+ itemStyle: {
+ color: color // 涓烘瘡涓姸鎬佽缃搴旂殑棰滆壊
+ }
+ };
+ });
+
+ // 鍥捐〃鐨勯厤缃」
+ var option = {
+ title: {
+ text: '璁惧鐘舵�佸垎鏋愬姣�',
+ left: 'center',
+ top: '10%', // 灏嗘爣棰樻斁缃埌椤堕儴
+ textStyle: {
+ color: 'red', // 璁剧疆鏍囬瀛椾綋棰滆壊涓虹孩鑹�
+ fontSize: 18,
+ fontWeight: 'bold'
+ }
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '璁惧鐘舵��',
+ type: 'pie',
+ radius: '50%',
+ data: data, // 浣跨敤鍔ㄦ�佺敓鎴愮殑鏁版嵁
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ],
+ graphic: [{
+ type: 'text',
+ left: 'center',
+ top: '85%', // 璋冩暣鏂囨湰浣嶇疆锛岃鍏剁◢寰洿寰�涓�
+ style: {
+ text: `寮�鏈虹巼: ${onlineRate}%`, // 鏄剧ず寮�鏈虹巼
+ font: '16px Arial',
+ fill: '#00aaff' // 浣跨敤娴呰摑鑹叉樉绀哄紑鏈虹巼
+ }
+ }]
+ };
+
+ // 璁剧疆鍥捐〃鐨勯厤缃」
+ mychart3.setOption(option);
+ }
+
+ //鏌辩姸鍥�4
+ function get_Histogram4(mychart4, chartData3) {
+ // 榛樿鐨刼ption缁撴瀯
+ var option = {
+ title: {
+ text: '缁翠慨', // 榛樿鏍囬涓虹┖
+ left: 'center',
+ top: '10%', // 璋冩暣鏍囬浣嶇疆锛屾斁鍒版渶涓婇潰
+ textStyle: {
+ fontSize: 18,
+ color: '#ff0000'
+ }
+ },
+ axisLabel: {
+ show: true,
+ interval: 0,
+ color: '#15b1fa',
+ formatter: function (value) {
+ var ret = "";//鎷兼帴鍔燶n杩斿洖鐨勭被鐩」
+ var maxLength = 1;//姣忛」鏄剧ず鏂囧瓧涓暟
+ var valLength = value.length;//X杞寸被鐩」鐨勬枃瀛椾釜鏁�
+ var rowN = Math.ceil(valLength / maxLength); //绫荤洰椤归渶瑕佹崲琛岀殑琛屾暟
+ if (rowN > 1)//濡傛灉绫荤洰椤圭殑鏂囧瓧澶т簬3,
+ {
+ for (var i = 0; i < rowN; i++) {
+ var temp = "";//姣忔鎴彇鐨勫瓧绗︿覆
+ var start = i * maxLength;//寮�濮嬫埅鍙栫殑浣嶇疆
+ var end = start + maxLength;//缁撴潫鎴彇鐨勪綅缃�
+ //杩欓噷涔熷彲浠ュ姞涓�涓槸鍚︽槸鏈�鍚庝竴琛岀殑鍒ゆ柇锛屼絾鏄笉鍔犱篃娌℃湁褰卞搷锛岄偅灏变笉鍔犲惂
+ temp = value.substring(start, end) + "\n";
+ ret += temp; //鍑�熸渶缁堢殑瀛楃涓�
+ }
+ return ret;
+ }
+ else {
+ return value;
+ }
+ }
+ },
+ grid: {
+ top: '25%', // 璋冩暣grid鐨則op鍊硷紝缁欐爣棰樼暀鍑虹┖闂�
+ bottom: '20%',
+ left: '10%',
+ right: '10%'
+ },
+ xAxis: {
+ type: 'category',
+ data: [] // 榛樿x杞存暟鎹负绌�
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series: [
+ {
+ data: [], // 榛樿series鏁版嵁涓虹┖
+ type: 'bar'
+ }
+ ]
+ };
+
+ // 濡傛灉鏈夋暟鎹紝鏇存柊option鐨勫唴瀹�
+ if (chartData3 && chartData3.length > 0) {
+ option.title.text = '缁翠慨'; // 姝e父鏁版嵁鏃舵病鏈夋爣棰�
+ option.xAxis.data = chartData3.map(item => item.缁翠慨椤圭洰); // 璁剧疆x杞存暟鎹�
+ option.series[0].data = chartData3.map(item => item['缁翠慨娆℃暟']); // 璁剧疆y杞存暟鎹�
+
+ option.series[0].label = {
+ normal: {
+ show: true,
+ position: 'top',
+ formatter: function (params) {
+ return echarts.format.addCommas(params.value);
+ }
+ }
+ };
+
+ option.series[0].itemStyle = {
+ normal: {
+ color: '#15b1fa',
+ label: {
+ show: true // 鍦ㄦ煴鐘跺浘涓婃樉绀烘暟鎹�
+ }
+ }
+ };
+ } else {
+ // 娌℃湁鏁版嵁鏃讹紝鏄剧ず"鏆傛棤鏁版嵁"鎻愮ず
+ option.title.text = '鏆傛棤鏁版嵁';
+ }
+
+ // 鏇存柊鍥捐〃
+ mychart4.setOption(option);
+ }
+
+
+
+ //#region 鎿嶄綔鍙版寜閽偣鍑讳簨浠�
+
+ //寮�鏈烘寜閽偣鍑讳簨浠�
+ function PowerOn(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏂板寮�鏈哄崟',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../璁惧绠$悊/璁惧寮�鏈哄崟/Sb_EquipBeginBill.html?OperationType=1&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+ },
+ });
+ }
+
+ //鍋滄満鎸夐挳鐐瑰嚮浜嬩欢
+ function PowerOff(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏂板鍋滄満鍗�',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../璁惧绠$悊/璁惧鍋滄満鍗�/Sb_EquipStopBill.html?OperationType=1&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+ },
+ });
+ }
+
+ //鐐规璁板綍鎸夐挳鐐瑰嚮浜嬩欢
+ function DotCheck(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏌ョ湅璁惧鏈堢偣妫�璁板綍',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../杞﹂棿绠$悊/鍚姩鐐规鍗�/Sc_WorkDotCheckBillList_Day.html?OperationType=璁惧&linterid=' + HEquipID + '',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID,
+ "HEquipType": "璁惧"
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+
+ },
+ });
+ }
+
+ //鏁呴殰鐧昏鎸夐挳鐐瑰嚮浜嬩欢
+ function FaultRegistration(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏂板鏁呴殰鐧昏鍗�',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../璁惧绠$悊/Sb_Add_EqpConkBookBillList.html?OperationType=1&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+ },
+ });
+ }
+
+ //缁翠慨璁板綍鎸夐挳鐐瑰嚮浜嬩欢
+ function Maintenance(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏂板缁翠慨璁板綍鍗�',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../璁惧绠$悊/Sb_Add_EqpMaintenanceBillList.html?OperationType=1&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+ },
+ });
+ }
+
+ //灞ュ巻鎸夐挳鐐瑰嚮浜嬩欢
+ function Resume(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏌ョ湅璁惧灞ュ巻',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../璁惧绠$悊/璁惧鎶ヨ〃/Sb_EquipResumeCheckQuery.html?OperationType=1&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID,
+ "HEquipNumber": HEquipNumber,
+ "HEquipName": HEquipName
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+ },
+ });
+ }
+
+ //宸ヨ壓鎸夐挳鐐瑰嚮浜嬩欢
+ function Process(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏌ョ湅璁惧宸ヨ壓鍙傛暟',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../鐢熶骇绠$悊/璁㈠崟鐘舵�佸垎甯�/Sc_EquipmentProcessList.html?OperationType=4&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipID": HEquipID,
+ "HICMOInterID": HICMOInterID,
+ "HICMOEntryID": HICMOEntryID
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+
+ },
+ });
+ }
+
+ //鐘舵�佹寜閽偣鍑讳簨浠�
+ function HStatus(event, obj) {
+ if (wktag == 0) {
+ layer.alert("璇烽�夋嫨瀵瑰簲璁惧", { icon: 5 });
+ return false;
+ }
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim', //鍔犱笂杈规
+ title: '鏌ョ湅璁惧OEE',
+ closeBtn: 1,
+ shift: 2,
+ area: ['100%', '100%'],
+ maxmin: true,
+ content: '../../鐢熶骇绠$悊/璁㈠崟鐘舵�佸垎甯�/Sc_OEEStatusReport.html?OperationType=4&linterid=0&HSouceBillType=',
+ end: function () {
+
+ },
+ success: function (dom, index) {
+ var data = [];
+ data.push({
+ "HEquipNumber": HEquipNumber
+ });
+
+ //閫氳繃绱㈠紩鑾峰彇鍒板綋鍓峣frame寮瑰嚭灞�
+ var iframe = window['layui-layer-iframe' + index];
+ //璋冪敤iframe寮瑰嚭灞傚唴鐨勬柟娉�
+ iframe.edit(data);
+
+ },
+ });
+ }
+
+
+ //#endregion
+
+</script>
\ No newline at end of file
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"
new file mode 100644
index 0000000..e4c70eb
--- /dev/null
+++ "b/WebTM/views/\346\225\260\351\207\207\347\256\241\347\220\206/DAQ_EvidenceEquipmentCockpitDetail.html"
@@ -0,0 +1,517 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <title>璇佹嵁璁惧椹鹃┒鑸�</title>
+ <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
+ <script src="../../layuiadmin/layui/layui1.js"></script>
+ <script src="../../layuiadmin/Scripts/json2.js"></script>
+ <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
+ <script src="../../layuiadmin/PubCustom.js"></script>
+ <script src="../../layuiadmin/zgqCustom/zgqCustom.js"></script>
+ <script src="../../layuiadmin/HideButton.js"></script>
+ <script src="../../layuiadmin/soulTable.slim.js"></script>
+ <script src="../../layuiadmin/PageTitle.js"></script>
+ <script src="../../layuiadmin/echarts.min.js"></script>
+ <script src="../../layuiadmin/Scripts/webConfig.js"></script>
+
+ <style type="text/css">
+ #deviceRunningInfo {
+ background: #ffffff;
+ border-radius: 8px;
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
+ padding: 22px 20px;
+ margin: 15px 0;
+ border: 1px solid #f0f0f0;
+ }
+
+ #deviceRunningInfo .layui-form-label {
+ text-align: left;
+ font-weight: 500;
+ color: #555;
+ padding-left: 0;
+ width: auto;
+ }
+
+ #deviceRunningInfo .layui-form-static {
+ border: 1px solid #e8e8e8;
+ border-radius: 6px;
+ padding: 0 12px;
+ line-height: 38px;
+ background-color: #fafbfc;
+ color: #333;
+ font-size: 14px;
+ transition: all 0.2s;
+ }
+
+ #deviceRunningInfo .layui-form-static:hover {
+ background-color: #f5f7fa;
+ border-color: #dcdfe6;
+ }
+
+ #deviceRunningInfo .layui-form-item {
+ margin-bottom: 18px;
+ }
+
+ .zy-sub-title {
+ font-size: large;
+ padding: 20px;
+ font-weight: bold;
+ }
+
+ #EquipRunningStatusCharts {
+ height: 230px;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="layui-fluid">
+ <div class="layui-col-md12">
+ <div class="layui-card" style="padding: 1px">
+ <div class="layui-card-body" style="padding: 1px;">
+ <form class="layui-form" action="" lay-filter="component-form-group">
+ <!-- 閫夋嫨鏃ユ湡 -->
+ <div class="layui-collapse">
+ <div class="layui-colla-item">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鏃ユ湡鑼冨洿</label>
+ <div class="layui-inline" id="ID-laydate-range">
+ <div class="layui-input-inline">
+ <input type="text" autocomplete="off" id="HBeginDate"
+ class="layui-input" placeholder="寮�濮嬫棩鏈�">
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline">
+ <input type="text" autocomplete="off" id="HEndDate" class="layui-input"
+ placeholder="缁撴潫鏃ユ湡">
+ </div>
+ </div>
+ <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit=""
+ lay-filter="btnSearch" id="btnSearch">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- 璁惧杩愯淇℃伅 -->
+
+ <div class="layui-form-item" id="deviceRunningInfo">
+ <label class="zy-sub-title" style="padding: 0;">璁惧杩愯淇℃伅<label
+ id="deviceRunningDate"></label></label>
+ <div class="layui-row" style="padding-top: 20px;">
+ <!-- 鍗犳瘮 2/12 (绾�1/6)锛岀敤浜庢斁鏍囩 -->
+ <div class="layui-col-xs1 layui-col-md1">
+ <label class="layui-form-label"
+ style="text-align: left; padding-left: 0;">璁惧鍚嶇О</label>
+ </div>
+ <!-- 鍗犳瘮 4/12 (绾�1/3)锛岀敤浜庢斁鍊� -->
+ <div class="layui-col-xs4 layui-col-md4">
+ <div class="layui-form-static" id="HEquipName"></div>
+ </div>
+
+ <!-- 鍗犱綅绌哄垪锛岀敤浜庨殧寮�宸﹀彸涓ょ粍鏁版嵁 -->
+ <div class="layui-col-xs1 layui-col-md1"> </div>
+
+ <!-- 绗簩鍒楁爣绛撅細鎵�灞炲尯鍩� -->
+ <div class="layui-col-xs1 layui-col-md1">
+ <label class="layui-form-label"
+ style="text-align: left; padding-left: 0;">鎵�灞炲尯鍩�</label>
+ </div>
+ <div class="layui-col-xs4 layui-col-md4">
+ <div class="layui-form-static" id="HDeptName"></div>
+ </div>
+ </div>
+ <div class="layui-row">
+ <!-- 鍗犳瘮 2/12 (绾�1/6)锛岀敤浜庢斁鏍囩 -->
+ <div class="layui-col-xs1 layui-col-md1">
+ <label class="layui-form-label"
+ style="text-align: left; padding-left: 0;">璁惧鐘舵��</label>
+ </div>
+ <!-- 鍗犳瘮 4/12 (绾�1/3)锛岀敤浜庢斁鍊� -->
+ <div class="layui-col-xs4 layui-col-md4">
+ <div class="layui-form-static" id="HEquipStatus"></div>
+ </div>
+
+ <!-- 鍗犱綅绌哄垪锛岀敤浜庨殧寮�宸﹀彸涓ょ粍鏁版嵁 -->
+ <div class="layui-col-xs1 layui-col-md1"> </div>
+
+ <!-- 绗簩鍒楁爣绛撅細鎵�灞炲尯鍩� -->
+ <div class="layui-col-xs1 layui-col-md1">
+ <label class="layui-form-label"
+ style="text-align: left; padding-left: 0;">鏃ユ湡</label>
+ </div>
+ <div class="layui-col-xs4 layui-col-md4">
+ <div class="layui-form-static" id="HDate"></div>
+ </div>
+ </div>
+ </div>
+
+ <!-- 璁惧杩愯淇℃伅(鏃跺簭) echarts 瀹炵幇-->
+ <div>
+ <label class="zy-sub-title">璁惧杩愯鏃跺簭</label>
+ <div class="layui-row">
+ <div class="layui-col-xs12 layui-inline">
+ <div id="EquipRunningStatusCharts"></div>
+ </div>
+ </div>
+ </div>
+ <!-- 瀹夌伅(璀︽姤)璁板綍 maintable -->
+ <div>
+ <label class="zy-sub-title">鏈�杩�10鏉¤鎶ヨ褰�</label>
+ <table class="" id="mainTable" lay-filter="mainTable"></table>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <script>
+ layui.config({
+ base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+ }).extend({
+ index: 'lib/index', //涓诲叆鍙fā鍧�
+ }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'tree', 'util'], function () {
+ //#region 鍏敤鍙橀噺
+ var $ = layui.$
+ , admin = layui.admin
+ , layer = layui.layer
+ , table = layui.table
+ , form = layui.form
+ , element = layui.element
+ , laypage = layui.laypage
+ , laydate = layui.laydate
+ , tree = layui.tree
+ , util = layui.util;
+
+ //鏌ヨ鏉′欢
+ var sWhere = "";
+ var option = [];
+ var chartsOption = {}
+ var params = getUrlVars()
+ var HEquipID = params[params[0]]
+ //#endregion
+
+ //#region 杩涘叆椤甸潰鍗冲姞杞�
+
+ //鍒濆鍖栫晫闈�
+ set_ClearBill();
+
+ //#endregion
+
+ //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+ form.on("submit(btnSearch)", function (data) {
+ get_Display();
+ })
+
+
+
+ //#endregion
+
+
+ // #region 鏈〉闈㈣皟鐢ㄧ殑鎵�鏈夋柟娉�
+ function set_ClearBill() {
+ // 鍒濆鍖栨棩鏈熼�夋嫨鍣�
+ initDateSelector()
+
+ // 鍒濆鍖杄charts
+ set_InitCharts()
+
+ //鍒濆鍖栬〃鏍�
+ set_InitGrid();
+
+ // 鑾峰彇鏁版嵁
+ get_Display();
+ }
+
+ function initDateSelector() {
+ // 榛樿鏃ユ湡涓轰粖澶�
+ var yesterdaySameTime = new Date();
+ yesterdaySameTime.setDate(yesterdaySameTime.getDate() - 1);
+ $("#HBeginDate").val(util.toDateString(yesterdaySameTime, 'yyyy-MM-dd HH:mm:ss'))
+ $("#HEndDate").val(util.toDateString(new Date(), 'yyyy-MM-dd HH:mm:ss'))
+ // 鍒濆鍖栨棩鏈熻寖鍥撮�夋嫨
+
+ laydate.render({
+ elem: '#ID-laydate-range',
+ range: ['#HBeginDate', '#HEndDate'],
+ type: 'datetime',
+ });
+ }
+
+ function set_InitCharts() {
+ var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts"))
+ get_LineChart(EquipRunningStatusCharts, []);//鎶樼嚎
+ }
+
+ function set_InitGrid() {
+ option = {
+ elem: '#mainTable'
+ // , toolbar: '#toolbarDemo'
+ , height: 'full-50'
+ , page: true
+ , cellMinWidth: 90
+ , totalRow: true
+ , limit: 50
+ , limits: [50, 500, 5000, 20000]
+ , done: function (res, curr, count) {
+ // soulTable.render(this);
+ }
+ , cols: [[
+ { type: 'checkbox', fixed: 'left', totalRowText: '鍚堣琛�' }
+ , { field: '璀︽姤浠g爜', title: '璀︽姤浠g爜' }
+ , { field: '鎸佺画鏃堕棿', title: '鎸佺画鏃堕棿' }
+ , { field: '鍘熷洜', title: '鍘熷洜' }
+ , {
+ field: '鏃堕棿', title: '鏃堕棿', templet: function (d) {
+ return layui.util.toDateString(d.鏃堕棿, 'yyyy-MM-dd HH:mm:ss');
+ }
+ }
+ ]],
+ data: []
+ };
+
+ table.render(option)
+ }
+
+ function get_LineChart(mychart22, chartData1) {
+ var baseTime = $("HBeginDate").val()
+ var endTime = $("HEndDate").val()
+ 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
+ },
+ // 鎻愮ず妗嗭紙榧犳爣鎮诞鏃舵樉绀猴級
+ 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()}`;
+ }
+ },
+ // 缃戞牸锛堣皟鏁村浘琛ㄥ唴杈硅窛锛岀粰Y杞村拰X杞存爣绛剧暀鍑虹┖闂达級
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ // X杞撮厤缃細鏃堕棿杞�
+ xAxis: {
+ type: 'time', // 鍏抽敭锛氭椂闂寸被鍨嬭酱
+ min: baseTime, // 鍥哄畾鏈�灏忔椂闂达細14:00
+ max: endTime, // 鍥哄畾鏈�澶ф椂闂达細娆℃棩12:00
+ 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...锛�
+ },
+ axisLine: { show: true },
+ splitLine: { show: true }
+ },
+ // Y杞撮厤缃細绫荤洰杞�
+ yAxis: {
+ type: 'category',
+ data: yAxisData,
+ axisLine: { show: false },
+ axisTick: { show: false } // 闅愯棌Y杞村埢搴︾嚎
+ },
+ // 绯诲垪鏁版嵁
+ series: [
+ {
+ name: ['杩愯', '寮�鏈�', '鍋滄満', '鍛婅', '鍏虫満'],
+ type: 'bar', // 浣跨敤鏌辩姸鍥惧疄鐜扮敇鐗瑰浘鏁堟灉
+ barWidth: '80%', // 鏌卞瓙楂樺害
+ // 鏁版嵁鏄犲皠锛氬皢鏃堕棿鎴虫暟鎹叧鑱斿埌X杞�
+ encode: {
+ x: [0, 1], // value 鐨勭0椤逛綔涓鸿捣濮嬶紝绗�1椤逛綔涓虹粨鏉�
+ y: 2 // value 鐨勭2椤逛綔涓篩杞寸被鐩�
+ },
+ // 鍏蜂綋鏁版嵁
+ data: seriesData,
+ // 鐘舵�侀鑹叉槧灏�
+ itemStyle: {
+ color: function (params) {
+ // 鏍规嵁鏁版嵁鍚嶇О鍖归厤棰滆壊
+ const name = params.data[2];
+ const colorMap = {
+ '杩愯': '#67C23A',
+ '杩愯涓�': '#67C23A',
+ '寮�鏈�': '#409EFF',
+ '鍋滄満': '#E6A23C',
+ '鍛婅': '#F56C6C',
+ '鍏虫満': '#909399',
+ '缁翠慨涓�': '#F56C6C',
+ '缁存姢涓�': '#F56C6C'
+ };
+ return colorMap[name] || '#ccc';
+ }
+ },
+ // 鏌卞瓙涓婁笉鏄剧ず鏂囧瓧鏍囩
+ label: { show: false }
+ }
+ ]
+ };
+
+
+ // 濡傛灉鏈夋暟鎹紝鏇存柊option鐨勫唴瀹�
+ if (chartData1 && chartData1.length > 0) {
+
+ } else {
+ // 娌℃湁鏁版嵁鏃讹紝鏄剧ず"鏆傛棤鏁版嵁"鎻愮ず
+ chartsOption.title.text = '鏆傛棤鏁版嵁';
+ }
+
+ // 鏇存柊鍥捐〃
+ mychart22.setOption(chartsOption);
+ }
+
+
+ function get_Display() {
+ var HBeginDate = $("#HBeginDate").val()
+ var HEndDate = $("#HEndDate").val()
+ sWhere = get_sWhere()
+ var sWhere2 = ""
+
+ if (HBeginDate && HEndDate) {
+ sWhere2 += " and StartTime BETWEEN CAST('" + HBeginDate + "' AS DATETIME)" +
+ " AND DATEADD(MILLISECOND, -3, DATEADD(DAY, 1, CAST('" + HEndDate + "' AS DATETIME))) "
+ }
+ // 鑾峰彇璁惧妗f
+ $.ajax({
+ url: GetWEBURL() + '/Gy_EquipFileMain/GetList',
+ type: "GET",
+ data: { "user": sessionStorage["HUserName"], sWhere: " and hmainid = " + HEquipID },
+ dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json script jsonp
+ success: function (data) {
+ if (data.count == 1) {
+ $("#HEquipName").text(data.data[0]["璁惧鍚嶇О"])
+ $("#HDeptName").text(data.data[0]["浣跨敤閮ㄩ棬"])
+ $("#HEquipStatus").text(data.data[0]["褰撳墠鐘舵��"])
+ $("#HDate").text(util.toDateString(new Date(), 'MM鏈坉d鏃�'))
+ }
+ else {
+ layer.alert(data.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ },
+ error: function (err) {
+ layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ });
+
+ // 鑾峰彇璁惧杩愯鏃跺簭淇℃伅
+ $.ajax({
+ url: GetWEBURL() + '/SB_EquipRunningStatus/ReportByID',
+ type: "GET",
+ data: { "HEquipID": HEquipID, "sWhere": sWhere2, "user": sessionStorage["HUserName"] },
+ dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json script jsonp
+ success: function (data) {
+ console.log(data)
+
+ if (data.count == 1) {
+ var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts"))
+ get_LineChart(EquipRunningStatusCharts, data.data);//鎶樼嚎
+ } else {
+ layer.alert(data.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+
+ },
+ error: function (err) {
+ layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ });
+
+ // 鑾峰彇鏈�杩�10鏉″畨鐏�(璀︽姤璁板綍)
+ $.ajax({
+ url: GetWEBURL() + '/Sc_MESTransFerWorkBill/Get_TransFerBillListByHEquipID',
+ type: "GET",
+ data: { "HEquipID": HEquipID, sWhere: sWhere },
+ dataType: "json",//鏁版嵁绫诲瀷鍙互涓� text xml json script jsonp
+ success: function (data) {
+
+ var LoadData1 = data.data.OA_ErrMsgBackBillMain;
+ if (data.code == 1) //宸ュ崟鍒楄〃鏁版嵁
+ {
+ option.data = LoadData1;
+ table.render(option)
+ } else {
+ layer.alert(data.msg, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ },
+ error: function (err) {
+ layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
+ return false;
+ }
+ });
+ }
+
+ function get_sWhere() {
+ var sWhereStr = ""
+ var HBeginDate = $("#HBeginDate").val()
+ var HEndDate = $("#HEndDate").val()
+
+ if (HBeginDate && HEndDate) {
+ sWhereStr += " and a.HDate BETWEEN CAST('" + HBeginDate + "' AS DATETIME)" +
+ " AND DATEADD(MILLISECOND, -3, DATEADD(DAY, 1, CAST('" + HEndDate + "' AS DATETIME))) "
+ }
+ return sWhereStr
+ }
+
+ // #endregion
+
+ function getUrlVars() {
+ var vars = [], hash;
+ var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+ for (var i = 0; i < hashes.length; i++) {
+ hash = hashes[i].split('=');
+ vars.push(hash[0]);
+ vars[hash[0]] = hash[1];
+ }
+ return vars;
+ }
+ //#endregion
+
+ })
+ </script>
+</body>
+
+
+
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldDailyUseReport.html" "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldDailyUseReport.html"
new file mode 100644
index 0000000..5eafcbc
--- /dev/null
+++ "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldDailyUseReport.html"
@@ -0,0 +1,829 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>姣忔棩浣跨敤鎯呭喌鎶ヨ〃</title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+ <script src="../../../layuiadmin/layui/layui.js"></script>
+ <script src="../../../layuiadmin/Scripts/json2.js"></script>
+ <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
+ <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
+ <script src="../../../layuiadmin/PubCustom.js"></script>
+ <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
+ <script src="../../../layuiadmin/HideButton.js"></script>
+ <script src='../../../layuiadmin/lib/extend/echarts.min.js'></script>
+ <style type="text/css">
+ * { margin: 0; padding: 0; box-sizing: border-box; }
+ html, body { height: 100%; }
+ .page-container {
+ height: 100%;
+ padding: 10px;
+ background: linear-gradient(180deg, #eef2f5 0%, #e4e8eb 100%);
+ display: flex;
+ flex-direction: column;
+ }
+ .query-bar {
+ background: #fff;
+ padding: 10px 15px;
+ border-radius: 6px;
+ margin-bottom: 10px;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.08);
+ flex-shrink: 0;
+ }
+ .summary-row {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 10px;
+ flex-shrink: 0;
+ }
+ .chart-container {
+ background: #fff;
+ border-radius: 6px;
+ padding: 8px;
+ box-shadow: 0 1px 4px rgba(0,0,0,0.08);
+ flex: 1;
+ overflow: hidden;
+ min-height: 0;
+ }
+ .chart-row { display: flex; height: 100%; }
+ .chart-box { flex: 1; margin: 4px; border: 1px solid #eee; border-radius: 4px; background: #fafbfc; }
+
+ /* 姹囨�荤粺璁″崱鐗囨牱寮� */
+ .summary-card {
+ margin: 4px;
+ border: 1px solid #eee;
+ border-radius: 4px;
+ background: #fafbfc;
+ text-align: center;
+ padding: 8px 4px;
+ min-width: 200px;
+ }
+ .summary-card.total-card {
+ background: linear-gradient(135deg, #1e9fff 0%, #5fb3ff 100%);
+ border-color: #1e9fff;
+ }
+ .summary-card.total-card .summary-number,
+ .summary-card.total-card .summary-label { color: #fff; }
+ .summary-number { font-size: 16px; font-weight: bold; color: #1e9fff; }
+ .summary-label { font-size: 11px; color: #888; margin-top: 2px; }
+ </style>
+</head>
+<body>
+ <div class="page-container">
+ <!-- 鏌ヨ鏍� -->
+ <div class="query-bar">
+ <form class="layui-form" action="" lay-filter="component-form-group">
+ <div class="layui-inline">
+ <label class="layui-form-label" style="width: 75px;">寮�濮嬫棩鏈�</label>
+ <div class="layui-input-inline">
+ <input type="date" class="layui-input" id="HBeginDate" style="width:140px;">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label" style="width: 75px;">缁撴潫鏃ユ湡</label>
+ <div class="layui-input-inline">
+ <input type="date" class="layui-input" id="HEndDate" style="width:140px;">
+ </div>
+ </div>
+ <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鏌ヨ
+ </button>
+ <button class="layui-btn layui-btn-primary layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">閲嶇疆</button>
+ </form>
+ </div>
+
+ <!-- 姹囨�荤粺璁★紙鍔ㄦ�佺敓鎴愶級 -->
+ <div class="summary-row" id="summaryRow"></div>
+
+ <!-- 鍥捐〃鍖哄煙锛堝姩鎬佺敓鎴愶級 -->
+ <div class="chart-container" id="chartContainer"></div>
+ </div>
+
+ <script>
+ layui.config({
+ base: '../../../layuiadmin/'
+ }).extend({
+ index: 'lib/index',
+ }).use(['index', 'form', 'element'], function () {
+
+ var $ = layui.$, layer = layui.layer, form = layui.form;
+ var chartInstances = {};
+ var chartConfigKeys = []; // 瀛樺偍閰嶇疆key椤哄簭
+
+ //#region ========== 鍥捐〃閰嶇疆锛堟柊澧炲浘琛ㄥ彧闇�鍦ㄦ澶勬坊鍔犻厤缃級==========
+ /*
+ * 閰嶇疆璇存槑锛�
+ * - chartTitle: 鍥捐〃鏍囬
+ * - chartType: 鍥捐〃绫诲瀷 (pie/bar)
+ * - chartColors: 鍥捐〃棰滆壊鏁扮粍
+ * - api: 鎺ュ彛閰嶇疆
+ * - url: 鎺ュ彛鍦板潃
+ * - method: 璇锋眰鏂规硶 (GET/POST)
+ * - buildParams: 鏋勫缓鍙傛暟鐨勫嚱鏁�(beginDate, endDate)
+ * - dataPath: 鏁版嵁鍦ㄨ繑鍥炵粨鏋滀腑鐨勮矾寰勶紝濡� 'data' 鎴� 'data.list'
+ * - successCode: 鎴愬姛鐨勭姸鎬佺爜
+ * - statusMap: 鐘舵�佹槧灏勯厤缃�
+ * - name: 鐘舵�佸悕绉�
+ * - condition: 鍒ゆ柇鏉′欢琛ㄨ揪寮�
+ *
+ * 鏂板鍥捐〃鍙渶鍦ㄦ澶勬坊鍔犻厤缃紝椤甸潰浼氳嚜鍔ㄧ敓鎴愬搴旂殑姹囨�诲崱鐗囧拰鍥捐〃
+ */
+ var ChartConfig = {
+ // 棰嗙敤鍗�
+ lingyong: {
+ chartTitle: '棰嗙敤鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666'],
+ api: {
+ url: '/Sc_MouldProdOutBillController/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'" + " and 寰�鏉ョ被鍨�='閮ㄩ棬'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999,
+ Type: '3802'
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null && (鍏抽棴浜�=="" || 鍏抽棴浜�==null)' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 閫�搴撳崟
+ tuiku: {
+ chartTitle: '閫�搴撳崟缁熻',
+ chartType: 'pie',
+ chartColors: ['#73c0de', '#3ba272', '#fc8452', '#9a60b4'],
+ api: {
+ url: '/Sc_MouldProdBackBillController/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'" + " and 寰�鏉ョ被鍨�='閮ㄩ棬'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999,
+ Type: '3803'
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 璋冩嫧鍗�
+ diaobo: {
+ chartTitle: '璋冩嫧鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#ea7ccc', '#5470c6', '#91cc75', '#fac858'],
+ api: {
+ url: '/Sc_MouldProdMoveBillController/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999,
+ Type: '3814'
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 鍊熷嚭鍗�
+ jiechu: {
+ chartTitle: '鍊熷嚭鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#fc8452', '#73c0de', '#3ba272', '#ee6666'],
+ api: {
+ url: '/Sc_MouldProdOutBillController/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'" + " and 寰�鏉ョ被鍨�='渚涘簲鍟�'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999,
+ Type: '3802'
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 褰掕繕鍗�
+ guihuan: {
+ chartTitle: '褰掕繕鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#9a60b4', '#ea7ccc', '#5470c6', '#fac858'],
+ api: {
+ url: '/Sc_MouldProdBackBillController/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'" + " and 寰�鏉ョ被鍨�='渚涘簲鍟�'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999,
+ Type: '3803'
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 涓婃ā鍗�
+ shangmo: {
+ chartTitle: '涓婃ā鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#3ba272', '#fc8452', '#73c0de', '#ee6666'],
+ api: {
+ url: '/Sc_MouldUpperBill/Sc_MouldUpperBillListPage',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 涓嬫ā鍗�
+ xiamo: {
+ chartTitle: '涓嬫ā鍗曠粺璁�',
+ chartType: 'pie',
+ chartColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666'],
+ api: {
+ url: '/Sc_MouldUpperBill/Sc_MouldLowerBillListPage',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 淇濆吇璁板綍
+ baoyang: {
+ chartTitle: '淇濆吇璁板綍缁熻',
+ chartType: 'pie',
+ chartColors: ['#73c0de', '#3ba272', '#fc8452', '#ee6666'],
+ api: {
+ url: '/Sc_MouldMaintainBill/GetMouldMaintainBillListPage',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '寰呬繚鍏�', condition: '1==1' }
+ ]
+ },
+ // 鐐规璁板綍
+ dianjian: {
+ chartTitle: '鐐规璁板綍缁熻',
+ chartType: 'pie',
+ chartColors: ['#91cc75', '#fac858', '#5470c6', '#ee6666'],
+ api: {
+ url: '/Sc_MouldDotCheckBill/GetMouldDotCheckBillListPage',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '寮傚父', condition: '1==1' }
+ ]
+ },
+ // 缁翠慨璁板綍
+ weixiu: {
+ chartTitle: '缁翠慨璁板綍缁熻',
+ chartType: 'pie',
+ chartColors: ['#3ba272', '#fc8452', '#73c0de', '#9a60b4'],
+ api: {
+ url: '/Sb_MouldRepairWorkBill/GetMouldRepairWorkBillListPage',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 瀵垮懡璋冩暣鍗�
+ shoumingtiaozheng: {
+ chartTitle: '瀵垮懡璋冩暣鍗�',
+ chartType: 'pie',
+ chartColors: ['#5470c6', '#fac858', '#ee6666', '#73c0de'],
+ api: {
+ url: '/Sc_MouldLifeChangeBill/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ Organization: sessionStorage["Organization"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ },
+ // 瀵垮懡鑰楃敤鍗�
+ shouminghaoyon: {
+ chartTitle: '瀵垮懡鑰楃敤鍗�',
+ chartType: 'pie',
+ chartColors: ['#91cc75', '#3ba272', '#fc8452', '#ea7ccc'],
+ api: {
+ url: '/Sc_MouldLifeUseBill/page',
+ method: 'GET',
+ buildParams: function(beginDate, endDate) {
+ return {
+ sWhere: " and 鏃ユ湡 between '" + beginDate + "' and '" + endDate + "'",
+ user: sessionStorage["HUserName"] || '',
+ Organization: sessionStorage["Organization"] || '',
+ page: 1,
+ size: 999999
+ };
+ },
+ dataPath: 'data',
+ successCode: 1
+ },
+ statusMap: [
+ { name: '鍒涘缓', condition: '瀹℃牳浜�=="" || 瀹℃牳浜�==null' },
+ { name: '宸插鏍�', condition: '瀹℃牳浜�!="" && 瀹℃牳浜�!=null' },
+ { name: '宸插叧闂�', condition: '鍏抽棴浜�!="" && 鍏抽棴浜�!=null' }
+ ]
+ }
+ };
+ //#endregion
+
+ //#region ========== 鍔ㄦ�佺敓鎴愰〉闈㈢粨鏋� ==========
+
+ /**
+ * 鏍规嵁ChartConfig鍔ㄦ�佺敓鎴愭眹鎬诲崱鐗囧拰鍥捐〃瀹瑰櫒
+ */
+ function generatePageStructure() {
+ // 鑾峰彇閰嶇疆key椤哄簭
+ chartConfigKeys = [];
+ for (var key in ChartConfig) {
+ chartConfigKeys.push(key);
+ }
+
+ var chartCount = chartConfigKeys.length;
+
+ // 鐢熸垚姹囨�诲崱鐗�
+ generateSummaryCards(chartCount);
+
+ // 鐢熸垚鍥捐〃瀹瑰櫒
+ generateChartBoxes(chartCount);
+
+ // 璁$畻楂樺害
+ calculateHeights(chartCount);
+ }
+
+ /**
+ * 鐢熸垚姹囨�诲崱鐗�
+ */
+ function generateSummaryCards(chartCount) {
+ var $summaryRow = $('#summaryRow');
+ $summaryRow.empty();
+
+ // 鎬昏鍗$墖
+ var cardWidth = calculateCardWidth(chartCount + 1);
+ $summaryRow.append('<div class="summary-card total-card" id="card-total" style="width:' + cardWidth + '">' +
+ '<div class="summary-number">0</div><div class="summary-label">鎬昏</div></div>');
+
+ // 鍚勭被鍨嬪崱鐗�
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ var config = ChartConfig[key];
+ var label = config.chartTitle.replace('缁熻', '').replace('鍗�', '');
+ $summaryRow.append('<div class="summary-card" id="card-' + key + '" style="width:' + cardWidth + '">' +
+ '<div class="summary-number">0</div><div class="summary-label">' + label + '</div></div>');
+ }
+ }
+
+ /**
+ * 璁$畻鍗$墖瀹藉害
+ */
+ function calculateCardWidth(count) {
+ // 姣忚鏈�澶�12涓紝鏍规嵁鏁伴噺璁$畻瀹藉害
+ var perRow = Math.min(count, 12);
+ return 'calc(' + (100 / perRow) + '% - 8px)';
+ }
+
+ /**
+ * 鐢熸垚鍥捐〃瀹瑰櫒锛堟瘡琛�4涓級
+ */
+ function generateChartBoxes(chartCount) {
+ var $chartContainer = $('#chartContainer');
+ $chartContainer.empty();
+
+ var colsPerRow = 4; // 姣忚4涓浘琛�
+ var rows = Math.ceil(chartCount / colsPerRow);
+
+ for (var row = 0; row < rows; row++) {
+ var $rowDiv = $('<div class="chart-row"></div>');
+
+ for (var col = 0; col < colsPerRow; col++) {
+ var index = row * colsPerRow + col;
+ if (index < chartCount) {
+ var key = chartConfigKeys[index];
+ $rowDiv.append('<div class="chart-box" id="chart-' + key + '"></div>');
+ } else {
+ // 濉厖绌虹櫧鐩掑瓙淇濇寔甯冨眬
+ $rowDiv.append('<div class="chart-box" style="visibility:hidden;"></div>');
+ }
+ }
+
+ $chartContainer.append($rowDiv);
+ }
+ }
+
+ /**
+ * 璁$畻鍚勯儴鍒嗛珮搴�
+ */
+ function calculateHeights(chartCount) {
+ var rows = Math.ceil(chartCount / 4);
+ // chart-container宸查�氳繃flex:1鑷姩濉厖锛屽彧闇�璁剧疆姣忚楂樺害
+ $('.chart-row').css('height', (100 / rows) + '%');
+ }
+
+ //#endregion
+
+ //#region ========== 閫氱敤鏁版嵁鑾峰彇鏂规硶 ==========
+
+ function getValueByPath(obj, path) {
+ if (!path) return obj;
+ var keys = path.split('.');
+ var result = obj;
+ for (var i = 0; i < keys.length; i++) {
+ if (result && result[keys[i]] !== undefined) {
+ result = result[keys[i]];
+ } else {
+ return null;
+ }
+ }
+ return result;
+ }
+
+ function fetchChartData(chartKey, beginDate, endDate) {
+ var config = ChartConfig[chartKey];
+ if (!config) return Promise.resolve([]);
+
+ return new Promise(function(resolve) {
+ var params = {};
+ if (config.api.buildParams) {
+ params = config.api.buildParams(beginDate, endDate);
+ }
+
+ $.ajax({
+ url: GetWEBURL() + config.api.url,
+ type: config.api.method || 'GET',
+ data: params,
+ success: function(result) {
+ var successCode = config.api.successCode || 1;
+ var dataPath = config.api.dataPath || 'data';
+
+ if (result.code == successCode || result.count == successCode) {
+ var data = getValueByPath(result, dataPath);
+ resolve(data || []);
+ } else {
+ resolve([]);
+ }
+ },
+ error: function() {
+ resolve([]);
+ }
+ });
+ });
+ }
+
+ function countByStatusConfig(dataList, config) {
+ var result = [];
+ var statusMap = config.statusMap;
+
+ for (var i = 0; i < statusMap.length; i++) {
+ var statusItem = statusMap[i];
+ var count = 0;
+
+ for (var j = 0; j < dataList.length; j++) {
+ if (evalCondition(dataList[j], statusItem.condition)) {
+ count++;
+ }
+ }
+
+ result.push({
+ name: statusItem.name,
+ value: count
+ });
+ }
+
+ return result;
+ }
+
+ function evalCondition(item, condition) {
+ if (!condition) return true;
+
+ if (condition.indexOf('==""') > -1 || condition.indexOf('==null') > -1) {
+ var fieldMatch = condition.match(/(\S+)==""/);
+ if (fieldMatch) {
+ var field = fieldMatch[1];
+ return !item[field] || item[field] === '';
+ }
+ }
+
+ if (condition.indexOf('!=""') > -1 || condition.indexOf('!=null') > -1) {
+ var notEmptyMatch = condition.match(/(\S+)!=""/);
+ if (notEmptyMatch) {
+ var field = notEmptyMatch[1];
+ return item[field] && item[field] !== '';
+ }
+ }
+
+ var equalMatch = condition.match(/(\S+)==\"([^\"]+)\"/);
+ if (equalMatch) {
+ var field = equalMatch[1];
+ var value = equalMatch[2];
+ return item[field] === value;
+ }
+
+ return condition === '1==1';
+ }
+
+ function fetchAllChartData(beginDate, endDate) {
+ var promises = [];
+ var results = {};
+
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ (function(chartKey) {
+ var promise = fetchChartData(chartKey, beginDate, endDate).then(function(data) {
+ results[chartKey] = countByStatusConfig(data, ChartConfig[chartKey]);
+ });
+ promises.push(promise);
+ })(key);
+ }
+
+ return Promise.all(promises).then(function() {
+ return results;
+ });
+ }
+
+ //#endregion
+
+ //#region ========== 鍥捐〃娓叉煋 ==========
+
+ function renderPieChart(chartId, title, data, colors) {
+ var chartDom = document.getElementById(chartId);
+ if (!chartDom) return;
+
+ var chart = echarts.init(chartDom);
+ chartInstances[chartId] = chart;
+
+ var pieData = data.map(function(item) {
+ return { name: item.name, value: item.value };
+ });
+
+ chart.setOption({
+ title: {
+ text: title,
+ left: 'center',
+ top: 5,
+ textStyle: { fontSize: 12, fontWeight: 'bold' }
+ },
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b}: {c} ({d}%)'
+ },
+ series: [{
+ type: 'pie',
+ radius: ['30%', '50%'],
+ center: ['50%', '55%'],
+ data: pieData,
+ itemStyle: { borderRadius: 3, borderColor: '#fff', borderWidth: 1 },
+ label: { show: true, fontSize: 10, formatter: '{b}\n{c}' },
+ color: colors || ['#91cc75', '#fac858', '#ee6666', '#73c0de']
+ }]
+ });
+ }
+
+ function renderAllCharts(data) {
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ var config = ChartConfig[key];
+ if (config.chartType === 'pie') {
+ renderPieChart('chart-' + key, config.chartTitle, data[key] || [], config.chartColors);
+ }
+ }
+
+ updateSummaryCards(data);
+ }
+
+ function updateSummaryCards(data) {
+ var grandTotal = 0;
+
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ var config = ChartConfig[key];
+ var total = 0;
+ if (data[key]) {
+ for (var j = 0; j < data[key].length; j++) {
+ total += data[key][j].value;
+ }
+ }
+ grandTotal += total;
+ $('#card-' + key).find('.summary-number').text(total);
+ }
+
+ $('#card-total').find('.summary-number').text(grandTotal);
+ }
+
+ //#endregion
+
+ //#region ========== 浜嬩欢缁戝畾 ==========
+
+ form.on('submit(btnReSearch)', function(data) {
+ set_ClearQuery();
+ });
+
+ form.on('submit(btnSearch)', function(data) {
+ get_FastQuery();
+ });
+
+ function set_ClearBill() {
+ // 鍏堢敓鎴愰〉闈㈢粨鏋�
+ generatePageStructure();
+
+ // 璁剧疆鏃ユ湡骞舵煡璇�
+ var today = Format(new Date(), "yyyy-MM-dd");
+ $("#HBeginDate").val(Format(new Date(new Date().setDate(new Date().getDate() - 5)), "yyyy-MM-dd"));
+ $("#HEndDate").val(today);
+ get_FastQuery();
+ }
+
+ function get_FastQuery() {
+ var wait = layer.load();
+ var beginDate = $("#HBeginDate").val();
+ var endDate = $("#HEndDate").val();
+
+ fetchAllChartData(beginDate, endDate).then(function(statsData) {
+ var hasData = false;
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ if (statsData[key] && statsData[key].length > 0) {
+ var sum = 0;
+ for (var j = 0; j < statsData[key].length; j++) {
+ sum += statsData[key][j].value;
+ }
+ if (sum > 0) {
+ hasData = true;
+ break;
+ }
+ }
+ }
+
+ if (hasData) {
+ renderAllCharts(statsData);
+ } else {
+ renderAllCharts(getMockData());
+ }
+ layer.close(wait);
+ }).catch(function() {
+ renderAllCharts(getMockData());
+ layer.close(wait);
+ });
+ }
+
+ function set_ClearQuery() {
+ var today = Format(new Date(), "yyyy-MM-dd");
+ $("#HBeginDate").val(today);
+ $("#HEndDate").val(today);
+ get_FastQuery();
+ }
+
+ //#endregion
+
+ //#region ========== 妯℃嫙鏁版嵁 ==========
+
+ function getMockData() {
+ var mockData = {};
+ for (var i = 0; i < chartConfigKeys.length; i++) {
+ var key = chartConfigKeys[i];
+ var config = ChartConfig[key];
+ mockData[key] = [];
+ for (var j = 0; j < config.statusMap.length; j++) {
+ mockData[key].push({
+ name: config.statusMap[j].name,
+ value: Math.floor(Math.random() * 20) + 5
+ });
+ }
+ }
+ return mockData;
+ }
+
+ //#endregion
+
+ // 鍒濆鍖�
+ set_ClearBill();
+
+ // 绐楀彛澶у皬鍙樺寲鏃堕噸鏂版覆鏌撳浘琛�
+ window.onresize = function() {
+ setTimeout(function() {
+ for (var key in chartInstances) {
+ if (chartInstances[key]) {
+ chartInstances[key].resize();
+ }
+ }
+ }, 100);
+ };
+ });
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldMonthUseReport.html" "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldMonthUseReport.html"
new file mode 100644
index 0000000..c6c73a3
--- /dev/null
+++ "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\345\231\250\345\205\267\346\212\245\350\241\250/Sc_MouldMonthUseReport.html"
@@ -0,0 +1,541 @@
+锘�<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>妯″叿浣跨敤鎯呭喌鎶ヨ〃</title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <!-- 娉ㄦ剰锛氭墍鏈夊紩鐢ㄨ矾寰勪繚鎸佷笌鍘熼」鐩竴鑷达紝纭繚鍔熻兘瀹屾暣 -->
+ <script src="../../../layuiadmin/Scripts/json2.js"></script>
+ <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
+ <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
+ <script src="../../../layuiadmin/PubCustom.js"></script>
+ <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
+ <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+ <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
+ <script src="../../../layuiadmin/layui/layui.js"></script>
+ <script src="../../../layuiadmin/SetColumn.js"></script>
+</head>
+<body>
+ <div class="layui-fluid">
+ <div class="layui-col-md12">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <form class="layui-form" action="" lay-filter="component-form-group" autocomplete="off">
+ <div class="layui-collapse">
+ <div class="layui-colla-item">
+ <div class="layui-colla-title layui-inline">
+ <div class="layui-inline">
+ <span>鏇村</span>
+ </div>
+ </div>
+ <!-- 鐢熶骇杞﹂棿 -->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label">鐢熶骇杞﹂棿</label>
+ <div class="layui-input-block">
+ <select name="HDeptID" id="HDeptID" lay-verify="required" lay-search class="layui-input ForFilteringSchemes">-->
+ <!-- 鍔ㄦ�佹覆鏌撹溅闂� -->
+ <!--</select>
+ </div>
+ </div>-->
+ <!-- 鐗╂枡 -->
+ <div class="layui-inline">
+ <label class="layui-form-label">妯″叿</label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" name="HMouldNumber" id="HMouldNumber" style="float:left;width:150px;">
+ <input type="hidden" class="layui-input" name="HMouldID" id="HMouldID" value="0">
+ <button type="button" lay-submit="" class="layui-btn" lay-filter="HMaterList" style="width:40px;">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+ </button>
+ </div>
+ </div>
+ <!--<div class="layui-inline">
+ <label class="layui-form-label">璐圭敤椤圭洰</label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" name="HItMoneyName" id="HItMoneyName" style="float:left;width:150px;">
+ <input type="hidden" class="layui-input" name="HItMoneyID" id="HItMoneyID" value="0">
+ <button type="button" lay-submit="" class="layui-btn" lay-filter="HItemMoneyList" style="width:40px;">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+ </button>
+ </div>
+ </div>-->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label">鎴愭湰瀵硅薄 </label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" name="HCostObjectName" id="HCostObjectName" style="float:left;width:150px;">
+ <input type="hidden" class="layui-input" name="HCostObjectID" id="HCostObjectID" value="0">
+ <button type="button" lay-submit="" class="layui-btn" lay-filter="HCostobjList" style="width:40px;">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+ </button>
+ </div>
+ </div>-->
+ <!--<div class="layui-inline">
+ <label class="layui-form-label">宸ュ簭</label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" name="HProcName" id="HProcName" style="float:left;width:150px;">
+ <input type="hidden" class="layui-input" name="HProcID" id="HProcID" value="0">
+ <button type="button" lay-submit="" class="layui-btn" lay-filter="HProcList" style="width:40px;">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
+ </button>
+ </div>
+ </div>-->
+ <!-- 寮�濮嬪勾鏈� -->
+ <div class="layui-inline" style="margin-left: 20px;">
+ <label class="layui-form-label">寮�濮嬪勾鏈�</label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" id="ID-laydate-start-month" placeholder="閫夋嫨寮�濮嬪勾鏈�" readonly>
+ </div>
+ </div>
+
+ <!-- 缁撴潫骞存湀 -->
+ <div class="layui-inline" style="margin-left: 20px;">
+ <label class="layui-form-label">缁撴潫骞存湀</label>
+ <div class="layui-input-inline">
+ <input type="text" class="layui-input" id="ID-laydate-end-month" placeholder="閫夋嫨缁撴潫骞存湀" readonly>
+ </div>
+ </div>
+ <!-- 鏌ヨ鎸夐挳 -->
+ <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
+ <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+ </button>
+ <!-- 閲嶇疆鎸夐挳 -->
+ <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">閲嶇疆</button>
+ </div>
+ </div>
+ </form>
+ <div style="margin-top: 10px;">
+ <table class="" id="mainTable" lay-filter="mainTable"></table>
+ <!-- 琛ㄦ牸澶村伐鍏锋爮 -->
+ <script type="text/html" id="toolbarDemo">
+ <div class="layui-btn-container">
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload2"><i class="layui-icon layui-icon-refresh"></i>鍒锋柊</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export2"><i class="layui-icon layui-icon-export"></i>瀵煎嚭</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>瀵煎叆</button>
+ </div>
+ </script>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <script>
+ layui.config({
+ base: '../../../layuiadmin/'
+ }).extend({
+ index: 'lib/index',
+ }).use(['index', 'form', 'table', 'element', 'laydate', 'soulTable', 'tableSelect'], function () {
+ var $ = layui.$,
+ admin = layui.admin,
+ layer = layui.layer,
+ table = layui.table,
+ form = layui.form,
+ element = layui.element,
+ laydate = layui.laydate,
+ soulTable = layui.soulTable,
+ tableSelect = layui.tableSelect;
+
+ // 妯″潡鍚嶏紙鐢ㄤ簬鍒楄缃瓨鍌級
+ var HModName = "Sc_MouldMonthUseReport";
+ // 琛ㄦ牸閫夐」
+ var option = {
+ elem: '#mainTable',
+ toolbar: '#toolbarDemo',
+ height: 'full-120', // 閫傚綋鐣欏嚭搴曢儴绌洪棿
+ page: true,
+ cellMinWidth: 90,
+ totalRow: true,
+ limit: 500,
+ limits: [50, 500, 5000, 20000],
+ done: function (res, curr, count) {
+ soulTable.render(this);
+ },
+ cols: [[]]
+ };
+ // 鍚姩椤甸潰
+ initPage();
+
+ function initPage() {
+ // 娓叉煋杞﹂棿涓嬫媺妗�
+ loadDeptSelect();
+
+ // 璁剧疆榛樿鏃ユ湡: 寮�濮嬪勾鏈堜负7涓湀鍓嶏紝缁撴潫骞存湀涓轰粖澶�
+ var currentDate = new Date();
+ var lastMonth = new Date(currentDate);
+ lastMonth.setMonth(currentDate.getMonth() - 6);
+
+ // 鏂板锛氭覆鏌撳紑濮嬪勾鏈堥�夋嫨鍣�
+ laydate.render({
+ elem: '#ID-laydate-start-month',
+ type: 'month',
+ format: 'yyyy-MM',
+ value: lastMonth,
+ done: function (value, date) {
+ // 鍙互閫夋嫨鍦ㄨ繖閲岃Е鍙戞煡璇�
+ // getFastQuery(2);
+ }
+ });
+
+ // 鏂板锛氭覆鏌撶粨鏉熷勾鏈堥�夋嫨鍣�
+ laydate.render({
+ elem: '#ID-laydate-end-month',
+ type: 'month',
+ format: 'yyyy-MM',
+ value: currentDate,
+ done: function (value, date) {
+ // 鍙互閫夋嫨鍦ㄨ繖閲岃Е鍙戞煡璇�
+ // getFastQuery(2);
+ }
+ });
+
+ getFastQuery(2);
+ // 閲嶆柊娓叉煋琛ㄥ崟鍏冪礌锛坰elect绛夛級
+ form.render('select');
+ }
+
+ // 鑾峰彇杞﹂棿涓嬫媺
+ function loadDeptSelect() {
+ $.ajax({
+ type: "GET",
+ url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
+ async: false,
+ data: { "HOrgID": sessionStorage["OrganizationID"] || 1 }, // 榛樿缁勭粐1
+ success: function (result) {
+ var html = '<option value="0" style="color:red;" selected>鍏ㄩ儴杞﹂棿</option>';
+ if (result.count == 1 && result.data) {
+ var data = result.data;
+ for (var i = 0; i < data.length; i++) {
+ html += '<option style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>';
+ }
+ }
+ $("#HDeptID").html(html);
+ form.render('select');
+ },
+ error: function () {
+ layer.alert('鑾峰彇杞﹂棿鍒楄〃澶辫触', { icon: 2 });
+ }
+ });
+ }
+
+
+
+ // 淇敼鍚庣殑getFastQuery鍑芥暟
+ function getFastQuery(type) {
+ // 淇敼锛氫粠骞存湀閫夋嫨鍣ㄨ幏鍙栧�硷紝鑰屼笉鏄粠鏃ユ湡杈撳叆妗�
+ var HStartYearMonth = $("#ID-laydate-start-month").val();
+ var HEndYearMonth = $("#ID-laydate-end-month").val();
+
+ // 鏂板锛氶獙璇佹槸鍚﹂�夋嫨浜嗗紑濮嬪勾鏈�
+ if (!HStartYearMonth) {
+ layer.msg('璇烽�夋嫨寮�濮嬪勾鏈�', { icon: 2 });
+ return;
+ }
+
+ // 鏂板锛氶獙璇佹槸鍚﹂�夋嫨浜嗙粨鏉熷勾鏈�
+ if (!HEndYearMonth) {
+ layer.msg('璇烽�夋嫨缁撴潫骞存湀', { icon: 2 });
+ return;
+ }
+
+ // 鏂板锛氳В鏋愬紑濮嬪勾鏈堜负骞村拰鏈�
+ var startParts = HStartYearMonth.split('-');
+ var HStartYear = startParts[0];
+ var HStartPeriod = startParts[1];
+
+ // 鏂板锛氳В鏋愮粨鏉熷勾鏈堜负骞村拰鏈�
+ var endParts = HEndYearMonth.split('-');
+ var HEndYear = endParts[0];
+ var HEndPeriod = endParts[1];
+
+ // 鏂板锛氶獙璇佸勾鏈堣寖鍥存槸鍚︽湁鏁�
+ var startValue = parseInt(HStartYear) * 100 + parseInt(HStartPeriod);
+ var endValue = parseInt(HEndYear) * 100 + parseInt(HEndPeriod);
+
+ if (startValue > endValue) {
+ layer.msg('寮�濮嬪勾鏈堜笉鑳藉ぇ浜庣粨鏉熷勾鏈�', { icon: 2 });
+ return;
+ }
+
+ var HCostObjID = $("#HMouldID").val() || '0';
+ var HWorkShopID = $("#HDeptID").val() || '0';
+ var HWorkShopID = $("#HDeptID").val() || '0';
+ var HProcID = $("#HProcID").val() || '0';
+
+ // 淇敼锛氬瓨鍌ㄨ繃绋嬪弬鏁版敼涓哄紑濮嬪勾銆佸紑濮嬫湀銆佺粨鏉熷勾銆佺粨鏉熸湀銆佽溅闂淬�佺墿鏂�
+ var spParams = "'" + HStartYear + "','" + HStartPeriod + "','" +
+ HEndYear + "','" + HEndPeriod + "','" +
+ HWorkShopID + "','" + HCostObjID + "'" + ",'" + HProcID+"'";
+ sWhere = spParams;
+
+ if (type == 2) {
+ get_Display(spParams);
+ }
+ }
+
+ // 鍔犺浇闃舵璁′欢鏁版嵁
+ function get_Display(params) {
+ var loadIndex = layer.load(1, { shade: false });
+
+ var sql = "exec h_p_CB_ActualItemMoneyCost" + params;
+
+ $.ajax({
+ url: GetWEBURL() + '/CB_ActualItemMoneyCostController/CB_ActualItemMoneyCostList',
+ type: "GET",
+ data: { "sWhere": sql },
+ success: function (data1) {
+ layer.close(loadIndex);
+ if (data1.count == 1) {
+ // 瑙f瀽鍒楀畾涔�
+ var colDefs = []; // 瀛樻斁 {id, name, Type}
+ if (data1.list && data1.list.length > 0) {
+ for (var k in data1.list) {
+ colDefs.push({
+ id: data1.list[k].ColmCols,
+ name: data1.list[k].ColmCols,
+ Type: data1.list[k].ColmType
+ });
+ }
+ }
+
+ // 鏋勫缓琛ㄦ牸鍒�
+ var cols = [];
+ // 澶氶�夋鍒�
+ cols.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+
+ // 杈呭姪鍒ゆ柇鏃ユ湡瀛楁(褰㈠"2025-02-20")锛屽師浠g爜鐢╥sValidDate浣嗘湭瀹氫箟锛岀畝鍗曟寜瀛楁鍚嶆槸鍚﹀惈妯嚎鍒ゆ柇锛屽疄闄呮牴鎹笟鍔¤皟鏁�
+ for (var i = 0; i < colDefs.length; i++) {
+ var fieldName = colDefs[i].name;
+ var fieldId = colDefs[i].id;
+ var fieldType = colDefs[i].Type;
+
+ // 閽堝闃舵鎶ヨ〃锛屾湁浜涘垪鍙兘鏄姩鎬佹棩鏈�(渚嬪鈥�02-20鈥�)锛屽師浠g爜鐢╥sValidDate鍒ゆ柇锛屾垜浠畝鍗曟ā鎷燂細濡傛灉瀛楁鍚嶅寘鍚� '-' 涓旈暱搴�<=10 瑙嗕负鏃ユ湡鐭垪
+ var isShortDate = (fieldName.indexOf('-') > 0 && fieldName.length <= 10);
+ if (isShortDate) {
+ // 鏄剧ず鎴� MM-dd 鏍煎紡锛屽師浠g爜灏濊瘯Format浣嗘湭瀹氫箟锛屾澶勭洿鎺ユ樉绀哄師瀛楁鍚�
+ cols.push({
+ field: fieldId,
+ title: fieldName, // 鍘熶唬鐮�: Format(fieldName,'MM-dd') 浣咶ormat鍑芥暟鍙兘鏈紩鍏ワ紝淇濇寔鍘熸牱
+ width: 70,
+ totalRow: true,
+ filter: true,
+ align: 'center'
+ });
+ } else if (fieldType == 'DateTime') {
+ cols.push({
+ field: fieldId,
+ title: fieldName,
+ align: 'center',
+ sort: true,
+ filter: true,
+ templet: "<div>{{ d." + fieldId + " == '' ? '' : layui.util.toDateString(d." + fieldId + ", 'yyyy-MM-dd HH:mm:ss') }}</div>",
+ width: 180
+ });
+ } else {
+ cols.push({
+ field: fieldId,
+ title: fieldName,
+ align: 'center',
+ sort: true,
+ width: 150,
+ filter: true
+ });
+ }
+ }
+
+ // 鏇存柊琛ㄦ牸閰嶇疆
+ option.cols = [cols];
+ option.data = data1.data || [];
+
+ // 搴旂敤鍒楅殣钘忚缃紙濡傛灉瀛樺湪锛�
+ DisPlay_HideColumn(HModName, sessionStorage["HUserName"] || 'admin', option, []);
+
+ // 娓叉煋琛ㄦ牸
+ table.render(option);
+ } else {
+ layer.alert(data1.code + ' ' + data1.Message, { icon: 5 });
+ }
+ },
+ error: function () {
+ layer.close(loadIndex);
+ layer.alert("鎺ュ彛璇锋眰澶辫触", { icon: 5 });
+ }
+ });
+ }
+
+ // 閲嶇疆杩囨护鏉′欢
+ // 淇敼鍚庣殑clearQuery鍑芥暟
+ function clearQuery() {
+ var currentDate = new Date();
+ var lastMonth = new Date(currentDate);
+ lastMonth.setMonth(currentDate.getMonth() - 7);
+
+ // 淇敼锛氶噸鏂拌缃紑濮嬪勾鏈堥�夋嫨鍣ㄧ殑鍊�
+ laydate.render({
+ elem: '#ID-laydate-start-month',
+ type: 'month',
+ format: 'yyyy-MM',
+ value: lastMonth,
+ show: false // 涓嶆樉绀洪潰鏉�
+ });
+
+ // 淇敼锛氶噸鏂拌缃粨鏉熷勾鏈堥�夋嫨鍣ㄧ殑鍊�
+ laydate.render({
+ elem: '#ID-laydate-end-month',
+ type: 'month',
+ format: 'yyyy-MM',
+ value: currentDate,
+ show: false // 涓嶆樉绀洪潰鏉�
+ });
+
+ $("#HDeptID").val(0);
+ $("#HMouldID").val("0");
+ $("#HMouldNumber").val("");
+ $("#HProcID").val("0");
+ $("#HProcName").val("");
+ form.render('select');
+ }
+
+ // ---------- 浜嬩欢缁戝畾 ----------
+ // 鏌ヨ鎸夐挳
+ form.on('submit(btnSearch)', function () {
+ getFastQuery(2);
+ return false;
+ });
+
+ // 閲嶇疆鎸夐挳
+ form.on('submit(btnReSearch)', function () {
+ clearQuery();
+ getFastQuery(2);
+ return false;
+ });
+
+ // 鐝粍寮瑰嚭妗�(淇濈暀鍘熸湁寮圭獥鏂瑰紡锛屼笌tableSelect鍏卞瓨锛屼紭鍏堜娇鐢╰ableSelect锛涘悓鏃舵敮鎸佸脊绐楅�夋嫨)
+
+ // 鑱屽憳寮瑰嚭妗� HItemMoneyList
+ form.on('submit(HMaterList)', function () {
+ openHMaterDialog();
+ return false;
+ });
+
+ // 鎵撳紑妯″叿 (鍘� get_checkEmp)
+ function openHMaterDialog() {
+ layer.open({
+ type: 2,
+ skin: 'layui-layer-rim',
+ title: '鑱�',
+ closeBtn: 1,
+ shift: 2,
+ area: ['80%', '80%'],
+ maxmin: true,
+ content: ['../../妯℃不鍏风鐞�/妯℃不鍏风鐞�/Gy_MouldFileList.html?openType=2', 'yes'],
+ btn: ['纭畾', '鍙栨秷'],
+ btn1: function (index, layero) {
+ var iframeWindow = window['layui-layer-iframe' + index];
+ var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
+ if (checkStatus.data.length === 0) {
+ return layer.msg('璇烽�夋嫨鏁版嵁');
+ }
+ $("#HMouldID").val(checkStatus.data[0].hmainid);
+ $("#HMouldNumber").val(checkStatus.data[0].妯″叿鍚嶇О);
+ layer.close(index);
+ }
+ });
+ }
+
+ // 澶村伐鍏锋爮浜嬩欢 (mainTable)
+ table.on('toolbar(mainTable)', function (obj) {
+ switch (obj.event) {
+ case 'set_HideColumn2':
+ get_HideColumnNoPage(HModName, sessionStorage["HUserName"] || 'admin', option, function () { getFastQuery(2); });
+ break;
+ case 'btn-reload2':
+ getFastQuery(2);
+ break;
+ case 'get_export2':
+ exportExcel();
+ break;
+ //瀵煎叆
+ case 'set_SouceExcel': set_SouceExcel();
+ break;
+ default:
+ break;
+ }
+ });
+
+ // 瀵煎嚭Excel (鍘� get_Export2)
+ function exportExcel() {
+ var ModRightNameCheck = "Pay_PaymentEntryReportExcel";
+ $.ajax({
+ type: "GET",
+ url: GetWEBURL() + "/LMES/getReportByModRightNameCheck",
+ data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] },
+ success: function (result) {
+ if (result.count == 1) {
+ var data = option.data || [];
+ // 娓呮礂鏁版嵁
+ data.forEach(function (item) {
+ for (var key in item) {
+ if (item[key] == null) item[key] = "";
+ if (typeof item[key] === 'string') {
+ item[key] = item[key].replace(/[\r\n]+/g, '').replace(/,/g, '');
+ }
+ }
+ });
+ table.exportFile("mainTable", data, "xls");
+ } else {
+ layer.alert("褰撳墠妯″潡娌℃湁瀵煎嚭鏉冮檺!", { icon: 5 });
+ }
+ },
+ error: function () {
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ }
+ });
+ }
+
+ //瀵煎叆
+ function set_SouceExcel() {
+ layer.open({
+ type: 2
+ , area: ['100%', '100%']
+ , title: '璧勬枡瀵煎叆'
+ , shift: 0//寮瑰嚭鍔ㄧ敾
+ , content: './Gy_WIPBal_Excel.html?OperationType=dao&HSouceBillType='
+ })
+ }
+
+ // 鍏ㄥ眬杈呭姪鍑芥暟 Format (濡傛灉涓嶅瓨鍦紝绠�鍗曞畾涔�)
+ if (typeof Format !== 'function') {
+ window.Format = function (date, fmt) {
+ if (!date) return '';
+ var d = new Date(date);
+ var o = {
+ "M+": d.getMonth() + 1,
+ "d+": d.getDate(),
+ "H+": d.getHours(),
+ "m+": d.getMinutes(),
+ "s+": d.getSeconds()
+ };
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
+ for (var k in o)
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+ return fmt;
+ };
+ }
+
+
+ });
+
+ // 涓嬮潰涓や釜鏂规硶渚涘脊绐楀洖璋冧娇鐢� (Gy_EmployeeList.html 鍜� Gy_Group.html 浼氳皟鐢�)
+ function GetMouldFileValue(obj) //鍣ㄥ叿
+ {
+ $("#HMouldID").val(obj[0].hmainid);
+ $("#HMouldNumber").val(obj[0].妯″叿鍚嶇О);
+ }
+
+ </script>
+
+</body>
+</html>
\ No newline at end of file
diff --git "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\344\273\223\345\272\223\347\256\241\347\220\206/Sc_MouldProdOutBillEdit.html" "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\344\273\223\345\272\223\347\256\241\347\220\206/Sc_MouldProdOutBillEdit.html"
index edb3b74..ab0a935 100644
--- "a/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\344\273\223\345\272\223\347\256\241\347\220\206/Sc_MouldProdOutBillEdit.html"
+++ "b/WebTM/views/\346\250\241\346\262\273\345\205\267\347\256\241\347\220\206/\346\250\241\346\262\273\345\205\267\344\273\223\345\272\223\347\256\241\347\220\206/Sc_MouldProdOutBillEdit.html"
@@ -68,7 +68,8 @@
<div class="layui-input-inline">
<input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
<input type="hidden" name="HInterID" id="HInterID" value="0">
- <input type="hidden" name="HRedBlueFlag" id="HRedBlueFlag" value="false" >
+ <input type="hidden" name="HRedBlueFlag" id="HRedBlueFlag" value="false">
+ <input type="hidden" name="HBillSubType" id="HBillSubType" value="3802">
</div>
</div>
<div class="layui-inline">
diff --git "a/WebTM/views/\347\263\273\347\273\237\347\256\241\347\220\206/\345\244\232\347\272\247\345\256\241\346\211\271/\345\256\241\346\240\270\346\265\201\347\250\213\345\215\225/Xt_CheckFlowEdit.html" "b/WebTM/views/\347\263\273\347\273\237\347\256\241\347\220\206/\345\244\232\347\272\247\345\256\241\346\211\271/\345\256\241\346\240\270\346\265\201\347\250\213\345\215\225/Xt_CheckFlowEdit.html"
index 6102414..6058ca7 100644
--- "a/WebTM/views/\347\263\273\347\273\237\347\256\241\347\220\206/\345\244\232\347\272\247\345\256\241\346\211\271/\345\256\241\346\240\270\346\265\201\347\250\213\345\215\225/Xt_CheckFlowEdit.html"
+++ "b/WebTM/views/\347\263\273\347\273\237\347\256\241\347\220\206/\345\244\232\347\272\247\345\256\241\346\211\271/\345\256\241\346\240\270\346\265\201\347\250\213\345\215\225/Xt_CheckFlowEdit.html"
@@ -306,16 +306,17 @@
//閫夋嫨閮ㄩ棬
function get_btnHDeptID() {
+ var HOrgName = sessionStorage["Organization"]
//鎵撳紑閮ㄩ棬灏忕獥浣�
layer.open({
type: 2
, skin: "layui-layer-rim" //鍔犱笂杈规
- , title: "渚涘簲鍟嗗垪琛�" //鏍囬
+ , title: "閮ㄩ棬鍒楄〃" //鏍囬
, closeBtn: 1 //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
, shift: 2 //寮瑰嚭鍔ㄧ敾
, area: ["90%", "90%"] //绐椾綋澶у皬
, maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
- , content: ["../../../Baseset/鍩虹璧勬枡/Gy_DepartmentList.html", "yes"]
+ , content: ['../../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_DepartmentList.html?Type=2&HOrgName=' + HOrgName, 'yes']
, btn: ["纭畾", "鍙栨秷"]
, btn1: function (index, laero) {
//鎸夐挳涓� 鐨勫洖璋�
@@ -327,7 +328,7 @@
}
//鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
$("#HDeptID").val(checkStatus.data[0].HItemID);
- $("#HDeptIDName").val(checkStatus.data[0].HName);
+ $("#HDeptIDName").val(checkStatus.data[0].閮ㄩ棬鍚嶇О);
layer.close(index);//鍏抽棴寮圭獥
}
})
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\345\267\245\350\211\272\345\217\202\346\225\260\350\256\242\345\215\225\347\202\271\346\243\200\350\241\250/SB_EquipICMOTechParamBillEdit.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\345\267\245\350\211\272\345\217\202\346\225\260\350\256\242\345\215\225\347\202\271\346\243\200\350\241\250/SB_EquipICMOTechParamBillEdit.html"
index 995f53f..05d4dc4 100644
--- "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\345\267\245\350\211\272\345\217\202\346\225\260\350\256\242\345\215\225\347\202\271\346\243\200\350\241\250/SB_EquipICMOTechParamBillEdit.html"
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\345\267\245\350\211\272\345\217\202\346\225\260\350\256\242\345\215\225\347\202\271\346\243\200\350\241\250/SB_EquipICMOTechParamBillEdit.html"
@@ -965,7 +965,6 @@
let interID = isEmpty($('#HInterID').val()) == true ? 0 : $('#HInterID').val()
let HProcID = $('#HProcID').val()
let HSourceID = $('#HSourceID').val()
- debugger
if (isEmpty(HProcID, true, true) == false) {
// 宸ュ簭鏄繀濉」
sWhere = " and HProcID = " + HProcID + " and HSourceID = " + HSourceID
@@ -1956,6 +1955,7 @@
//#region 瀹℃牳锛坣um=1锛�/鍙嶅鏍革紙num=2锛�
function set_CheckBill(num) {
+ HInterID = $("#HInterID").val()
$.ajax({
type: "GET",
url: GetWEBURL() + "/SB_EquipICMOTechParamBillController/GetSB_EquipICMOTechParamBill_Check_Json",
diff --git "a/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillList2.html" "b/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillList2.html"
index 1d482b9..05371c0 100644
--- "a/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillList2.html"
+++ "b/WebTM/views/\350\264\250\351\207\217\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillList2.html"
@@ -782,7 +782,7 @@
//#region 蹇�熻繃婊�
function get_FastQuery(number) {
- var sqlWhere = " and 1=1 ";
+ var sqlWhere = " ";
var HBillNo = $("#HBillNo").val();//鍗曟嵁鍙�
var HProject = $("#HProject").val();//椤圭洰鍙�
var HNumber = $("#HNumber").val();//鐗╂枡缂栫爜
--
Gitblit v1.9.1