From cb4e543d5e4236ad3fc95ff4ed21a4a1f683062e Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期二, 15 十月 2024 09:33:58 +0800
Subject: [PATCH] 优化

---
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue |  410 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 370 insertions(+), 40 deletions(-)

diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index 2c88940..64abccf 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -10,7 +10,6 @@
        <el-card shadow="never">
          <span class="head-font">鐗╂枡缂栫爜 : </span>
          <el-input style="width: 50%" ref="inputData" v-model="materialCode" @change="handleEnter" placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"></el-input>
-         <el-button type="primary" style="float: right" icon="el-icon-search"  @click="serialLink">涓插彛杩炴帴</el-button>
          <el-button @click="clearClick" style="float: right" type="danger" >娓呴櫎</el-button>
        </el-card>
      </el-col>
@@ -30,8 +29,8 @@
            <el-descriptions-item label="宸ュ崟缂栧彿">
                <span>{{workpieceInformation.workOrderNo}}</span>
            </el-descriptions-item>
-           <el-descriptions-item label="鐗╂枡缂栫爜">
-             <span>{{workpieceInformation.materialCode}}</span>
+           <el-descriptions-item label="浜у搧缂栫爜">
+             <span>{{workpieceInformation.productCode}}</span>
            </el-descriptions-item>
            <el-descriptions-item label="璁″垝鏁伴噺">
              <span>{{workpieceInformation.planQty}}</span>
@@ -77,8 +76,209 @@
              <span>&nbsp;鍏佽鏀捐</span>
            </el-col>
          </el-row>
