zrg
2025-01-06 bca87deafcda0b73bc3f7ed3e86efaa388841e1c
优化获取班次方法,完善设备状态分析表
16个文件已修改
4个文件已添加
4959 ■■■■ 已修改文件
WebTM/WebTM.csproj 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/layui/css/ReportPlatform.css 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/班次开班单/Sc_ShiftsBeginInfoBillList.html 1181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/班次开班单/Sc_ShiftsBeginInfoBill_Add_Edit.html 1091 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产开工单/Sc_MESBeginWorkBillList.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/订单状态分布/Sc_EquipmentProcessList.html 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/订单状态分布/Sc_OEEStatusReport.html 487 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/订单状态分布/Sc_OrderStateDistribution.html 1466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/Sb_Add_EqpConkBookBillList.html 142 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/Sb_Add_EqpMaintenanceBillList.html 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/Sb_EqpConkBookBillList.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/设备停机单/Sb_EquipStopBill.html 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/设备停机单/Sb_EquipStopBillList.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/设备开机单/Sb_EquipBeginBill.html 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/设备开机单/Sb_EquipBeginBillList.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/设备报表/Sb_EquipResumeCheckQuery.html 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/质量管理/安灯逐级呼叫规则/OA_AndengFlowRuleBillMain.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/启动点检单/Sc_WorkDotCheckBillList_Day.html 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序出站汇报单/Cj_StationOutBill.html 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -529,6 +529,8 @@
    <Content Include="views\生产管理\报工台工序\开工\Sc_SwipeCardStart.html" />
    <Content Include="views\生产管理\报工平台功能页\Gy_ButtonList.html" />
    <Content Include="views\生产管理\报工平台功能页\LineBind_Button.html" />
    <Content Include="views\生产管理\班次开班单\Sc_ShiftsBeginInfoBillList.html" />
    <Content Include="views\生产管理\班次开班单\Sc_ShiftsBeginInfoBill_Add_Edit.html" />
    <Content Include="views\生产管理\生产任务单\Sc_ICMOBillOrProcessExchangeResumeList.html" />
    <Content Include="views\生产管理\生产开工单\Sc_MESBeginWorkBillList_PDA.html" />
    <Content Include="views\生产管理\生产报表\Sc_ProductionInProgressReport.html" />
@@ -537,6 +539,8 @@
    <Content Include="views\生产管理\生产报表\Sc_QualityReportBillDay.html" />
    <Content Include="views\生产管理\生产计划平台\JIT_DayPlanPlatForm_TK.html" />
    <Content Include="views\生产管理\生产计划平台\JIT_DayPlanPlatForm_BCP.html" />
    <Content Include="views\生产管理\订单状态分布\Sc_EquipmentProcessList.html" />
    <Content Include="views\生产管理\订单状态分布\Sc_OEEStatusReport.html" />
    <Content Include="views\生产管理\质量汇报单\Sc_QualityReportBill_PDA.html" />
    <Content Include="views\生产管理\质量汇报单\Sc_QualityReportBillSumSave.html" />
    <Content Include="views\看板\采购收料\KB_CGSL.html" />
@@ -658,6 +662,7 @@
    <Content Include="views\设备管理\设备开机单\Sb_EquipBeginBill.html" />
    <Content Include="views\设备管理\设备开机单\Sb_EquipBeginBillList.html" />
    <Content Include="views\质量管理\巡检记录单\MES_QC_PatrolProcCheckOtherBill_PDA.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkDotCheckBillList_Day.html" />
    <Content Include="views\车间管理\工序出站汇报单\Cj_StationOutBill_Sup.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBill.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBillList.html" />
