WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBillList.html
@@ -18,6 +18,8 @@
    <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/soulTable.slim.js"></script>
</head>
<body>
@@ -66,6 +68,18 @@
                                <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" style="width: 85px;">接单人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HReceiveEmp" id="HReceiveEmp">
                                            </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="HBillStatus" id="HBillStatus">
                                            </div>
                                        </div>
                                        <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;">
@@ -104,10 +118,13 @@
                                <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-BatchAudit"><i class="layui-icon layui-icon-radio"></i>批量审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-BatchDeAudit"><i class="layui-icon layui-icon-radio"></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="set_ShowBill_dh"><i class="layui-icon layui-icon-radio"></i>批量下推</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><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>
@@ -119,12 +136,19 @@
            </div>
        </div>
    </div>
    <!--批量审核/反审核进度条-->
    <div class="layui-progress layui-progress-big" lay-filter="BatchAuditProgress" id="BatchAuditProgress" style="width:20%;position:fixed;left:40%;top:55%;display:none;">
        <div class="layui-progress-bar" style="width:200px;" lay-percent="0%"></div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate','soulTable'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
@@ -134,12 +158,14 @@
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
            var option = [];
            var sWhere = "";
            var HModName = "PM_WorkTaskBillList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HInterID","HProjectStageID","HOrgID","HEntryID", "HProjectID"];
            var titleData = ["HInterID", "HProjectStageID", "HOrgID", "HEntryID", "HProjectID", "HBillStatus"];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -178,6 +204,14 @@
                    case 'btn-DeAudit':
                        set_CheckBill(2);
                        break;
                    //批量审核按钮
                    case 'btn-BatchAudit':
                        set_BatchCheckBill(1);
                        break;
                    //批量反审核按钮
                    case 'btn-BatchDeAudit':
                        set_BatchCheckBill(2);
                        break;
                    //关闭按钮        ï¼ˆ1:关闭、2:反关闭)
                    case 'btn-Close':
                        set_CloseBill(1);
@@ -193,6 +227,9 @@
                    //反作废按钮
                    case 'btn-DeDrop':
                        set_DropBill(2);
                        break;
                    case 'set_ShowBill_dh':
                        set_ShowBill_dh();
                        break;
                    ////禁用按钮
                    //case 'btn-Stop':
@@ -271,9 +308,13 @@
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                };
            }
            //#endregion
@@ -311,6 +352,7 @@
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["评估工时", "自评工时", "已耗用工时"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
@@ -324,11 +366,13 @@
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                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 });
                                            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 });
@@ -368,13 +412,15 @@
                //获取登录账户对应职员名称
                var HUserName = getHEmpByHUserName();
                if (HUserName != "" && HUserName != null) {
                    sWhere = " and (派单人 = '" + HUserName + "' or æŽ¥å•人 = '" + HUserName + "' or æŠ„送人 like '%" + HUserName + "%') ";
                    sWhere += " and (派单人 = '" + HUserName + "' or æŽ¥å•人 = '" + HUserName + "' or æŠ„送人 like '%" + HUserName + "%') ";
                }
                var HOrgID = "";
                var HBillNo = $("#HBillNo").val();  //单据号
                var HProNumber = $("#HProNumber").val();//项目代码
                var HName = $("#HName").val();//工作名称
                var HBillStatus = $("#HBillStatus").val();//单据状态
                var HReceiveEmp = $("#HReceiveEmp").val();//接单人
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
@@ -419,6 +465,13 @@
                if (HOrgID) {
                    sWhere += " and HOrgID = '" + HOrgID + "'";
                }
                if (HBillStatus) {
                    sWhere += " and å•据状态 like '%" + HBillStatus + "%'";
                }
                if (HReceiveEmp) {
                    sWhere += " and æŽ¥å•人 like '%" + HReceiveEmp + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
@@ -429,6 +482,8 @@
                $("#HBillNo").val("");
                $("#HProNumber").val("");
                $("#HName").val("");
                $("#HReceiveEmp").val("");
                $("#HBillStatus").val("");
                $("#HOrgID").val(sessionStorage["OrganizationID"]);
                $("#ColContent").val("");
                $("#ColName").val("0");
@@ -450,9 +505,9 @@
                    , content: '../../项目管理/工作任务/PM_WorkTaskBill.html?OperationType=1&linterid=0&HSouceBillType='
                    ,btn: ['确定'],
                    // æŒ‰é’®1 çš„回调
                    btn1: function (index, layero, that) {
                    end: function (index, layero, that) {
                        //刷新页面
                        window.location.reload();
                        $("#btnSearch").trigger('click');
                    }
                })
            }
