Bläddra i källkod

feat 代码优化

Funny 3 år sedan
förälder
incheckning
16ece19387

+ 10 - 7
src/common/LodopFuncs.js

@@ -70,7 +70,7 @@ function loadCLodop() {
 if (needCLodop()) { loadCLodop(); }//开始加载
 
 //==获取LODOP对象主过程,判断是否安装、需否升级:==
-export function getLodop(oOBJECT, oEMBED) {
+export function getLodop(oOBJECT, oEMBED, fitstLogin = false) {
     var strHtmInstall = "打印控件未安装!安装后请刷新页面或重新进入。";
     var strHtmUpdate = "打印控件需要升级!升级后请重新进入。";
     var strHtm64_Install = "打印控件未安装!安装后请刷新页面或重新进入。";
@@ -94,7 +94,8 @@ export function getLodop(oOBJECT, oEMBED) {
                 return;
             }
             if (!LODOP) {
-                alert(strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3);
+                if (!fitstLogin)
+                    alert(strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3);
                 return;
             } else {
                 if (CLODOP.CVERSION < "4.1.4.2") {
@@ -128,11 +129,13 @@ export function getLodop(oOBJECT, oEMBED) {
                 LODOP = CreatedOKLodopObject;
             //==Lodop插件未安装时提示下载地址:==
             if ((!LODOP) || (!LODOP.VERSION)) {
-                if (ua.indexOf('Chrome') >= 0)
-                    alert(strHtmChrome)
-                if (ua.indexOf('Firefox') >= 0)
-                    alert(strHtmFireFox)
-                alert(is64IE ? strHtm64_Install : strHtmInstall)
+                if (!fitstLogin) {
+                    if (ua.indexOf('Chrome') >= 0)
+                        alert(strHtmChrome)
+                    if (ua.indexOf('Firefox') >= 0)
+                        alert(strHtmFireFox)
+                    alert(is64IE ? strHtm64_Install : strHtmInstall)
+                }
                 return LODOP;
             }
         }

+ 2 - 2
src/common/qrCode.vue

@@ -15,10 +15,10 @@
       <div class="code-bottom">
         <div id="qrcode" ref="qrcode" class="code-img"></div>
         <div class="des">请使用手机打开{{ paymentType == 1 ? '支付宝' : '微信' }}扫描二维码完成支付</div>
-        <div class="guo-qi">
+        <!-- <div class="guo-qi">
           <span @click.stop="refreshCode()">点击刷新</span>
           重新获取二维码
-        </div>
+        </div> -->
       </div>
     </div>
   </el-dialog>

+ 1 - 1
src/components/shopCompoents/bindUsbPrint.vue

@@ -108,7 +108,7 @@ export default {
         encryptRecipientPhone: "",
         invoiceTitle: null,
         isBook: 0,
-        openQrCode: null,
+        openQrCode: 1,
         orderGoodsDtoList: [
           { foodName: "测试商品1(不加糖)", price: 1, quantity: 3 },
           { foodName: "测试商品2(半糖)", price: 2, quantity: 6 },

+ 34 - 25
src/store/index.js

@@ -8,7 +8,8 @@ Vue.use(Vuex);
 
 const state = {
   userInfo: JSON.parse(localStorage.getItem('userInfo')) || null,
-  usbPrinter: JSON.parse(localStorage.getItem('usbPrinter')) || []
+  usbPrinter: JSON.parse(localStorage.getItem('usbPrinter')) || [],
+  firstLogin: true
 }
 
 const actions = {
@@ -25,35 +26,39 @@ const actions = {
     })
   },
   getUsbPrint(context) {
+    console.log('context', context.state.firstLogin);
     getUsbPrint().then(res => {
       if (res.code === 200) {
         let dataList = res.data
-        // if (!dataList.length) { return }
         setTimeout(() => {
-          LODOP = getLodop();
-          let printerCount = LODOP.GET_PRINTER_COUNT();
-          console.log('打印机数量',printerCount);
-          if (!printerCount) { return }
-          let printerList = [];
-          for (let index = 0; index < printerCount; index++) {
-            printerList.push({ deviceName: LODOP.GET_PRINTER_NAME(index) });
-          }
-          let data = printerList.map((v) => {
-            let obj = dataList.find((ele) => {
-              return ele.deviceName === v.deviceName;
-            });
-            if (obj) {
-              v = obj;
-            } else {
-              v.openOrderPrint = 0;
-              v.openOrderCancelPrint = 0;
-              v.printCustomerCount = 1;
-              v.printMerchantCount = 1;
-              v.printKitchenCount = 1;
-              v.width = 58;
+          let data = []
+          try {
+            LODOP = getLodop('', '', context.state.firstLogin);
+            let printerCount = LODOP.GET_PRINTER_COUNT();
+            if (!printerCount) { return }
+            let printerList = [];
+            for (let index = 0; index < printerCount; index++) {
+              printerList.push({ deviceName: LODOP.GET_PRINTER_NAME(index) });
             }
-            return v;
-          });
+            data = printerList.map((v) => {
+              let obj = dataList.find((ele) => {
+                return ele.deviceName === v.deviceName;
+              });
+              if (obj) {
+                v = obj;
+              } else {
+                v.openOrderPrint = 0;
+                v.openOrderCancelPrint = 0;
+                v.printCustomerCount = 1;
+                v.printMerchantCount = 1;
+                v.printKitchenCount = 1;
+                v.width = 58;
+              }
+              return v;
+            });
+          } catch (error) {
+            console.log(error);
+          }
           context.commit('SET_USBPRINTER', data)
         }, 500);
       } else {
@@ -74,8 +79,12 @@ const mutations = {
   },
   SET_USBPRINTER: (state, usbPrinter) => {
     state.usbPrinter = usbPrinter
+    state.firstLogin = false
     // 防止页面刷新,导致Vuex重启
     localStorage.setItem('usbPrinter', JSON.stringify(usbPrinter));
+  },
+  setFirstLogin: (state, firstLogin) => {
+    state.firstLogin = firstLogin
   }
 }
 

+ 1 - 0
src/views/home.vue

@@ -98,6 +98,7 @@ export default {
         type: "warning",
       }).then(() => {
         localStorage.clear();
+        this.$store.commit("setFirstLogin", true);
         bus.$emit("closeGetSoundMsg");
         this.$router.push({
           path: "/login",