IPC-610
2025-01-02 9d7dda331f3498a95e2e922e9ddae0fa43e83605
HTML/views/ASNSetting/ArrivalNoticeDetail.html
@@ -21,17 +21,18 @@
         margin-left: -15px;
         margin-right: -15px;
      }
      .layui-table-mend{
      .layui-table-mend {
         position: relative;
      }
   </style>
   <script>
      // 这里是需要在页面渲染之前执行的代码
      document.addEventListener("DOMContentLoaded", function() {
      document.addEventListener("DOMContentLoaded", function () {
         //判断是否开启table列表列宽调整功能。
         GetIsSetColW();
      });
     </script>
   </script>
</head>
<body>
@@ -49,7 +50,7 @@
               <!-- <option value=""></option> -->
               <!-- JC24 -->
               <option value="0" selected>成品入库</option>
               <option value="1">采购入库</option>
               <option value="1">采购入库</option>
               <option value="2">中间品入库</option>
               <option value="3">退货入库</option>
               <option value="4">车间余料退回入库</option>
@@ -63,7 +64,9 @@
            </select>
         </div>
         <label class="layui-form-label" style="width: 70px;"><p id="CustomerNamep">客户</p></label>
         <label class="layui-form-label" style="width: 70px;">
            <p id="CustomerNamep">客户</p>
         </label>
         <div class="layui-input-inline">
            <select name="CustomerName" id="CustomerName" lay-verify="" lay-search>
               <option value=""></option>
@@ -80,8 +83,10 @@
      <div class="layui-form-item" style="margin-bottom: 0;">
         <div class="layui-card">
            <div class="layui-card-body">
               <div class="position-relative" style="width: 100%;right: 0;"><!-- class="position-relative" --><!-- 自定义表头加上 -->
                  <table id="LAY-app-content-list" name="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
               <div class="position-relative" style="width: 100%;right: 0;">
                  <!-- class="position-relative" --><!-- 自定义表头加上 -->
                  <table id="LAY-app-content-list" name="LAY-app-content-list" lay-filter="LAY-app-content-list">
                  </table>
                  <!-- #region 自定义表头 -->
                  <div class="headerSetIcon">
                     <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
@@ -91,7 +96,7 @@
                  <!-- #endregion -->
                  <!-- #region 自定义表头-->
                  <script type="text/html" id="templetUDF5">
                  <script type="text/html" id="templetUDF5">
                     {{# function GetBtn(d){
                           var html = ''; 
                           html+= '<select name="UDF5" lay-filter="SelctUDF5" data-value="'+d.UDF5+'">'+
@@ -107,7 +112,7 @@
                  </script>
                  <!-- #endregion -->
               </div>
               </div>
               <script type="text/html" id="switchTpl">
                  <input type="checkbox" name="IsBale" value="{{d.SkuNo}}" lay-skin="switch" lay-text="是|否" lay-filter="IsBaleDemo" {{ d.IsBale == "1" ? 'checked' : '' }}>
               </script>
@@ -151,35 +156,39 @@
            , format: 'yyyy-MM-dd' //可任意组合
         });
         var arr = [];
         var TypeValue=$("#Type").val();
         var TypeValue = $("#Type").val();
         // 加载下拉信息
         getCustomerList();
         // table 基本设置
         //#region 自定义表头
         var TotalColsArr = [[
                  {field: '',title: '序号',type:'numbers',width: 50,align: 'center',fixed: 'left', "disabled": true},
                  {field: 'Id',title: '入库单明细ID',width: 120,align: 'center',fixed: 'left',hide: true, "disabled": true},
                  {field: 'SkuNo',title: '物料编码',minWidth: 100,align: 'center',fixed: 'left', "disabled": true},
                  {field: 'SkuName',title: '物料名称',minWidth: 180,align: 'center',fixed: 'left', "disabled": true},
                  {field: 'LotNo',title: '批次号',align: 'center',edit: 'text',minWidth: 130,fixed: 'left', "disabled": true},
                  {field: 'SupplierLot',title: '供货批次',width: 130,edit: 'text',event: 'setSign',fixed: 'left', "disabled": true},
                  {field: 'Qty',title: '数量',align: 'center',width: 80,edit: 'number',event: 'dataNumber',fixed: 'left', "disabled": true},
                  {field: 'UnitName',title: '计量单位',align: 'center',width: 70},
                  {field: 'Standard',title: '规格',width: 160,align: 'center'},
                  {field: 'LotText',title: '批次描述',align: 'center',edit: 'text',width: 160},
                  {field: 'PackagNo',title: '包装名称',width: 160, templet: "#table-content-Packlist"},
                  {field: 'Price',title: '单价',align: 'center',width: 80},
                  {field: 'Money',title: '金额',align: 'center',width: 100},
                  {field: 'UDF1',title: '自定义列1',align: 'center',edit: 'text',width: 140},
                  {field: 'UDF2',title: '自定义列2',align: 'center',edit: 'text',width: 140},
                  {field: 'UDF3',title: '自定义列3',align: 'center',edit: 'text',width: 140},
                  {field: 'UDF4',title: '自定义列4',align: 'center',edit: 'text',width: 140},
                  {field: 'UDF5',title: '自定义列5',align: 'center',width: 140,templet:'#templetUDF5'},
                  {field: 'caozuo',title: '操作',fixed: 'right',width: 100,align: 'center',templet: '#table-content-list', "disabled": true}
               ]];
         var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
         var TotalColsArr = [[
            { field: '', title: '序号', type: 'numbers', width: 50, align: 'center', fixed: 'left', "disabled": true },
            { field: 'Id', title: '入库单明细ID', width: 120, align: 'center', fixed: 'left', hide: true, "disabled": true },
            { field: 'SkuNo', title: '物料编码', minWidth: 100, align: 'center', fixed: 'left', "disabled": true },
            { field: 'SkuName', title: '物料名称', minWidth: 180, align: 'center', fixed: 'left', "disabled": true },
            { field: 'LotNo', title: '进厂编号', align: 'center', edit: 'text', minWidth: 130, fixed: 'left', "disabled": true },
            { field: 'SupplierLot', title: '原厂批号', width: 130, edit: 'text', event: 'setSign', fixed: 'left', "disabled": true },
            { field: 'Qty', title: '数量', align: 'center', width: 80, edit: 'number', event: 'dataNumber', fixed: 'left', "disabled": true },
            { field: 'UnitName', title: '计量单位', align: 'center', width: 70 },
            { field: 'Standard', title: '规格', width: 160, align: 'center' },
            { field: 'LotText', title: '批次描述', align: 'center', edit: 'text', width: 160 },
            { field: 'PackagNo', title: '包装名称', width: 160, templet: "#table-content-Packlist" },
            { field: 'Lot1', title: '生产日期', align: 'center', edit: 'text', width: 140 },
            { field: 'Lot2', title: '过期日期', align: 'center', edit: 'text', width: 140 },
            { field: 'IsBale', title: '是否裹包', align: 'center', edit: 'text', width: 140 },
            // { field: 'Price', title: '单价', align: 'center', width: 80 },
            // { field: 'Money', title: '金额', align: 'center', width: 100 },
            // { field: 'UDF1', title: '自定义列1', align: 'center', edit: 'text', width: 140 },
            // { field: 'UDF2', title: '自定义列2', align: 'center', edit: 'text', width: 140 },
            // { field: 'UDF3', title: '自定义列3', align: 'center', edit: 'text', width: 140 },
            // { field: 'UDF4', title: '自定义列4', align: 'center', edit: 'text', width: 140 },
            // { field: 'UDF5', title: '自定义列5', align: 'center', width: 140, templet: '#templetUDF5' },
            { field: 'caozuo', title: '操作', fixed: 'right', width: 170, align: 'center', templet: '#table-content-list', "disabled": true }
         ]];
         var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
         //#endregion
         //#region 原始非自定义列
@@ -337,20 +346,20 @@
         //#region 自定义表头
         var infoOptions;
         var colsJson;
         var param1={
            Href:'BllAsn/GetArrivalNoticeDetailList2'
         var param1 = {
            Href: 'BllAsn/GetArrivalNoticeDetailList2'
         };
         sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
            if (res.code == 0){
               if(res.data=='' || res.data==undefined || res.data==null){
                  colsJson=TotalColsArr
               }else{
                  colsJson= eval(res.data);
         sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function (res) {
            if (res.code == 0) {
               if (res.data == '' || res.data == undefined || res.data == null) {
                  colsJson = TotalColsArr
               } else {
                  colsJson = eval(res.data);
               }
            }else{
               colsJson=TotalColsArr
            } else {
               colsJson = TotalColsArr
            }
            infoOptions={
            infoOptions = {
               elem: '#LAY-app-content-list',
               height: 'full-110',
               id: 'LAY-app-content-list',
@@ -358,26 +367,26 @@
               limit: pageCnt,
               limits: pageLimits,
               cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
               done: function(){
               done: function () {
                  //选中下拉框的值      
                  layui.each($('select'), function (index, item) {
                     var elem = $(item);
                     if(elem.data('value')!='' && elem.data('value')!=undefined){
                     if (elem.data('value') != '' && elem.data('value') != undefined) {
                        elem.val(elem.data('value')).parents('table.layui-table-cell').css('overflow', 'visible');
                     }
                     }
                  });
                  form.render();
                  form.render();
                  //自定义列宽
                  SetTableColW('LAY-app-content-list','BllAsn/GetArrivalNoticeDetailList2',TotalColsSysArr);
               },
               cols:colsJson
                  SetTableColW('LAY-app-content-list', 'BllAsn/GetArrivalNoticeDetailList2', TotalColsSysArr);
               },
               cols: colsJson
            };
            // 渲染Table
            refreshTable(null);
         });
         //#endregion
         // 添加编辑明细 
         var id = getQueryString('id');
@@ -392,8 +401,8 @@
                  console.log(res)
                  $("input[name='ASNNo']").val(res.data[0].ASNNo);
                  $("#Type option[value = '" + res.data[0].Type + "']").prop("selected", true);
                  $("#CustomerName option[value = '" + res.data[0].CustomerNo + "']").prop("selected", true);
                  $("#Type").attr("disabled", "disabled");
                  getCustomerList(res.data[0].CustomerNo);         // 根据单据类型加载客户信息
                  var paramDetail = {
                     ASNNo: id,
@@ -413,7 +422,9 @@
                           curr: 1
                        }
                        table.render(infoOptions);
                        form.render('select');
                     } else { //不成功
                        layer.msg(res.msg, {
                           icon: 2,
@@ -439,6 +450,7 @@
            active = {
               add: function () {
                  var typeValue = $("#Type").val();
                  console.log(typeValue)
                  layer.open({
                     type: 2,
                     title: '添加明细',
@@ -448,11 +460,11 @@
                     fixed: false,
                  });
               },
               customCols: function(){
               customCols: function () {
                  layer.open({
                     type: 2,
                     title: '自定义列',
                     content: '../SystemSettings/HeaderSetting.html?Href=BllAsn/GetArrivalNoticeDetailList2&ColsSysArr='+TotalColsSysArr,
                     content: '../SystemSettings/HeaderSetting.html?Href=BllAsn/GetArrivalNoticeDetailList2&ColsSysArr=' + TotalColsSysArr,
                     maxmin: false,
                     resize: false,
                     area: ['970px', '650px']
@@ -468,16 +480,16 @@
         };
         //单据类型变更时清空table列表信息
         form.on('select(Type)',function(data){
         form.on('select(Type)', function (data) {
            var value = data.value;
            if(value!=TypeValue){
            if (value != TypeValue) {
               console.log(value);
               getCustomerList();
               arr = [];
               // 渲染Table
               refreshTable(null);
               TypeValue=value;
            }
               TypeValue = value;
            }
         });
         //监听修改UDF5下拉框update到表格中
@@ -490,49 +502,26 @@
         });
         //监听数量值变化自动计算金额
         table.on('edit(LAY-app-content-list)', function(obj){
            if(obj.field=='Qty'){
               var data=obj.data;
               if(data.Qty!=undefined && data.Qty !=''){
                  data.Money=data.Qty*data.Price
         table.on('edit(LAY-app-content-list)', function (obj) {
            if (obj.field == 'Qty') {
               var data = obj.data;
               if (data.Qty != undefined && data.Qty != '') {
                  data.Money = data.Qty * data.Price
                  var menu = layui.table.cache["LAY-app-content-list"];
                  for(var i =0;i<menu.length;i++){
                     if(menu[i].Id==data.Id){
                        menu[i].Money=data.Money
                  for (var i = 0; i < menu.length; i++) {
                     if (menu[i].Id == data.Id) {
                        menu[i].Money = data.Money
                        break;
                     }
                  }
                  $.extend(infoOptions, {
                        data: menu,
                     data: menu,
                  });
                  table.render(infoOptions);
               }
            }
         })
         // var IsBaleValue = "";
         // form.on('switch(IsBaleDemo)', function (obj) {
         //    layer.tips(this.value + ' ' + this.name + ':' + obj.elem.checked, obj.othis);
         //    if (obj.elem.checked) {
         //       IsBaleValue = "1";
         //    } else {
         //       IsBaleValue = "0";
         //    }
         // });
         // table.on('row(LAY-app-content-list)', function (obj) {
         //    if (IsBaleValue != "") {
         //       for (var j in arr) {
         //          if (obj.data.SkuNo == arr[j].SkuNo) {
         //             arr[j].IsBale = IsBaleValue;
         //             IsBaleValue = ""
         //             break;
         //          }
         //       }
         //    }
         // })
         // 删除入库单明细
         table.on('tool(LAY-app-content-list)', function (obj) {
@@ -566,10 +555,10 @@
               });
               return;
            }
            var type= $("#Type").val();
            if(type=='6'){
               var customerName=$("#CustomerName").val();
               if(customerName==''){
            var type = $("#Type").val();
            if (type == '6') {
               var customerName = $("#CustomerName").val();
               if (customerName == '') {
                  layer.msg("代储单据请选择货主!", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
@@ -587,7 +576,7 @@
               if (value == '') {
                  return '';
               } else {
                  var ver = /^[0-9]+$/;
                  var ver =/^\\d+\\.\\d{1,4}$/;  // /^[0-9]+$/;
                  if (!ver.test(value)) {
                     return '只能输入正整数';
                  }
@@ -606,7 +595,7 @@
         }
         // 绑定下拉信息
         function getCustomerList() {
         function getCustomerList(CustomerNo) {
            /*
            0:客户
               退货入库
@@ -622,58 +611,56 @@
               if (res.code == 0) { //成功
                  $("#CustomerName").empty();
                  $("#CustomerName").append('<option value =""></option>');
                  // 根据单据类型确认加载是客户or供应商or货主下拉信息
                  var TypeNum = 0;
                  switch ($("#Type").val()) {
                     case "3": //退货入库
                        TypeNum = 0;
                        console.log(TypeNum)
                        break;
                     case "1": //采购入库
                     case "5": //其它入库
                        TypeNum = 1;
                        console.log(TypeNum)
                        break;
                     case "0": //成品入库
                     case "2": //中间品入库
                     case "4": //车间余料入库
                     case "6": //代储入库
                     case "7": //寄存入库
                        TypeNum = 2;
                        console.log(TypeNum)
                        break;
                  }
                  for (var i = 0; i < res.data.length; i++) {
                     var TypeNum = 0;
                     switch($("#Type").val())
                     {
                        case "3": //退货入库
                           TypeNum = 0;
                           console.log(TypeNum)
                           break;
                        case "1": //采购入库
                        case "5": //其它入库
                           TypeNum = 1;
                           console.log(TypeNum)
                           break;
                        case "0": //成品入库
                        case "2": //中间品入库
                        case "4": //车间余料入库
                        case "6": //代储入库
                        case "7": //寄存入库
                           TypeNum = 2;
                           console.log(TypeNum)
                           break;
                     }
                     //判断单据类型
                     if (TypeNum == 0)
                     {
                        if (res.data[i].Type == 0)
                        {
                     if (TypeNum == 0) {
                        if (res.data[i].Type == 0) {
                           $("#CustomerNamep").html("客户");
                           $("#CustomerName").append('<option value =' + res.data[i].CustomerNo + '>' +
                           res.data[i].CustomerName + '</option>');
                              res.data[i].CustomerName + '</option>');
                        }
                     }
                     else if (TypeNum == 1)
                     {
                        if (res.data[i].Type == 1)
                        {
                           $("#CustomerNamep").html("供应商");
                     else if (TypeNum == 1) {
                        if (res.data[i].Type == 1) {
                           $("#CustomerNamep").html("生产商");
                           $("#CustomerName").append('<option value =' + res.data[i].CustomerNo + '>' +
                           res.data[i].CustomerName + '</option>');
                              res.data[i].CustomerName + '</option>');
                        }
                     }
                     else if (TypeNum == 2)
                     {
                        if (res.data[i].Type == 2)
                        {
                     else if (TypeNum == 2) {
                        if (res.data[i].Type == 2) {
                           $("#CustomerNamep").html("货主");
                           $("#CustomerName").append('<option value =' + res.data[i].CustomerNo + '>' +
                           res.data[i].CustomerName + '</option>');
                              res.data[i].CustomerName + '</option>');
                        }
                     }
                  }
                  // 根据客户名称加载选中值
                  $("#CustomerName option[value = '" + CustomerNo + "']").prop("selected", true);
                  form.render('select');
               } else { //不成功
                  layer.msg(res.msg, {
@@ -702,7 +689,7 @@
               }
               arr.push(data[i]); //属性
            }
            $.extend(infoOptions, {
               data: arr
            });
@@ -712,13 +699,13 @@
            console.log(infoOptions)
            table.render(infoOptions);
         }
         // 添加入库单
         function SetArrivalNotice(data) {
            var item2 = getAsnOrderInfo();
            if (item2 !=-1) {
            if (item2 != -1) {
               if (doing) {
                  doing = false;
                  if (id == null) {
@@ -770,55 +757,53 @@
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  }, function () { doing = true });
               }
            }
            }
         }
         // 提交获取入库单信息
         function getAsnOrderInfo() {
            var DataList = [];
            var reg = /^([0]|[0-9][0-9]*)$/;
            var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;///^[+-]?\d+\.\d{0,4}$/i;    ///^([0]|[0-9][0-9]*)$/;
            console.log(arr);
            for (var i in arr) {
               console.log(arr[i].LotNo);
               console.log(arr[i].Qty);
               if (arr[i].Qty == "" || arr[i].Qty ==undefined) {
               if (arr[i].Qty == "" || arr[i].Qty == undefined) {
                  layer.msg("请输入入库数量!", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  });
                  return -1;
               }
               if (arr[i].LotNo == "" || arr[i].LotNo ==undefined) {
               if (arr[i].LotNo == "" || arr[i].LotNo == undefined) {
                  //判断是否为对应不需要批次的单据
                  var TypeNum = 0;
                  switch($("#Type").val())
                  {
                  switch ($("#Type").val()) {
                     //1:采购入库 2:中间品入库 5:其它入库 6:代储入库 7:寄存入库
                     case "1" :
                     case "2" :
                     case "5" :
                     case "6" :
                     case "7" :
                     case "1":
                     case "2":
                     case "5":
                     case "6":
                     case "7":
                        console.log($("#Type").val())
                        TypeNum = 1;
                        break;
                  }
                  console.log(TypeNum)
                  if (TypeNum == 0)
                  {
                  if (TypeNum == 0) {
                     layer.msg("请输入批次!1", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                     });
                     return -1;
                  }
               }
               if (!reg.test(arr[i].Qty)) {
                  layer.msg("入库数量必须是大于0的整数", {
                  layer.msg("入库数量必须大于0(可保留4位小数)", {
                     icon: 2,
                     time: 2000 //2秒关闭(如果不配置,默认是3秒)
                  });
@@ -832,22 +817,24 @@
                  Standard: arr[i].Standard,
                  LotNo: arr[i].LotNo,
                  LotText: arr[i].LotText,
                  Qty: parseInt(arr[i].Qty),
                  Qty:parseFloat(arr[i].Qty),
                  PackagNo: arr[i].PackagNo,
                  Price: arr[i].Price,
                  IsBale: arr[i].IsBale,
                  IsBelt: arr[i].IsBelt,
                  SupplierLot: arr[i].SupplierLot,
                  UDF1:arr[i].UDF1,
                  UDF2:arr[i].UDF2,
                  UDF3:arr[i].UDF3,
                  UDF4:arr[i].UDF4,
                  UDF5:arr[i].UDF5,
                  Lot1: arr[i].Lot1,
                  Lot2: arr[i].Lot2,
                  UDF1: arr[i].UDF1,
                  UDF2: arr[i].UDF2,
                  UDF3: arr[i].UDF3,
                  UDF4: arr[i].UDF4,
                  UDF5: arr[i].UDF5,
               };
               DataList.push(item); //属性
            }
            console.log($("#CustomerName").find('option:selected').text());
            var item2 = {
               ASNNo: $("#ASNNo").val(),
               Type: $("#Type").val(),