buli
2023-07-14 e6068da47c1bef5517c9e5fdc8c726766867ad4e
force-app/main/default/pages/InventoryResultRecord.page
@@ -5,8 +5,8 @@
<apex:includeScript value="{!URLFOR($Resource.instascan)}"/>
<apex:stylesheet value="{!URLFOR($Resource.jquery_confirm, 'jquery-confirm.min.css')}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery_confirm, 'jquery-confirm.min.js')}"/>
<apex:includeScript value="/soap/ajax/46.0/connection.js"/>
<apex:includeScript value="/soap/ajax/46.0/apex.js"/>
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
    <style>
        .overlay {
            position: absolute;
@@ -869,7 +869,6 @@
        <hidden>
            <input type="hidden" value="" id="tempcodeid" />
            <!-- //每次输入的码存放到改ul中, 如果上次输入的码是大码并且本次输入的码是小码 会替换为大码+小码+ ' XIAOMA'-->
            <ul id="Scancodehistory" style="list-style-type: none; text-align: center;padding: 0;width: 100%; height: 100px; overflow: auto">
            </ul>
            <input type="hidden" value="{!allHCCodelist}" id="allhccode" />
@@ -895,7 +894,7 @@
            var type = document.getElementById("allPage:allForm:searchBlock:maindetailId:assetCategory").value;
            if (type == '耗材') {
                //只能输入数字和字母 判断输入的code是否正确
                //只能输入数字和字母
                var re;
                re = /^[a-zA-Z0-9]*$/; 
                // re = ^[0-9A-Za-z]{8,16}$;
@@ -911,37 +910,29 @@
                // if (content.length == 3) {
                var codearr = j$('#Scancodehistory')[0].getElementsByTagName('li');
                //如果当前输入的是3位小码
                //如果传进来的数据为3位 则拼接上一个扫的码if
                if (codearr != null && codearr.length > 0 &&content.length == 3) {
                    //获取上一个输入的行
                    var lastCode1 = codearr[codearr.length - 1];
                    //获取上一个输入的码
                    var nowc = lastCode1.innerHTML; 
                    //上次输入的也是小码 或者 上次输入的是盒  或者上次输入的码已经匹配好了 或者上次的值是'fengedian'(一进来就输小码会走到)
                    //上次输入的也是小码 或者 上次输入的是盒  或者上次输入的码已经匹配好了
                    //上次输入的码是大码
                    // if (nowc.substring(nowc.length - 8,nowc.length - 5) != '250' && nowc.substring(nowc.length - 7 ,nowc.length) != ' XIAOMA') {
                    if (nowc.length == 3 || nowc.substring(nowc.length - 8,nowc.length - 5) == '250' || nowc.substring(nowc.length - 7 ,nowc.length) == ' XIAOMA' || nowc == 'fengedian' ) {
                    if (nowc.length == 3 || nowc.substring(nowc.length - 8,nowc.length - 5) == '250' || nowc.substring(nowc.length - 7 ,nowc.length) == ' XIAOMA' ) {
                        alert('请先扫描大码再扫描小码')
                        j$( '#maqCode' ).val("");
                        // j$( '#qrcode' ).val("");
                        return false;
                    }else{
                        //删掉上次输的大码 再加上大码+小码+' XIAOMA'
                        codearr[codearr.length -1 ].remove();
                        content = nowc +content + ' XIAOMA';
                    }
                }else{
                    //本次扫的是大码或者盒
                    // var codearr = j$('#Scancodehistory')[0].getElementsByTagName('li');
                    var codearr = j$('#Scancodehistory')[0].getElementsByTagName('li');
                    //如果传进来的数据为3位 则拼接上一个扫的码if
                    if (codearr != null && codearr.length > 0) {
                        //获取上一个输入的行
                        var lastCode1 = codearr[codearr.length - 1];
                        //获取上一个输入的码
                        var nowc = lastCode1.innerHTML; 
                        //如果上一个输入的码不是"盒" 也不是完整的袋(大码加小码加' XIAOMA')也不是'fengedian'
                        //1. 上次扫 不是盒 也不是 fengedian  改"连续扫两次袋不提醒"
                        //如果当前输入的条码长度不为3 并且上次输入条码为大码
                        if (nowc.substring(nowc.length - 8,nowc.length - 5) != '250' && nowc.substring(nowc.length - 7 ,nowc.length) != ' XIAOMA'  && nowc != 'fengedian' ) {
                        // if (nowc != 'fengedian' ) {
                            alert('请先扫描大码再扫描小码')
                            //提示错误信息的话也要清 防止出现历史数据遗留问题
                            j$("#salesdepartment_select1")[0].style.display = 'none';
@@ -949,21 +940,20 @@
                            j$(picklist1).empty();
                            codearr[codearr.length -1 ].remove();
                            j$( '#maqCode' ).val("");
                            // j$( '#qrcode' ).val("");
                            return false;
                        }
                    }
                }
                // }
                //2.不能重复输入  可删 ↓↓↓↓↓↓↓
                //2.不能重复输入
                var codearr0 = j$('#Scancodehistory')[0].getElementsByTagName('li');
                //如果传进来的数据为3位 则拼接上一个扫的码if
                var hisarr = [];
                if (codearr0 != null) {
                    for (var i = 0; i < codearr0.length; i++) {
                        hisarr.push(codearr0[i].innerHTML);
                    }
                }
                //2.不能重复输入  可删 ↑↑↑↑↑↑
                var uiObj0 = j$("#Scancodehistory");
                var contentArr0 = [];
                //
@@ -995,7 +985,7 @@
            // alert('894')
            // alert(content);
            // console.error("==content=="+content+"=scanType=="+scanType);
            console.error("==content=="+content+"=scanType=="+scanType);
            blockme();
            checkQRCode_new(content, scanType);
            //add  by rentx 20210823 start 扫码履历也存一下code 
@@ -1024,16 +1014,25 @@
            var contTemp = content;
            var tempTanSelect = '123';
            if (type == '耗材') {
                //如果扫的是袋 则直接返回 待扫到改袋的小码后再进行数量的累加
                // if (content.substring(2,3) == '0' && aatemp != ' XIAOMA') {
                // if (content.substring(content.length - 8,content.length - 5) != '250' && aatemp != ' XIAOMA') {
                //     j$( '#maqCode' ).val("");
                //     unblockUI();
                //     return;
                // }
                //判断当前输入的code是否为小码 如果是 则去掉后面加的12位
                if (aatemp == ' XIAOMA') {
                    // alert(aatemp)
                    var tempstr = content;
                    //说明扫的是小码 这时候只要将原来的提取出来就可以了
                    // alert('Content '+content );
                    //扫的是小码 不弹 大码弹
                    tempTanSelect = '';
                    //如 "2417013800011140300250ANXIT10IH850963222 XIAOMA"
                    // content = 2417013800011140300250ANXIT10IH850963
                    // content = 2417013800011140300250ANXIT10IH850963222
                    //大码
                    content = tempstr.substring(0,tempstr.length - 10);
                    //取得拼成的袋的code 大码+小码
                    //取得拼成的袋的code
                    daicode = tempstr.substring(0,tempstr.length - 7);
                }
            }
@@ -1044,7 +1043,11 @@
            var qrType , qrError, qrId , guigenum ;
            // QR
            var amoutInput = j$("tr.displayRow input[data-qrcode='"+content+"']:not([data-frozen='true'])");
            // console.error("checkQRCode_new=="+amoutInput.length+"==amoutInput"+amoutInput);
            console.error("checkQRCode_new=="+amoutInput.length+"==amoutInput"+amoutInput);
            // alert("checkQRCode_new=="+amoutInput.length+"==amoutInput"+amoutInput);
            // // alert(JSON.tostring(amoutInput));
            // alert(amoutInput.toString);
            // alert(JSON.stringify(amoutInput) );
            if (amoutInput.length > 0) {
                console.error("QR==scanType=="+scanType);
                if (scanType == 2) {
@@ -1140,6 +1143,11 @@
                            //调用iPad的接口 传递参数 dept , aid , showflag , num  iPad根据showflag判断是否弹出选择框 num为默认的值 
                            //showflag为1时 弹出 
                            var showflag = tempTanSelect != '' ? '1' : tempTanSelect;
                            // var showflag = tempTanSelect != '' ? 1 : 0;
                            // alert(deptStr.slice(0, -1) +' deptStr')
                            // alert(aidStr.slice(0,-1) +' aidStr')
                            // alert('showflag'+ showflag)
                            // alert('contTemp   '+contTemp + '   '+contTemp.length);
                            // window.location.href="sfqr://scan";
                            window.location.href="sfqr://selectDept?dept="+deptStr.slice(0, -1) + "&aid="+aidStr.slice(0,-1)+"&showflag="+showflag+"&code="+contTemp;
                            // if (true) {}
@@ -1167,7 +1175,7 @@
                            if (nowCode != '' && nowCode != 'undefined' && nowCode != null) {
                                // alert(tempTanSelect);
                                //是码枪输入 
                                //说明扫的大码 或者盒 需要展示这个框
                                //说明扫的大码 需要展示这个框
                                if (tempTanSelect != '') {
                                    j$(".model00").show();
                                    var picklist = j$("#salesdepartment_select1 select")[0];
@@ -1183,7 +1191,6 @@
                                        unblockUI();
                                        return;
                                    }else{
                                        //扫小码的时候会走到这里 不需要展示框
                                        for(var i=0;i<amoutInput.length;i++) {
                                            if (amoutInput[i].dataset['salesdepartment'] == picklist.value){
                                                amoutInput = j$(amoutInput[i]);
@@ -1230,16 +1237,14 @@
                    }
                    lastMainId = '';
                    qrType = '1';
                    //取得保有设备id
                    qrId = amoutInput.data("aid");
                    //取得备品规格
                    guigenum = amoutInput.data('bpguige');
                } else {
                    qrError = "不存在此保有设备";
                }
            }
            // console.error("3=="+qrType+"==qrError=="+qrError+"==qrId=="+qrId);
            console.error("3=="+qrType+"==qrError=="+qrError+"==qrId=="+qrId);
            // checkQRDone(qrType, qrError, qrId);
            //如果是 袋 的话 默认是1个 目前只有耗材有改动
            if (type == '耗材') {
@@ -1269,19 +1274,16 @@
                }else if (qrType == '5') {
                    tempInput = j$("input[data-mid='"+qrsplit[0]+"'][data-aid='"+qrsplit[1]+"']:not([data-frozen='true'])");
                }
                //存输入的code到对应的明细
                if (tempInput != null && tempInput != '' && tempInput != 'undefined') {
                    if (!tempInput) return;
                    //这里只设置code的值
                    var aaa = tempInput.parent();
                    //取得耗材code的输入框
                    var ccc = aaa[0].children[1].value;
                    //如果是大码+小码+xiaoma
                    if (aatemp == ' XIAOMA') {
                        //如果扫的是袋的大码加小码加xiaoma  累加存袋的大码+小码
                        //取得拼成的袋的code
                        aaa[0].children[1].value = ccc == '' ? daicode : ccc + ',' + daicode;
                    }else{
                        //如果取得不是可以不存
                        if (contTemp.substring(contTemp.length - 8,contTemp.length - 5) == '250') {
                            aaa[0].children[1].value = ccc == '' ? daicode : ccc + ',' + content;
                        }