@@ -473,9 +528,9 @@
                        , content: '../../项目管理/工作任务/PM_WorkTaskBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                        end: function (index, layero, that) {
                            //刷新页面
                            window.location.reload();
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
@@ -499,9 +554,9 @@
                        , content: '../../项目管理/项目阶段/Add_Edit_Gy_ProjectStage.html?OperationType=4&linterid=' + linterid + '&HSouceBillType='
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                        end: function (index, layero, that) {
                            //刷新页面
                            //window.location.reload();
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
@@ -532,7 +587,7 @@
                                        //关闭当前frame
                                        layer.close(wait);
                                        //修改为功后刷新界面
                                        window.location.reload();
                                        w$("#btnSearch").trigger('click');
                                    });
                                } else {
                                    layer.alert(result.code + result.Message, { icon: 5 });
@@ -554,8 +609,7 @@
            //#region åˆ·æ–°
            function get_Refresh() {
                set_ClearQuery();
                get_FastQuery(1);
                $("#btnSearch").trigger('click');
            }
            //#endregion
@@ -591,6 +645,74 @@
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region æ‰¹é‡åå®¡æ ¸/审核数据
            function set_BatchCheckBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length != 0) {
                    var errMsg = "";                                         //记录审核失败信息
                    var successMsg = "";                                     //记录审核成功信息
                    var div = document.getElementById("BatchAuditProgress"); //获取进度条
                    var progressPercent = 0;
                    //获取需要审核的单据集合对应的单据内码集合
                    var HInterIDArray = [];
                    var HBillNoArray = [];
                    for (var i = 0; i < data.length; i++) {
                        if ($.inArray(data[i]["HInterID"], HInterIDArray) == -1) {
                            HInterIDArray.push(data[i]["HInterID"]);
                            HBillNoArray.push(data[i]["单据号"]);
                        }
                    }
                    //设置加载图标
                    var ajaxLoad = layer.load();
                    //进度条显示并进度归0
                    element.progress('BatchAuditProgress', '0%');
                    div.style.display = "block";
                    //遍历需要审核的单据内码集合,并审核对应单据内码的单据
                    for (var i = 0; i < HInterIDArray.length; i++) {
                        var HInterID = HInterIDArray[i];
                        var HBillNo = HBillNoArray[i];
                        //逻辑审核方法
                        $.ajax({
                            type: "GET",
                            async: false,
                            url: GetWEBURL() + "/PM_WorkTaskBill/AuditPM_WorkTaskBill", //方法所在页面和方法名
                            data: { "HInterID": HInterID, "Type": num, "user": sessionStorage["HUserName"] },
                            success: function (result) {
                                if (result.count == 1) {
                                    successMsg += "[" + HInterID + "],[" + HBillNo + "]:操作执行成功。\n";
                                } else {
                                    errMsg += "[" + HInterID + "],[" + HBillNo + "]:操作执行失败。失败原因:" + result.Message + "\n";
                                }
                            }, error: function () {
                                errMsg += "[" + HInterID + "],[" + HBillNo + "]:操作执行失败。失败原因:接口请求失败!\n";
                            }
                        });
                        //增加进度条进度
                        progressPercent = (i + 1) / HInterIDArray.length * 100;
                        element.progress('BatchAuditProgress', progressPercent + "%");
                    }
                    //隐藏进度条
                    div.style.display = "none";
                    //拼接审核成功信息与审核失败信息
                    var resultMessage = successMsg + errMsg;
                    //审核结果提示弹窗
                    layer.alert(resultMessage, { icon: 5 });
                    //关闭加载图标
                    layer.close(ajaxLoad);
                    //刷新界面
                    $("#btnSearch").trigger('click');
                }
                else {
                    layer.msg('请选择数据审核!');
                }
            }
            //#endregion
@@ -663,6 +785,56 @@
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region å¤šè¡Œä¸‹æŽ¨
            function set_ShowBill_dh() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length != 0) {
                    //layer.confirm("确认要下推吗?", function (index) {
                    var dataArray = [];
                    for (var i = 0; i < data.length; i++) {
                        var temp = {
                            "HProjectID": data[i].HProjectID
                            , "HProNumber": data[i].项目代码
                            , "HProjectStageID": data[i].HProjectStageID
                            , "HProjectStageName": data[i].项目阶段
                            , "HName": data[i].任务名称
                            , "HTaskNote": data[i].任务描述
                            , "HType": data[i].任务类型
                            , "HSourceInterID": data[i].HInterID
                            , "HSourceEntryID": data[i].HEntryID
                            , "HSourceBillNo": data[i].单据号
                            , "HSourceBillType": data[i].单据类型
                        }
                        dataArray.push(temp);
                    }
                    var datajson = {
                        "data": dataArray
                    };
                    var url = encodeURI('../../项目管理/工作任务/PM_WorkTaskReportBill.html?OperationType=4&res=' + JSON.stringify(datajson));
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '工作任务列表-多行下推'
                        , shift: 0//弹出动画
                        , content: url
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                    //})
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //#endregion
@@ -818,7 +990,7 @@
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    sWhere += " and HBillStatus<3 and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
@@ -856,7 +1028,7 @@
        });
            //#endregion
            //以上是layui模块
    </script>