WebTM/WebTM.csproj.user
@@ -4,7 +4,7 @@
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />
WebTM/layuiadmin/layui/css/ReportPlatform.css
@@ -138,6 +138,11 @@
    border: 0.4em solid #B0C4DE;
    background-color: #B0C4DE;
}
/*青色*/
.color_border7 {
    border: 0.4em solid #B0C4DE;
    background-color: #00FFFF;
}
.gj_icon {
    border-radius: 0.4em;
    width: 1px;
WebTM/views/Éú²ú¹ÜÀí/°à´Î¿ª°àµ¥/Sc_ShiftsBeginInfoBillList.html
New file
@@ -0,0 +1,1181 @@
<!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">
    <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/PageTitle.js"></script>
</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-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="HInitTimeCycle" id="HInitTimeCycle" class="ForFilteringSchemes" lay-filter="HInitTimeCycle" style="width:190px;">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">单据号</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBillNo" id="HBillNo">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HBeginDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input ForFilteringSchemes" id="HEndDate" style="width:190px;">
                                    </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 class="layui-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <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_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit"><i class="layui-icon layui-icon-radio"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Close"><i class="layui-icon layui-icon-radio"></i>关闭</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeClose"><i class="layui-icon layui-icon-radio"></i>反关闭</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Drop"><i class="layui-icon layui-icon-radio"></i>作废</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeDrop"><i class="layui-icon layui-icon-radio"></i>反作废</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], 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
            var option = [];
            var sWhere = "";
            var HModName = "Gy_EnvironmentTestSchemeBillList";
            var ins;                //用于导出excel
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HInterID", "HEntryID", "HDeptID", "HWorkCenterID", "HShiftsID", "HSourceID", "HGroupID","HGroupLeaderID"];
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3768";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? document.title : get_PageTitle(HModuleType);
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "班次开班单";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': btn_Export();
                        break;
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //复制
                    case 'set_Copy': set_Copy();
                        break;
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //审核按钮      ï¼ˆ1:审核、2:反审核)
                    case 'btn-Audit':
                        set_CheckBill(1);
                        break;
                    //反审核按钮
                    case 'btn-DeAudit':
                        set_CheckBill(2);
                        break;
                    //关闭按钮        ï¼ˆ1:关闭、2:反关闭)
                    case 'btn-Close':
                        set_CloseBill(1);
                        break;
                    //反关闭按钮
                    case 'btn-DeClose':
                        set_CloseBill(2);
                        break;
                    //作废按钮        ï¼ˆ1:作废、2:反作废)
                    case 'btn-Drop':
                        set_DropBill(1);
                        break;
                    //反作废按钮
                    case 'btn-DeDrop':
                        set_DropBill(2);
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                    //保存方案
                    case 'set_SaveScheme': set_SaveScheme();
                        break;
                    //读取方案
                    case 'set_ReadScheme': set_ReadScheme();
                        break;
                };
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery(2);
            });
            //#endregion
            //#endregion
            //日期间隔下拉列表监听
            form.on('select(HInitTimeCycle)', function (data) {
                var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
                if (HInitTimeCycle != -1) {
                    $('#HBeginDate').prop('disabled', true);
                    $('#HEndDate').prop('disabled', true);
                    $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                    $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                    //执行查询方法
                    get_FastQuery();
                } else {
                    $('#HBeginDate').prop('disabled', false);
                    $('#HEndDate').prop('disabled', false);
                }
            });
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化日期间隔、开始日期、结束日期
                setSelect_HInitTimeCycle();
                //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
                var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                if (HInitTimeCycle != -1) {
                    $('#HBeginDate').prop('disabled', true);
                    $('#HEndDate').prop('disabled', true);
                } else {
                    $('#HBeginDate').prop('disabled', false);
                    $('#HEndDate').prop('disabled', false);
                }
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化表格
                set_InitGrid();
                //查询当前登录用户有没有在当前模块设置默认过滤方案
                get_DefaultModule();
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                };
            }
            //#endregion
            //#endregion  ç›‘听网格表体事件
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                //单据号超链接
                if (obj.event == '单据号') {                  //检查 obj.event æ˜¯å¦ç­‰äºŽå­—符串 '单据号'。如果等于,则执行if循环
                    var linterid = data.HInterID.toString();    //声明变量linterid ä¸º data.HInterID
                    layer.open({                //使用 layer的open打开弹出 å±‚
                        type: 2                         //表示弹出层的内容是一个 iframe
                        , area: ['100%', '100%']
                        , title: '编辑' + HPageTitle  //设置弹出层的名字和变量
                        , closeBtn: 1//显示关闭按钮
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: '../../生产管理/班次开班单/Sc_ShiftsBeginInfoBill_Add_Edit.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='//设置 iframe çš„ URL,URL ä¸­åŒ…含了查询参数,来调用所需要的值
                        , resize: false,  //是否允许用户调整弹出大小
                        end: function () {  //当关闭时调用
                        }
                        , cancel: function () {  //点击取消时使用回调
                        }
                    })
                }
            });
             //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HBillNo = $("#HBillNo").val();  //单据号
                var HDate = $("#HBeginDate").val();//开始日期
                var HDate1 = $("#HEndDate").val();//结束日期
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HDate) {
                    sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + HDate + "'";
                }
                if (HDate1) {
                    sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + HDate1 + "'";
                }
                if (HBillNo) {
                    sWhere += " and å•据号 like '%" + HBillNo + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HBillNo").val("");
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0"); $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0"); $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                form.render('select');
                sWhere = "";
            }
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Sc_ShiftsBeginInfoBill/getSc_ShiftsBeginInfoBillMainList',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = [];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'HInterID') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                } else if ($.inArray(data[i].name, totalArray) > -1) { //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
                                } else if (data[i].name == '单据号') {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: '单据号' });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width:120 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
            function setSelect_HInitTimeCycle() {
                var valueList = [0, 1, 2, 3, 4, 5, 6, 29];
                var titleList = ["今天", "近两天", "近三天", "近四天", "近五天", "近六天", "近七天", "近30天"];
                var HInitTimeCycle_ArrayList = '<option  value="-1" selected="selected" >任意间隔</option>';
                for (var i = 0; i < valueList.length; i++) {
                    HInitTimeCycle_ArrayList += '<option  style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
                }
                $("#HInitTimeCycle").empty();
                $("#HInitTimeCycle").append(HInitTimeCycle_ArrayList);
                form.render('select');
                $("#HInitTimeCycle").val("29");
            }
            //#region å¯¼å‡ºExecel
            function btn_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region æ–°å¢ž
            function set_AddNew() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '新增' + HPageTitle
                    , shift: 0//弹出动画
                    , content: '../../生产管理/班次开班单/Sc_ShiftsBeginInfoBill_Add_Edit.html?OperationType=1&linterid=0&HSouceBillType='
                    ,btn: [],
                    end: function (index, layero, that) {
                        //刷新页面
                        $("#btnSearch").trigger('click');
                    }
                })
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HInterID.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '编辑' + HPageTitle
                        , shift: 0//弹出动画
                        , content: '../../生产管理/班次开班单/Sc_ShiftsBeginInfoBill_Add_Edit.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
                        , btn: [],
                        end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //复制
            function set_Copy() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HInterID.toString();
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '新增' + HPageTitle
                        , shift: 0//弹出动画
                        , content: '../../生产管理/班次开班单/Sc_ShiftsBeginInfoBill_Add_Edit.html?OperationType=2&linterid=' + linterid + '&HSouceBillType='
                        , end: function () {
                            //刷新页面,
                            location.reload();
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#region åˆ é™¤
            function set_DeleteBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    var linterid = data[0].HInterID.toString();
                    //逻辑删除方法
                    layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                        $.ajax({
                            type: "GET",
                            url: GetWEBURL() + "/Sc_ShiftsBeginInfoBill/DeleteSc_ShiftsBeginInfoBill", //方法所在页面和方法名
                            data: { "HInterID": linterid,"user": sessionStorage["HUserName"] },
                            success: function (result) {
                                if (result.count == 1) {
                                    layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                        // å¾—到frame索引
                                        var index = layer.getFrameIndex(window.name);
                                        //关闭当前frame
                                        layer.close(index);
                                        //修改为功后刷新界面
                                        get_FastQuery();
                                    });
                                } else {
                                    layer.alert(result.code + result.Message, { icon: 5 });
                                }
                            }, error: function () {
                                layer.alert("接口请求失败!", { icon: 5 });
                            }
                        });
                    })
                }
                else {
                    layer.msg('请选择一行数据删除!');
                }
            }
            //#endregion
            //#region åˆ·æ–°
            function get_Refresh() {
                $("#btnSearch").trigger('click');
            }
            //#endregion
            //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Sc_ShiftsBeginInfoBill/AuditSc_ShiftsBeginInfoBill", //方法所在页面和方法名
                        data: { "HInterID": HInterID, "Type": num, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region åå…³é—­/关闭数据
            function set_CloseBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Sc_ShiftsBeginInfoBill/CloseSc_ShiftsBeginInfoBill", //方法所在页面和方法名
                        data: { "HInterID": HInterID, "Type": num, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region åä½œåºŸ/作废数据
            function set_DropBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "Sc_ShiftsBeginInfoBill/DropSc_ShiftsBeginInfoBill", //方法所在页面和方法名
                        data: { "HInterID": HInterID, "Type": num, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            var titleData = ["HInterID", "HEntryID", "HDeptID", "HReceiveDeptID", "HErrMsgBackTypeID", "HOrgID", "HDutyID"];
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region ä»»æ„å­—段过滤:列名显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);      $("#ColName1").empty();
                $("#ColName1").append(Organization);      $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //获取当前用户的默认过滤方案
            function get_DefaultModule() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
                    success: function (data1) {
                        if (data1.count == 1) {
                            //当前用户设置有默认的过滤方案
                            var data = data1.data;
                            //当前选择的过滤方案
                            HInterID_Choose = data[0].HInterID;
                            //过滤方案内码
                            HInterID = data[0].HInterID
                            //过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            //过滤方案的备注(方案信息描述)
                            var HRemark = data[0].备注
                            //显示出当前的默认过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            //把过滤条件值回写到页面上
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                            //执行查询方法
                            get_FastQuery(2)
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            get_FastQuery(1)
                            form.render("select");
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //保存方案
            function set_SaveScheme() {
                var index = layer.open()
                //判断用户是否点击了右上角的“叉号”关闭弹窗页面
                var HIsClose_Manual = false;
                //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var Filter = document.getElementsByClassName(HClassTag);
                var HFilterIdList = "";//过滤条件
                var HFilterIdLists = "";//拼接多个过滤条件
                var HValue = "";//过滤值
                var HElement_type = "";//过滤标签类型
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                //当前页面上没有选择过滤方案,进入新增方法
                if (HDefaultFilter == "") {
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '过滤方案'
                        , shift: 0//弹出动画
                        , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                        , cancel: function () {
                            // å³ä¸Šè§’关闭事件的逻辑
                            HIsClose_Manual = true;
                        }
                        , end: function () {
                            if (HIsClose_Manual != true) {
                                get_FastQuery();
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        }
                    })
                    layer.close(index)
                } else {
                    //当前页面已有过滤方案,用户选择 æ–°å¢žæˆ–者编辑
                    layer.confirm('当前已选择过滤方案,是否修改?请选择对应操作', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['新增方案', '保存修改当前方案', '取消']
                    }, function (index, layero) {
                        //新增
                        layer.open({
                            type: 2
                            , area: ['40%', '80%']
                            , title: '过滤方案'
                            , shift: 0//弹出动画
                            , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                            , end: function () {
                                get_FastQuery()
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        })
                        layer.close(index)
                    }, function (index) {
                        //编辑
                        var Filter_Edit = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                        HFilterIdList = "";
                        HFilterIdLists = "";
                        HValue = "";
                        HElement_type = "";
                        for (var i = 0; i < Filter_Edit.length; i++) {
                            HFilterIdList = Filter_Edit[i].id; //过滤条件ID
                            HFilterIdLists += Filter_Edit[i].id + ","; //过滤条件ID(拼接)
                            HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                        }
                        //去除末尾逗号
                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                        HValue = HValue.substring(0, HValue.length - 1);
                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
                        //修改
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/Xt_FastICScheme/save", //方法所在页面和方法名
                            async: true,
                            data: { "oMain": sMainSub },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                            }
                        });
                        layer.close(index)
                    }, function (index) {
                        //取消
                        layer.alert('取消')
                        layer.close(index)
                    });
                }
            }
            //读取方案
            function set_ReadScheme() {
                var HIsClose_Manual = false;
                var Filter = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var HFilterIdList = "";
                var HFilterIdLists = "";
                var HValue = "";
                var HElement_type = "";
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                layer.open({
                    type: 2
                    , area: ['80%', '80%']
                    , title: '过滤方案列表'
                    , shift: 0//弹出动画
                    , content: '../../系统管理/过滤方案设置/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
                    , cancel: function () {
                        // å³ä¸Šè§’关闭事件的逻辑
                        HIsClose_Manual = true;
                    }
                    , end: function () {
                        if (HIsClose_Manual != true) {
                            get_FastQuery()
                            form.render("select");
                        }
                    }
                })
            }
            //#endregion
        });
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
            function HFilterScheme(obj)  //返回过滤方案
            {
                var HInterID = obj[0].HInterID;
                HInterID_Choose = obj[0].HInterID;
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = data1.data;
                            //赋值过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            var HRemark = data[0].备注
                            //显示当前的过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            HInterID = data[0].HInterID
                            //根据选择的过滤方案回填数据到列表过滤条件
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //以上是layui模块
    </script>
</body>
</html>
WebTM/views/Éú²ú¹ÜÀí/°à´Î¿ª°àµ¥/Sc_ShiftsBeginInfoBill_Add_Edit.html
New file
@@ -0,0 +1,1091 @@

<!DOCTYPE html>
<html>
<head>
    <meta 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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.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/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <style>
        .layui-form-item .layui-inline {
            margin-right: 0;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 2px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <h1 style="text-align: center; padding: 10px 0;"><b>班次开班单</b></h1>
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">单据号<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HDeptName" name="HDeptName" id="HDeptName" style="background-color: #efefef4d; float: left; width: 150px; display: inline-block;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" lay-verify="HDeptID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHDept" id="btnSearchHDept" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">工作中心<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HWorkCenterName" name="HWorkCenterName" id="HWorkCenterName" style="background-color: #efefef4d; float: left; width: 150px; display: inline-block;" readonly>
                                                <input type="hidden" name="HWorkCenterID" id="HWorkCenterID" lay-verify="HWorkCenterID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHWorkCenter" id="btnSearchHWorkCenter" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产资源</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HSourceName" name="HSourceName" id="HSourceName" style="background-color:#efefef4d;float:left;width:150px;display: inline-block;" readonly>
                                                <input type="hidden" name="HSourceID" id="HSourceID" lay-verify="HSourceID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHSource" id="btnSearchHSource" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产班组</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HGroupName" name="HGroupName" id="HGroupName" style="background-color:#efefef4d;float:left;width:150px;display: inline-block;" readonly>
                                                <input type="hidden" name="HGroupID" id="HGroupID" lay-verify="HGroupID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHGroup" id="btnSearchHGroup" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">班次<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HShiftsName" name="HShiftsName" id="HShiftsName" style="background-color:#efefef4d;float:left;width:150px;display: inline-block;" readonly>
                                                <input type="hidden" name="HShiftsID" id="HShiftsID" lay-verify="HShiftsID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHShifts" id="btnSearchHShifts" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">班组长</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HGroupLeaderName" name="HGroupLeaderName" id="HGroupLeaderName" style="background-color:#efefef4d;float:left;width:150px;display: inline-block;" readonly>
                                                <input type="hidden" name="HGroupLeaderID" id="HGroupLeaderID" lay-verify="HGroupLeaderID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHGroupLeader" id="btnSearchHGroupLeader" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">应到岗人数<label style="color:red"> * </label></label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HStdEmpQty" name="HStdEmpQty" id="HStdEmpQty" value="">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs9 layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">备注</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">制单人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMaker" id="HMaker" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HChecker" id="HChecker" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">制单日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HMakeDate" id="HMakeDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">修改日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">审核日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">关闭人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCloseMan" id="HCloseMan" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">作废人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HDeleteMan" id="HDeleteMan" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">关闭日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">作废日期</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HDeleteDate" id="HDeleteDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">上岗职员</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--子表-->
                            <div class="layui-tab-item layui-show">
                                <table class="layui-hide" 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-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!--子表表:删除-->
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //模块名
            var HModName = "Sc_ShiftsBeginInfoBill_Add_Edit";
            //表格渲染参数
            var option = {};            //子表渲染参数
            //记录组织的值
            var HOrgIDBar = 0;
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            var HEntryID = params[params[3]]; //从参数中获取 å•据内码
            //全局变量
            window.OptionData = [];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3768";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                OperationType = 1;
                //初始化项目阶段表
                get_InitGrid();
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
            }
            else if (OperationType == 2) {//如果修改则走下面 new                                        //复制
                OperationType = 1;
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
            }
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
            }
            //#endregion
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¼¹çª—选择触发事件
            //#region é€‰æ‹©éƒ¨é—¨æŒ‰é’®
            form.on('submit(btnSearchHDept)', function () {
                get_checkSearchHDept();
            });
            //#endregion
            //#region é€‰æ‹©å·¥ä½œä¸­å¿ƒæŒ‰é’®
            form.on('submit(btnSearchHWorkCenter)', function () {
                get_checkSearchHWorkCenter();
            });
            //#endregion
            //#region é€‰æ‹©ç­ç»„按钮
            form.on('submit(btnSearchHGroup)', function () {
                get_checkSearchHGroup();
            });
            //#endregion
            //#region é€‰æ‹©ç­æ¬¡æŒ‰é’®
            form.on('submit(btnSearchHShifts)', function () {
                get_checkSearchHShifts();
            });
            //#endregion
            //#region é€‰æ‹©ç”Ÿäº§èµ„源按钮
            form.on('submit(btnSearchHSource)', function () {
                get_checkSearchHSource();
            });
            //#endregion
            //#region é€‰æ‹©ç­ç»„长按钮
            form.on('submit(btnSearchHGroupLeader)', function () {
                get_checkSearchHGroupLeader();
            });
            //#endregion
            //#endregion
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                }
            });
            //#endregion
            //#region é€€å‡º
            form.on('submit(btnEdit)', function (data) {
                if (params[1] != null) {
                    Pub_Close(1);
                } else if (params[1] == null) {
                    Pub_Close(2);
                }
            });
            //#endregion
            //#endregion
            //#endregion
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                   "HWorkEmpID": "0"
                    , "HWorkEmpNumber": ""
                    , "HWorkEmpName": ""
                    , "HRemark": ""
                    , "HReceiveType": ""
                    , "HSourceInterID": "0"
                    , "HSourceEntryID": "0"
                    , "HSourceBillNo": ""
                    , "HSourceBillType": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                        }
                        break;
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        break;
                }
            });
            //#endregion
            //#region å­è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //#region èŽ·å–å‚æ•°
            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
            //#region ç”Ÿæˆå•据号
            function createBillNo() {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '3768' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HInterID").val(d.data[0].HInterID);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                    }
                });
            }
            //#endregion
            //#region å­è¡¨åˆå§‹åŒ–
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 100
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HWorkEmpID', title: '职员id', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HWorkEmpNumber', title: '职员编码', style: 'background-color: #f9f9f9;' }
                        , { field: 'HWorkEmpName', title: '职员名称', edit: 'text', event: "HWorkEmpName", style: 'background-color: #f9f9f9;' } //f7
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceBillType', title: '源单类型', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "HWorkEmpID": "0"
                        , "HWorkEmpNumber": ""
                        , "HWorkEmpName": ""
                        , "HRemark": ""
                        , "HReceiveType": ""
                        , "HSourceInterID": "0"
                        , "HSourceEntryID": "0"
                        , "HSourceBillNo": ""
                        , "HSourceBillType": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
                form.render('select');
            }
            //#endregion
            //#region ç­ç»„é•¿
            function get_checkSearchHGroupLeader() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '职员列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HWorker', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HGroupLeaderID").val(checkStatus.data[0].HItemID);
                        $("#HGroupLeaderName").val(checkStatus.data[0].职员名称);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region éƒ¨é—¨
            function get_checkSearchHDept() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '部门列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HDeptID").val(checkStatus.data[0].HItemID);//部门id
                        $("#HDeptName").val(checkStatus.data[0].部门名称);//部门名称
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region å·¥ä½œä¸­å¿ƒ
            function get_checkSearchHWorkCenter() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '工作中心列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_WorkCenter.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HWorkCenterID").val(checkStatus.data[0].HItemID);
                        $("#HWorkCenterName").val(checkStatus.data[0].工作中心名称);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region ç­æ¬¡
            function get_checkSearchHShifts() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '班次列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/生产基础资料/Gy_WorkShiftList.html?type=HWorkShifts&OperationType=2', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HShiftsName").val(checkStatus.data[0].班次名称);
                        $("#HShiftsID").val(checkStatus.data[0].HInterID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region ç­ç»„
            function get_checkSearchHGroup() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '班组列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/工资基础资料/Gy_Group.html?type=HGroup', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HGroupID").val(checkStatus.data[0].HItemID);
                        $("#HGroupName").val(checkStatus.data[0].班组名称);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region ç”Ÿäº§èµ„源
            function get_checkSearchHSource() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '班组列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/生产基础资料/Gy_Source.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HSourceName").val(checkStatus.data[0].生产资源名称);
                        $("#HSourceID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () { }
                })
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //获取子表数据
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //获取操作方式
                var refSav = "";
                if (OperationType == 1 || OperationType == 2 || OperationType == 4) {
                    refSav = "Add";
                }
                //若为编辑-保存,则更新修改人和修改时间
                if (OperationType == 3) {
                    refSav = "Update";
                    data.field.HUpdater = sessionStorage["HUserName"];
                    data.field.HUpdaterDate = Format(new Date(), "yyyy-MM-dd");
                    $("#HUpdater").val(sessionStorage["HUserName"]);
                    $("#HUpdaterDate").val(Format(new Date(), "yyyy-MM-dd"));
                }
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);              //主表数据
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + sSubStr + ';' + refSav + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "Sc_ShiftsBeginInfoBill/SaveSc_ShiftsBeginInfoBillMain",
                    async: true,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) {
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            layer.msg("提交成功");
                        }
                        else {
                            layer.close(index);
                            layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        }
                    },
                    error: function (err) {
                        layer.close(index);
                        layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                });
            }
            //#endregion
            //#region ç¼–辑 é¡µé¢èµ‹å€¼
            function RoadBillMain(linterid)//加载表头
            {
                $.ajax({
                    url: GetWEBURL() + "/Sc_ShiftsBeginInfoBill/Sc_ShiftsBeginInfoBillMainEditList",
                    type: "GET",
                    async: false,
                    data: { "linterid": linterid, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        var data = result.data;
                        var tableSub = result.data;
                        //主表 èµ‹å€¼
                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                            "HInterID": OperationType == 2 ? "" : data[0]["HInterID"]
                            , "HBillNo": OperationType == 2 ? "" : data[0]["单据号"]
                            , "HDate": formatDate(data[0]["日期"])
                            , "HDeptID": data[0]["HDeptID"]
                            , "HDeptName": data[0]["部门"]
                            , "HWorkCenterID": data[0]["HWorkCenterID"]
                            , "HWorkCenterName": data[0]["工作中心"]
                            , "HShiftsID": data[0]["HShiftsID"]
                            , "HShiftsName": data[0]["班次"]
                            , "HSourceID": data[0]["HSourceID"]
                            , "HSourceName": data[0]["生产资源"]
                            , "HGroupID": data[0]["HGroupID"]
                            , "HGroupName": data[0]["班组"]
                            , "HGroupLeaderID": data[0]["HGroupLeaderID"]
                            , "HGroupLeaderName": data[0]["班组长"]
                            , "HStdEmpQty": data[0]["应到岗人数"]
                            , "HRemark": data[0]["表头备注"]
                            , "HMaker": data[0]["制单人"]
                            , "HMakeDate": data[0]["制单日期"] == null ? "" : Format(new Date(data[0]["制单日期"]), "yyyy-MM-dd")
                            , "HUpDater": data[0]["修改人"]
                            , "HUpDateDate": data[0]["修改日期"] == null ? "" : Format(new Date(data[0]["修改日期"]), "yyyy-MM-dd")
                            , "HChecker": data[0]["审核人"]
                            , "HCheckDate": data[0]["审核日期"] == null ? "" : Format(new Date(data[0]["审核日期"]), "yyyy-MM-dd")
                            , "HCloseMan": data[0]["关闭人"]
                            , "HCloseDate": data[0]["关闭日期"] == null ? "" : Format(new Date(data[0]["关闭日期"]), "yyyy-MM-dd")
                            , "HDeleteMan": data[0]["作废人"]
                            , "HDeleteDate": data[0]["作废日期"] == null ? "" : Format(new Date(data[0]["作废日期"]), "yyyy-MM-dd")
                        });
                        //组织的值HOrgID变化,重新渲染
                        HOrgIDBar = data[0]["HOrgID"];
                        //子表  èµ‹å€¼
                        var rowdata = [];
                        for (var i = 0; i < tableSub.length; i++) {
                            rowdata.push(
                                {
                                    "HWorkEmpID": tableSub[i].HWorkEmpID, "HWorkEmpNumber": tableSub[i].职员代码,
                                    "HWorkEmpName": tableSub[i].职员名称,  "HRemark": tableSub[i].备注
                                }
                            )
                        }
                        option.data = rowdata;
                        table.render(option);
                    }
                })
            }
            //#endregion
            //#region éžç©ºéªŒè¯
            function AllowLoadData(data) {
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HWorkCenterID").val() == "0") {
                    layer.msg("工作中心不能为空!");
                    return false;
                }
                if ($("#HShiftsID").val() == "0") {
                    layer.msg("班次不能为空!");
                    return false;
                }
                if ($("#HStdEmpQty").val() == "") {
                    layer.msg("应到岗人数不能为空!");
                    return false;
                }
                //#region å­è¡¨æ•°æ®æ£€éªŒ
                //for (var i = 0; i < option.data.length; i++) {
                //    if (option.data[i] != "") {
                //        layer.msg("第" + (i + 1) + "行:上岗职员不能为空!");
                //        return false;
                //    }
                //}
                //#endregion
                //#endregion
                return true;
            }
            //#endregion
            //#region å­è¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            for (var i = 0; i < oldData.length; i++) {
                                $('#HReceiveType' + (i + 1)).find("option[value='" + oldData[i].HReceiveType + "']").attr("selected", true);
                            }
                            form.render('select');
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == "HWorkEmpName") {
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "职员列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html', "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    if (checkStatus.data.length === 1) {
                                        //同步更新表格和缓存对应的值
                                        obj.update({
                                            "HWorkEmpID": checkStatus.data[0].HItemID
                                            , "HWorkEmpNumber": checkStatus.data[0].职员代码
                                            , "HWorkEmpName": checkStatus.data[0].职员名称
                                        })
                                        layer.close(index);//关闭弹窗
                                    } else {
                                        //(多选行)
                                        //将原有表体数据写入数组
                                        var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                                        buttonArr = [];//清空数组
                                        for (var i = 0; i < tableBak.length; i++) {
                                            if (tableBak[i]["HWorkEmpID"] != 0 && tableBak[i]["HWorkEmpID"] != "" && tableBak[i]["HWorkEmpID"] != undefined && tableBak[i]["HWorkEmpID"] != null) {
                                                buttonArr.push(tableBak[i]);  //如果关键字段不为空,则将之前的数据存储
                                            }
                                        }
                                        //将批量选择的数据写入数组(多选行)
                                        for (var i = 0; i < checkStatus.data.length; i++) {
                                            buttonArr.push({ "HWorkEmpID": checkStatus.data[i].HItemID, "HWorkEmpNumber": checkStatus.data[i].职员代码, "HWorkEmpName": checkStatus.data[i].职员名称, "HRemark": "" });
                                        }
                                        // é‡æ–°æ¸²æŸ“表格,更新数据
                                        table.reload('mainTable', {
                                            data: buttonArr
                                        });
                                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    }
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                            for (var i = 0; i < option.data.length; i++) {
                                $('#HReceiveType' + (i + 1)).find("option[value='" + option.data[i].HReceiveType + "']").attr("selected", true);
                            }
                            form.render('select');
                        } else {
                            table.render(option);
                            for (var i = 0; i < option.data.length; i++) {
                                $('#HReceiveType' + (i + 1)).find("option[value='" + option.data[i].HReceiveType + "']").attr("selected", true);
                            }
                            form.render('select');
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#endregion
        });
        //子表f7 ä¸Šå²—职员
        function GetHEmpValue(obj) {
            OptionData = obj;
        }
        //生产资源
        function GetGySource(obj) {
            $("#HSourceName").val(obj[0].生产资源名称);
            $("#HSourceID").val(obj[0].HItemID);
        }
        //班组
        function GetHGroupValue(obj) {
            $("#HGroupName").val(obj[0].班组名称);
            $("#HGroupID").val(obj[0].HItemID);
        }
        //工作中心
        function GetWorkCenterValue(obj) {
            $("#HWorkCenterName").val(obj[0].工作中心名称);
            $("#HWorkCenterID").val(obj[0].HItemID);
        }
        //班组长
        function GetHWorkerValue(obj)
        {
            $("#HGroupLeaderName").val(obj[0].职员名称);
            $("#HGroupLeaderID").val(obj[0].HItemID);
        }
        //生产班次
        function GetHWorkShiftsValue(obj) {
            $("#HShiftsID").val(obj[0].HInterID); //当前工序ID
            $("#HShiftsName").val(obj[0].班次名称); //当前工序
        }
        //部门
        function GetHDeptNameValue(obj) {
            $("#HDeptID").val(obj[0].HItemID);//部门id
            $("#HDeptName").val(obj[0].部门名称);//部门名称
        }
    </script>
