YYC
2023-07-10 b642a88b35271f37e411a603c29a57875111730c
App读卡功能问题修改
已修改7个文件
已添加1个文件
201 ■■■■ 文件已修改
igds-app/inout-out-handle-list.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/inout-out-handle.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/js/admin/inout-in-handle-list.js 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/js/admin/inout-in-handle.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/js/admin/inout-out-handle-list.js 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/js/admin/inout-real.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/js/admin/work-record.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/unpackage/release/apk/H580320F9__20230710180446.apk 补丁 | 查看 | 原始文档 | blame | 历史
igds-app/inout-out-handle-list.html
@@ -29,7 +29,7 @@
                            <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>
igds-app/inout-out-handle.html
@@ -69,7 +69,7 @@
                            <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>
igds-app/js/admin/inout-in-handle-list.js
@@ -100,6 +100,13 @@
    }
    $("#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() {
@@ -165,7 +172,6 @@
var NdefRecord;
var NdefMessage;
var count = 0;
//监听NFC状态
function listenNFCStatus() {
    try {
@@ -176,11 +182,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");
@@ -189,13 +197,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) {
@@ -226,17 +236,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();
@@ -249,8 +262,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;
@@ -262,7 +274,7 @@
            var id = ByteArrayToHexString(byteId);
            //关闭等待圆圈
            waiting.close();
            id = tran_LH8(id);
            //读取id成功,赋值并发送请求查询
            data1.data.intelCard = id;
            getInoutDetail();
@@ -280,33 +292,33 @@
        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")
@@ -322,7 +334,6 @@
        }
    })
}
//将字节数组转为16进制字符串
function ByteArrayToHexString(inarray) {
    var i, j, inn;
@@ -338,7 +349,36 @@
    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, //是否显示滚动条
igds-app/js/admin/inout-in-handle.js
@@ -261,8 +261,11 @@
                wt.close();
            }
        });
    //携带车牌参数
    task.addData("plateNum", depotData.plateNum);
    //业务类型
    task.addData("bizType", "01");
    //图片信息
    task.addFile(path, {
        key: "uploadkey"
igds-app/js/admin/inout-out-handle-list.js
@@ -93,7 +93,14 @@
    $("#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");
@@ -142,6 +149,7 @@
    })
});
/*---------------NFC读卡功能-------------------*/
var waiting;
var readyRead = false;
@@ -155,7 +163,6 @@
var NdefRecord;
var NdefMessage;
var count = 0;
//监听NFC状态
function listenNFCStatus() {
    try {
@@ -166,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");
@@ -179,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) {
@@ -216,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();
@@ -239,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;
@@ -252,7 +265,7 @@
            var id = ByteArrayToHexString(byteId);
            //关闭等待圆圈
            waiting.close();
            id = tran_LH8(id);
            //读取id成功,赋值并发送请求查询
            data1.data.intelCard = id;
            getInoutDetail();
@@ -270,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
                                        }
                                    }
                                })
@@ -311,7 +325,6 @@
        }
    })
}
//将字节数组转为16进制字符串
function ByteArrayToHexString(inarray) {
    var i, j, inn;
@@ -327,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, //阻尼系数,系数越小滑动越灵敏
igds-app/js/admin/inout-real.js
@@ -37,7 +37,6 @@
        data: JSON.stringify(data),
        success: function(result) {
            if (result.code == "0000") {
                console.log(JSON.stringify(result))
                recordData = result.data;
                renderData();
            } else {
@@ -54,7 +53,6 @@
//渲染页面
function renderData() {
    var html = '';
    console.log(JSON.stringify(recordData))
    if (recordData) {
        $("#inSumNum").html(recordData.inSumNum);
        $("#inCompleteNum").html(recordData.inCompleteNum);
igds-app/js/admin/work-record.js
@@ -92,8 +92,6 @@
        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);
}
igds-app/unpackage/release/apk/H580320F9__20230710180446.apk
Binary files differ