| | |
| | | <input id="plateNum" type="search" class="mui-input-clear" placeholder="请输入车牌信息检索" value=""> |
| | | </div> |
| | | <div class="s-btn"><img src="images/icons/g-i22.png" alt="" onclick="readCard()">读卡</div> |
| | | <button type="button" class="mui-btn" onclick="getOutHandleList()">查询</button> |
| | | <button type="button" class="mui-btn">查询</button> |
| | | </div> |
| | | </form> |
| | | </div> |
| | |
| | | <div class="m-box_zc1"> |
| | | <div class="mui-input-row"> |
| | | <label>值仓扣重:</label> |
| | | <input id="number" type="text" class="mui-input-clear" placeholder="请输入重量"> |
| | | <input id="number" type="text" class="mui-input-clear" placeholder="请输入重量" value="0" disabled> |
| | | <span class="unit">KG</span> |
| | | </div> |
| | | </div> |
| | |
| | | } |
| | | $("#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 NdefRecord; |
| | | var NdefMessage; |
| | | var count = 0; |
| | | |
| | | //监听NFC状态 |
| | | function listenNFCStatus() { |
| | | try { |
| | |
| | | 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"); |
| | |
| | | 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) { |
| | |
| | | function() { |
| | | setTimeout(readData, 1000); |
| | | }, false); |
| | | document.addEventListener("pause", function(e) { |
| | | document.addEventListener("pause", |
| | | function(e) { |
| | | if (nfcAdapter) { |
| | | nfcAdapter.disableForegroundDispatch(main); |
| | | } |
| | | }, false); |
| | | document.addEventListener("resume", function(e) { |
| | | 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(); |
| | |
| | | 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; |
| | | |
| | |
| | | var id = ByteArrayToHexString(byteId); |
| | | //关闭等待圆圈 |
| | | waiting.close(); |
| | | |
| | | id = tran_LH8(id); |
| | | //读取id成功,赋值并发送请求查询 |
| | | data1.data.intelCard = id; |
| | | getInoutDetail(); |
| | |
| | | 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 + |
| | | '<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 == "IN") { |
| | | if (result.data[0].type == "IN") { |
| | | mui.openWindow({ |
| | | url: "inout-in-handle.html", |
| | | id: "inout-in-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 |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | mui.alert("该卡信息不是出库类型,请核对!", "提示", ["确定"], function() {}, "div") |
| | | mui.alert("该卡信息不是入库类型,请核对!", "提示", ["确定"], function() {}, "div") |
| | | } |
| | | } else { |
| | | mui.alert("当前卡不在值仓状态,请核查!", "提示", ["确定"], function() {}, "div") |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //将字节数组转为16进制字符串 |
| | | function ByteArrayToHexString(inarray) { |
| | | var i, j, inn; |
| | |
| | | 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, //是否显示滚动条 |
| | |
| | | wt.close(); |
| | | } |
| | | }); |
| | | |
| | | //携带车牌参数 |
| | | task.addData("plateNum", depotData.plateNum); |
| | | //业务类型 |
| | | task.addData("bizType", "01"); |
| | | //图片信息 |
| | | task.addFile(path, { |
| | | key: "uploadkey" |
| | |
| | | |
| | | $("#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"); |
| | |
| | | }) |
| | | }); |
| | | |
| | | |
| | | /*---------------NFC读卡功能-------------------*/ |
| | | var waiting; |
| | | var readyRead = false; |
| | |
| | | var NdefRecord; |
| | | var NdefMessage; |
| | | var count = 0; |
| | | |
| | | //监听NFC状态 |
| | | function listenNFCStatus() { |
| | | try { |
| | |
| | | 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"); |
| | |
| | | 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) { |
| | |
| | | function() { |
| | | setTimeout(readData, 1000); |
| | | }, false); |
| | | document.addEventListener("pause", function(e) { |
| | | document.addEventListener("pause", |
| | | function(e) { |
| | | if (nfcAdapter) { |
| | | nfcAdapter.disableForegroundDispatch(main); |
| | | } |
| | | }, false); |
| | | document.addEventListener("resume", function(e) { |
| | | 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(); |
| | |
| | | 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; |
| | | |
| | |
| | | var id = ByteArrayToHexString(byteId); |
| | | //关闭等待圆圈 |
| | | waiting.close(); |
| | | |
| | | id = tran_LH8(id); |
| | | //读取id成功,赋值并发送请求查询 |
| | | data1.data.intelCard = id; |
| | | getInoutDetail(); |
| | |
| | | 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 |
| | | } |
| | | } |
| | | }) |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //将字节数组转为16进制字符串 |
| | | function ByteArrayToHexString(inarray) { |
| | | var i, j, inn; |
| | |
| | | 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, //阻尼系数,系数越小滑动越灵敏 |
| | |
| | | data: JSON.stringify(data), |
| | | success: function(result) { |
| | | if (result.code == "0000") { |
| | | console.log(JSON.stringify(result)) |
| | | recordData = result.data; |
| | | renderData(); |
| | | } else { |
| | |
| | | //渲染页面 |
| | | function renderData() { |
| | | var html = ''; |
| | | console.log(JSON.stringify(recordData)) |
| | | if (recordData) { |
| | | $("#inSumNum").html(recordData.inSumNum); |
| | | $("#inCompleteNum").html(recordData.inCompleteNum); |
| | |
| | | html += '<li><a href="" class="con"style="background-image: url(images/icons/a-bg13.png);">'; |
| | | html += '<div class="tit">关联仓库:</div><div class="name">--</div></a></li></ul>'; |
| | | html += '<div class="time"><p>有效开始时间: <span>' + dateTime + '</span></p><p>有效结束时间: <span>' + dateTime + '</span></p></div>'; |
| | | // html += |
| | | // '<li><div class="con"><div style="text-align: center;font-size: 20px;color:#dd524d;padding-top: 18px;">暂无申请记录信息</div></div></li>'; |
| | | } |
| | | $("#handleList").html(html); |
| | | } |