</body>
</html>
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¿ª¹¤µ¥/Sc_MESBeginWorkBillList.html
@@ -13,6 +13,20 @@
        input.layui-input.layui-unselect {
            padding-right: 0;
        }
        html {
            background-color: white;
            color: white;
        }
        .layui-table-cell {
            overflow: visible !important;
        }
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
<body>
WebTM/views/Éú²ú¹ÜÀí/¶©µ¥×´Ì¬·Ö²¼/Sc_EquipmentProcessList.html
New file
@@ -0,0 +1,353 @@
<!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">
    <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/PageTitle.js"></script>
</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-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <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="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var HICMOInterID = "";  //生产订单内码
        var HICMOEntryID = "";  //生产订单子码
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
            HICMOInterID = data[0].HICMOInterID;
            HICMOEntryID = data[0].HICMOEntryID;
        };
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], 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
            var option = [];
            var sWhere = "";
            var HModName = "Sc_EquipmentProcessList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["hmainid", "HEntryID", "HDeptID", "HProcID", "HEquipID", "HMaterID", "HTechParamClassID", "HTechParamID", "设备代码", "HTechParamIDStd", "工艺次序", "HTechParamUnitID","HUnitID"];
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            //#endregion
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(1);
                        break;
                };
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            var autoQueryInterval;
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                if (OperationType==4) {
                    //查询
                    get_FastQuery();
                    autoQueryInterval= setInterval(get_FastQuery, 60000); // 60000ms = 1分钟
                }
            }
            window.onbeforeunload = function () {
                if (autoQueryInterval) {
                    clearInterval(autoQueryInterval);  // æ¸…除定时器
                    console.log('定时器已清除');
                }
            };
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                };
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery() {
                console.log('查询数据...');
                sWhere = {
                    HEquipID: HEquipID
                    , HICMOInterID: HICMOInterID
                    , HICMOEntryID: HICMOEntryID
                }
                get_Display(JSON.stringify(sWhere));
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#endregion  ç›‘听网格表体事件
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Sc_HEquipStateDistribution/Get_EquipICMOTechParamList_Json',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 160 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region åˆ·æ–°
            function get_Refresh() {
                $("#btnSearch").trigger('click');
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region èŽ·å–å‚æ•°
            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
        });
            //#endregion
            //以上是layui模块
    </script>
