1
cwjbxqmz
2024-01-25 06e590b6059d68021f8d81ddaa34d8a1846b8745
WebTM/views/ÏîÄ¿¹ÜÀí/±¨±í·ÖÎö/PM_ProjectBillMainMy.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>工序流转卡列表</title>
    <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">
@@ -25,6 +25,15 @@
            <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 style="padding: 10px; ">
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_LookDown" lay-filter="btn_LookDown">引出</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_view" lay-filter="btn_view">预览</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_print" lay-filter="btn_print">打印</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_push_down" lay-filter="btn_push_down_phase">下推阶段汇报</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_push_down" lay-filter="btn_push_down_work">下推工作任务</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="btn_push_down" lay-filter="btn_push_down_monthly">下推阶段月度计划</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" style="display:none;" id="get_Exit" lay-filter="get_Exit">退出</button>
                        </div>
                        <!--<div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
@@ -33,109 +42,54 @@
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">打印状态</label>
                                    <div class="layui-input-block" style="width:100px">
                                        <select name="city" lay-verify="required" id="SHPrintQty">
                                            <option value="全部">全部</option>
                                            <option value="未打印">未打印</option>
                                            <option value="已打印">已打印</option>
                                        </select>
                                    <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="HNumber" id="HNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <input type="checkbox" id="wybj" name="wybj" title="只显示委外" lay-filter="wybj" lay-skin="primary">
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HProcExchBillNo" id="SHname">
                                    <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="HName" id="HName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HDate">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HDate1">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" style="display:none;" lay-filter="btnSearch" id="btnSearch">
                                <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; display: none;">重置</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-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">订单跟踪号</label>
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HOrderProcNO" id="HOrderProcNO">
                                            </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="HWorkBillNo" id="HWorkBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top: 10px; margin-bottom: 10px;">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">单据号</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">唯一ID</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HErpID" id="HErpID">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">生产车间</label>
                                            <div class="layui-input-block">
                                                <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input">-->
                        <!--动态渲染车间-->
                          <!--</select>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top: 10px; margin-bottom: 10px ">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">过滤</label>
                                        <div class="layui-input-block">
                                            <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                            <select name="Comparator" id="Comparator" 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>
                                    <div class="layui-inline">
                                        <select name="Comparator" id="Comparator" 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" value="" name="ColContent" id="ColContent">
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>-->
                        <div class="layui-tab layui-tab-card" style="margin-top:40px;">
                        <!--<table class="" id="mainTable" lay-filter="mainTable"></table>-->
                        <div class="layui-tab layui-tab-card" style="margin-top:20px;">
                            <ul class="layui-tab-title">
                                <li class="layui-this">我主导的</li>
                                <li>我参与的</li>
@@ -152,16 +106,7 @@
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_LookDown" lay-event="btn_LookDown">引出</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_view" lay-event="btn_view">预览</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_print" lay-event="btn_print">打印</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_push_down" lay-event="btn_push_down_phase">下推阶段汇报</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_push_down" lay-event="btn_push_down_work">下推工作任务</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="btn_push_down" lay-event="btn_push_down_monthly">下推阶段月度计划</button>
                                <button type="button" class="layui-btn layui-btn-radius" style="display:none;" id="get_Exit" lay-event="get_Exit">退出</button>
                            </div>
                        </script>
                    </form>
                </div>
