| | |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">物料编码</label> |
| | | <label class="layui-form-label">部门</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" class="layui-input" name="PartNumber" id="PartNumber" style="width:190px;"> |
| | | <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input"> |
| | | |
| | | <!--动态渲染车间--> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!--<div class="layui-inline"> |
| | | <label class="layui-form-label">部门</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" class="layui-input" name="HDeptName" id="HDeptName" style="width:190px;"> |
| | | </div> |
| | | </div>--> |
| | | <div class="layui-inline" id="HProcExchBillNoHidden" style="display:none;"> |
| | | <label class="layui-form-label">流转卡号</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" class="layui-input" name="HProcExchBillNo" id="HProcExchBillNo" style="width:190px;"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | </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"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-row" style="margin-top:5px"> |
| | | <div class="layui-inline"> |
| | | <span>其他条件></span> |
| | | </div> |
| | | |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">物料编码</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" class="layui-input" name="PartNumber" id="PartNumber" style="width:190px;"> |
| | | </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> |
| | | </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> |
| | |
| | | <table class="" id="layTable" lay-filter="layTable"></table> |
| | | <script type="text/html" id="toolbarDemo"> |
| | | <div class="layui-btn-container"> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-add-1"></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_AddNew"><i class="layui-icon layui-icon-add-1"></i>新增</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-edit"></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="btn-reload" style="display:none;"><i class="layui-icon layui-icon-refresh"></i>刷新</button> |
| | |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back" style="display:none;"><i class="layui-icon layui-icon-close-fill"></i>驳回</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details" style="display:none;"><i class="layui-icon layui-icon-form"></i>详情</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate" style="display:none;"><i class="layui-icon layui-icon-file"></i>生成送货单</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit" style="display:none;"><i class="layui-icon layui-icon-return"></i>退出</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit" style="display:none;"><i class="layui-icon layui-icon-return"></i>退出</button>--> |
| | | |
| | | </div> |
| | | </script> |
| | |
| | | var OperationType = 1;//操作类型 |
| | | } else { |
| | | var OperationType = params[params[0]];//操作类型 |
| | | var linterid = params[params[1]];//源单id |
| | | var HSouceBillType = decodeURI(params[params[2]]);//源单类型 |
| | | var HOrgID = params[params[1]];//源单id |
| | | var HSouceBillType = decodeURI(params[params[2]]);//源单类型 |
| | | } |
| | | var cols_arr = []; //存储表格头的数组 |
| | | var table = null; |
| | |
| | | //查询条件 |
| | | var sWhere = ""; |
| | | var resultTableHead = []; //获取列表头字段自定义列数组 |
| | | var HModName = ""; |
| | | var option = []; |
| | | var titleData = [];//不需要显示的字段 可扩展 |
| | | |
| | | //#endregion |
| | | |
| | |
| | | else { |
| | | layer.alert("未知操作类型!", { icon: 5 }); |
| | | } |
| | | |
| | | //获取部门列 |
| | | var HDeptName = '<option value="0" style="color:red;" selected>全部部门</option>'; |
| | | $.ajax({ |
| | | type: "get", |
| | | url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList", |
| | | data: { "HOrgID": HOrgID }, |
| | | success: function (result) { |
| | | if (result.count == 1) { // 说明验证成功了, |
| | | var data = result.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | if (i == 0) |
| | | HDeptName += '<option style="color:blue;" value="' + data[i].HItemID + '" >' + data[i].HName + '</option>'; |
| | | else |
| | | HDeptName += '<option style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>'; |
| | | |
| | | } |
| | | $("#HDeptName").append(HDeptName); |
| | | form.render('select'); |
| | | } |
| | | layer.closeAll("loading"); |
| | | } |
| | | }) |
| | | //#endregion |
| | | |
| | | //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等 |
| | | |
| | | //#region 头工具栏事件 |
| | | table.on('toolbar(mainTable)', function (obj) { |
| | | table.on('toolbar(layTable)', function (obj) { |
| | | switch (obj.event) { |
| | | //新增 |
| | | case 'set_AddNew': set_AddNew(); |
| | |
| | | //删除 |
| | | case 'set_DeleteBill': set_DeleteBill(); |
| | | break; |
| | | |
| | | //列设置 |
| | | case 'set_HideColumn': |
| | | get_HideColumn(); |
| | | break; |
| | | }; |
| | | }); |
| | | //#endregion |
| | |
| | | //#region 查询按钮 |
| | | form.on('submit(btnSearch)', function (data) { |
| | | get_FastQuery(HSouceBillType); |
| | | set_ClearBill(sWhere, HSouceBillType); |
| | | sWhere = "";//调用接口后清空sWhere缓存 |
| | | }); |
| | | //#endregion |
| | | |
| | |
| | | // #region 初始化界面 |
| | | function set_ClearBill(sWhere, HSouceBillType) { |
| | | resultTableHead = []; //清空表头列,防止重复渲染 |
| | | switch (HSouceBillType) { |
| | | case '生产订单': |
| | | HModName = "Sc_ICMOBill_3710"; |
| | | break; |
| | | case '生产汇报单': |
| | | HModName = "Sc_ICMOReportBill_3711"; |
| | | break; |
| | | case '采购订单': |
| | | HModName = "Cg_POOrderBill_1102"; |
| | | break; |
| | | case '收料通知单': |
| | | HModName = "Cg_POInStockBill_1103"; |
| | | break; |
| | | case '委外订单': |
| | | HModName = "WW_EntrustOrderBill_1601"; |
| | | break; |
| | | case '生产入库单': |
| | | $("#HProcExchBillNoHidden").show(); |
| | | HModName = "ProductInBill_1202"; |
| | | break; |
| | | case '采购入库': |
| | | HModName = "POStockInBill_1201"; |
| | | break; |
| | | case '销售退货': |
| | | HModName = "SellOutBackBill_1247"; |
| | | break; |
| | | case '生产退料': |
| | | HModName = "MateOutBackBill_1244"; |
| | | break; |
| | | } |
| | | //初始查询 |
| | | get_Display(sWhere, HSouceBillType); |
| | | |
| | |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Sc_BarCode/ReportFromBillList', |
| | | type: "GET", |
| | | data: { "page": 1, "limit": 50, "sWhere": sWhere, "HSouceBillType": HSouceBillType, "HOrgID": linterid }, |
| | | data: { "page": 1, "limit": 50, "sWhere": sWhere, "HSouceBillType": HSouceBillType, "HOrgID": HOrgID }, |
| | | async: false, |
| | | dataType: "json",//数据类型可以为 text xml json script jsonp |
| | | success: function (data1) { |
| | |
| | | set_InitGrid(data1); |
| | | }, error: function (err) { |
| | | layer.alert(err.Message, { icon: 5 }); |
| | | layer.close(ajaxLoad); |
| | | } |
| | | }); |
| | | } |
| | |
| | | for (var i = 0; i < data.length; i++) { |
| | | if (data[i].name.substr(0, 1) == 'H' || data[i].name.substr(0, 1) == 'h') { |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //隐藏id列 |
| | | titleData.push(data[i].name); |
| | | } |
| | | else { |
| | | switch (data[i].Type) { |
| | | //int |
| | | case 'Int32': |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true,width:130 }; |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 130 }; |
| | | break; |
| | | //Decimal |
| | | case 'Decimal': |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 150}; |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 150 }; |
| | | break; |
| | | default: |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200}; |
| | | cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 }; |
| | | } |
| | | } |
| | | } |
| | | //填充表格数据 |
| | | table.render({ |
| | | option = { |
| | | id: 'layTable' |
| | | , elem: '#layTable' |
| | | //, toolbar: '#toolbarDemo' |
| | | , toolbar: '#toolbarDemo' |
| | | , cols: [cols_arr[0]] |
| | | , data: data1.data == null ? [] : data1.data |
| | | , title: '' + HSouceBillType + '' |
| | |
| | | , done: function (res, curr, count) { //返回数据执行回调函数 |
| | | layer.close(layer.index); //返回数据关闭loading |
| | | } |
| | | }); |
| | | }; |
| | | table.render(option); |
| | | DisPlay_HideColumn(); |
| | | if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") { |
| | | ColFilter(); |
| | | } |
| | | } |
| | | //endregion |
| | | |
| | |
| | | var HBillNo = $("#HBillNo").val();//单据编号 |
| | | var PartNumber = $("#PartNumber").val();//物料编码 |
| | | var PartName = $("#PartName").val();//物料名称 |
| | | |
| | | var HDeptName = $("#HDeptName").val();//部门 |
| | | var HProcExchBillNo = $("#HProcExchBillNo").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; |
| | | } |
| | | |
| | | switch (HSouceBillType) { |
| | | case '生产订单': |
| | | if (HBillNo) { |
| | |
| | | } |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | | case '采购订单': |
| | |
| | | } |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | | case '委外订单': |
| | |
| | | } |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | | case '生产入库单': |
| | | if (HBillNo) { |
| | | sWhere += " and 单据号 like '%" + HBillNo + "%'"; |
| | | } |
| | | if (PartNumber) { |
| | | sWhere += " and 物料代码 like '%" + PartNumber + "%'"; |
| | | } |
| | | if (PartName) { |
| | | sWhere += " and 物料名称 like '%" + PartName + "%'"; |
| | | } |
| | | if (HDeptName && HDeptName != 0) { |
| | | sWhere += " and HDeptID = '" + HDeptName + "'"; |
| | | } |
| | | if (HProcExchBillNo!="") { |
| | | sWhere += " and 流转卡号 like '" + HProcExchBillNo + "%'"; |
| | | } |
| | | return sWhere; |
| | | break; |
| | |
| | | return sWhere; |
| | | break; |
| | | } |
| | | set_ClearBill(sWhere); |
| | | sWhere = "";//调用接口后清空sWhere缓存 |
| | | |
| | | } |
| | | //#endregion |
| | | |
| | | //隐藏列设置 |
| | | function get_HideColumn() { |
| | | |
| | | var colName = ""; |
| | | for (var i = 1; i < option.cols[0].length - 1; i++) { |
| | | colName += option.cols[0][i]["title"] + ","; |
| | | } |
| | | |
| | | var contentUrl = ""; |
| | | 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);//关闭弹窗 |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //显示列数据 物料信息 |
| | | function DisPlay_HideColumn() { |
| | | |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList', |
| | | type: "GET", |
| | | data: { "HModName": HModName, "user": sessionStorage["HUserName"] }, |
| | | async: false, |
| | | success: function (data1) { |
| | | if (data1.data.length != 0) { |
| | | |
| | | |
| | | var dataCol = [];//数据库查询出的列数据 |
| | | |
| | | |
| | | dataCol = data1.data[0].HGridString.split(','); |
| | | |
| | | for (var i = 0; i < option.cols[0].length - 2; i++) { |
| | | var dataCols = dataCol[i].split('|'); |
| | | //隐藏列 |
| | | if (dataCols[1] == 1) { |
| | | option.cols[0][i + 1]["hide"] = true; |
| | | } |
| | | //设置列宽 |
| | | if (dataCols[3] > 0) { |
| | | option.cols[0][i + 1]["width"] = dataCols[3]; |
| | | } |
| | | //设置内容字体大小 |
| | | if (data1.data[0].HFontSize != 0) { |
| | | option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;"; |
| | | } else { |
| | | option.cols[0][i + 1]["style"] = "font-size:100%"; |
| | | } |
| | | //设置列宽 |
| | | //if (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 }); |
| | | } |
| | | }) |
| | | } |
| | | //#region 重置过滤条件方法 |
| | | function set_ClearQuery() { |
| | | $("#HBillNo").val("");//单据号 |
| | | $("#PartNumber").val("");//物料编码 |
| | | $("#PartName").val("");//物料名称 |
| | | $("#HDeptName").val("");//单据号 |
| | | $("#ColContent").val(""); |
| | | $("#ColName").val("0"); |
| | | $("#Comparator").val("0"); |
| | | form.render('select'); |
| | | get_FastQuery(HSouceBillType); |
| | | sWhere = ""; |
| | | } |
| | | //#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 |
| | | |
| | | //获取参数 |
| | | function getUrlVars() { |
| | | var vars = [], hash; |
| | | var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
| | | for (var i = 0; i < hashes.length; i++) { |
| | | hash = hashes[i].split('='); |
| | | vars.push(hash[0]); |
| | | vars[hash[0]] = hash[1]; |
| | | } |
| | | return vars; |
| | | } |
| | | //#endregion |
| | | |
| | | //#endregion |