</body>
</html>
WebTM/views/Éú²ú¹ÜÀí/¶©µ¥×´Ì¬·Ö²¼/Sc_OEEStatusReport.html
New file
@@ -0,0 +1,487 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>OEE报表</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>
</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-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">综合OEE</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="OEE" id="OEE" readonly>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div>
                            <div style="width:99%;height:calc(100vh);">
                                <table class="" id="mainTable" lay-filter="mainTable"></table>
                            </div>
                            <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:30px;">
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        //获取参数
        var HEquipNumber = "";  //设备id
        var edit = function (data) {
            HEquipNumber = data[0].HEquipNumber;
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], 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
            var option = [];
            var sWhere = "";
            var HModName = "Sc_OEEReport";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = [];
            var ins;                        //用于导出excel
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(1);
                        break;
                };
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery();
                //加载折线图
                set_Graphics();
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                };
            }
            //#endregion
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery() {
                var HBeginDate = Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 15), "yyyy-MM-dd"); //开始日期
                var HEndDate = Format(new Date(), "yyyy-MM-dd");    //结束日期
                sWhere = " 4,'" + HEquipNumber + "','','',''";
                sWhere += ",'" + HBeginDate + "','" + HEndDate + "'";
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Sc_OEEReport/list',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = [""];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            ins = table.render(option);
                            //计算综合OEE
                            var OEE = 0;
                            for (var i = 0; i < data1.data.length; i++) {
                                OEE += data1.data[i].OEE.replace("%", "") * 1
                            }
                            if (data1.data.length > 0) {
                                OEE = OEE / data1.data.length + "%"
                            } else {
                                OEE += "%";
                            }
                            $("#OEE").val(OEE);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region ã€æŠ˜çº¿å›¾ã€‘
            function set_Graphics() {
                var chartDom1 = document.getElementById('histogram');
                var myChart = echarts.init(chartDom1);
                var option_ZZT1;
                //柱状图绑定数据
                var H_X1 = [];//X轴标题
                var HOEE = [];//设备OEE
                var PerformanceUtilizationRate = [];//性能稼动率
                var TimeUtilizationRate = [];//时间稼动率
                var HTitle = "设备OEE";//图形标题
                if (option.data.length > 0) {
                    for (let i = 0; i < option.data.length; i++) {
                        H_X1.push(option.data[i].日期);
                    }
                    // å¡«å……数据
                    for (let i = 0; i < option.data.length; i++) {
                        HOEE.push((option.data[i].OEE).replace('%', ''));
                        PerformanceUtilizationRate.push((option.data[i].性能稼动率).replace('%', ''));
                        TimeUtilizationRate .push((option.data[i].时间稼动率).replace('%', ''));
                    }
                }
                option_ZZT1 = {
                    title: {
                        text: HTitle,
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        formatter: function (params) {
                            let tooltipHtml = params[0].axisValue + '<br>'; // X轴数值
                            params.forEach(function (item) {
                                let valueToShow = parseFloat(item.value); // å°†å­—符串转换为数值
                                tooltipHtml += item.seriesName + ': ' + valueToShow.toFixed(3) + '%' + '<br>'; // Y轴数值,并添加百分号
                            });
                            return tooltipHtml;
                        }
                    },
                    legend: {
                        data: ['OEE', '性能稼动率','时间稼动率'],
                        top: 'bottom',
                        left: 'center'
                    },
                    toolbox: {
                        show: true,
                        orient: 'vertical',
                        left: 'right',
                        top: 'center',
                        feature: {
                            mark: { show: true },
                            dataView: { show: true, readOnly: false },
                            magicType: { show: true, type: ['line', 'bar', 'stack'] },
                            restore: { show: true },
                            saveAsImage: { show: true }
                        }
                    },
                    xAxis: [
                        {
                            type: 'category',
                            axisTick: { show: false },
                            data: H_X1
                        }
                    ],
                    yAxis: [
                        {
                            type: 'value',
                            axisLabel: {
                                formatter: '{value} %'
                            }
                        }
                    ],
                    series: [
                        {
                            name: 'OEE',
                            type: 'line',
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#00FF00' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                    },
                                    color: '#00FF00' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                }
                            },
                            data: HOEE
                        },
                        {
                            name: '性能稼动率',
                            type: 'line',
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºçº¢è‰²â€Œ
                                    },
                                    color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºçº¢è‰²
                                }
                            },
                            data: PerformanceUtilizationRate
                        },
                        {
                            name: '时间稼动率',
                            type: 'line',
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#00FFFF' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºé’色
                                    },
                                    color: '#00FFFF' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºé’色
                                }
                            },
                            data: TimeUtilizationRate
                        }
                    ]
                };
                option_ZZT1 && myChart.setOption(option_ZZT1);
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
        });
            //#endregion
            //以上是layui模块
    </script>
