1
yangle
2024-04-02 c92a58fa7f3df1a15914fd59709a053f8e15d538
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>
    <script src="../../../layuiadmin/PageTitle.js"></script>
</head>
<body>
@@ -36,25 +38,25 @@
                                <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="HBillNo" id="HBillNo">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBillNo" id="HBillNo">
                                    </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="HProNumber" id="HProNumber">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HProNumber" id="HProNumber">
                                    </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="HName" id="HName">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HName" id="HName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">组织</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                        <select name="HOrgID" id="HOrgID" class=" ForFilteringSchemes" lay-verify="HOrgID">
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
@@ -63,17 +65,33 @@
                                    <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" style="width: 85px;">接单人</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input ForFilteringSchemes" 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 ForFilteringSchemes" 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;">
                                                <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" lay-filter="Comparator" style="width:190px;">
                                            <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>
@@ -88,7 +106,7 @@
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
@@ -104,14 +122,20 @@
                                <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="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="set_ShowBill_dh"><i class="layui-icon layui-icon-radio"></i>批量下推</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Begin"><i class="layui-icon layui-icon-radio"></i>开始任务</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Cancel-Begin"><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>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_HHasten"><i class="layui-icon layui-icon-logout"></i>催促次数按钮</button>
                            </div>
                        </script>
                    </form>
@@ -119,12 +143,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,13 +165,35 @@
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
            var option = [];
            var sWhere = "";
            var HModName = "PM_WorkTaskBillList";
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "4753";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? document.title : get_PageTitle(HModuleType);
        //#endregion
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HItemID","HProcessID_K3","HUSEORGID"];
            var titleData = ["HInterID", "HProjectStageID", "HOrgID", "HEntryID", "HProjectID", "HBillStatus", "HOrderLevID"];
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "工作任务维护";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -167,9 +220,9 @@
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    ////浏览
                    //case 'get_view': get_view();
                    //    break;
                    //催促按钮
                    case 'get_HHasten': get_HHasten();
                        break;
                    //审核按钮
                    case 'btn-Audit':
                        set_CheckBill(1);
@@ -177,6 +230,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':
@@ -194,19 +255,28 @@
                    case 'btn-DeDrop':
                        set_DropBill(2);
                        break;
                    ////禁用按钮
                    //case 'btn-Stop':
                    //    set_De_Stop(0);
                    //    break;
                    ////反禁用按钮
                    //case 'btn-DeStop':
                    //    set_De_Stop(1);
                    //    break;
                    case 'set_ShowBill_dh':
                        set_ShowBill_dh();
                        break;
                    //开始任务按钮
                    case 'btn-Begin':
                        set_Begin(0);
                        break;
                    //撤销任务按钮
                    case 'btn-Cancel-Begin':
                        set_Begin(1);
                        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;
                };
            });
@@ -232,6 +302,28 @@
                });
            })
            //#endregion
            table.on('sort(mainTable)', function (obj) { //注:sort æ˜¯å·¥å…·æ¡äº‹ä»¶åï¼Œtest æ˜¯ table åŽŸå§‹å®¹å™¨çš„å±žæ€§ lay-filter="对应的值"
                table.reload('mainTable', {
                    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 æ–°å¢žå‚æ•°
                    , where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
                        field: obj.field //排序字段   åœ¨æŽ¥å£ä½œä¸ºå‚数字段  field order
                        , order: obj.type //排序方式   åœ¨æŽ¥å£ä½œä¸ºå‚数字段  field order
                    }
                });
                option.data = layui.table.cache["mainTable"];
                table.render(option);
            });
            //#region åŒå‡»è¿”回数据
            table.on('rowDouble(mainTable)', function (obj) {
                var data = [];
                data.push(obj.data);
                parent.GetWorkTaskValue(data);
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            });
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
@@ -253,9 +345,18 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {          //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
                //查询当前登录用户有没有在当前模块设置默认过滤方案
                get_DefaultModule();
            }
            //#endregion
@@ -266,9 +367,14 @@
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , sort: true  //重点1:这里的sort表示 table表在取得接口数据后,对页面渲染后的table数据进行排序。同时,这里的true ä¼šå½±å“é¡µé¢sort ä¸Šä¸‹å°ç®­å¤´çš„ æ˜¾ç¤ºæ•ˆæžœ
                    , totalRow: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                };
            }
            //#endregion
