1
wangbin
2024-07-08 3dfe7dfe993869c8a44e9ccf177849abe98ca8d0
WebTM/views/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_RepairList.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/layui/lay/modules/util.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style media="screen">
        .custom-tree-item-clicked {
            color: #FC9003
@@ -28,6 +29,11 @@
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">代码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
@@ -44,7 +50,35 @@
                                    <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-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </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>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
@@ -53,8 +87,12 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>预览</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit" id="btn-Audit"><i class="layui-icon layui-icon-radio"></i>反审核</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></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="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
@@ -88,10 +126,16 @@
            //查询条件
            var sWhere = "";
            var option = [];
            var HModName = "Gy_RepairList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["hitemid","hparentid"];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            var params = getUrlVars();
            var Type = params[params[0]];
            //初始化表格
            set_ClearBill();
            //#endregion
@@ -110,6 +154,9 @@
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                    //导入
                    case 'set_SouceExcel': set_SouceExcel();
                        break;
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
@@ -117,14 +164,19 @@
                    case 'btn-view':
                        get_ViewReport();
                        break;
                    //审核
                    case 'btn-Audit': set_AuditBill();
                    //审核按钮
                    case 'btn-Audit':
                        set_CheckBill(0);
                        break;
                    //反审核
                    case 'btn-DeAudit': set_DeAuditBill();
                    //反审核按钮
                    case 'btn-DeAudit':
                        set_CheckBill(1);
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                };
            });
@@ -141,6 +193,37 @@
                get_FastQuery();
            });
            //#endregion
            //代码回车方法
            $('#HNumber').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery();
                }
            });
            //名称回车方法
            $('#HName').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery();
                }
            });
            //#region åŒå‡»è¿”回数据
            table.on('rowDouble(mainTable)', function (obj) {
                var data = [];
                data.push(obj.data);
                switch (Type) {
                    case "service":  //返回职员
                        parent.GetRepairServiceValue(data);
                        break;
                    default:
                        parent.GetRepairValue(data);
                        break;
                }
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            });
            //初始化表格
            function set_ClearBill() {
@@ -158,22 +241,34 @@
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , limits: [50, 500, 5000, 20000]
                    , limit: 50 //每页默认显示的数量
                    , limits: [50, 500, 5000, 50000]
                    , limit: 50
                    , cellMinWidth: 90
                    , cols: [[
                        { type: 'checkbox', fixed: 'left' }
                        , { field: 'HItemID', title: 'HItemID', sort: true, hide: true }
                        , { field: 'HNumber', title: '保养项目代码', width: 200 }
                        , { field: 'HName', title: '保养项目名称', width: 200 }
                        , { field: 'HLevel', title: '等级', width: 200 }
                        , { field: 'HEndFlag', title: '明细标记', width: 200 }
                        , { field: 'HStopFlag', title: '禁用标记', width: 200 }
                        , { field: 'HRemark', title: '备注', width: 200 }
                        , { field: 'HUseFlag', title: '使用标记', width: 200 }
                    ]]
                    //, cols: [[
                    //    { type: 'checkbox', fixed: 'left' }
                    //    , { field: 'HItemID', title: 'HItemID', sort: true, hide: true }
                    //    , { field: 'HNumber', title: '保养项目代码', width: 200 }
                    //    , { field: 'HName', title: '保养项目名称', width: 200 }
                    //    , { field: 'HLevel', title: '等级', width: 200 }
                    //    , { field: 'HEndFlag', title: '明细标记', width: 200 }
                    //    , { field: 'HStopFlag', title: '禁用标记', width: 200 }
                    //    , { field: 'HRemark', title: '备注', width: 200 }
                    //    , { field: 'HUseFlag', title: '使用标记', width: 200 }
                    //]]
                };
            }
            //导入
            function set_SouceExcel() {
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '维修项目导入'
                    , shift: 0//弹出动画
                    , content: '../基础资料/Gy_Repair_Excel.html?OperationType=dao&HSouceBillType='
                })
            }
            //查询
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
@@ -184,9 +279,53 @@
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option.data = data1.data;
                            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 = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 50000]
                                , limit: 50
                                , cellMinWidth: 90
                            }
                            table.render(option);
                            //刷新表格数据
                            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 });
@@ -195,6 +334,7 @@
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
@@ -203,11 +343,36 @@
            function get_FastQuery() {
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HNumber) {
                    sWhere += " and HNumber like '%" + HNumber + "%'";
                    sWhere += " and ç»´ä¿®é¡¹ç›®ä»£ç  like '%" + HNumber + "%'";
                }
                if (HName) {
                    sWhere += " and HName like '%" + HName + "%'";
                    sWhere += " and ç»´ä¿®é¡¹ç›® like '%" + HName + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
@@ -218,6 +383,11 @@
            function set_ClearQuery() {
                $("#HNumber").val("");
                $("#HName").val("");
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                form.render('select');
                sWhere = "";
                get_Display(sWhere);
            }
@@ -230,10 +400,10 @@
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '新增保养项目',
                    title: '新增维修项目',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    area: ['100%', '100%'],
                    maxmin: true,
                    content: ['../基础资料/Gy_RepairEdit.html?OperationType=1&linterid=&HSouceBillType='],
                    end: function () {
@@ -252,12 +422,12 @@
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var hID = data[0].HItemID.toString();
                    var hID = data[0].hitemid.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '编辑器具领用单'
                        , title: '编辑维修项目'
                        , closeBtn: 1
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
@@ -276,6 +446,26 @@
                    layer.msg('请选择一行数据编辑!');
                }
            };
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //删除
            function set_DeleteBill() {
@@ -288,7 +478,7 @@
                            $.ajax({
                                url: GetWEBURL() + '/Gy_Repair/DeleteRepair',
                                type: "GET",
                                data: { "HItemID": data[0].HItemID, "User": sessionStorage["HUserName"] },
                                data: { "HItemID": data[0].hitemid, "User": sessionStorage["HUserName"] },
                                success: function (result) {
                                    if (result.count == 1) {
                                        layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
@@ -334,22 +524,17 @@
                }
            }
            //审核
            function set_AuditBill() {
            //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HBillStatus = data[0].HBillStatus.toString(); //单据状态
                    var HInterID = data[0].hmainid.toString();
                    if (HBillStatus > 0) {
                        layer.msg('单据不为未审核状态!');
                        return false;
                    }
                    var InterID = data[0].hitemid.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Mould/AuditProcessReportList", //方法所在页面和方法名
                        data: { "HInterID": HInterID, "IsAudit": 0, "CurUserName": sessionStorage["HUserName"] },
                        url: GetWEBURL() + "/Gy_Repair/AuditGy_Repair", //方法所在页面和方法名
                        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 () {
@@ -373,49 +558,152 @@
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //反审核
            function set_DeAuditBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HBillStatus = data[0].HBillStatus.toString(); //单据状态
                    var HInterID = data[0].hmainid.toString();
                    if (HBillStatus = 0) {
                        layer.msg('单据已为未审核状态,无需反审核!');
                        return false;
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Mould/AuditProcessReportList", //方法所在页面和方法名
                        data: { "HInterID": HInterID, "IsAudit": 1, "CurUserName": 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 DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region åˆ—明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                form.render('select');
            }
            //#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
            //以上是layui模块
        });