</body>
</html>
WebTM/views/Éú²ú¹ÜÀí/¶©µ¥×´Ì¬·Ö²¼/Sc_OrderStateDistribution.html
@@ -12,6 +12,7 @@
    <script src="../../../layuiadmin/Scripts/webConfig.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" />
    <style>
        /*树状图点击高亮变色*/
        .layui-tree-set-active > .layui-tree-entry .layui-tree-main {
@@ -27,22 +28,12 @@
        .bottomright {
            cursor: pointer; /*鼠标变成手指样式*/
            transition: all 0.6s; /*所有属性变化在0.6秒内执行动画*/
            transition: all 0.1s; /*所有属性变化在0.6秒内执行动画*/
        }
            .bottomright:hover {
                transform: scale(1.3); /*鼠标放上之后元素变成1.4倍大小*/
            }
        .imgicon {
            /*width: 50%;
            height: 50px;*/
            /*display: block;*/
            /*text-align: center;
            line-height: 50px;
            float: left;*/
        }
        .bottomright:hover {
           transform: scale(1.3); /*鼠标放上之后元素变成1.4倍大小*/
        }
        .imgtitle {
            width: 70%;
            height: 50px;
@@ -59,13 +50,13 @@
            border-radius: 5px;
        }
            .cns p {
                font-size: 12px;
                line-height: 18px;
                margin: 0 5px;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
        .cns p {
            font-size: 12px;
            line-height: 18px;
            margin: 0 5px;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            }
        .check1 {
@@ -93,16 +84,20 @@
            margin-left: 3%;
            margin-top: 4%;
            height: 310px;
            /*background-color: #99f6a733;*/
            border: 1px solid rgb(0 0 0 / 10%);
            width: 95%;
        }
        .btnM {
            width: 30%;
            height: 50px;
            line-height: 50px;
            float: left;
            text-align:right;
            text-align: right;
        }
        .layui-icon {
            font-size: 20px;
        }
    </style>
</head>
@@ -126,7 +121,7 @@
                                    <legend style="color: #5FB878">操作台</legend>
                                    <div class="content4">
                                        <div class="layui-row layui-col-space10">
                                            <div class="layui-col-sm12 " onclick="OpenWork(event,this)">
                                            <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>
@@ -136,7 +131,27 @@
                                            </div>
                                        </div>
                                        <div class="layui-row layui-col-space10">
                                            <div class="layui-col-sm12 " onclick="OpenReport(event,this)">
                                            <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>
@@ -146,42 +161,43 @@
                                            </div>
                                        </div>
                                        <div class="layui-row layui-col-space10">
                                            <div class="layui-col-sm12 " onclick="OpenEnd(event,this)">
                                            <div class="layui-col-sm12 " onclick="Maintenance(event,this)">
                                                <div class="cnt bottomright">
                                                    <div class="btnM">
                                                        <span class="layui-icon layui-icon-logout imgicon"></span>
                                                        <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="KSOpenWork(event,this)">
                                            <div class="layui-col-sm12 " onclick="Resume(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="KSOpenWork(event,this)">
                                                <div class="cnt bottomright">
                                                    <div class="btnM">
                                                        <span class="layui-icon layui-icon-pause imgicon"></span>
                                                        <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="KSOpenWork(event,this)">
                                            <div class="layui-col-sm12 " onclick="Process(event,this)">
                                                <div class="cnt bottomright">
                                                    <div class="btnM">
                                                        <span class="layui-icon layui-icon-pause imgicon"></span>
                                                        <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>
@@ -191,10 +207,10 @@
                        </div>
                        <div class="layui-row">
                            <div class="layui-col-xs3 layui-inline">
                                <div class="tr1-1" id="mychart1">   </div>
                                <div class="tr1-1" id="mychart11">   </div>
                            </div>
                            <div class="layui-col-xs3 layui-inline">
                                <div class="tr1-2" id="mychart2">   </div>
                                <div class="tr1-2" id="mychart22">   </div>
                            </div>
                            <div class="layui-col-xs3 layui-inline">
                                <div class="tr1-3" id="mychart3">   </div>
@@ -211,542 +227,884 @@
</body>
</html>
<script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).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
            var sWhere = "";
            var wktag = 0;
            //#endregion
    var wktag = 0;
    var HEquipID = 0;//设备id
    var HEquipNumber = "";//设备编码
    var HEquipName = "";//设备名称
    var HSourceID = "";//产线id
    var HDeptID = "";
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
    }).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 è¿›å…¥é¡µé¢å³åŠ è½½
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
        //初始化界面
        set_ClearBill();
            //#endregion
        //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                var mychart1 = echarts.init(document.getElementById('mychart1'));
                var mychart2 = echarts.init(document.getElementById('mychart2'));
                var mychart3 = echarts.init(document.getElementById('mychart3'));
                var mychart4 = echarts.init(document.getElementById('mychart4'));
                get_Histogram1(mychart1);//柱状图1
                get_LineChart(mychart2);//折线
                get_Statistics(mychart3);//饼图
                get_Histogram4(mychart4);//柱状图4
                //查询
                get_Display_Tree();
            }
            //#endregion
            function Check(sWhere) {
                wktag = 0;
                $("#btomleft").html("");
                $.ajax({
                    url: GetWEBURL() + '/Sc_OrderStateDistribution/Sc_OrderStateDistribution_Souce',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "OrganizationID": sessionStorage["OrganizationID"] },
                    dataType: "json",//数据类型可以为 text xml json  script  jsonp
                    success: function (data) {
                        //var LoadData1 = data.data.h_p_JIT_GetWorkBillListInfoBySource;
                        var LoadData1 = data.data.h_p_sc_HDeptSouceMOList;
                        //var LoadData2 = data.data.h_p_JIT_GetWorkBillListInfoBySource1;
                        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: 135px;">';
                                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>单据类型:</span><span id="ty' + (i + 1) + '">' + LoadData1[i].HBillType + '</span></h1>';
                                //HSourceInterID实际取值:Sc_ICMOBillStatus_Tmp  HInterID(单据主ID)
                                html1 += '<h1 style="display:none;"><span>源单主内码:</span><span id="sm' + (i + 1) + '">' + LoadData1[i].HSourceInterID + '</span></h1>';
                                html1 += '<h1 style="display:none;"><span>源单子内码:</span><span id="sb' + (i + 1) + '">' + LoadData1[i].HSourceEntryID + '</span></h1>';
                                html1 += '<h1 style="display:none;"><span>源单单号:</span><span id="sw' + (i + 1) + '">' + LoadData1[i].HSourceBillNo + '</span></h1>';
                                html1 += '<h1 style="display:none;"><span>源单类型:</span><span id="st' + (i + 1) + '">' + LoadData1[i].HSourceBillType + '</span></h1>';
                                html1 += '<h1 style="display:none;"><span>生产订单号主ID:</span><span id="df' + (i + 1) + '">' + LoadData1[i].HICMOInterID + '</span></h1>';
                                html1 += '<h1 style="display:none;"><span>生产订单子ID:</span><span id="ds' + (i + 1) + '">' + LoadData1[i].HICMOEntryID + '</span></h1>';
                                html1 += '<p><span>产线:</span><span id="wk' + (i + 1) + '">' + LoadData1[i].产线 + '</span></p>';
                                html1 += '<p><span>当前订单:</span><span id="wk' + (i + 1) + '">' + LoadData1[i].订单 + '</span></p>';
                                html1 += '<p><span>产量:</span><span id="ptn' + (i + 1) + '">' + LoadData1[i].计划数量 + '</span></p>';
                                html1 += '<p><span>状态:</span><span>' + LoadData1[i].状态 + '</span></p>';
                                html1 += '<p><span>运行时长:</span><span>' + LoadData1[i].状态 + '</span></p>';
                                html1 += '<p><span>维修时长:</span><span>' + LoadData1[i].计划数量 + '</span></p>';
                                html1 += '<p><span>稼动率:</span><span>35%</span></p>';
                                html1 += '</dd>';
                                html1 += '</dl>';
                                html1 += '</div>';
                                html1 += '</div>';
                                $("#btomleft").append(html1);
        //#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>生产订单子ID:</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:
                            }
                        }
                    },
                    error: function (err) {
                        layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
                        return false;
                    }
                });
            }
            // æ ‘状图查询
            function get_Display_Tree() {
                var sWhere = " 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;  //获取当前点击的节点数据
                        var 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);
                            html1 += '</dd>';
                            html1 += '</dl>';
                            html1 += '</div>';
                            html1 += '</div>';
                            $("#btomleft").append(html1);
                        }
                    }
                    subStr += ']},';
                } else {
                    subStr += '{"title": "' + subMenu.id + "-" + subMenu.title + '", "id": "' + subMenu.id + '"},';
                },
                error: function (err) {
                    layer.alert(err.Message, { time: 1 * 2000, icon: 5 });
                    return false;
                }
                return subStr;
            });
        }
        // æ ‘状图查询
        function get_Display_Tree() {
            var sWhere = " 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;
        }
            //柱状图1
            function get_Histogram1(mychart1) {
                //生产负荷
                var optionData = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
                var option = {
                    xAxis: {
                        type: 'category',
                        data: ['缸染', '烘干定型', '上浆定型', '色坯烫光', '预烫剪', '补刷', '印毛尖', '拉幅定型', '短线烫', '长线烫']
                    },
                    yAxis: {
                        type: 'value'
                    },
                    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;
                            }
                        }
                    },
                    series: [
                        {
                            //data: optionData,
                            data: [23,14,45,56,12,35,64,34,62,75],
                            type: 'bar',
                            label: {
                                normal: {
                                    show: true,
                                    position: 'top',
                                    formatter: function (params) {
                                        return echarts.format.addCommas(params.value);
                                    }
                                }
                            }
                            , itemStyle: {
                                // è®¾ç½®æŸ±å½¢çš„颜色
                                normal: {
                                    color: '#15b1fa',
                                    label: {
                                        show: true // åœ¨æŠ˜çº¿æ‹ç‚¹ä¸Šæ˜¾ç¤ºæ•°æ®
                                    }
                                },
                            }
                        }
                    ]
                };
                mychart1.setOption(option);
            }
            //折线图
            function get_LineChart(mychart2) {
                //生产效率
                //var res = PubRes;
                var optionData = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
                var option = {
                    xAxis: {
                        type: 'category',
                        boundaryGap: false,
                        data: ['缸染', '烘干定型', '上浆定型', '色坯烫光', '预烫剪', '补刷', '印毛尖', '拉幅定型', '短线烫', '长线烫', '打包入库']
                    },
                    yAxis: {
                        type: 'value'
                    },
                    legend: {
                        orient: 'vertical',
                        data: ['12', '43'],//设置线条的名字
                        right: 0,
                        top: 15,
                        textStyle: {
                            color: '#15b1fa' //设置字体颜色
                        }
                    },
                    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;
                            }
                        }
                    },
                    series: [
                        {
                            name: '12',//与legend对应
                            //data: optionData,
                            data: [23,43,56,45,67,46,35,46,23,34,35],
                            type: 'line',
                            label: {
                                normal: {
                                    show: true,
                                    position: 'top',
                                    formatter: function (params) {
                                        return echarts.format.addCommas(params.value);
                                    }
                                }
                            },
                            smooth: true,//smooth属性默认是false false就是直线 true就是曲线
                            lineStyle: {
                                color: '#15b1fa'
                            }
                            , itemStyle: {
                                // è®¾ç½®çº¿æ¡ä¸Šç‚¹çš„颜色(和图例的颜色)
                                normal: {
                                    color: '#15b1fa',
                                    label: {
                                        show: true // åœ¨æŠ˜çº¿æ‹ç‚¹ä¸Šæ˜¾ç¤ºæ•°æ®
                                    }
                                },
                            }, areaStyle: {}
                        },
                        {
                            name: '43',
                            data: [10, 10, 10, 10, 10, 10, 10, 10],
                            type: 'line',
                            smooth: true,//smooth属性默认是false false就是直线 true就是曲线
                            lineStyle: {
                                color: '#90f083'
                            }
                            , itemStyle: {
                                // è®¾ç½®çº¿æ¡ä¸Šç‚¹çš„颜色(和图例的颜色)
                                normal: {
                                    color: '#90f083',
                                    label: {
                                        show: true // åœ¨æŠ˜çº¿æ‹ç‚¹ä¸Šæ˜¾ç¤ºæ•°æ®
                                    }
                                },
                            }, areaStyle: {}
                        }
                    ]
                };
                mychart2.setOption(option);
            }
            //饼图
            function get_Statistics(mychart3) {
                const colorList = ['#5470c6', '#91cc75', '#fac858', '#ee6666'];
                var option = {
                    title: [
                        {
                            text: '开机率',
                            //subtext: NetQtys + '%',
                            subtext: 45 + '%',
                            textStyle: {
                                fontSize: 16,
                                color: '#999',
                                lineHeight: 20
                            },
                            subtextStyle: {
                                fontSize: 28,
                                color: '#00c6ff'
                            },
                            textAlign: 'center',
                            left: '50%',
                            top: '78%'
                        },
                        {
                            show: true,
                            text: '状态对比分析',
                            textStyle: {
                                color: '#00c6ff',
                                fontSize: '16',
                            },
                            textAlign: 'center',
                            left: '50%',
                            top: '0%'
                        }
                    ],
                    tooltip: {
                        trigger: 'item',
                    },
                    legend: {
                        type: 'scroll',
                        icon: 'pin',
                        top: '15%',
                        left: 'center',
                        textStyle: {
                            color: '#09d1ea'
                        }
                    },
                    color: colorList,
                    series: [
                        {
                            name: '占比',
                            type: 'pie',
                            radius: '50%',
                            center: ['50%', '50%'],
                            avoidLabelOverlap: false,
                            label: {
                                show: false
                            },
                            labelLine: {
                                show: false
                            },
                            data: [
                                { name: '开机', value: 14 },
                                { name: '开工', value: 16 },
                                { name: '待机', value: 23 },
                                { name: '维修中', value: 43 }
                            ],
                        }
                    ]
                };
                mychart3.setOption(option);
            }
            //柱状图4
            function get_Histogram4(mychart1) {
                //生产负荷
                var optionData = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
                var option = {
                    xAxis: {
                        type: 'category',
                        data: ['缸染', '烘干定型', '上浆定型', '色坯烫光', '预烫剪', '补刷', '印毛尖', '拉幅定型', '短线烫', '长线烫']
                    },
                    yAxis: {
                        type: 'value'
                    },
                    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;
                            }
                        }
                    },
                    series: [
                        {
                            //data: optionData,
                            data: [23, 14, 45, 56, 12, 35, 64, 34, 62, 75],
                            type: 'bar',
                            label: {
                                normal: {
                                    show: true,
                                    position: 'top',
                                    formatter: function (params) {
                                        return echarts.format.addCommas(params.value);
                                    }
                                }
                            }
                            , itemStyle: {
                                // è®¾ç½®æŸ±å½¢çš„颜色
                                normal: {
                                    color: '#15b1fa',
                                    label: {
                                        show: true // åœ¨æŠ˜çº¿æ‹ç‚¹ä¸Šæ˜¾ç¤ºæ•°æ®
                                    }
                                },
                            }
                        }
                    ]
                };
                mychart1.setOption(option);
            }
        });
            //#endregion
    });
    //#endregion
    //工单列表选中
    function CheckBtom(obj, i) {
        //var partid = $(obj).parent().attr("id");   //获取父级id
        workcode = $("#wk" + i + "").html(); //通过样式ID获取html内容(工单号)
        HBillType = $("#ty" + i + "").html(); //通过样式ID获取html内容(单据类型)
        HSourceInterID = $("#sm" + i + "").html(); //通过样式ID获取html内容(源单主内码)
        HSourceEntryID = $("#sb" + i + "").html(); //通过样式ID获取html内容(源单子内吗)
        HSourceBillNo = $("#sw" + i + "").html(); //通过样式ID获取html内容(源单单号)
        HSourceBillType = $("#st" + i + "").html(); //通过样式ID获取html内容(源单类型)
        workcode = $("#gd" + i + "").html(); //通过样式ID获取html内容(工单号)
        HICMOInterID = $("#df" + i + "").html();     //生产订单主内码
        HICMOEntryID = $("#ds" + i + "").html();     //生产订单子内码
        HMaterName = $("#ptn" + 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 (workcode != "" && workcode != null) {
            wktag = 1;
        }
        sWhere = {
            HDeptID: HDeptID
            , HSourceID: HSourceID
        }
        FourReport(JSON.stringify(sWhere));
    }
    //查询 éƒ¨é—¨+产线 4个图表 èµ‹å€¼
    function FourReport(sWhere) {
        wktag = 0;
        $.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) {
        // é»˜è®¤çš„option结构
        var option = {
            title: {
                text: '产能', // é»˜è®¤æ ‡é¢˜ä¸ºç©º
                left: 'center',
                top: '10%', // è°ƒæ•´æ ‡é¢˜ä½ç½®ï¼Œæ”¾åˆ°æœ€ä¸Šé¢
                textStyle: {
                    fontSize: 18,
                    color: '#ff0000'
                }
            },
            grid: {
                top: '25%', // è°ƒæ•´grid的top值,给标题留出空间
                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 = '产能'; // æ­£å¸¸æ•°æ®æ—¶æ²¡æœ‰æ ‡é¢˜
            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);
    }
    //折线图
    function get_LineChart(mychart22, chartData1) {
        // é»˜è®¤çš„option结构
        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的top值,给标题留出空间
                bottom: '20%',
                left: '10%',
                right: '10%'
            },
            xAxis: {
                type: 'category',
                data: [] // é»˜è®¤x轴数据为空
            },
            yAxis: {
                type: 'value'
            },
            series: [
                {
                    data: [], // é»˜è®¤series数据为空
                    type: 'line', // å°†æŸ±çŠ¶å›¾æ”¹ä¸ºæŠ˜çº¿å›¾
                    smooth: true, // ä½¿æŠ˜çº¿å›¾å¹³æ»‘
                    lineStyle: {
                        color: '#15b1fa' // è®¾ç½®çº¿æ¡é¢œè‰²
                    },
                    label: {
                        show: true, // åœ¨æŠ˜çº¿å›¾ä¸Šæ˜¾ç¤ºæ•°æ®
                        position: 'top',
                        formatter: function (params) {
                            return echarts.format.addCommas(params.value);
                        }
                    }
                }
            ]
        };
        // å¦‚果有数据,更新option的内容
        if (chartData1 && chartData1.length > 0) {
            option.title.text = '不良原因'; // æ­£å¸¸æ•°æ®æ—¶æ²¡æœ‰æ ‡é¢˜
            option.xAxis.data = chartData1.map(item => item.不良原因); // è®¾ç½®x轴数据
            option.series[0].data = chartData1.map(item => item['数量']); // è®¾ç½®y轴数据
        } 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) {
        // é»˜è®¤çš„option结构
        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的top值,给标题留出空间
                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 = 'ç»´ä¿®'; // æ­£å¸¸æ•°æ®æ—¶æ²¡æœ‰æ ‡é¢˜
            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
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                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": "设备"
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                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
                });
                //通过索引获取到当前iframe弹出层
                var iframe = window['layui-layer-iframe' + index];
                //调用iframe弹出层内的方法
                iframe.edit(data);
            },
        });
    }
    //#endregion