@@ -278,6 +384,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -302,9 +409,11 @@
                $.ajax({
                    url: GetWEBURL() + '/PM_WorkTaskBill/list',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var totalArray = ["评估工时", "自评工时", "已耗用工时"];
                            var data = [];
                            var col = [];
                            //给空的数组赋值
@@ -318,11 +427,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 });
@@ -333,7 +444,6 @@
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
@@ -359,10 +469,18 @@
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                //获取登录账户对应职员名称
                var HUserName = getHEmpByHUserName();
                if (HUserName != "" && HUserName != null) {
                    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()
@@ -396,17 +514,24 @@
                    HOrgID = $("#HOrgID").val();//组织
                }
                if (HBillNo) {
                    sWhere += " and HBillNo like '%" + HBillNo + "%'";
                    sWhere += " and å•据号 like '%" + HBillNo + "%'";
                }
                if (HProNumber) {
                    sWhere += " and HProNumber like '%" + HProNumber + "%'";
                    sWhere += " and é¡¹ç›®ä»£ç  like '%" + HProNumber + "%'";
                }
                if (HName) {
                    sWhere += " and HName like '%" + HName + "%'";
                    sWhere += " and ä»»åŠ¡åç§° like '%" + HName + "%'";
                }
                if (HOrgID) {
                    sWhere += " and HOrgID = '" + HOrgID + "'";
                }
                if (HBillStatus) {
                    sWhere += " and å•据状态 like '%" + HBillStatus + "%'";
                }
                if (HReceiveEmp) {
                    sWhere += " and æŽ¥å•人 like '%" + HReceiveEmp + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
@@ -417,6 +542,8 @@
                $("#HBillNo").val("");
                $("#HProNumber").val("");
                $("#HName").val("");
                $("#HReceiveEmp").val("");
                $("#HBillStatus").val("");
                $("#HOrgID").val(sessionStorage["OrganizationID"]);
                $("#ColContent").val("");
                $("#ColName").val("0");
@@ -433,14 +560,14 @@
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '工作任务列表-新增'
                    , title: '新增' + HPageTitle
                    , shift: 0//弹出动画
                    , 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');
                    }
                })
            }
@@ -456,14 +583,14 @@
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '工作任务列表-编辑'
                        , title: '编辑' + HPageTitle
                        , shift: 0//弹出动画
                        , 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 {
@@ -487,9 +614,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 {
@@ -520,7 +647,7 @@
                                        //关闭当前frame
                                        layer.close(wait);
                                        //修改为功后刷新界面
                                        window.location.reload();
                                        w$("#btnSearch").trigger('click');
                                    });
                                } else {
                                    layer.alert(result.code + result.Message, { icon: 5 });
@@ -542,8 +669,7 @@
            //#region åˆ·æ–°
            function get_Refresh() {
                set_ClearQuery();
                get_FastQuery(1);
                $("#btnSearch").trigger('click');
            }
            //#endregion
@@ -579,6 +705,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
@@ -651,6 +845,137 @@
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region å¼€å§‹ä»»åŠ¡/撤销开始数据
            function set_Begin(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HInterID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/PM_WorkTaskBill/BeginPM_WorkTaskBill", //方法所在页面和方法名
                        data: { "HInterID": InterID, "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_HHasten() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HInterID.toString();
                    var HHasten = data[0].催促次数 == undefined ? 0 : data[0].催促次数 ;
                    var HHastens = HHasten + 1;
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/PM_WorkTaskBill/UpdateHHasten", //方法所在页面和方法名
                        data: { "HInterID": InterID, "HHasten": HHastens, "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(1);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                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 = [];
                    var sHBillStatus = "";  //单据状态
                    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);
                        if (data[i].HBillStatus != 2) {
                            sHBillStatus = "1";
                        }
                    }
                    //判断所选行中是否存在单据状态不为已审核状态的数据
                    if (sHBillStatus == "1") {
                        layer.msg('所选择工作任务存在单据状态不为已审核的行,不允许下推!');
                    }
                    else {
                        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
@@ -787,11 +1112,324 @@
            }
            //#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
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and HBillStatus=2 ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
            //#region æ ¹æ®ç™»å½•账户获取相应职员
            function getHEmpByHUserName() {
                var Czybm = sessionStorage["Czybm"];
                var HUserName = "";
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_WorkTaskReportBill/getHEmpByHUserName',
                    type: "GET",
                    async: false,
                    data: { "Czybm": Czybm, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            HUserName = result.data[0]["HEmpName"];
                            layer.close(wait);
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                            layer.close(wait);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(wait);
                    }
                });
                return HUserName;
            }
            //#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].hmainid;
                            //过滤方案内码
                            HInterID = data[0].hmainid
                            //过滤方案名称
                            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);
                                }
                            }
                            //查询
                            if (addSWhereByOpenType()) {          //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                                get_FastQuery(2);
                            } else {
                                get_FastQuery(1);
                            }
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            //查询
                            if (addSWhereByOpenType()) {          //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                                get_FastQuery(2);
                            } else {
                                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
            //以上是layui模块
        //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
        function HFilterScheme(obj)  //返回过滤方案
        {
            var HInterID = obj[0].hmainid;
            HInterID_Choose = obj[0].hmainid;
            $.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].hmainid
                        //根据选择的过滤方案回填数据到列表过滤条件
                        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
    </script>
</body>