YYC
2025-05-15 2df906a447195f9786dd468512ea895d6cc18532
igds-app/js/admin/inout-out-handle-list.js
@@ -27,13 +27,15 @@
function init() {
   var user = JSON.parse(localStorage.getItem('user'));
   var selectDeptId = JSON.parse(localStorage.getItem('selectDeptId'));
   url = user.url + "/api-phone/v35/gateway";
   url = user.url + "/api/phone/v35/gateway";
   data.tokenAuth = user.tokenAuth;
   data1.tokenAuth = user.tokenAuth;
   data.data.deptId = selectDeptId;
   getInHandleList();
}
window.addEventListener('refresh1', function(e){//执行刷新
    getInHandleList();
});
//查询出库记录
function getInHandleList() {
   outHandleData = null;
@@ -49,124 +51,75 @@
      success: function(result) {
         if (result.code == "0000") {
            outHandleData = result.data;
            console.log("if",JSON.stringify(result))
            // console.log("if", JSON.stringify(result))
            renderData();
         } else {
            renderData();
            mui.toast(result.msg);
            console.log("else",JSON.stringify(result))
            console.log("else", JSON.stringify(result))
         }
      },
      error: function() {
         mui.alert("系统繁忙,请重试!", "提示", ["确定"], function() {}, "div")
      }
   })
   outHandleData = [{
         "id": "44",
         "plateNum": "97",
         "deHandle": "ut",
         "depotId": "16",
         "depotName": "青张列做总",
         "foodVariety": "magna pariatur laboris sunt dolor",
         "foodVarietyName": "提清除",
         "foodLevel": "fugiat",
         "foodLevelName": "应发热四民是始",
         "storeKeeperName": ""
      },
      {
         "id": "62",
         "plateNum": "71",
         "deHandle": "dolore ut non",
         "depotId": "79",
         "depotName": "增象定立样",
         "foodVariety": "Lorem est",
         "foodVarietyName": "市条群求被团两",
         "foodLevel": "ex labore",
         "foodLevelName": "持在写称情并",
         "storeKeeperName": "2"
      },
      {
         "id": "96",
         "plateNum": "61",
         "deHandle": "nulla magna ut proident cillum",
         "depotId": "42",
         "depotName": "条全他",
         "foodVariety": "aliquip",
         "foodVarietyName": "连开阶动际干",
         "foodLevel": "in id sunt",
         "foodLevelName": "没置定使文",
         "storeKeeperName": "3"
      },
      {
         "id": "61",
         "plateNum": "17",
         "deHandle": "commodo",
         "depotId": "80",
         "depotName": "展观快火全领",
         "foodVariety": "voluptate eu Lorem",
         "foodVarietyName": "他边派斯重离",
         "foodLevel": "dolor",
         "foodLevelName": "装第上",
         "storeKeeperName": "4"
      }
   ]
   renderData();
}
//渲染页面
function renderData() {
   var html = '';
   if (outHandleData) {
      if (outHandleData && outHandleData.length > 0) {
         $.each(outHandleData, function(index, item) {
            html += '<li><div class="con"><div class="top">';
            html += '<div class="info">车牌号: <b>' + (item.plateNum == null ? "" : item.plateNum) + '</b></div>';
            html += '<a href="" id = "' + item.id + '" plateNum = "' + item.plateNum + '" depotName = "' +
               item.depotName + '" storeKeeperName = "' + (item.storeKeeperName == "" || item
                  .storeKeeperName == "" ? '--' : item.storeKeeperName) + '" class="link">值仓<span class="mui-icon mui-icon-arrowright"></span></a>';
            html += '</div><div class="box">';
            html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i19.png);">';
            html += '<div class="h3">' + (item.depotName == null ? "" : item.depotName) + '</div>';
            html += '<div class="bot">目标仓库</div></div></div>';
            html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i20.png);">';
            html += '<div class="h3">' + (item.foodVarietyName == null ? "" : item.foodVarietyName) + '</div>';
            html += '<div class="bot">粮食品种</div></div></div>';
            html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i21.png);">';
            html += '<div class="h3">' + (item.foodLevelName == null ? "" : item.foodLevelName) + '</div>';
            html += '<div class="bot">粮食等级</div></div></div>';
            html += '</div></div></li>';
         })
      } else {
         html +=
            '<li><div class="con"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 16px;">暂无入库待值仓信息</div></div></li>';
      }
   if (outHandleData && outHandleData.length > 0) {
      $.each(outHandleData, function(index, item) {
         // console.log(JSON.stringify(item.depotName))
         html += '<li><div class="con"><div class="top">';
         html += '<div class="info">车牌号: <b>' + (item.plateNum == null ? "" : item.plateNum) + '</b></div>';
         html += '<a href="" id = "' + item.id + '" plateNum = "' + item.plateNum + '" depotName = "' + (item.depotName == null ? "" : item.depotName) + '" storeKeeperName = "' +
         (item.storeKeeperName == null || item.storeKeeperName == "" ? '--' : item.storeKeeperName) + '" class="link">值仓<span class="mui-icon mui-icon-arrowright"></span></a>';
         html += '</div><div class="box">';
         html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i19.png);">';
         html += '<div class="h3">' + (item.depotName == null ? "" : item.depotName) + '</div>';
         html += '<div class="bot">目标仓库</div></div></div>';
         html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i20.png);">';
         html += '<div class="h3">' + (item.foodVarietyName == null ? "" : item.foodVarietyName) + '</div>';
         html += '<div class="bot">粮食品种</div></div></div>';
         html += '<div class="item"><div class="conbox" style="background-image: url(images/icons/g-i21.png);">';
         html += '<div class="h3">' + (item.foodLevelName == null ? "" : item.foodLevelName) + '</div>';
         html += '<div class="bot">粮食等级</div></div></div>';
         html += '</div></div></li>';
      })
   } else {
      html +=
         '<li><div class="con"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 16px;">暂无入库待值仓信息</div></div></li>';
   }
   $("#handleList").html(html);
}
//查询
mui(".g-sobox").on("tap", ".row button", function() {
   var plateNum = mui("#plateNum")[0].value
   data.data.plateNum = plateNum;
   console.log(plateNum)
   getInHandleList();
})
//功能模块跳转
mui(".mui-scroll-wrapper").on("tap", ".mui-scroll ul li a", function() {
   var id = this.getAttribute("id");
   var depotName = this.getAttribute("depotName")
   var plateNum = this.getAttribute("plateNum")
   var storeKeeperName = this.getAttribute("storeKeeperName")
   var picker = new mui.PopPicker();
   picker.setData([{
      value: "photo",
      text: "现场值仓"
   }, {
      value: "snap",
      text: "远程值仓"
   }])
   picker.pickers[0].setSelectedValue('photo');
   picker.show(function(SelectedItem) {
      console.log(JSON.stringify(SelectedItem));
      if(SelectedItem.value == 'photo'){
      if (SelectedItem.value == 'photo') {
         mui.openWindow({
            url: "inout-out-handle.html",
            id: "inout-out-handle",
@@ -179,7 +132,7 @@
               }
            }
         })
      }else{
      } else {
         mui.openWindow({
            url: "inout-out-handle.html",
            id: "inout-out-handle",
@@ -196,6 +149,7 @@
   })
});
/*---------------NFC读卡功能-------------------*/
var waiting;
var readyRead = false;
@@ -209,7 +163,6 @@
var NdefRecord;
var NdefMessage;
var count = 0;
//监听NFC状态
function listenNFCStatus() {
   try {
@@ -220,11 +173,13 @@
      var IntentFilter = plus.android.importClass('android.content.IntentFilter');
      NfcAdapter = plus.android.importClass('android.nfc.NfcAdapter');
      var nfcAdapter = NfcAdapter.getDefaultAdapter(main);
      //判断设备是否支持NFC功能
      if (nfcAdapter == null) {
         mui.alert("设备不支持NFC功能!", '提示', ["确定"], function() {}, "div");
         return;
      }
      //判断设备是否开启NFC功能
      if (!nfcAdapter.isEnabled()) {
         mui.alert("请在系统设置中启用NFC功能!", '提示', ["确定"], function() {}, "div");
@@ -233,13 +188,15 @@
      waiting = plus.nativeUI.showWaiting("请将NFC标签靠近!");
      //倒计时10秒,读取不到后提示是否重新读卡
      var interval = setInterval(function() { //定义定时器
      var interval = setInterval(function() {
         //定义定时器
         count++;
         if (count == 10 && readyRead) {
            readyRead = false;
            count = 0;
            waiting.close();
            clearInterval(interval); //清除定时器
            //清除定时器
            clearInterval(interval);
            var btnArray = ["重试", "取消"];
            mui.confirm("已超时,是否重新读卡!", "提示", btnArray, function(e) {
               if (e.index == 0) {
@@ -270,17 +227,20 @@
         function() {
            setTimeout(readData, 1000);
         }, false);
      document.addEventListener("pause", function(e) {
         if (nfcAdapter) {
            nfcAdapter.disableForegroundDispatch(main);
         }
      }, false);
      document.addEventListener("resume", function(e) {
         if (nfcAdapter) {
            nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
         }
      }, false);
      document.addEventListener("pause",
         function(e) {
            if (nfcAdapter) {
               nfcAdapter.disableForegroundDispatch(main);
            }
         }, false);
      document.addEventListener("resume",
         function(e) {
            if (nfcAdapter) {
               nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
            }
         }, false);
      nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray);
   } catch (e) {
      mui.toast("读卡失败,请重试!");
      waiting.close();
@@ -293,8 +253,7 @@
   NdefMessage = plus.android.importClass("android.nfc.NdefMessage");
   var main = plus.android.runtimeMainActivity();
   var intent = main.getIntent();
   // if ("android.nfc.action.TAG_DISCOVERED" == intent.getAction()) {  //真机调试
   if ("android.nfc.action.TECH_DISCOVERED" == intent.getAction()) { //打包
   if ("android.nfc.action.TECH_DISCOVERED" == intent.getAction()) { //打包时
      if (readyRead) {
         readyRead = false;
@@ -306,7 +265,7 @@
         var id = ByteArrayToHexString(byteId);
         //关闭等待圆圈
         waiting.close();
         id = tran_LH8(id);
         //读取id成功,赋值并发送请求查询
         data1.data.intelCard = id;
         getInoutDetail();
@@ -324,27 +283,28 @@
      dataType: "json",
      crossDomain: true,
      contentType: "application/json;charset=utf-8",
      data: JSON.stringify(data1),
      data: JSON.stringify(data),
      success: function(result) {
         if (result.code == "0000") {
            //弹窗信息:单子车牌跟仓库,去值仓则进入值仓页面,传递单子id;
            var btnArray = ["去值仓", "取消"];
            var text = '值仓仓库:' + result.data.depotName + '<br/>车牌号:' + result.data.plateNum;
            var text = '值仓仓库:' + result.data[0].depotName + '<br/>车牌号:' + result.data[0].plateNum +
               '<br/>保管员:' + result.data[0].storeKeeperName
            mui.confirm(text, "检测到待值仓信息如下", btnArray, function(e) {
               if (e.index == 0) {
                  //先判断单子是否在值仓状态
                  if (result.data.progress == "HANDLE") {
                  if (result.data[0].progress == "HANDLE") {
                     //去值仓时判断单子类型是否是入库,不是给出提醒;
                     if (result.data.type == "OUT") {
                     if (result.data[0].type == "OUT") {
                        mui.openWindow({
                           url: "inout-out-handle.html",
                           id: "inout-out-handle",
                           extras: {
                              data: {
                                 serialNumber: result.data.id,
                                 plateNum: result.data.plateNum,
                                 depotName: result.data.depotName,
                                 storeKeeperName: result.data.storeKeeperName
                                 serialNumber: result.data[0].id,
                                 plateNum: result.data[0].plateNum,
                                 depotName: result.data[0].depotName,
                                 storeKeeperName: result.data[0].storeKeeperName
                              }
                           }
                        })
@@ -365,7 +325,6 @@
      }
   })
}
//将字节数组转为16进制字符串
function ByteArrayToHexString(inarray) {
   var i, j, inn;
@@ -381,6 +340,37 @@
   return out;
}
//16进制字符串 高低换位 8个字符
function tran_LH8(info) {
   var tag = tran_LH(info.substring(4)) + tran_LH(info.substring(0, 4));
   return hex2int(tag);
}
//16进制字符串 高低换位 4个字符
function tran_LH(info) {
   return info.substring(2) + info.substring(0, 2);
}
function hex2int(hex) {
   var len = hex.length,
      a = new Array(len),
      code;
   for (var i = 0; i < len; i++) {
      code = hex.charCodeAt(i);
      if (48 <= code && code < 58) {
         code -= 48;
      } else {
         code = (code & 0xdf) - 65 + 10;
      }
      a[i] = code;
   }
   return a.reduce(function(acc, c) {
      acc = 16 * acc + c;
      return acc;
   }, 0);
}
mui('.mui-scroll-wrapper').scroll({
   indicators: false, //是否显示滚动条
   deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