+         <el-row v-show="printFlag" style="margin-top: 20px">
+           <el-button id="print" v-print="'#printMe'" type="primary">鎵撳嵃</el-button>
+           <div style="display: none">
+             <div id="printMe">
+               <div style="text-align: center;margin-top: 70px">
+                 <span style="font-size: 29px;">鐢甸┍绯荤粺鎬绘垚</span>
+               </div>
+               <div style="display: flex;margin-top: 2px;margin-left: 39px;font-size: 15px">
+                 <div class="div1">
+                   <div >
+                     <span>鐢垫満鍨嬪彿锛�</span><span>TZ180XSDSZX01</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>棰濆畾鍔熺巼锛�</span><span>30kW</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>棰濆畾鎵煩锛�</span><span>70N.m</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>棰濆畾鐢靛帇锛�</span><span>336VDC</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>棰濆伐浣滃埗锛�</span><span>S9</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>鎸佺画宸ヤ綔鐢垫祦锛�</span><span>115A</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>鐩告暟锛�</span><span>3</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>闆朵欢鍙凤細</span><span>{{printMaterialCode}}</span><br>
+                   </div>
+                 </div>
+
+                 <div class="div2" style="font-size: 15px;margin-left: 4px">
+                   <div>
+                     <span>鎺у埗鍣ㄥ瀷鍙凤細</span><span>KTZ34X23SZX07</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>宄板�煎姛鐜囷細</span><span>60kW</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>宄板�艰浆鐭╋細</span><span>175N.m</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>鏈�楂樿浆閫燂細</span><span>12000rpm</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>闃叉姢绛夌骇锛�</span><span>IP67</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>宄板�煎伐浣滅數娴侊細</span><span>230A</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>缁濈紭绛夌骇锛�</span><span>H</span><br>
+                   </div>
+                   <div style="margin-top: 4px">
+                     <span>鍑哄巶缂栧彿锛�</span><span>{{headContent.sfcCode}}</span><br>
+                   </div>
+                 </div>
+               </div>
+               <div style="margin-top: 2px;margin-left: 70px">
+                 <span style="font-size: 26px;">婀栧窞鏅鸿姱鍔ㄥ姏绯荤粺鍙戝睍鏈夐檺鍏徃</span>
+               </div>
+
+
+               <div style="text-align: center;margin-top: 101px;font-size: 20px">
+                 <div style="margin-top: 12px">
+                   <span style="font-size: 22px">TZ180XSDSZX01</span><br>
+
+                 </div>
+                 <div style="margin-top: 4px">
+                   <span style="font-size: 22px">KTZ34X23SZX07</span><br>
+
+                 </div>
+                 <div style="margin-top: 4px">
+                   <span style="font-size: 22px">993983</span><br>
+
+                 </div>
+                 <div style="margin-top: 4px">
+                   <span style="font-size: 22px">{{printMaterialCode}}</span><br>
+
+                 </div>
+                 <div style="margin-top: 4px">
+                   <span style="font-size: 22px">{{headContent.sfcCode}}</span>
+
+                 </div>
+               </div>
+
+               <div style="margin-top: 57px;display: flex;margin-left: 40px">
+                 <div style="width: 30%;flex: 1">
+                   <VueQr :size='80' :margin='0' :text='this.text'></VueQr>
+                 </div>
+                 <div style="width: 70%;flex: 1;margin-top: 18px;margin-right: 29px">
+                  <span style="margin-left: -122px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     P{{printMaterialCode}}
+                   </span>
+                   <span style="margin-left: -5px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     T{{headContent.sfcCode}}
+                   </span><br>
+
+                   <span style="margin-left: -122px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     V993983
+                   </span>
+                   <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -10px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     SSW001.001
+                   </span>
+                   <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     HHW001.001
+                   </span>
+                   <span style="margin-left: -6px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     NMCU
+                   </span>
+<!--                   <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti;letter-spacing: -0.8px;font-weight: 100">-->
+<!--                     #V993983#SSW002.005#HHW001.001#NMCU-->
+<!--                   </span>-->
+                 </div>
+               </div>
+
+               <div style="margin-top: 44px;display: flex;margin-left: 40px">
+                 <div style="width: 30%;flex: 1">
+                   <VueQr :size='80' :margin='0' :text='this.text'></VueQr>
+                 </div>
+                 <div style="width: 70%;flex: 1;margin-top: 18px;margin-right: 29px">
+<!--                        <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti;letter-spacing: -0.8px;font-weight: 100">-->
+<!--                          P9900200461#T{{headContent.sfcCode}}-->
+<!--                        </span><br>-->
+<!--                   <span style="margin-left: -80px;font-size: 19px;font-family: FZYaoti ;letter-spacing: -0.8px;font-weight: 100">-->
+<!--                          #V993983#SSW002.005#HHW001.001#NMCU-->
+<!--                        </span>-->
+                   <span style="margin-left: -122px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     P{{printMaterialCode}}
+                   </span>
+                   <span style="margin-left: -5px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     T{{headContent.sfcCode}}
+                   </span><br>
+
+                   <span style="margin-left: -122px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     V993983
+                   </span>
+                   <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -10px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     SSW001.001
+                   </span>
+                   <span style="margin-left: -4px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     HHW001.001
+                   </span>
+                   <span style="margin-left: -6px;font-size: 19px;font-family: FangSong;letter-spacing: -0.7px">
+                     #
+                   </span>
+                   <span style="margin-left: -9px;font-size: 16px;font-family: FZYaoti;letter-spacing: -0.7px">
+                     NMCU
+                   </span>
+                 </div>
+               </div>
+
+               <div style="text-align: center;margin-left: -190px;margin-top: 31px">
+                 <div style="margin-top: 4px">
+                   <span>{{printMaterialCode}}</span><br>
+                 </div>
+                 <div style="margin-top: 8px">
+                   <span>MCU</span><br>
+                 </div>
+                 <div style="margin-top: 8px">
+                   <span>HW 001.001</span><br>
+                 </div>
+                 <div style="margin-top: 8px">
+                   <span>SW 001.001</span><br>
+                 </div>
+               </div>
+
+             </div>
+           </div>
+         </el-row>
          <el-row v-show="orderFlag" style="margin-top: 20px">
-           <el-button @click="getWorkOrders" type="warning" size="mini">鎺ユ敹宸ュ崟</el-button>
+<!--           <el-button @click="getWorkOrders" type="warning" size="mini">鎺ユ敹宸ュ崟</el-button>-->
          </el-row>
        </el-card>
 