@@ -187,11 +132,11 @@
                , soulTable = layui.soulTable
            //var sWhere = " äº§å“ä»£ç  = 'BX0002'";
            var sWhere = "";
            var option = "";
            var option2 = "";
            var option = "";  //我主导的
            var option1 = ""; //我参与的
            var ins;
           
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -199,120 +144,56 @@
            //
            var HModName = "PM_ProjectBillMainMy";
            //不需要显示的字段 å¯æ‰©å±• ï¼ˆæˆ‘主导的)
            var titleData = ["HInterID", "单据状态", "项目代码", "HCusID", "HProjectStageID", "HPMEmpID"];
            //不需要显示的字段 å¯æ‰©å±• ï¼ˆæˆ‘参与的)
            var titleData1 = ["HInterID", "单据状态", "项目代码", "HCusID", "HProjectStageID", "HPMEmpID"];
            var titleData = ["HInterID","HEntryID", "单据状态", "项目代码", "HCusID", "HProjectStageID", "HPMEmpID"];
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //引出
                    case 'btn_LookDown': btn_LookDown();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //预览
                    case 'btn_view': get_view();
                        break;
                    //打印
                    case 'btn_print': get_print();
                        break;
                    //下推阶段汇报
                    case 'btn_push_down_phase': btn_push_down_phase();
                        break;
                    //下推工作任务
                    case 'btn_push_down_work': btn_push_down_work();
                        break;
                    //下推阶段月度计划
                    case 'btn_push_down_monthly': btn_push_down_monthly();
                        break;
                };
            //引出
            form.on('submit(btn_LookDown)', function (data) {
                get_Export();
            });
            table.on('toolbar(mainTable1)', function (obj) {
                switch (obj.event) {
                    //引出
                    case 'btn_LookDown': btn_LookDown();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //预览
                    case 'btn_view': get_view();
                        break;
                    //打印
                    case 'btn_print': get_print();
                        break;
                    //下推阶段汇报
                    case 'btn_push_down_phase': btn_push_down_phase();
                        break;
                    //下推工作任务
                    case 'btn_push_down_work': btn_push_down_work();
                        break;
                    //下推阶段月度计划
                    case 'btn_push_down_monthly': btn_push_down_monthly();
                        break;
                };
            //打印
            form.on('submit(btn_view)', function (data) {
                get_print();
            });
            //打印
            form.on('submit(btn_print)', function (data) {
                get_print();
            });
            //下推阶段汇报
            form.on('submit(btn_push_down_phase)', function (data) {
                set_ProjectReport();
            });
            //下推工作任务
            form.on('submit(btn_push_down_work)', function (data) {
                set_WorkTask();
            });
            //退出
            form.on('submit(get_Exit)', function (data) {
                Pub_Close(2);
            });
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            function set_ClearBill() {
                //初始化主表列表
                set_InitGrid();
                //初始化从表列表
                set_InitGrid2();
                table.render(option2);
                //查询
                get_FastQuery();
            }
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                //$("#HBillNo").val("");//单据号
                //$("#ColContent").val("");
                //$("#ColName").val("0");
                //$("#Comparator").val("0");
                //form.render('select');
                //$("#btnSearch").click();
                sWhere = "";
                get_FastQuery();
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery() {
                get_Display(sWhere);
                get_Display1(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //初始化主表列表 æˆ‘主导的
            function set_InitGrid() {
                option = {
@@ -342,9 +223,10 @@
            }
            //#region æŸ¥è¯¢ æˆ‘主导的
            //#region æŸ¥è¯¢ æˆ‘主导的 æˆ‘参与的
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_ReportController/PM_ProjectBillMYList',
                    type: "GET",
@@ -382,7 +264,7 @@
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , data: data1.data.h_p_My_PM_ProjectReportBill
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 50000]
@@ -390,81 +272,19 @@
                                , cellMinWidth: 90
                            }
                            table.render(option);
                            //刷新按钮显示
                            var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                            var HBillType = "PM_ProjectBillMainMy";
                            Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                            //layer.alert("查询成功", { icon: 1 });
                        } 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_Display1(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_ReportController/PM_ProjectBillMYList',
                    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 (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 {
                                    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;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                            ins = table.render(option);
                            option1 = {
                                elem: '#mainTable1'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , data: data1.data.h_p_My_PM_ProjectReportBill1
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 50000]
                                , limit: 50
                                , cellMinWidth: 90
                            }
                            table.render(option);
                            table.render(option1);
                            //刷新按钮显示
                            var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                            var HBillType = "PM_ProjectBillMainMy";
@@ -488,10 +308,144 @@
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
                let data = option.data;  // å‡è®¾option.data是你的数据
                for (let i = 0; i < data.length; i++) {
                    if (data[i].项目成员 && typeof data[i].项目成员 === 'string') {
                        data[i].项目成员 = formatNames(data[i].项目成员);
                    }
                }
                table.exportFile(ins.config.id, data, "xls");
            }
            function formatNames(names) {
                return `"${names.replace(/,/g, "、")}"`;
            }
            //#endregion
            //#region æ‰“印
            function get_print() {
                var activeTab =getActiveTab();
                if (activeTab=="我主导的") {
                    var checkStatus = table.checkStatus('mainTable')
                        , data = checkStatus.data,
                        Num = 1;
                } else if (activeTab == "我参与的") {
                    var checkStatus = table.checkStatus('mainTable1')
                        , data = checkStatus.data,
                        Num = 2;
                }
                
                if (checkStatus.data.length == 1) {
                    var linterid = [];
                    for (var i = 0; i < data.length; i++) {
                        linterid.push(data[i].HInterID.toString())
                    }
                    layer.open({
                        type: 2
                        , area: ['80%', '80%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + linterid.toString() + "|" + Num + '&MyMsg=' + linterid.toString() + '&Type=PM_ProjectBillMainMy', 'yes']
                        , resize: false
                    })
                }
                else {
                    layer.msg('请选择一行数据打印!');
                }
            }
            function getActiveTab() {
                var tabs = document.getElementsByClassName("layui-tab-title")[0].getElementsByTagName("li");
                var activeTab;
                for (var i = 0; i < tabs.length; i++) {
                    if (tabs[i].classList.contains("layui-this")) {
                        activeTab = tabs[i].innerText;
                        break;
                    }
                }
                return activeTab;
            }
            //#endregion
            //#region ä¸‹æŽ¨(阶段汇报)
            function set_ProjectReport() {
                var activeTab = getActiveTab();
                if (activeTab == "我主导的") {
                    var checkStatus = table.checkStatus('mainTable')
                        , data = checkStatus.data;
                } else if (activeTab == "我参与的") {
                    var checkStatus = table.checkStatus('mainTable1')
                        , data = checkStatus.data;
                }
                var InterID = data[0].HInterID.toString();
                var HProjectStageID = data[0].HProjectStageID;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HInterID.toString();
                    var HProjectStageID = data[0].HProjectStageID;
                    layer.open({
                        type: 2
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['100%', '100%']
                        , title: '项目阶段汇报-下推'
                        , shift: 0//弹出动画
                        , content: '../../项目管理/项目阶段/PM_ProjectReportBill.html?OperationType=4&linterid=' + InterID + '&HSouceBillType=' + '&HProjectStageID=' + HProjectStageID
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region ä¸‹æŽ¨(工作任务)
            function set_WorkTask() {
                var activeTab = getActiveTab();
                if (activeTab == "我主导的") {
                    var checkStatus = table.checkStatus('mainTable')
                        , data = checkStatus.data;
                } else if (activeTab == "我参与的") {
                    var checkStatus = table.checkStatus('mainTable1')
                        , data = checkStatus.data;
                }
                var HInterID = data[0].HInterID.toString();
                var HEntryID = data[0].HEntryID.toString();
                if (checkStatus.data.length === 1) {
                    layer.open({
                        type: 2
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['100%', '100%']
                        , title: '工作任务-下推'
                        , shift: 0//弹出动画
                        , content: '../../项目管理/工作任务/PM_WorkTaskBill.html?OperationType=4&linterid=' + HInterID + '&HSouceBillType=' + '&HEntryID=' + HEntryID
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                }
                else {
                    layer.msg('请选择一行数据下推!');
                }
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
@@ -609,6 +563,19 @@
                })
            }
            //#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);
                form.render('select');
            }
            //#endregion
            //以上是layui模块
        });