| | |
| | | <div class="layui-col-xs4 layui-inline"> |
| | | <label class="layui-form-label">æºåç±»å</label> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" name="HSourceBillType" id="HSourceBillType" value="0"> |
| | | <select name="HSourceBillType" id="HSourceBillType" lay-verify="HSourceBillType"> |
| | | <!--å¨ææ¸²ææºåç±»å--> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs4 layui-inline"> |
| | | <label class="layui-form-label">éåå·</label> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" name="Box2" id="Box2" autocomplete="off"> |
| | | <input type="text" name="" id="" class="layui-input" value="" style="float:left;width:150px;"> |
| | | |
| | | <button type="button" lay-submit="" class="layui-btn" lay-filter="XDHList" id="XDHList" style="width:40px;"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i> |
| | | </button> |
| | | </div> |
| | | <!--<label class="layui-form-label">éåå·</label> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" name="Box2" id="Box2" autocomplete="off"> |
| | | </div>--> |
| | | </div> |
| | | <div class="layui-col-xs4 layui-inline"> |
| | | <label class="layui-form-label">è´è´£äºº</label> |
| | |
| | | <input type="text" class="layui-input" name="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;" readonly> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <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="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly> |
| | |
| | | //夿æ¯å¦ç»å½ æªç»å½åè·³å°ç»å½é¡µ |
| | | get_LoginIs(); |
| | | Organ();//æ¾ç¤ºç»ç» |
| | | //è·åæºåç±»å |
| | | HSourceBillType(); |
| | | //è·å页é¢è·³è½¬åæ° |
| | | var params = get_UrlVars(); |
| | | var OperationType = params[params[0]]; //ä»åæ°ä¸è·å æ°æ®ç±»å 1æ·»å ä¿å 2å¤å¶ 3 ç¼è¾ |
| | |
| | | "HMaterID": 0, "ç©æä»£ç ": "", "ç©æåç§°": "", "è§æ ¼åå·": "", "HAuxPropID": 0, "ç©æè¾
å©å±æ§": "", "HUnitID": 0, "计éåä½": "", "HQtyMust": "", "HQty": "", "HRemark": "", |
| | | "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "æ¶æä»åº": "", |
| | | "HSPID": 0, "ä»ä½åç§°": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0, |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "" |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "", |
| | | "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0, |
| | | }]; |
| | | // åå§åç |
| | | set_InitGrid(); |
| | |
| | | "HMaterID": 0, "ç©æä»£ç ": "", "ç©æåç§°": "", "è§æ ¼åå·": "", "HAuxPropID": 0, "ç©æè¾
å©å±æ§": "", "HUnitID": 0, "计éåä½": "", "HQtyMust": "", "HQty": "", "HRemark": "", |
| | | "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "æ¶æä»åº": "", |
| | | "HSPID": 0, "ä»ä½åç§°": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0, |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "" |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "", |
| | | "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0, |
| | | }; |
| | | switch (obj.event) { |
| | | case 'btn-AddLine': |
| | |
| | | //#endregion |
| | | |
| | | |
| | | //#region çå¬åå
æ ¼ç¼è¾ åå
æ ¼ç¼è¾å åæ´ |
| | | table.on('edit(mainTable)', function (obj) { |
| | | //æ°å¼æ ¼å¼æ ¡éªå·¥å
· |
| | | var ref = /^\d+(\.\d+)?$/; //éè´æ°æ£åè¡¨è¾¾å¼ |
| | | var temp = ""; |
| | | |
| | | // åå
æ ¼ç¼è¾ä¹åçå¼ |
| | | var oldText = $(this).prev().text(); |
| | | var value = obj.value //å¾å°ä¿®æ¹åçå¼ |
| | | , data = obj.data //å¾å°æå¨è¡ææé®å¼ |
| | | , field = obj.field; //å¾å°å段 |
| | | |
| | | switch (field) { |
| | | case "HQty": //æ°é |
| | | //æ°æ®æ ¼å¼æ ¡éª |
| | | temp = value + ""; |
| | | if (!ref.test(temp) || temp == 0) { |
| | | //æ¢å¤æ°æ®å°ç¼è¾å |
| | | obj.update({ |
| | | HQty: oldText |
| | | }); |
| | | table.render(option); |
| | | |
| | | layer.msg("æ°é请è¾å
¥å¤§äº0çæ°å!"); |
| | | return; |
| | | } |
| | | |
| | | |
| | | //æ°æ®æ ¡éªåæ ¼ï¼éç®è®°å½ |
| | | var HQty = value * 1; //æ°é |
| | | var HPrice = obj.data.HPrice * 1; //åä»· |
| | | var HMoney = HQty * HPrice; //éé¢=æ°é*åä»· |
| | | |
| | | |
| | | |
| | | //åæ¥æ´æ°è¡¨æ ¼åç¼å对åºçå¼ |
| | | obj.update({ |
| | | HQty: HQty |
| | | , HPrice: HPrice |
| | | , HMoney: HMoney |
| | | }); |
| | | /* table.render(option);*/ |
| | | break; |
| | | case "HPrice": //åä»· |
| | | //æ°æ®æ ¼å¼æ ¡éª |
| | | temp = value + ""; |
| | | if (!ref.test(temp) || temp == 0) { |
| | | //æ¢å¤æ°æ®å°ç¼è¾å |
| | | obj.update({ |
| | | HPrice: oldText |
| | | }); |
| | | /* table.render(option);*/ |
| | | |
| | | layer.msg("å价请è¾å
¥å¤§äº0çæ°å!"); |
| | | return; |
| | | } |
| | | |
| | | //æ°æ®æ ¡éªåæ ¼ï¼éç®è®°å½ |
| | | var HQty = obj.data.HQty * 1; //æ°é |
| | | var HPrice = value * 1; |
| | | var HMoney = HQty * HPrice; //éé¢=æ°é*åä»· |
| | | |
| | | |
| | | //åæ¥æ´æ°è¡¨æ ¼åç¼å对åºçå¼ |
| | | obj.update({ |
| | | HQty: HQty |
| | | , HPrice: HPrice |
| | | , HMoney: HMoney |
| | | }); |
| | | break; |
| | | case "HMoney": //éé¢ |
| | | //æ°æ®æ ¼å¼æ ¡éª |
| | | temp = value + ""; |
| | | if (!ref.test(temp) || temp == 0) { |
| | | //æ¢å¤æ°æ®å°ç¼è¾å |
| | | obj.update({ |
| | | HMoney: oldText |
| | | }); |
| | | /* table.render(option);*/ |
| | | |
| | | layer.msg("éé¢è¯·è¾å
¥å¤§äº0çæ°å!"); |
| | | return; |
| | | } |
| | | |
| | | //æ°æ®æ ¡éªåæ ¼ï¼éç®è®°å½ |
| | | var HQty = obj.data.HQty * 1; //æ°é |
| | | var HMoney = value * 1; |
| | | var HPrice = (HMoney / HQty).toFixed(2); //åä»·=éé¢/æ°é |
| | | |
| | | |
| | | //åæ¥æ´æ°è¡¨æ ¼åç¼å对åºçå¼ |
| | | obj.update({ |
| | | HQty: HQty |
| | | , HPrice: HPrice |
| | | , HMoney: HMoney |
| | | }); |
| | | break; |
| | | table.render(option); |
| | | default: |
| | | } |
| | | }); |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | |
| | | //#region æ¬é¡µé¢ææè¢«è°ç¨çæ¹æ³ |
| | | |
| | | //#region 夿æ¯å¦ç»å½ æªç»å½åè·³å°ç»å½é¡µ |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | //å表 |
| | | |
| | | function set_InitGrid() { |
| | | option = { |
| | |
| | | , cols: [[ //å表 |
| | | { type: 'checkbox', totalRowText: 'å计è¡' } |
| | | , { type: 'numbers', title: 'åºå·', width: 100, totalRow: true } |
| | | , { type: 'HSourceBillNo', title: 'æºåå·', width: 100, hide: true }//æºåå· |
| | | , { field: 'HSourceBillType', title: 'æºåç±»å', width: 100, hide: true }//æºåç±»å |
| | | , { type: 'HSourceInterID', title: 'æºå主å
ç ', width: 100, hide: true }//æºå主å
ç |
| | | , { field: 'HSourceEntryID', title: 'æºååå
ç ', width: 100, hide: true }//æºååå
ç |
| | | , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true } |
| | | , { field: 'ç©æä»£ç ', title: 'ç©æä»£ç ', width: 150, edit: 'text', event: "HMaterID" }//f7 |
| | | , { field: 'ç©æåç§°', title: 'ç©æåç§°', width: 150, } |
| | |
| | | ]] |
| | | } |
| | | |
| | | option.data = rowdata; |
| | | option.data = []; |
| | | table.render(option); |
| | | } |
| | | |
| | |
| | | , "HManagerID": data.HManagerID |
| | | , "HManagerName": data.è´è´£äºº |
| | | , "HExRate": data.æ±ç |
| | | , "Box2": "" |
| | | //, "Box2": "" |
| | | , "HRemark": data.è¡¨å¤´å¤æ³¨ |
| | | , "HMaker": data.å¶å人 |
| | | , "HChecker": data.å®¡æ ¸äºº |
| | |
| | | { |
| | | "HMaterID": subdata[i].HMaterID, "ç©æä»£ç ": subdata[i].ç©æä»£ç , "ç©æåç§°": subdata[i].ç©æåç§°, "è§æ ¼åå·": subdata[i].è§æ ¼åå·, "HAuxPropID": subdata[i].HAuxPropID, "ç©æè¾
å©å±æ§": subdata[i].ç©æè¾
å©å±æ§, "HUnitID": subdata[i].HUnitID, "计éåä½": subdata[i].计éåä½, |
| | | "HQtyMust": subdata[i].åºæ¶æ°é, "HQty": subdata[i].宿¶æ°é, "HRemark": subdata[i].表ä½å¤æ³¨, "HPrice": subdata[i].åä»·, "HMoney": subdata[i].éé¢, "HOrderPrice": subdata[i].éè´éé¢, "HWHID": subdata[i].HWHID, "æ¶æä»åº": subdata[i].æ¶æä»åº, "HSPID": subdata[i].HSPID, "ä»ä½åç§°": subdata[i].ä»ä½åç§°, |
| | | "HBatchNo": subdata[i].æ¹æ¬¡ |
| | | "HBatchNo": subdata[i].æ¹æ¬¡, |
| | | "HSourceBillNo": subdata[i].æºååå·, //æºåå· |
| | | "HSourceBillType": subdata[i].æºåç±»å, //æºåç±»å |
| | | "HSourceInterID": subdata[i].æºå主å
ç , //æºå主å
ç |
| | | "HSourceEntryID": subdata[i].æºååå
ç //æºååå
ç |
| | | } |
| | | ) |
| | | } |
| | |
| | | return; |
| | | } |
| | | |
| | | |
| | | var num = []; |
| | | for (var i = 0; i < table.cache["mainTable"].length; i++) { |
| | | if (table.cache["mainTable"][i] != "") { |
| | |
| | | num.push(table.cache["mainTable"][i]) |
| | | } |
| | | } |
| | | |
| | | checkDuplicateData(num); |
| | | const duplicateRows = checkDuplicateData(num); |
| | | if (duplicateRows.length > 0) { |
| | | let message = 'è¡¨æ ¼ä¸åå¨é夿°æ®ï¼éå¤è¡æ°ä¸ºï¼'; |
| | | |
| | | for (let i = 0; i < duplicateRows.length; i++) { |
| | | const { row1, row2 } = duplicateRows[i]; |
| | | message += `第${row1}è¡ä¸ç¬¬${row2}è¡ç¸å`; |
| | | |
| | | if (i !== duplicateRows.length - 1) { |
| | | message += 'ï¼'; |
| | | } |
| | | } |
| | | |
| | | message += 'ï¼è¯·å é¤å
¶ä¸ä¸è¡'; |
| | | layer.alert(message); |
| | | } |
| | | |
| | | |
| | | var sMainStr = JSON.stringify(data.field); |
| | | var sSubStr = JSON.stringify(num); |
| | |
| | | "HMaterID": 0, "ç©æä»£ç ": "", "ç©æåç§°": "", "è§æ ¼åå·": "", "HAuxPropID": 0, "ç©æè¾
å©å±æ§": "", "HUnitID": 0, "计éåä½": "", "HQtyMust": "", "HQty": "", "HRemark": "", |
| | | "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "æ¶æä»åº": "", |
| | | "HSPID": 0, "ä»ä½åç§°": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0, |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "" |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "", |
| | | "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0, |
| | | }; |
| | | |
| | | table.cache["mainTable"].push(NewRow); |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | //è¡å
äºä»¶ |
| | | table.on('tool(mainTable)', function (obj) { |
| | | set_GridDelete(obj); //è¡å
å é¤ |
| | | set_GridCellCheck(obj); //è¡å
å¿«æ·é®çé |
| | | |
| | | }); |
| | | |
| | | //卿弹åºé¡µé¢ |
| | | function getSupType() { |
| | | var type = $("#HSourceBillType").val(); |
| | | switch (type) { |
| | | case '1102': |
| | | return { url: "../../éè´ç®¡ç/éè´è®¢å/Cg_POOrderBillList.html", name: "éè´è®¢å" }; |
| | | break; |
| | | case '1103': |
| | | return { url: "../../éè´ç®¡ç/æ¶æéç¥å/Cg_POInStockBillList.html", name: "æ¶æéç¥å" }; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //表头信æ¯éæ©åæ®å¼¹çª |
| | | form.on('submit(XDHList)', function () { |
| | | |
| | | if ($("#HSourceBillType").val() == 0 || $("#HSourceBillType").val() == null) { |
| | | return layer.msg('è¯·éæ©åæ®ç±»å'); |
| | | } |
| | | var url = getSupType().url; |
| | | url = encodeURI(url); |
| | | |
| | | //页é¢å±-èªå®ä¹ |
| | | layer.open({ |
| | | type: 2 |
| | | , skin: "layui-layer-rim" //å ä¸è¾¹æ¡ |
| | | , title: '' + getSupType().name + 'å表' //æ é¢ |
| | | , closeBtn: 1 //çªä½å³ä¸è§å
³é ç æ ·å¼ |
| | | , shift: 2 //å¼¹åºå¨ç» |
| | | , area: ["90%", "90%"] //çªä½å¤§å° |
| | | , maxmin: true //设置æå¤§æå°æé®æ¯å¦æ¾ç¤º |
| | | , content: [url, "yes"] |
| | | , btn: ["ç¡®å®", "åæ¶"] |
| | | , btn1: function (index, laero) { |
| | | //æé®ä¸ çåè° |
| | | var iframeWindow = window["layui-layer-iframe" + index];//è·åå¼¹æ¡é¡µé¢ |
| | | var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//è·åéä¸çæ°æ® |
| | | |
| | | if (checkStatus.data.length == 0) { |
| | | return layer.msg("请è³å°éæ©ä¸æ¡æ°æ®!"); |
| | | } |
| | | layer.alert("ä½ å·²éæ©" + checkStatus.data.length + "æ¡æ°æ®"); |
| | | //è·åæ¶æéç¥å代ç |
| | | var ProcessNumber = []; |
| | | for (var i = 0; i < checkStatus.data.length; i++) { |
| | | ProcessNumber.push(checkStatus.data[i]); |
| | | } |
| | | |
| | | //è·åå½åä½ç½®æå¨è¡æ° |
| | | var NowNum = 0; |
| | | NowNum = option.data.length; |
| | | |
| | | if (getSupType().name == "éè´è®¢å") { |
| | | var j = 0; |
| | | for (var i = 0; i < checkStatus.data.length; i++) { |
| | | option.data.push({ |
| | | "HMaterID": checkStatus.data[j].HMaterID, "ç©æä»£ç ": checkStatus.data[j].ç©æä»£ç , "ç©æåç§°": checkStatus.data[j].ç©æåç§°, "è§æ ¼åå·": checkStatus.data[j].è§æ ¼åå·, |
| | | "HUnitID": checkStatus.data[j].HUnitID, "计éåä½": checkStatus.data[j].计éåä½, |
| | | "HQty": checkStatus.data[j].æ°é, "HPrice": checkStatus.data[j].åä»·, |
| | | "HMoney": checkStatus.data[j].éé¢, |
| | | "HSourceBillNo": checkStatus.data[j].åæ®å·, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid, |
| | | }) |
| | | j++; |
| | | } |
| | | table.render(option); |
| | | layer.close(index); |
| | | } else if (getSupType().name =="æ¶æéç¥å") { |
| | | var j = 0; |
| | | for (var i = 0; i < ProcessNumber.length; i++) { |
| | | option.data.push({ |
| | | "HMaterID": checkStatus.data[j].HMaterID, "ç©æä»£ç ": checkStatus.data[j].ç©æä»£ç , "ç©æåç§°": checkStatus.data[j].ç©æåç§°, "è§æ ¼åå·": checkStatus.data[j].è§æ ¼åå·, |
| | | " ": 0, "ç©æè¾
å©å±æ§": "", "HUnitID": checkStatus.data[j].HUnitID, "计éåä½": checkStatus.data[j].计éåä½, "HQtyMust": "", "HQty": checkStatus.data[j].æ°é, "HRemark": "", |
| | | "HPrice": checkStatus.data[j].åä»·, "HMoney": checkStatus.data[j].éé¢, "HOrderPrice": "0", "HWHID": checkStatus.data[j].HWHID, "æ¶æä»åº": checkStatus.data[j].æ¶æä»åº, |
| | | "HSPID": checkStatus.data[j].HSPID, "ä»ä½åç§°": checkStatus.data[j].ä»ä½åç§°, "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0, |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "", |
| | | "HSourceBillNo": checkStatus.data[j].åæ®å·, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid, |
| | | }) |
| | | j++; |
| | | } |
| | | table.render(option); |
| | | layer.close(index);//å
³éå¼¹çª |
| | | } |
| | | |
| | | } |
| | | |
| | | }); |
| | | }); |
| | | //夿æéçä¸è¡¨æ ¼æ¯å¦æé夿°æ® |
| | | function checkDuplicateData(data) { |
| | | const duplicates = []; |
| | | |
| | | for (let i = 0; i < data.length; i++) { |
| | | const currentItem = data[i]; |
| | | let isDuplicate = false; |
| | | |
| | | for (let j = i + 1; j < data.length; j++) { |
| | | const compareItem = data[j]; |
| | | |
| | | if (currentItem.HSourceInterID === compareItem.HSourceInterID && currentItem.HSourceEntryID === compareItem.HSourceEntryID) { |
| | | isDuplicate = true; |
| | | duplicates.push({ row1: i + 1, row2: j + 1 }); // è®°å½é夿°æ®æå¨è¡æ° |
| | | } |
| | | } |
| | | if (isDuplicate && !duplicates.some(item => item.row1 === i + 1)) { |
| | | duplicates.push({ row1: i + 1, row2: -1 }); // è®°å½é夿°æ®æå¨è¡æ°ï¼-1 è¡¨ç¤ºæªæ¾å°ä¸å½åè¡éå¤çè¡ |
| | | } |
| | | } |
| | | return duplicates; |
| | | } |
| | | //è¡å
å é¤ |
| | | function set_GridDelete(obj) { |
| | | var data = obj.data; |
| | |
| | | } |
| | | //#endregion |
| | | |
| | | //#region è·åæºåç±»å |
| | | function HSourceBillType() { |
| | | var HName = 'éè´å
¥åºå'; |
| | | //è·åç»å½é¡µç»ç»å |
| | | $.ajax({ |
| | | type: "get", |
| | | async: false, |
| | | data: { "HName": HName }, |
| | | url: GetWEBURL() + "/Web/GetHSourceBillType", |
| | | success: function (result) { |
| | | var HSourceBillTypes = ""; |
| | | if (result.count == 1) { // 说æéªè¯æåäºï¼ |
| | | var data = result.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | HSourceBillTypes += '<option style="color:blue;" value="' + data[i].HSourceBillType + '">' + data[i].HSourceBillTypeName + '</option>'; |
| | | } |
| | | $("#HSourceBillType").append(HSourceBillTypes); |
| | | form.render('select'); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | //#endregion |
| | | |
| | | //#endregion |
| | | |
| | | |