@@ -129,7 +329,7 @@
   bindYzSfcFlag,
   checkCarCode, checkYzSfcCode,
   findBytrolleyYardGetOne,
-  listProductionOrde, mozuReceivingWorkOrders,
+  listProductionOrde, listProductionOrdeLoopLine, mozuReceivingWorkOrders,
   receivingWorkOrders,
   trolleyYardBinDing
 } from "@/api/main/om/productionOrde/productionOrde";
@@ -142,11 +342,17 @@
   replaceAssemblyCode, checkRecordDataDone,
 } from "@/api/main/da/paramCollection/paramCollection";
 import {addFormula} from "@/api/main/bs/formula/formula";
+import QRCode from "qrcodejs2";
+import VueQr from "vue-qr";
 
 export default {
+  components: {
+    VueQr
+  },
   name: "stationTerminal",
   data() {
     return {
+      text: 'P9900200461#T2408170000004#V993983#SSW001.001#HHW001.001#NMCU',
       materialCode: '', // 鐗╂枡缂栫爜
       carCode: '',
       showInput: false,
@@ -185,6 +391,7 @@
         pageNum: 1,
         pageSize: 10,
         sfcCode: null,
+        productNum: '',
       },
       // 鏌ヨ鍙傛暟
       StationConfQueryParams: {
@@ -201,12 +408,15 @@
         release: 0 //鍏佽鏀捐
       },
       content: '',
+      // url: "ws://10.103.214.26:8080/websocket/message/",
       url: "ws://192.168.20.250:8080/websocket/message/",
 
       passingStationForm: {},
       originalArray: [],
       orderFlag: true,
+      printFlag: false,
       activeName: 'first',
+      printMaterialCode : '',
 
     }
   },
@@ -234,27 +444,49 @@
       console.log(tab, event);
     },
     handleEnter() {
-      this.serialPortMethod(this.materialCode);
-      this.materialCode="";
-      this.setFocus();
-      this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode);
-    },
-    getWorkOrders(){
-      if(this.headContent.sfcCode === '' || this.headContent.sfcCode === null){
-        //鎺ユ敹宸ュ崟
-        const param = {
-          lineCode: this.headContent.processesCode
+      console.log("鐗╂枡鐮�:"+this.materialCode);
+      if(this.materialCode.includes("9900200461") || this.materialCode.includes("9900207783")){
+        if(this.headContent.processesCode === "OP170" || this.headContent.processesCode === "OP180" ||
+           this.headContent.processesCode === "OP190" || this.headContent.processesCode === "OP200" ||
+           this.headContent.processesCode === "OP210" || this.headContent.processesCode === "OP220" ||
+          this.headContent.processesCode === "OP230"
+        ){
+          if(this.materialCode.length>25){
+            let code = this.materialCode.substring(13,26);
+            // this.headContent.sfcCode = code;
+            this.queryParams.productNum = code;
+            this.getList();
+            this.cakeLamp.scanFinish = 1
+            this.cakeLamp.startWork = 1
+            this.cakeLamp.InPlace = 1
+            const param = {
+              processesCode: this.headContent.processesCode,
+              productCode: this.workpieceInformation.productCode,
+              sfcBarcode:code,
+            }
+            fistSetpNumber(param).then(response => {
+              console.log("fistSetpNumber------"+response.msg)
+            });
+            this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode);
+            this.materialCode="";
+            this.setFocus();
+          }else{
+            this.$message("鎵弿鐗╂枡缂栫爜閿欒锛�"+this.materialCode);
+            this.materialCode="";
+            this.setFocus();
+          }
+
         }
-        mozuReceivingWorkOrders(param).then(response => {
-          this.headContent.sfcCode = response.msg;
-          this.queryParams.productNum = response.msg;
-          this.getList()
-          this.cakeLamp.scanFinish = 1
-          this.cakeLamp.startWork = 1
-          this.cakeLamp.InPlace = 1
-        });
-      }else {
-        this.$message.error("宸茬粡鏈夊伐鍗曚簡锛屼笉鑳芥帴鏀讹紒");
+      }else{
+        if(this.headContent.sfcCode === '' || this.headContent.sfcCode === null){
+          this.$message("璇峰厛鎵弿浜у搧鏉$爜锛�");
+        }else{
+          this.serialPortMethod(this.materialCode);
+          this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode);
+          this.setFocus();
+          this.materialCode="";
+        }
+
       }
     },
     serialLink() {
@@ -341,24 +573,48 @@
         locationCode: this.headContent.processesCode,
         productBarcode: this.headContent.sfcCode,
       }
