| | |
| | | <head> |
| | | <meta charset="utf-8" /> |
| | | <title>ææè®¡åæ¥è¡¨(éè´è®¢å维度)</title> |
| | | <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all"> |
| | | <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script> |
| | | <script src="../../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../../layuiadmin/Scripts/json2.js"></script> |
| | | <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/SetColumn.js"></script> |
| | | <script src="../../../layuiadmin/xm-select.js"></script> |
| | | </head> |
| | | <body> |
| | | <div class="layui-fluid"> |
| | |
| | | <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" lay-verify="HORGID">--> |
| | | <!--å¨ææ¸²æç»ç»--> |
| | | </select> |
| | | <!--</select>--> |
| | | <div id="demo1"> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row" style="margin-top:10px;"> |
| | | <div class="layui-row" style="margin: 10px 0 10px;"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 85px;">éè´è®¢åå·</label> |
| | | <div class="layui-input-block" style="margin-left: 120px;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <table class="" id="mainTable" lay-filter="mainTable"></table> |
| | | <script type="text/html" id="toolbarDemo"> |
| | | <div class="layui-btn-container"> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><i class="layui-icon layui-icon-form"></i>éèå设置</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导åº</button> |
| | | </div> |
| | | </script> |
| | | </form> |
| | | </div> |
| | | </div> |
| | |
| | | base: '../../../layuiadmin/' //éæèµæºæå¨è·¯å¾ |
| | | }).extend({ |
| | | index: 'lib/index', //主å
¥å£æ¨¡å |
| | | }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () { |
| | | }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () { |
| | | //#region å
¬ç¨åé |
| | | var $ = layui.$ |
| | | , admin = layui.admin |
| | |
| | | , util = layui.util |
| | | , tree = layui.tree |
| | | , util = layui.util |
| | | , soulTable = layui.soulTable |
| | | var sWhere = ""; |
| | | var option = []; |
| | | var HModName = "ReportPODemandPlanBillList"; |
| | | var ins = []; |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢å³å è½½ |
| | |
| | | //#endregion |
| | | |
| | | //#region 触åäºä»¶ï¼å
æ¬form.on(){}æ ¼å¼çææç¹å»äºä»¶ãéæ©äºä»¶ç |
| | | |
| | | //头工å
·æ äºä»¶ |
| | | table.on('toolbar(mainTable)', function (obj) { |
| | | switch (obj.event) { |
| | | //éèå设置 |
| | | case 'HideColumn': |
| | | get_HideColumnNoPageForPlan(HModName, option, get_FastQuery); |
| | | break; |
| | | //导åºexcel |
| | | case 'get_export': |
| | | get_Export(); |
| | | break; |
| | | }; |
| | | }); |
| | | |
| | | //#region 产åç¼ç |
| | | form.on('submit(btnHMATERIALID)', function (data) { |
| | |
| | | //#region åå§åçé¢ |
| | | function set_ClearBill() { |
| | | //åå§åæ¥æ |
| | | $("#HBEGINDATE").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd")); |
| | | $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd")); |
| | | $("#HBEGINDATE").val(Format(new Date(new Date()), "yyyy-MM-dd")); |
| | | $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), "yyyy-MM-dd")); |
| | | //ç产ç»ç»å è½½ |
| | | Organ(); |
| | | //åå§åè¡¨æ ¼ |
| | | set_InitGrid(); |
| | | ////åå§åè¡¨æ ¼ |
| | | //set_InitGrid(); |
| | | //å¿«éè¿æ»¤ |
| | | //get_FastQuery(1); |
| | | get_FastQuery(1); |
| | | |
| | | ColFilter(); |
| | | } |
| | | //#endregion |
| | | |
| | | //#region åå§åè¡¨æ ¼æ¹æ³ |
| | | function set_InitGrid() { |
| | | var columns = []; |
| | | var myDate = new Date(); |
| | | var yyyy = myDate.getFullYear(); |
| | | var MM = myDate.getMonth() + 1; |
| | | var dd = myDate.getDate(); |
| | | var SumMonth = 31; //卿䏤æä¹å·® new Date(yyyy, MM, 0).getDate() |
| | | |
| | | |
| | | columns.push({ type: 'checkbox', fixed: 'left' }); |
| | | columns.push({ field: 'åæ®å·', title: 'éè´ç»ç»' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'ç©æåç§°' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'ç©æè§æ ¼' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'ä¾åºå' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'å计' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'éè´è®¢åå·' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'éæ±åå·' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'æè¦' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: '夿³¨' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'éè´å' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'ç©æç¼ç ' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: '计éåä½' }); |
| | | columns.push({ field: 'éå®è®¢åå·', title: 'æææææ°é' }); |
| | | for (var i = 0; i <= (SumMonth - dd); i++) { |
| | | columns.push({ field: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'yyyy-MM-dd'), title: Format(yyyy + '/' + (MM - 1) + '/' + (dd + i), 'MM.dd'), edit: 'text', width: 70 })//0 |
| | | columns.push({ type: 'checkbox', fixed: 'left', sort: true, filter: true}); |
| | | columns.push({ field: 'ç»ç»', title: 'éè´ç»ç»', sort: true, filter: true}); |
| | | columns.push({ field: 'ç©æåç§°', title: 'ç©æåç§°', sort: true, filter: true}); |
| | | columns.push({ field: 'è§æ ¼åå·', title: 'ç©æè§æ ¼', sort: true, filter: true}); |
| | | columns.push({ field: 'ä¾åºå', title: 'ä¾åºå', sort: true, filter: true}); |
| | | columns.push({ field: 'FSUMQTY', title: 'å计', sort: true, filter: true }); |
| | | columns.push({ field: 'HPOOrderBillNo', title: 'éè´è®¢åå·', sort: true, filter: true }); |
| | | columns.push({ field: '客æ·è®¢åå·', title: '客æ·è®¢åå·', sort: true, filter: true }); |
| | | columns.push({ field: 'HSeOrderBillNo', title: 'éå®è®¢åå·', sort: true, filter: true}); |
| | | columns.push({ field: 'HPOOrderBillRemark', title: 'æè¦', sort: true, filter: true }); |
| | | columns.push({ field: 'HPOOrderBillNote', title: '夿³¨', sort: true, filter: true}); |
| | | columns.push({ field: 'éè´å', title: 'éè´å', sort: true, filter: true}); |
| | | columns.push({ field: 'ç©æä»£ç ', title: 'ç©æç¼ç ', sort: true, filter: true}); |
| | | columns.push({ field: '计éåä½åç§°', title: '计éåä½', sort: true, filter: true}); |
| | | columns.push({ field: 'TQSUM', title: 'æææææ°é', sort: true, totalRow: true, filter: true}); |
| | | |
| | | //è·å两个ææä¹é´çç¸å·® |
| | | var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//å¼å§æ¶é´ |
| | | var time2 = Date.parse(new Date($("#HENDDATE").val()));//ç»ææ¶é´ |
| | | var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24)); |
| | | //è·åå¹´ |
| | | var yyyy = new Date($("#HBEGINDATE").val()).getFullYear(); |
| | | //è·åæä»½ |
| | | var MM = new Date($("#HBEGINDATE").val()).getMonth() + 1; |
| | | //è·åå¼å§æä»½çæå¤§å¤©æ° |
| | | var SumMonth = new Date(yyyy, MM, 0).getDate(); //卿䏤æä¹å·® |
| | | //è·åå¼å§æ¥æçå¤©æ° |
| | | var HBEGINDATE = new Date(new Date($("#HBEGINDATE").val())).getDate(); //è·åå¼å§æ¥æå¤©æ° |
| | | |
| | | var k = 0;//æ¶éå¾ªç¯æ¬¡æ° |
| | | for (var j = 0; j <= (Days - k); j++) { |
| | | columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM-dd'), width: 70, totalRow: true }) |
| | | //跨年çè¯ ä¼ä»ä¸æä¸å·å¼å§ |
| | | if (MM == 12 && (HBEGINDATE + j) == 31) { |
| | | yyyy += 1; |
| | | MM = 1; |
| | | SumMonth = new Date(yyyy, MM, 0).getDate(); |
| | | HBEGINDATE = 0; |
| | | k += j; |
| | | j = 0; |
| | | } else if ((HBEGINDATE + j) == SumMonth) { //è·¨æ ææ°å ä¸ å¤©æ°ä»ä¸å¼å§ |
| | | HBEGINDATE = 0; |
| | | MM += 1; |
| | | SumMonth = new Date(yyyy, MM, 0).getDate(); |
| | | k += j; |
| | | j = 0; |
| | | } |
| | | } |
| | | for (var i = 1; i < dd; i++) { |
| | | columns.push({ field: Format(yyyy + '/' + MM + '/' + i, 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + i, 'MM.dd'), edit: 'text', width: 70 })//0 |
| | | } |
| | | columns.push({ field: 'hmainid', title: 'ææè®¡åå计' }); |
| | | |
| | | columns.push({ |
| | | field: 'PLANSUM', title: 'ææè®¡åå计', filter: true }); |
| | | |
| | | option = { |
| | | elem: '#mainTable' |
| | | , toolbar: '#toolbarDemo' |
| | | , height: 'full-50' |
| | | , title: "ææè®¡åæ¥è¡¨ï¼éè´è®¢åï¼" |
| | | , page: true |
| | | , cellMinWidth: 90 |
| | | , totalRow: true |
| | | , limit: 50 |
| | | , limits: [50, 500, 5000, 20000] |
| | | , loading: false |
| | | , cols: [columns] |
| | | , done: function (res, curr, count) { |
| | | soulTable.render(this); |
| | | } |
| | | }; |
| | | table.render(option); |
| | | } |
| | | //#endregion |
| | | |
| | | |
| | | //è·åç»ç» |
| | | function Organ() { |
| | | //è·åç»å½é¡µç»ç»å |
| | | var Organization = ''; |
| | | var selectDataList = []; |
| | | $.ajax({ |
| | | type: "get", |
| | | url: GetWEBURL() + "/Web/GetOrganizations", |
| | | async: false, |
| | | success: function (result) { |
| | | if (result.count == 1) { // 说æéªè¯æåäºï¼ |
| | | var data = result.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | Organization += '<option style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>'; |
| | | /*Organization += '<option style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';*/ |
| | | var selectData = { name: data[i].Name, value: data[i].ID }; |
| | | selectDataList.push(selectData); |
| | | } |
| | | $("#HORGID").append(Organization); |
| | | $("#HORGID").val(sessionStorage["OrganizationID"]) |
| | | //$("#HORGID").append(Organization); |
| | | //$("#HORGID").val(sessionStorage["OrganizationID"]) |
| | | var demo1 = xmSelect.render({ |
| | | el: '#demo1', |
| | | language: 'zn', |
| | | /*initValue: [sessionStorage["OrganizationID"]],*///é»è®¤é项 |
| | | data: selectDataList |
| | | }) |
| | | form.render('select'); |
| | | } |
| | | layer.closeAll("loading"); |
| | |
| | | success: function (result) { |
| | | if (result.count == 1) { |
| | | option.data = result.data; |
| | | table.render(option); |
| | | //å设置 |
| | | DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option); |
| | | ins = table.render(option); |
| | | layer.close(ajaxLoad); |
| | | //layer.alert("æ¥è¯¢æå", { icon: 1 }); |
| | | } else { |
| | |
| | | //#region å¿«éè¿æ»¤ |
| | | function get_FastQuery(number) { |
| | | var HORGID = ""; |
| | | if (number == 1) { |
| | | HORGID = sessionStorage["OrganizationID"]; |
| | | } |
| | | else { |
| | | HORGID = $("#HORGID").val();//ç»ç» |
| | | set_InitGrid()//æ¯æ¬¡æ¥è¯¢åè®¾ç½®é¡µé¢ |
| | | //if (number == 1) { |
| | | // HORGID = sessionStorage["OrganizationID"]; |
| | | //} |
| | | //else { |
| | | // HORGID = $("#HORGID").val();//ç»ç» |
| | | //} |
| | | var xmList = xmSelect.get('#demo1', true);//è·åéæ©æ¡å®ä¾ |
| | | var xmValueStr = xmList.getValue("valueStr")//è·åå¼å符串 |
| | | if (xmValueStr == "") { |
| | | HORGID = "'0'" |
| | | } else { |
| | | HORGID = "'" + xmValueStr + "'" |
| | | } |
| | | var HBEGINDATE = $("#HBEGINDATE").val();//æææ¥æ |
| | | var HENDDATE = $("#HENDDATE").val();//è³ |
| | |
| | | var HSUPPLIERID = $("#HSUPPLIERID").val();//ä¾åºå |
| | | var HXQD = $("#HXQD").val();//éæ±åå· |
| | | var HPURORDERNO = $("#HPURORDERNO").val();//éè´è®¢åå· |
| | | if (HBEGINDATE > HENDDATE) { |
| | | return layer.msg("å¼å§æ¥æä¸è½å°äºç»ææ¥æ!"); |
| | | } |
| | | |
| | | sWhere = { |
| | | HORGID: HORGID |
| | |
| | | //#region éç½®è¿æ»¤æ¡ä»¶æ¹æ³ |
| | | function set_ClearQuery() { |
| | | $("#HORGID").val(sessionStorage["OrganizationID"]);//ç»ç» |
| | | $("#HBEGINDATE").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//æææ¥æ |
| | | $("#HENDDATE").val(Format(new Date(), "yyyy-MM-dd"));//è³ |
| | | $("#HMATERIALID").val("");//ç©æ/产å |
| | | $("#HBEGINDATE").val(Format(new Date(new Date()), "yyyy-MM-dd"));//æææ¥æ |
| | | $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), "yyyy-MM-dd"));//è³ |
| | | $("#HMATERIALID").val("0");//ç©æ/产å |
| | | $("#HMATERIALNAME").val(""); |
| | | $("#HSUPPLIERID").val("");//ä¾åºå |
| | | $("#HSUPPLIERID").val("0");//ä¾åºå |
| | | $("#HSUPPLIERNAME").val(""); |
| | | $("#HXQD").val("");//éæ±åå· |
| | | $("#HPURORDERNO").val("");//éè´è®¢åå· |
| | |
| | | , area: ['90%', '90%']//å¤§å° |
| | | , title: 'ç©æå表'//æ é¢ |
| | | , shift: 2//å¼¹åºå¨ç» |
| | | , content: ['../../Baseset/åºç¡èµæ/Gy_MaterialList.html', 'yes'] |
| | | , content: ['../../åºç¡èµæ/å
¬ç¨åºç¡èµæ/Gy_Material.html', 'yes'] |
| | | , btn: ['ç¡®å®', 'åæ¶'] |
| | | , btn1: function (index, layero) {//æé®ãæé®ä¸ãçåè° |
| | | var iframeWindow = window['layui-layer-iframe' + index] //è·åå¼¹æ¡é¡µé¢ |
| | |
| | | } |
| | | //è·åæ°æ® |
| | | $("#HMATERIALID").val(checkStatus.data[0].HItemID); |
| | | $("#HMATERIALNAME").val(checkStatus.data[0].HName); |
| | | $("#HMATERIALNAME").val(checkStatus.data[0].ç©æåç§°); |
| | | layer.close(index); //å®è·åçå§ç»æ¯ææ°å¼¹åºçæä¸ªå±ï¼å¼æ¯ç±layerå
é¨å¨æéå¢è®¡ç®ç |
| | | } |
| | | , btn2: function (index, layero) { } |
| | |
| | | , area: ['90%', '90%']//å¤§å° |
| | | , title: 'ä¾åºåå表'//æ é¢ |
| | | , shift: 2//å¼¹åºå¨ç» |
| | | , content: ['../../Baseset/åºç¡èµæ/Gy_SupplierList.html', 'yes'] |
| | | , content: ['../../åºç¡èµæ/éè´åºç¡èµæ/Gy_Supplier.html?Type=HSup', 'yes'] |
| | | , btn: ['ç¡®å®', 'åæ¶'] |
| | | , btn1: function (index, layero) {//æé®ãæé®ä¸ãçåè° |
| | | var iframeWindow = window['layui-layer-iframe' + index] //è·åå¼¹æ¡é¡µé¢ |
| | |
| | | } |
| | | //è·åæ°æ® |
| | | $("#HSUPPLIERID").val(checkStatus.data[0].HItemID); |
| | | $("#HSUPPLIERNAME").val(checkStatus.data[0].HName); |
| | | $("#HSUPPLIERNAME").val(checkStatus.data[0].ä¾åºååç§°); |
| | | layer.close(index); //å®è·åçå§ç»æ¯ææ°å¼¹åºçæä¸ªå±ï¼å¼æ¯ç±layerå
é¨å¨æéå¢è®¡ç®ç |
| | | } |
| | | , btn2: function (index, layero) { } |
| | | }) |
| | | } |
| | | |
| | | function get_Export() { |
| | | var data = option.data; |
| | | data.forEach((item) => { |
| | | for (let itemobj in item) { |
| | | if (item[itemobj] == null) { |
| | | item[itemobj] = ""; |
| | | } |
| | | if (item[itemobj].length > 0) { // åè®¾åæ®µå为field |
| | | item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, ''); // å°æ¢è¡ç¬¦æ¿æ¢ä¸ºç©ºå符串 |
| | | item[itemobj] = item[itemobj].toString().replace(/[,]+/g, 'ï¼'); // å°æ¢åå·æ¿æ¢ä¸ºç©ºå符串 |
| | | } |
| | | } |
| | | }); |
| | | table.exportFile(ins.config.id, data, "xls"); |
| | | } |
| | | |
| | | //åææ¾ç¤ºä¸ææ¡ |
| | | 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); |
| | | $("#ColName1").empty(); |
| | | $("#ColName1").append(Organization); |
| | | $("#ColName2").empty(); |
| | | $("#ColName2").append(Organization); |
| | | |
| | | form.render('select'); |
| | | } |
| | | function addTotalField(arr) { |
| | | return arr.map(obj => { |
| | | // å建æ°å¯¹è±¡ï¼é¿å
ä¿®æ¹å对象 |
| | | const newObj = { ...obj }; |
| | | |
| | | // 计ç®ç¬¦åæ¥ææ ¼å¼çåæ®µå¼çå计 |
| | | let total = 0; |
| | | for (const [key, value] of Object.entries(obj)) { |
| | | if (isValidDate(key)) { |
| | | // ç¡®ä¿å¼æ¯æ°åç±»å |
| | | const numValue = Number(value); |
| | | if (!isNaN(numValue)) { |
| | | total += numValue; |
| | | } |
| | | } |
| | | } |
| | | // å¤çæµ®ç¹æ°ç²¾åº¦é®é¢ |
| | | const roundedTotal = parseFloat(total.toFixed(2)); |
| | | |
| | | // æ·»å ææè®¡ååè®¡åæ®µ |
| | | newObj['ææè®¡åå计'] = roundedTotal; |
| | | |
| | | return newObj; |
| | | }); |
| | | } |
| | | |
| | | //#endregion |
| | | //以䏿¯layui模å |
| | | }); |
| | | function GetHSupNameValue(obj) { |
| | | $("#HSUPPLIERID").val(obj[0].HItemID); |
| | | $("#HSUPPLIERNAME").val(obj[0].ä¾åºååç§°); |
| | | } |
| | | function GetGyMaterial(obj) { |
| | | $("#HMATERIALID").val(obj.HItemID); |
| | | $("#HMATERIALNAME").val(obj.ç©æåç§°); |
| | | } |
| | | </script> |