</script>
WebTM/views/É豸¹ÜÀí/Sb_Add_EqpConkBookBillList.html
@@ -127,13 +127,13 @@
                                                <div class="layui-input-block" style="margin-left: 120px;width:180px">
                                                    <select name="HLev" id="HLev" lay-filter="HLev">
                                                        <option value="普通" selected="">普通</option>
                                                        <option value="重要" >重要</option>
                                                        <option value="重要">重要</option>
                                                        <option value="紧急">紧急</option>
                                                    </select>
                                                </div>
                                            </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">故障原因分析及预防措施</label>
                                                <div class="layui-input-inline" style="width:300px;">
@@ -184,8 +184,14 @@
    <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>
        var OptionData = [];
        //获取参数
        var HEquipID = "";  //设备id
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
        }
        //获取参数
        function getUrlVars() {
            var vars = [], hash;
@@ -200,8 +206,13 @@
        //获取参数
        var params = getUrlVars();
        var hID = params[params[0]];//编辑查看
        var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
        var linterid = params[params[1]]; //从参数中获取 å•据内码
        var HEntryID = params[params[3]]; //子内码
        var HSouceBillType = params[params[2]]; //源单类型
        layui.config({
@@ -265,7 +276,7 @@
                , limit: 500 //每页默认显示的数量
            };
            //判断是否新增
            if (hID == null || hID == 0) {
            if (OperationType == null || OperationType == 1) {
                $("#HEmpID").val(sessionStorage["HEmpID"]); //根据登录用户带出发现人ID
                $("#HEmpName").val(sessionStorage["HEmpName"]); //根据登录用户带出发现人
                $("#HDeptID").val(sessionStorage["HDeptID"]); //根据登录用户带出部门ID
@@ -273,20 +284,40 @@
                $("#HManagerID").val(sessionStorage["HEmpID"]); //根据登录用户带出负责人ID
                $("#HManagerName").val(sessionStorage["HEmpName"]); //根据登录用户带出负责人
                //获取最大单据号 new
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '3907' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HConkBeginDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HInterID").val(0);
                    }
                });
                if (HEquipID != "") {
                    GetHEquip();
                }
                //初始加载表格{ "ID": 0, "HWasterReasonName": " ","HBadReasonID":0,"HEmpName": "  ", "HSQProcName": "   ","HProcID":0, "HZRProcName": "  ", "HMRBChecker": "  ", "HRemark": "  ", "HPSProcName": "  ", "HCloseMan": "   " }
                option.data = [{ "HConkReasonID": 0, "HConkReasonCode": "", "HConkReasonName": "  ", "HConkExplanation": " ", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRemark": "  " }];
                table.render(option);
            }
            else {
                $("#HInterID").val(hID);//修改时主表ID
                $("#HInterID").val(linterid);//修改时主表ID
                RoadBillMain(linterid);
                //编辑加载数据
                $.ajax({
                    url: GetWEBURL() + 'Sb_EqpRepairWorkBill/Sb_EqpConkBookBillListProjectDetai',
                    type: "GET",
                    data: { "sqlWhere": "and hmainid=" + hID },
                    data: { "sqlWhere": "and hmainid=" + linterid },
                    success: function (result) {
                        console.log(result);
                        //console.log('gouba' + result);
                        if (result.count == 1) {
                            option.data = result.data;
                            table.render(option);
@@ -304,8 +335,6 @@
            //头工具栏事件
            var rowid = 0;
            var rows = 0;
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
@@ -469,22 +498,22 @@
            });
            function RoadBillMain(hID)//加载表头
            //编辑
            function RoadBillMain(linterid)//加载表头
            {
                //查询检验方案单是否存在
                $.ajax({
                    url: GetWEBURL() + "Sb_EqpRepairWorkBill/Sb_EqpConkBookBillListCheckDetai",
                    type: "GET",
                    data: {
                        "HID": hID
                        "HID": linterid
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data.h_v_Sb_EquipConkBookBillList_Edit[0];
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HBillNo": data.单据号
                                , "HDate": formatDate(data.日期)
                                , "HDate": Format(data.日期)
                                , "HInnerBillNo": data.内部单据号
                                , "HDeptID": data.HDeptID                 //使用部门ID
                                , "HDeptName": data.部门名称              //使用部门名称
@@ -496,7 +525,7 @@
                                , "HEquipName": data.设备名称             //设备名称
                                , "HConkTypeID": data.HConkTypeID            //故障类别ID
                                , "HConkTypeName": data.故障类别          //故障类别
                                , "HConkBeginDate": formatDate(data.发生日期) //故障发生日期
                                , "HConkBeginDate": Format(data.发生日期) //故障发生日期
                                , "HExplanation": data.故障描述           //摘要
                                , "HLev": data.紧急程度                //备注
                                , "HReason": data.故障原因分析及预防措施                //备注
@@ -512,37 +541,7 @@
                    }
                });
            }
            var date = new Date();
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var year = date.getFullYear();
            var shijian = year + "-" + month + "-" + day;
            //判断是否新增
            if (hID == null || hID == 0) {
                //获取最大单据号 new
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '3907' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(shijian);
                        $("#HConkBeginDate").val(shijian);
                        $("#HInterID").val(0);
                    }
                });
            }
            else {//如果修改则走下面 new
                RoadBillMain(hID);
                /* RoadBillSub(linterid);*/
            }
            //表头信息部门弹窗
            form.on('submit(Department)', function () {
                //页面层-自定义
@@ -733,9 +732,6 @@
                });
            });
            form.on('submit(Exit)', function (data) {//
                if (params[params[0]] == undefined) {
                    //关闭页签
@@ -747,30 +743,11 @@
                }
            });
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
                parent.location.href = "../../../views/index.html"
                //window.close();//关闭当前页
            })
            function formatDate(date) {
                var d = new Date(date),
                    month = '' + (d.getMonth() + 1),
                    day = '' + d.getDate(),
                    year = d.getFullYear();
                if (month.length < 2) month = '0' + month;
                if (day.length < 2) day = '0' + day;
                return [year, month, day].join('-');
            }
            //console.log(rTime('2021-06-03T08:35:57.697'));
            //var startDate = new Date("2019-04-30 16:30:30").toLocaleDateString().split('/').join('-');
            //console.log(startDate);
            form.on('submit(Saver)', function (data) {//保存
                //debugger;
@@ -809,10 +786,29 @@
                        });
                }
            });
            function f_alert(sMsg) {
                layer.alert(sMsg, { icon: 5 });
            }
            //#region èŽ·å–ä¼ å…¥çš„ä¿¡æ¯å›žæ˜¾é¡µé¢
            function GetHEquip() {
                $.ajax({
                    url: GetWEBURL() + "/Gy_EquipFileMain/getSb_EquipList",
                    type: "GET",
                    data: { "HInterID": HEquipID, "user": sessionStorage["HUserName"], },
                    success: function (result) {
                        if (result.count == 1) {
                            $("#HEquipID").val(result.data[0].hmainid);
                            $("#HEquipName").val(result.data[0].设备名称);
                        } else {
                            layer.alert(result.Message, { icon: 5 });
                        }
                    }
                });
            }
            //#endregion
            //监听提交
            form.verify({
@@ -828,7 +824,7 @@
        });
        //返回部门
        function GetHDeptNameValue(obj) {
        function GetHDeptNameValue(obj) {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
@@ -843,7 +839,7 @@
            $("#HManagerID").val(obj[0].HItemID);
        }
        //返回设备
        function GetEquipFileValue(obj) {
        function GetEquipFileValue(obj) {
            $("#HEquipName").val(obj[0].设备名称);
            $("#HEquipID").val(obj[0].hmainid);
        }
@@ -877,7 +873,7 @@
        //    $("#HProcID").val(obj[0].HItemID);
        //    $("#HProcNumber").val(obj[0].工序代码);
        //}
        ////返回单位
        //function GetHUnitNameValue(obj) {
        //    $("#HUName").val(obj[0].计量单位名称);
@@ -885,7 +881,7 @@
        //    $("#HUnitNumber").val(obj[0].计量单位代码);
        //}
        ////function GetHProcValue(obj) {  //返回申请工序
        ////    SQProcName = obj[0].工序;
        ////    ProcID = obj[0].HItemID;
@@ -953,7 +949,7 @@
                return true;
            }
        }
    </script>