-      this.endClear()
+      // this.endClear()
       clearWorkpieceRelease(param).then(response => {});
-      this.headContent.sfcCode = ''
+      // this.headContent.sfcCode = ''
       this.$message('娓呴櫎鎴愬姛锛�');
+      this.setFocus();
+      this.getList()
+
     },
     /** 鏌ヨ宸ュ崟鍒楄〃 */
     async getList() {
-      await listProductionOrde(this.queryParams).then(response => {
+      await listProductionOrdeLoopLine(this.queryParams).then(response => {
+        console.log('杩涘叆鍒濆鍖栧姞杞絣ist鏂规硶')
         let rowsData = response.rows[0];
-        console.log(rowsData)
-        this.workpieceInformation.workOrderNo = rowsData.workOrderNo;
-        this.workpieceInformation.productCode = rowsData.productCode;
-        this.workpieceInformation.materialCode = rowsData.materialCode;
-        this.workpieceInformation.planQty = rowsData.planQty;
-        this.headContent.cardCode = rowsData.trolleyYard;
+        if(rowsData){
+          console.log('杩涘叆鍒濆鍖栧姞杞絣ist鏂规硶'+response.rows[0])
+          if(this.headContent.processesCode === 'OP170'
+            ||this.headContent.processesCode === 'OP180'||
+            this.headContent.processesCode === 'OP190'||
+            this.headContent.processesCode === 'OP200'||
+            this.headContent.processesCode === 'OP210'||
+            this.headContent.processesCode === 'OP220'||
+            this.headContent.processesCode === 'OP230'
+          ){
+            this.headContent.sfcCode = rowsData.productNum
+          }
+          this.workpieceInformation.workOrderNo = rowsData.workOrderNo;
+          this.workpieceInformation.productCode = rowsData.productCode;
+          this.workpieceInformation.materialCode = rowsData.materialCode;
+          this.workpieceInformation.planQty = rowsData.planQty;
+          this.headContent.cardCode = rowsData.trolleyYard;
+          this.getListFormulaChild()
+          this.workpieceInformation.inboundTime = this.getCurrentTime()
+          this.printMaterialCode = rowsData.productCode
+          console.log(rowsData.productCode)
+          console.log(this.printMaterialCode)
+          this.text = 'P'+this.printMaterialCode+'#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU'
+          console.log(this.text)
+
+        }else {
+          this.$message.error('绯荤粺娌℃湁姝ゅ伐鍗曪紝璇烽噸鏂版壂鐮侊紒');
+        }
       });
-      this.getListFormulaChild()
-      this.workpieceInformation.inboundTime = this.getCurrentTime()
     },
 
     initializedData(){
@@ -367,12 +623,18 @@
       }
       initializedData(param).then(response => {
         if(response.msg !== ''){
-          this.headContent.sfcCode = response.msg;
-          this.queryParams.productNum = response.msg;
+          if(this.headContent.processesCode === 'OP165'){
+            this.headContent.sfcCode = response.msg.substring(13,26)
+            this.queryParams.productNum = response.msg.substring(13,26);
+          }else {
+            this.headContent.sfcCode = response.msg;
+            this.queryParams.productNum = response.msg;
+          }
           this.getList()
           this.cakeLamp.scanFinish = 1
           this.cakeLamp.startWork = 1
           this.cakeLamp.InPlace = 1
+          // this.text = 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU'
         }
       });
     },
@@ -397,6 +659,32 @@
         this.ws = null;
       }
     },
