From 2df906a447195f9786dd468512ea895d6cc18532 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期四, 15 五月 2025 14:53:54 +0800 Subject: [PATCH] APP3.5开发 --- igds-app/js/admin/inout-in-handle-list.js | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 323 insertions(+), 29 deletions(-) diff --git a/igds-app/js/admin/inout-in-handle-list.js b/igds-app/js/admin/inout-in-handle-list.js index 6797402..c7e9aaa 100644 --- a/igds-app/js/admin/inout-in-handle-list.js +++ b/igds-app/js/admin/inout-in-handle-list.js @@ -13,24 +13,38 @@ "intelCard": "" } }; - +var data1 = { + "interfaceId": "5208", + "outId": "10208", + "reqDateTime": new Date(), + "tokenAuth": "", + "data": { + "type": "IN", + "id": "", + "intelCard": "" + } +}; //鍒濆鍖栨暟鎹� 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('refresh2', function(e){//鎵ц鍒锋柊 + getInHandleList(); +}); //鏌ヨ鍏ュ簱璁板綍 function getInHandleList() { inHandleData = null; - - //璧嬪�煎弬鏁扮殑鏃ユ湡 + + //鏌ヨ鐨勮溅鐗屽彿 data.data.plateNum = mui("#plateNum")[0].value; //璇锋眰 @@ -46,7 +60,7 @@ renderData(); } else { renderData(); - mui.toast(result.mag); + mui.toast(result.msg); } }, error: function() { @@ -58,33 +72,313 @@ //娓叉煋椤甸潰 function renderData() { var html = ''; - if(inHandleData){ - if (inHandleData && inHandleData.length > 0) { - $.each(inHandleData, 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="" 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>'; - } - }else{ - html += '<li><div class="con"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 16px;">鏆傛棤鍏ュ簱寰呭�间粨淇℃伅</div></div></li>'; + if (inHandleData && inHandleData.length > 0) { + $.each(inHandleData, 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 == null ? "" : item.depotName) + + '" storeKeeperName = "' + (item.storeKeeperName == null ? '' : 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: 18px;">鏆傛棤鍏ュ簱寰呭�间粨淇℃伅</div></div></li>'; } $("#handleList").html(html); } +//鏌ヨ +mui(".g-sobox").on("tap", ".row button", function() { + var plateNum = mui("#plateNum")[0].value + data.data.plateNum = 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") +console.log(JSON.stringify(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[0].value == 'photo') { + mui.openWindow({ + url: "inout-in-handle.html", + id: "inout-in-handle", + extras: { + data: { + serialNumber: id, + plateNum: plateNum, + depotName: depotName, + storeKeeperName: storeKeeperName + } + } + }) + } else { //杩滅▼鍊间粨 + mui.openWindow({ + url: "inout-in-handle.html", + id: "inout-in-handle", + extras: { + data: { + serialNumber: id, + plateNum: plateNum, + depotName: depotName, + storeKeeperName: storeKeeperName + } + } + }) + } + }) +}); + + +/*---------------NFC璇诲崱鍔熻兘-------------------*/ +var waiting; +var readyRead = false; +//璇诲崱鏂规硶 +function readCard() { + readyRead = true; + listenNFCStatus(); +} + +var NfcAdapter; +var NdefRecord; +var NdefMessage; +var count = 0; +//鐩戝惉NFC鐘舵�� +function listenNFCStatus() { + try { + var main = plus.android.runtimeMainActivity(); + var Intent = plus.android.importClass('android.content.Intent'); + var Activity = plus.android.importClass('android.app.Activity'); + var PendingIntent = plus.android.importClass('android.app.PendingIntent'); + 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("璁惧涓嶆敮鎸丯FC鍔熻兘锛�", '鎻愮ず', ["纭畾"], function() {}, "div"); + return; + } + + //鍒ゆ柇璁惧鏄惁寮�鍚疦FC鍔熻兘 + if (!nfcAdapter.isEnabled()) { + mui.alert("璇峰湪绯荤粺璁剧疆涓惎鐢∟FC鍔熻兘锛�", '鎻愮ず', ["纭畾"], function() {}, "div"); + return; + } + waiting = plus.nativeUI.showWaiting("璇峰皢NFC鏍囩闈犺繎锛�"); + + //鍊掕鏃�10绉掞紝璇诲彇涓嶅埌鍚庢彁绀烘槸鍚﹂噸鏂拌鍗� + var interval = setInterval(function() { + //瀹氫箟瀹氭椂鍣� + count++; + if (count == 10 && readyRead) { + readyRead = false; + count = 0; + waiting.close(); + //娓呴櫎瀹氭椂鍣� + clearInterval(interval); + var btnArray = ["閲嶈瘯", "鍙栨秷"]; + mui.confirm("宸茶秴鏃讹紝鏄惁閲嶆柊璇诲崱锛�", "鎻愮ず", btnArray, function(e) { + if (e.index == 0) { + readCard(); + } + }, "div") + } + }, 1000); + + var intent = new Intent(main, main.getClass()); + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + var pendingIntent = PendingIntent.getActivity(main, 0, intent, 0); + var ndef = new IntentFilter("android.nfc.action.TECH_DISCOVERED"); + ndef.addDataType("*/*"); + var intentFiltersArray = [ndef]; + var techListsArray = [ + ["android.nfc.tech.IsoDep"], + ["android.nfc.tech.NfcA"], + ["android.nfc.tech.NfcB"], + ["android.nfc.tech.NfcF"], + ["android.nfc.tech.Ndef"], + ["android.nfc.tech.NfcV"], + ["android.nfc.tech.NdefFormatable"], + ["android.nfc.tech.MifareClassic"], + ["android.nfc.tech.MifareUltralight"] + ]; + document.addEventListener("newintent", + 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); + nfcAdapter.enableForegroundDispatch(main, pendingIntent, intentFiltersArray, techListsArray); + + } catch (e) { + mui.toast("璇诲崱澶辫触锛岃閲嶈瘯锛�"); + waiting.close(); + } +} + +//璇诲彇鏁版嵁 +function readData() { + NdefRecord = plus.android.importClass("android.nfc.NdefRecord"); + NdefMessage = plus.android.importClass("android.nfc.NdefMessage"); + var main = plus.android.runtimeMainActivity(); + var intent = main.getIntent(); + if ("android.nfc.action.TECH_DISCOVERED" == intent.getAction()) { //鎵撳寘鏃� + if (readyRead) { + readyRead = false; + + waiting.setTitle('璇峰嬁绉诲紑鏍囩\n姝e湪璇诲彇鏁版嵁...'); + var Parcelable = plus.android.importClass("android.os.Parcelable"); + //璇诲彇id + var byteId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID); + //灏唅d杞负16杩涘埗瀛楃涓� + var id = ByteArrayToHexString(byteId); + //鍏抽棴绛夊緟鍦嗗湀 + waiting.close(); + id = tran_LH8(id); + //璇诲彇id鎴愬姛锛岃祴鍊煎苟鍙戦�佽姹傛煡璇� + data1.data.intelCard = id; + getInoutDetail(); + } + } else { + waiting.close(); + mui.alert('璇诲彇澶辫触锛岃閲嶈瘯锛�', '鎻愮ず', ["纭畾"], function() {}, "div"); + } +} + +//鑾峰彇鍊间粨鍗曞瓙璇︾粏淇℃伅 +function getInoutDetail() { + mui.ajax(url, { + type: "POST", + dataType: "json", + crossDomain: true, + contentType: "application/json;charset=utf-8", + data: JSON.stringify(data), + success: function(result) { + if (result.code == "0000") { + //寮圭獥淇℃伅锛氬崟瀛愯溅鐗岃窡浠撳簱锛屽幓鍊间粨鍒欒繘鍏ュ�间粨椤甸潰锛屼紶閫掑崟瀛恑d锛� + var btnArray = ["鍘诲�间粨", "鍙栨秷"]; + 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[0].progress == "HANDLE") { + //鍘诲�间粨鏃跺垽鏂崟瀛愮被鍨嬫槸鍚︽槸鍏ュ簱锛屼笉鏄粰鍑烘彁閱掞紱 + if (result.data[0].type == "IN") { + mui.openWindow({ + url: "inout-in-handle.html", + id: "inout-in-handle", + extras: { + data: { + serialNumber: result.data[0].id, + plateNum: result.data[0].plateNum, + depotName: result.data[0].depotName, + storeKeeperName: result.data[0].storeKeeperName + } + } + }) + } else { + mui.alert("璇ュ崱淇℃伅涓嶆槸鍏ュ簱绫诲瀷锛岃鏍稿锛�", "鎻愮ず", ["纭畾"], function() {}, "div") + } + } else { + mui.alert("褰撳墠鍗′笉鍦ㄥ�间粨鐘舵�侊紝璇锋牳鏌ワ紒", "鎻愮ず", ["纭畾"], function() {}, "div") + } + } + }, "div") + } else { + mui.toast(result.msg); + } + }, + error: function() { + mui.alert('绯荤粺绻佸繖,璇烽噸璇曪紒', '鎻愮ず', ["纭畾"], function() {}, "div"); + } + }) +} +//灏嗗瓧鑺傛暟缁勮浆涓�16杩涘埗瀛楃涓� +function ByteArrayToHexString(inarray) { + var i, j, inn; + hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; + out = ""; + for (j = 0; j < inarray.length; ++j) { + inn = inarray[j] & 0xff; + i = (inn >>> 4) & 0x0f; + out += hex[i]; + i = inn & 0x0f; + out += hex[i]; + } + 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, //鏄惁鏄剧ず婊氬姩鏉� -- Gitblit v1.9.3