</body>
</html>
WebTM/views/É豸¹ÜÀí/Sb_Add_EqpMaintenanceBillList.html
@@ -282,6 +282,11 @@
    <script src="../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/PubCustom.js"></script>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
        }
        var OptionData = [];
        //获取参数
        var params = get_UrlVars();
@@ -310,7 +315,6 @@
            var option;//维修信息
            var option1 = [];//配件
            var sBillType = "3910";
            //var TabRow = { "HRepairID1": 0, "HRepairCode": "", "HRepairName": "", "HManagerID1": 0, "HManagerCode": "", "HManagerName": "", "HRepairExplanation": "", "HRemark": "" };
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -872,6 +876,9 @@
            function set_AddFNew() {
                //获取最大单据号
                get_MAXNum();
                if (HEquipID != "") {
                    GetHEquip();
                }
                option.data = [{ "HRepairID": 0, "HRepairCode": "", "HRepairName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerCode": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HRepairExplanation": "", "HRemark": ""/*, "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": " ", "HSourceBillType": " "*/ }];
                option1.data = [{ "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "", "HManagerID": sessionStorage["HEmpID"], "HManagerNumber": sessionStorage["HEmpNumber"], "HManagerName": sessionStorage["HEmpName"], "HQty": "0", "HRemark": "" }];
                table.render(option);
@@ -1434,6 +1441,30 @@
                return true;
            }
            //#region èŽ·å–ä¼ å…¥çš„ä¿¡æ¯å›žæ˜¾é¡µé¢
            function GetHEquip() {
                $.ajax({
                    url: GetWEBURL() + "/Sb_EqpRepairWorkBill/Get_XT_EqpConkBookList",
                    type: "GET",
                    data: { "HInterID": HEquipID, "user": sessionStorage["HUserName"], },
                    success: function (result) {
                        if (result.count == 1) {
                            $("#HEquipID").val(result.data[0].hmainid);
                            $("#HEquipName").val(result.data[0].设备名称);
                            $("#HMainSourceBillNo").val(result.data[0].单据号);
                            $("#HMainSourceInterID").val(result.data[0].hmainid);
                            $("#HMainSourceEntryID").val(result.data[0].hsubid);
                            $("#HRepairCategory").val(result.data[0].故障类别);
                            $("#HRepairer").val(result.data[0].发现人);
                        } else {
                            layer.alert(result.Message, { icon: 5 });
                        }
                    }
                });
            }
            //#endregion
            //#endregion
        });
WebTM/views/É豸¹ÜÀí/Sb_EqpConkBookBillList.html
@@ -346,7 +346,7 @@
                            shift: 2,
                            area: ['100%', '100%'],
                            maxmin: true,
                            content: '../设备管理/Sb_Add_EqpConkBookBillList.html?hID=0',
                            content: '../设备管理/Sb_Add_EqpConkBookBillList.html?OperationType=1&hID=0',
                            end: function () {
                                //刷新页面,
                                location.reload();
@@ -370,7 +370,7 @@
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: '../设备管理/Sb_Add_EqpConkBookBillList.html?hID=' + hID
                                , content: '../设备管理/Sb_Add_EqpConkBookBillList.html?OperationType=3&hID=' + hID
                                , resize: false,
                                end: function () {
                                    //刷新页面,
WebTM/views/É豸¹ÜÀí/É豸ͣ»úµ¥/Sb_EquipStopBill.html
@@ -222,7 +222,11 @@
    </div>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
@@ -278,7 +282,12 @@
                $("#HStopTime").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化停机人
                $("#HStopEmpName").val(sessionStorage["HUserName"]);
                $("#HStopEmpID").val(sessionStorage["HEmpID"]);
                if (HEquipID != "") {
                    GetHEquip();
                }
            }
            else if (OperationType == 3) {//如果修改则走下面 new     
@@ -585,6 +594,26 @@
                return true;
            }
            //#endregion      
            //#region èŽ·å–ä¼ å…¥çš„ä¿¡æ¯å›žæ˜¾é¡µé¢
            function GetHEquip() {
                $.ajax({
                    url: GetWEBURL() + "/Gy_EquipFileMain/getSb_EquipList",
                    type: "GET",
                    data: { "HInterID": HEquipID, "user": sessionStorage["HUserName"], },
                    success: function (result) {
                        if (result.count == 1) {
                            $("#HEquipID").val(result.data[0].hmainid);
                            $("#HEquipName").val(result.data[0].设备名称);
                            $("#HEquipRelationID").val(result.data[0].HMainSourceID);
                            $("#HEquipRelationName").val(result.data[0].所属主生产设备);
                        } else {
                            layer.alert(result.Message, { icon: 5 });
                        }
                    }
                });
            }
            //#endregion
            //#endregion
        });
WebTM/views/É豸¹ÜÀí/É豸ͣ»úµ¥/Sb_EquipStopBillList.html
@@ -153,6 +153,7 @@
                        <div id="page" style="position: relative; bottom: 0;"></div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
@@ -203,7 +204,7 @@
            var page = 1;//分页数据
            var size = 50;
            var HModName = "Sb_EquipStopBillList";
            var ins;                //用于导出excel
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3918";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
@@ -241,6 +242,9 @@
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': btn_Export();
                        break;
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
@@ -437,6 +441,7 @@
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
@@ -512,6 +517,7 @@
                            option.data = data1.data;
                            option.totalRow = true;
                            laypage.render(optionPage);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
@@ -654,6 +660,12 @@
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function btn_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region æ–°å¢ž
            function set_AddNew() {
                layer.open({
WebTM/views/É豸¹ÜÀí/É豸¿ª»úµ¥/Sb_EquipBeginBill.html
@@ -217,7 +217,11 @@
    </div>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
@@ -259,6 +263,7 @@
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
          
@@ -273,8 +278,13 @@
                $("#HBeginTime").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
            }
                //初始化开机人
                $("#HBeginEmpName").val(sessionStorage["HUserName"]);
                $("#HBeginEmpID").val(sessionStorage["HEmpID"]);
                if (HEquipID!="") {
                    GetHEquip();
                }
            }
            else if (OperationType == 3) {//如果修改则走下面 new     
                //初始化项目阶段表
@@ -362,6 +372,26 @@
            }
            //#endregion
            //#region èŽ·å–ä¼ å…¥çš„ä¿¡æ¯å›žæ˜¾é¡µé¢
            function GetHEquip() {
                $.ajax({
                    url: GetWEBURL() + "/Gy_EquipFileMain/getSb_EquipList",
                    type: "GET",
                    data: { "HInterID": HEquipID, "user": sessionStorage["HUserName"], },
                    success: function (result) {
                        if (result.count == 1) {
                            $("#HEquipID").val(result.data[0].hmainid);
                            $("#HEquipName").val(result.data[0].设备名称);
                            $("#HEquipRelationID").val(result.data[0].HMainSourceID);
                            $("#HEquipRelationName").val(result.data[0].所属主生产设备);
                        } else {
                            layer.alert(result.Message, { icon: 5 });
                        }
                    }
                });
            }
            //#endregion
            //#region è®¾å¤‡é€‰æ‹©é¡µé¢
            function get_checkSearchHEquip() {
                layer.open({
WebTM/views/É豸¹ÜÀí/É豸¿ª»úµ¥/Sb_EquipBeginBillList.html
@@ -152,6 +152,7 @@
                        <div id="page" style="position: relative; bottom: 0;"></div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
@@ -202,7 +203,7 @@
            var page = 1;//分页数据
            var size = 50;
            var HModName = "Sb_EquipBeginBillList";
            var ins;                //用于导出excel
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "3918";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
@@ -240,6 +241,9 @@
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': btn_Export();
                        break;
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
@@ -436,6 +440,7 @@
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
@@ -511,6 +516,7 @@
                            option.data = data1.data;
                            option.totalRow = true;
                            laypage.render(optionPage);
                            ins = table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
@@ -656,6 +662,12 @@
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function btn_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#region æ–°å¢ž
            function set_AddNew() {
                layer.open({
WebTM/views/É豸¹ÜÀí/É豸±¨±í/Sb_EquipResumeCheckQuery.html
@@ -37,7 +37,7 @@
                            <div class="layui-col-xs2 layui-inline" style="">
                                <div id="TreeTable" class="demo-tree demo-tree-box" style=""></div>
                            </div>
                            <div class="layui-col-xs3 layui-inline" style="padding-left: 10px;">
                            <div class="layui-col-xs4 layui-inline" style="padding-left: 10px;">
                                <div class="layui-collapse">
                                    <div class="layui-colla-item">
                                        <div class="layui-inline">
@@ -63,7 +63,7 @@
                                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                                </div>
                            </div>
                            <div class="layui-col-xs7 layui-inline">
                            <div class="layui-col-xs6 layui-inline">
                                <table class="" id="mainTableResume" lay-filter="mainTableResume"></table>
                            </div>
                        </div>
@@ -80,6 +80,15 @@
        </div>
    </div>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var HEquipNumber = "";  //设备编码
        var HEquipName = "";  //设备名称
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
            HEquipNumber = data[0].HEquipNumber;
            HEquipName = data[0].HEquipName;
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
@@ -178,7 +187,13 @@
                    $("#HName").val(HName);
                    get_FastQuery();
                    get_DisplayResume(linterid)
                } else {
                } else if (OperationType == 1) {
                    $("#HNumber").val(HEquipNumber);
                    $("#HName").val(HEquipName);
                    get_FastQuery();
                    get_DisplayResume(HEquipID)
                }
                else {
                    //查询
                    get_Display(sWhere);
                }
@@ -497,7 +512,7 @@
            //退出
            function get_Exit() {
                if (OperationType != 3) {
                if (OperationType != 3 || OperationType != 1) {
                    Pub_Close(2);
                } else {
                    Pub_Close(1);
WebTM/views/ÖÊÁ¿¹ÜÀí/°²µÆÖ𼶺ô½Ð¹æÔò/OA_AndengFlowRuleBillMain.html
@@ -584,7 +584,7 @@
                        , { field: 'HDutyName', title: '职务名称', edit: 'text', event: "HDutyName", style: 'background-color: #f9f9f9;' } //f7
                        , { field: 'HTimes', title: '触发时间', edit: 'text', style: 'background-color: #f9f9f9;', }
                        , { field: 'HReceiveType', title: '接收模式', style: 'background-color: #f9f9f9;', templet: '#HReceiveType' }
                        , { field: 'HIsRece', title: '完成标记', templet: "#HIsRece" }//checkbox
                        , { field: 'HIsRece', title: '是否接受', templet: "#HIsRece" }//checkbox
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
WebTM/views/³µ¼ä¹ÜÀí/Æô¶¯µã¼ìµ¥/Sc_WorkDotCheckBillList_Day.html
@@ -40,6 +40,14 @@
    </div>
    <script>
        //获取参数
        var HEquipID = "";  //设备id
        var HEquipType = "";  //设备类型
        var edit = function (data) {
            HEquipID = data[0].HEquipID;
            HEquipType = data[0].HEquipType;
        };
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
WebTM/views/³µ¼ä¹ÜÀí/¹¤Ðò³öÕ¾»ã±¨µ¥/Cj_StationOutBill.html
@@ -2228,29 +2228,31 @@
            }
            //获取班次
            function get_HWorkShift(HDeptID) {
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_ShiftsController/Get_HWorkShift", //方法所在页面和方法名
                    data: {
                        "HDeptID": HDeptID,
                        "HCenterID": $("#HCenterID").val()
                    },
                    success: function (data) {
                        if (data.count == 1)// è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        {
                            var LoadData = data.data;
                            $("#HShiftsID").val(LoadData[0].HInterID); //当前工序ID
                            $("#HShiftsName").val(LoadData[0].班次); //当前工序
            function get_HWorkShift(HDeptID) {
                if (HDeptID!="") {
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_ShiftsController/Get_HWorkShift", //方法所在页面和方法名
                        data: {
                            "HDeptID": HDeptID,
                            "HCenterID": $("#HCenterID").val()
                        },
                        success: function (data) {
                            if (data.count == 1)// è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            {
                                var LoadData = data.data;
                                $("#HShiftsID").val(LoadData[0].HInterID); //当前工序ID
                                $("#HShiftsName").val(LoadData[0].班次); //当前工序
                            }
                            else {
                                layer.alert(data.Message, { icon: 5 });
                            }
                        },
                        error: function (err) {
                            layer.alert(err, { icon: 5 });
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 });
                        }
                    },
                    error: function (err) {
                        layer.alert(err, { icon: 5 });
                    }
                });
                    });
                }
            }