+    test1(){
+      document.getElementById('canvasWrapper1').innerHTML = '';
+      this.$nextTick(() => {
+          let qrCode = new QRCode('canvasWrapper1',{
+            width: 83,
+            height: 83,
+            text: 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU',
+            colorDark: '#000',
+            colorLight: '#fff'
+          })
+        }
+      )
+    },
+    test2(){
+      document.getElementById('canvasWrapper2').innerHTML = '';
+      this.$nextTick(() => {
+          let qrCode = new QRCode('canvasWrapper2',{
+            width: 83,
+            height: 83,
+            text: 'P9900200461#T'+this.headContent.sfcCode+'#V993983#SSW001.001#HHW001.001#NMCU',
+            colorDark: '#000',
+            colorLight: '#fff'
+          })
+        }
+      )
+    },
     send() {
       if (this.ws) {
         this.ws.send(this.message);
@@ -419,6 +707,13 @@
         this.headContent.processesName = rows.processesName
         this.headContent.processesCode = rows.processesCode
         this.initializedData()
+        if(this.headContent.processesCode === 'OP165'){
+          this.printFlag = true
+        }
+
+        if(this.headContent.processesCode === 'OP250'){
+          this.printFlag = true
+        }
 
       });
       console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode)
@@ -432,8 +727,13 @@
 
       //socket浠庡悗鍙板悜鍓嶅彴鎺ㄩ�佹暟鎹�
       this.ws.onmessage = function (event) {
-        if (event.data === "IN") {
+        if (event.data === "print") {
+          document.getElementById('print').click();
+          unfinishedProcess({processesCode: self.headContent.processesCode,recordDataDone: 21}).then(response => {});
+        }else if (event.data === "IN") {
           self.cakeLamp.InPlace = 1;
+        }else if(event.data === "twoHundredAndThirtyEND"){
+          self.endClear()
         } else if (event.data === "OUT") {
           self.cakeLamp.release = 1;
         } else if (event.data === "END") {
@@ -471,12 +771,33 @@
 
         } else if(event.data.includes("productNum")){//浜у搧搴忓垪鍙�
           let productNum = event.data.split(',')[1];
-          self.headContent.sfcCode = productNum;
+          if(self.headContent.processesCode === 'OP165'){
+            console.log("杩涘幓鎴彇鎬绘垚鐮佹柟娉�165宸ョ珯鍘熷鍊兼槸"+productNum+"鎴彇涔嬪悗鐨勬槸"+productNum.substring(13,26))
+            self.headContent.sfcCode = productNum.substring(13,26)
+            console.log("self.headContent.sfcCode"+self.headContent.sfcCode)
+          }else {
+            self.headContent.sfcCode = productNum;
+          }
           self.queryParams.productNum = productNum;
           self.getList()
           self.cakeLamp.scanFinish = 1
           self.cakeLamp.startWork = 1
           self.cakeLamp.InPlace = 1
+
+          const param = {
+            processesCode: self.headContent.processesCode,
+            productCode: self.workpieceInformation.productCode
+          }
+          fistSetpNumber(param).then(response => {
+            console.log("fistSetpNumber------"+response.msg)
+          });
+
+          //鎵撳嵃
+          if(self.headContent.processesCode === "OP165"){
+            // self.test1()
+            // self.test2()
+            self.text = 'P9900200461#T'+self.headContent.sfcCode+'#V993983#SSW002.005#HHW001.001#NMCU#'
+          }
 
         }else if (event.data.includes("[")) {//鎷х揣
           let formulaChilds = "";
@@ -541,6 +862,15 @@
 
 </script>
 <style scoped>
+.div1, .div2 {
+  flex: 1; /* 涓や釜div骞冲垎瀹瑰櫒瀹藉害 */
+}
+.span{
+  font-family: 'Microsoft YaHei', sans-serif;
+}
+.div2{
+  margin-left: 30px;
+}
 .bottom-card{
   height: 600px;
 }

--
Gitblit v1.9.3