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

---
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue |  988 +++++++++++++++++++++++----------------------------------
 1 files changed, 407 insertions(+), 581 deletions(-)

diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index d0c9ec0..8a97c53 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -1,16 +1,15 @@
 <template>
   <div class="app-container">
    <el-row :gutter="5">
-     <el-col  :span="7">
-       <el-card style="height: 71px" shadow="never">
-         <span style="margin-top: 200px" class="head-font">宸ヤ綅缂栧彿 : {{headContent.processesCode}}</span>
+     <el-col :span="7">
+       <el-card style="height: 71px;padding-top: 6px" shadow="never">
+          <span class="head-font">宸ヤ綅缂栧彿 : {{headContent.processesCode}}</span>
        </el-card>
      </el-col>
      <el-col :span="17">
        <el-card shadow="never">
          <span class="head-font">鐗╂枡缂栫爜 : </span>
-         <el-input style="width: 50%" v-model="materialCode" @change="handleEnter" placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"></el-input>
-         <el-button type="primary" style="float: right" icon="el-icon-search"  @click="serialLink">涓插彛杩炴帴</el-button>
+         <el-input style="width: 50%" ref="inputData" v-model="materialCode" @change="handleEnter" placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"></el-input>
          <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,14 +76,215 @@
              <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>
 
      </el-col>
      <el-col :span="17">
-       <el-tabs type="border-card"  style="height: 600px" v-model="activeName" @tab-click="changeMenu">
+       <el-tabs type="border-card"  style="height: 600px" v-model="activeName">
          <el-tab-pane name="first">
            <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span>
            <el-col :span="24">
@@ -108,143 +308,6 @@
        </el-tabs>
      </el-col>
    </el-row>
-    <el-dialog v-dialogpop-up :title="title" :visible.sync="open1" width="1000" append-to-body>
-      <el-row
-        type="flex"
-        class="row-bg"
-        justify="center"
-        v-show="portsList.length === 0"
-      >
-        <el-col :span="7">
-          <div style="margin-top: 400px">
-          <span style="display: block">
-            浠呮敮鎸丆hrome 89+鎴栬�匛dge 89+娴忚鍣�(瀹夊叏涓婁笅鏂囷紙HTTPS锛変腑鍙敤)
-          </span>
-            <el-button type="primary" @click="obtainAuthorization">鎺堟潈</el-button>
-          </div>
-        </el-col>
-      </el-row>
-      <el-form
-        v-show="portsList.length > 0"
-        ref="form1"
-        :model="form1"
-        label-width="100px">
-        <el-row>
-          <el-col :span="24"
-          ><div>
-            <el-form-item label="涓插彛">
-              <el-select
-                v-model="form1.port"
-                filterable
-                placeholder="璇烽�夋嫨涓插彛"
-                :disabled="isDisable"
-              >
-                <el-option
-                  v-for="item in portsList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="娉㈢壒鐜�">
-              <el-autocomplete
-                popper-class="my-autocomplete"
-                v-model="form1.baudRate"
-                :fetch-suggestions="querySearch"
-                placeholder="璇疯緭鍏ユ尝鐗圭巼"
-                :disabled="isDisable"
-              >
-                <i class="el-icon-edit el-input__icon" slot="suffix"> </i>
-                <template slot-scope="{ item }">
-                  <div class="name">{{ item.value }}</div>
-                  <span class="addr">{{ item.address }}</span>
-                </template>
-              </el-autocomplete>
-            </el-form-item>
-            <el-form-item label="鏁版嵁浣�">
-              <el-select
-                v-model="form1.dataBits"
-                placeholder="璇烽�夋嫨鏁版嵁浣�"
-                :disabled="isDisable"
-              >
-                <el-option label="7" value="7"></el-option>
-                <el-option label="8" value="8"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="鍋滄浣�">
-              <el-select
-                v-model="form1.stopBits"
-                placeholder="璇烽�夋嫨鍋滄浣�"
-                :disabled="isDisable"
-              >
-                <el-option label="1" value="1"></el-option>
-                <el-option label="2" value="2"></el-option>
-              </el-select>
-            </el-form-item>
-
-            <el-form-item label="鏍¢獙浣�">
-              <el-select
-                v-model="form1.parity"
-                placeholder="璇烽�夋嫨鏍¢獙浣�"
-                :disabled="isDisable"
-              >
-                <el-option label="None" value="none"></el-option>
-                <el-option label="Even" value="even"></el-option>
-                <el-option label="Odd" value="odd"></el-option>
-              </el-select>
-            </el-form-item>
-
-            <el-form-item label="娴佹帶鍒�">
-              <el-select
-                v-model="form1.flowControl"
-                placeholder="璇烽�夋嫨娴佹帶鍒�"
-                :disabled="isDisable"
-              >
-                <el-option label="None" value="none"></el-option>
-                <el-option label="HardWare" value="hardware"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="鏄剧ず鍘嗗彶">
-              <el-switch
-                v-model="form1.isShowHistory"
-                @change="loadHistory"
-              ></el-switch>
-              <el-button
-                type="danger"
-                icon="el-icon-delete"
-                circle
-                title="娓呯┖鍘嗗彶"
-                @click="clearHistory"
-              ></el-button>
-            </el-form-item>
-            <el-form-item label="鍙戦�佸尯璁剧疆" v-show="isShowSendArea">
-              <el-form-item label="鍙戦�佹牸寮�">
-                <el-radio-group v-model="form1.type">
-                  <el-radio label="1">ASCII</el-radio>
-                  <el-radio label="2">HEX</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <el-form-item label="鍙戦�佷俊鎭�">
-                <el-input type="textarea" v-model="form1.sendMsg"></el-input>
-              </el-form-item>
-              <el-button type="primary" @click="sendCommon">鍙戦��</el-button>
-            </el-form-item>
-
-            <el-form-item>
-              <el-button :type="btnType" @click="connectBtn">{{
-                  btnText
-                }}</el-button>
-              <el-button type="info" @click="obtainAuthorization"
-              >鏂板鎺堟潈</el-button
-              >
-            </el-form-item>
-          </div>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-dialog>
   </div>
 </template>
 <script>
@@ -266,7 +329,7 @@
   bindYzSfcFlag,
   checkCarCode, checkYzSfcCode,
   findBytrolleyYardGetOne,
-  listProductionOrde, mozuReceivingWorkOrders,
+  listProductionOrde, listProductionOrdeLoopLine, mozuReceivingWorkOrders,
   receivingWorkOrders,
   trolleyYardBinDing
 } from "@/api/main/om/productionOrde/productionOrde";
@@ -279,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,
@@ -322,6 +391,7 @@
         pageNum: 1,
         pageSize: 10,
         sfcCode: null,
+        productNum: '',
       },
       // 鏌ヨ鍙傛暟
       StationConfQueryParams: {
@@ -338,75 +408,26 @@
         release: 0 //鍏佽鏀捐
       },
       content: '',
-      activeName: 'first',
-      url: "ws://10.103.210.248:8080/websocket/message/",
-      // url: "ws://192.168.10.100:8080/websocket/message/",
-      message: "",
-      text_content: "",
-      ws: null,
-      inputValue: '9',
-
-      open1: false,
-      input: "",
-      keepReading: true,
-      form1: {
-        baudRate: "115200",
-        dataBits: "8",
-        stopBits: "1",
-        parity: "none",
-        flowControl: "none",
-        desc: "",
-        type: "1",
-        isShowHistory: false,
-      },
-      btnType: "primary",
-      btnText: "杩炴帴涓插彛",
-      restaurants: [],
-      portsList: [],
-      isShowSendArea: false,
-      readType: 1,
-      title: "",
+      // url: "ws://10.103.214.26:8080/websocket/message/",
+      url: "ws://192.168.20.250:8080/websocket/message/",
 
       passingStationForm: {},
       originalArray: [],
-      yzSfcFlag: 1,
-      endYz: false,
-      orderFlag: true
+      orderFlag: true,
+      printFlag: false,
+      activeName: 'first',
+      printMaterialCode : '',
+
     }
+  },
+  mounted() {
+    this.setFocus()
   },
   beforeDestroy() {
     this.exit();
   },
   created() {
-    document.onkeyup = e => {
-      if (e.keyCode === 13) {
-        // 璋冪敤鐧诲綍 楠岃瘉鏂规硶
-        this.submitForm()
-      }
-    }
     this.initStation();
-    // this.getStationConfList();
-    // setTimeout(() => {
-    //   this.connectWebsocket();
-    // }, 3000);
-  },
-  mounted() {
-    if ("serial" in navigator) {
-      this.myserialport = new MySerialPort();
-      this.getPorts();
-      navigator.serial.addEventListener("connect", (e) => {
-        this.$message.success("璁惧宸茶繛鎺�");
-        this.getPorts();
-      });
-      navigator.serial.addEventListener("disconnect", (e) => {
-        this.$message.error("璁惧宸叉柇寮�");
-      });
-      this.restaurants = this.loadAll();
-    } else {
-      this.$message.error(
-        "褰撳墠涓篐TTP妯″紡鎴栬�呮祻瑙堝櫒鐗堟湰杩囦綆锛屼笉鏀寔缃戦〉杩炴帴涓插彛"
-      );
-    }
   },
   computed: {
     isDisable() {
@@ -414,68 +435,62 @@
     },
   },
   methods: {
+    setFocus(){
+      this.$nextTick(()=>{
+        this.$refs.inputData.focus()
+      })
+    },
+    changeMenu(tab, event) {
+      console.log(tab, event);
+    },
     handleEnter() {
-      this.serialPortMethod(this.materialCode)
-      this.$message("鎵弿鐗╂枡缂栫爜"+this.materialCode);
-    },
-    getWorkOrders(){
-      if(this.headContent.sfcCode === '' || this.headContent.sfcCode === null){
-        //鎺ユ敹宸ュ崟
-        const param = {
-          lineCode: this.headContent.processesCode
-        }
-        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("宸茬粡鏈夊伐鍗曚簡锛屼笉鑳芥帴鏀讹紒");
-      }
-    },
-    bindcardCode(scanValue){
-      // this.$message('缁戝畾鎴愬姛锛�');
-      let param = {
-        productNum: this.headContent.sfcCode,
-        trolleyYard: scanValue,
-      }
-      trolleyYardBinDing(param).then(response => {
-      });
+      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();
+          }
 
+        }
+      }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() {
       this.open1 = true
-    },
-    bindYzSfc(){
-      if(this.headContent.sfcCode!==""&&this.headContent.yzSfcCode!==""){
-        let param = {
-          sfcCode: this.headContent.sfcCode,
-          locationCode: this.headContent.processesCode,
-          yzSfcCode: this.headContent.yzSfcCode
-        }
-        const orderParam = {
-          productNum: this.headContent.sfcCode,
-        }
-        replaceAssemblyCode(param).then(response => {
-          this.$message('缁戝畾鎴愬姛锛�');
-          bindYzSfcFlag(orderParam).then(response => {
-            this.yzSfcFlag = 1
-          });
-        });
-      }
-    },
-    Release(){
-      // this.$message('portsList锛�'+this.portsList.length);
-      if(this.btnType === "danger"){
-        this.$message('杩炴帴浜嗭紒');
-
-      }else {
-        this.$message('mei杩炴帴浜嗭紒');
-
-      }
     },
     serialPortMethod(value){
       let formulaChildParams = {
@@ -549,9 +564,7 @@
       this.headContent.sfcCode = '';
       this.headContent.yzSfcCode = '';
       this.headContent.cardCode = '';
-    },
-    changeMenu(tab, event) {
-      console.log(tab, event);
+      this.workpieceInformation.planQty = ''
     },
     clearClick(){
       const param = {
@@ -560,34 +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('娓呴櫎鎴愬姛锛�');
-    },
-    scanCompleted(){
-      this.$message('鎵爜瀹屾垚'+this.content);
-      this.headContent.sfcCode = this.content
-      this.queryParams.sfcCode = this.content
+      this.setFocus();
       this.getList()
-      this.getListFormulaChild()
-      this.cakeLamp.scanFinish = 1
-      this.cakeLamp.startWork = 1
 
     },
     /** 鏌ヨ宸ュ崟鍒楄〃 */
     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(){
@@ -596,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'
         }
       });
     },
@@ -619,30 +652,38 @@
     padTimeUnit(value) {
       return value.toString().padStart(2, '0');
     },
-    addBaseData(){
-      addBasicParameters(this.passingStationForm).then(response => {});
-    },
 
-    /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/
-    addOverStationCollection(){
-      this.passingStationForm = {
-        id: null,
-        workOrderNo: this.workpieceInformation.workOrderNo,
-        productCode: this.workpieceInformation.productCode,
-        locationCode: this.headContent.processesCode,
-        model: this.workpieceInformation.productModel,
-        productBarcode: this.headContent.sfcCode,
-        sfcCode: this.headContent.sfcCode,
-        inboundTime: new Date()
-      }
-      addPassingStationCollection(this.passingStationForm).then(response => {});
-      // addBasicParameters(this.passingStationForm).then(response => {});
-    },
     exit() {
       if (this.ws) {
         this.ws.close();
         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) {
@@ -666,9 +707,15 @@
         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
+        }
 
       });
-      this.conCom()
       console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode)
       const wsuri = this.url + this.headContent.processesCode;
       this.ws = new WebSocket(wsuri);
@@ -680,15 +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;
-          console.log(self.headContent.processesCode);
-          // const param = {
-          //   processesCode: self.headContent.processesCode,
-          // }
-          // fistSetpNumber(param).then(response => {});
-        } else if (event.data === "IN0") {
-          self.cakeLamp.InPlace = 0;
+        }else if(event.data === "twoHundredAndThirtyEND"){
+          self.endClear()
         } else if (event.data === "OUT") {
           self.cakeLamp.release = 1;
         } else if (event.data === "END") {
@@ -724,7 +769,37 @@
           console.log("杩涘叆鏈�缁堟柟娉�")
           self.endSaveData(param)
 
-        } else if (event.data.includes("[")) {
+        } else if(event.data.includes("productNum")){//浜у搧搴忓垪鍙�
+          let productNum = event.data.split(',')[1];
+          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 = "";
           self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort);
           self.formulaChildList
@@ -738,10 +813,10 @@
               break;
             }
           }
-           if(formulaChilds === ""){
-             self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�');
-             return;
-           }
+          if(formulaChilds === ""){
+            self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�');
+            return;
+          }
           const param = {
             id: formulaChilds.id,
             tightenTheArray: event.data,
@@ -754,12 +829,15 @@
             spareField2: formulaChilds.spareField2,
             spareField3: formulaChilds.spareField3,
             spareField4: formulaChilds.spareField4,
-            stepSort: formulaChilds.stepSort
+            stepSort: formulaChilds.stepSort,
+            ngTimes: formulaChilds.ngTimes,
           }
           if(formulaChilds.paramCode === null||formulaChilds.paramCode ===''){
             self.$message('鏈壘鍒板弬鏁扮爜锛岃妫�鏌ュ弬鏁扮爜鏄惁姝g‘');
             return;
           }
+          self.formulaChildParams.artificialNgFlag = null
+          console.log("self.formulaChildParams.artificialNgFlag"+self.formulaChildParams.artificialNgFlag)
           if(self.headContent.sfcCode!==null||self.headContent.sfcCode!==''){
             updateTighteningFormula(param).then(response => {
               //addTighteningParameters(param).then(response => {});
@@ -768,15 +846,6 @@
               self.getListFormulaChild()
             });
           }
-        }else if(event.data.includes("productNum")){
-          let productNum = event.data.split(',')[1];
-          self.headContent.sfcCode = productNum;
-          self.queryParams.productNum = productNum;
-          self.getList()
-          self.cakeLamp.scanFinish = 1
-          self.cakeLamp.startWork = 1
-          self.cakeLamp.InPlace = 1
-
         }
       };
     },
@@ -788,263 +857,20 @@
       workpieceRelease(param).then(response => {});
       });
     },
-
-    //鎺ュ彈鏁版嵁鐨勫洖璋�
-    callBack(value) {
-      if (this.form1.isShowHistory) this.form1.desc = this.readLi().join("");
-      else {
-        const scanValue = this.myserialport.hex2atostr(value).replace(/[\r\n]/g, '');
-        console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue)
-        console.log("sfc=--"+this.headContent.sfcCode+"--")
-        if(this.headContent.sfcCode !== '' && this.headContent.sfcCode !== null
-          && this.headContent.sfcCode !== undefined){
-          if(scanValue.includes("0RSP1TE") && this.headContent.processesCode === 'OP240'){
-            this.headContent.cardCode = scanValue
-            this.bindcardCode(scanValue);
-            this.serialPortMethod(scanValue)
-          }else {
-            this.$message('宸ヤ綅缁堢鎵弿鐗╂枡缂栫爜'+scanValue);
-            console.log(scanValue)
-            this.serialPortMethod(scanValue)
-          }
-        } else {
-          // if(this.headContent.processesCode === 'OP240'){
-            this.headContent.sfcCode = scanValue;
-            this.queryParams.productNum = scanValue;
-            this.getList()
-            this.cakeLamp.scanFinish = 1
-            this.cakeLamp.startWork = 1
-            this.cakeLamp.InPlace = 1
-          // }else {
-          //   let param = {
-          //     trolleyYard: scanValue
-          //   }
-          //   findBytrolleyYardGetOne(param).then(response => {
-          //     if(response.msg !== '2'){
-          //       this.headContent.sfcCode = response.msg;
-          //       this.queryParams.productNum = response.msg;
-          //       this.$message('鎵爜璇嗗埆浜у搧搴忓垪鍙�'+scanValue);
-          //       this.getList()
-          //       this.cakeLamp.scanFinish = 1
-          //       this.cakeLamp.startWork = 1
-          //       this.cakeLamp.InPlace = 1
-          //     }else {
-          //       this.$message('娌℃湁搴忓垪鍙�'+scanValue);
-          //       return
-          //     }
-          //   });
-          // }
-
-        }
-
-      }
-    },
-    clearHistory() {
-      this.form1.desc = "";
-      this.myserialport.state.readValue = [];
-    },
-    loadHistory() {
-      if (this.form1.isShowHistory) this.form1.desc = this.readLi().join("");
-      else {
-        let temp = this.readLi();
-        if (temp.length > 0) this.form1.desc = temp[temp.length - 1].join("");
-      }
-    },
-    readLi() {
-      let readType = this.readType;
-      return this.myserialport.state.readValue.map((items, index) => {
-        const item = items.value;
-        const type = items.type; // 1鎺ユ敹锛�2鍙戦��
-        let body = [];
-        if (item !== undefined) {
-          let strArr = [];
-          for (let hex of Array.from(item)) {
-            strArr.push(hex.toString(16).toLocaleUpperCase());
-          }
-          if (strArr.includes("D") && strArr.includes("A")) {
-            if (strArr.indexOf("A") - strArr.indexOf("D") === 1) {
-              strArr.splice(strArr.indexOf("D"), 1);
-              strArr.splice(strArr.indexOf("A"), 1, <br key={0} />);
-            }
-          }
-          strArr = strArr.map((item) => {
-            if (typeof item === "string") {
-              if (readType === 1) {
-                return this.myserialport.hex2a(parseInt(item, 16));
-              } else if (readType === 2) {
-                return item + " ";
-              }
-            }
-            return item;
-          });
-          if (typeof strArr[strArr.length - 1] === "string") {
-            strArr.push("\r\n");
-          }
-          body.push(strArr.join(""));
-        }
-        return body;
-      });
-    },
-    conCom(){
-      try {
-        this.myserialport.state.baudRate = this.form1.baudRate;
-        this.myserialport.state.dataBits = this.form1.dataBits;
-        this.myserialport.state.stopBits = this.form1.stopBits;
-        this.myserialport.state.parity = this.form1.parity;
-        this.myserialport.state.flowControl = this.form1.flowControl;
-        this.myserialport.openPort(0, true, this.callBack);
-        console.log(this.form1.port)
-      } catch (error) {
-        this.$message.error("涓插彛杩炴帴澶辫触锛佽妫�鏌ヤ覆鍙f槸鍚﹀凡琚崰鐢�");
-      }
-      if (this.myserialport.state.isOpen) {
-        this.$message.success("涓插彛杩炴帴鎴愬姛");
-      }
-    },
-    //杩炴帴
-    async connectBtn() {
-      if (this.btnType === "primary") {
-        try {
-          this.myserialport.state.baudRate = this.form1.baudRate;
-          this.myserialport.state.dataBits = this.form1.dataBits;
-          this.myserialport.state.stopBits = this.form1.stopBits;
-          this.myserialport.state.parity = this.form1.parity;
-          this.myserialport.state.flowControl = this.form1.flowControl;
-          await this.myserialport.openPort(this.form1.port, true, this.callBack);
-          console.log(this.form1.port)
-        } catch (error) {
-          this.$message.error("涓插彛杩炴帴澶辫触锛佽妫�鏌ヤ覆鍙f槸鍚﹀凡琚崰鐢�");
-        }
-        if (this.myserialport.state.isOpen) {
-          this.$message.success("涓插彛杩炴帴鎴愬姛");
-          this.open1 = false
-          this.btnType = "danger";
-          this.btnText = "鍏抽棴涓插彛";
-        }
-      } else {
-        this.myserialport.openPort(this.form1.port, false, this.callBack);
-        this.$message.success("涓插彛鍏抽棴鎴愬姛");
-        this.btnType = "primary";
-        this.btnText = "杩炴帴涓插彛";
-      }
-    },
-    //鎺堟潈
-    async obtainAuthorization() {
-      if ("serial" in navigator) {
-        console.log("The Web Serial API is supported.");
-        if (!this.myserialport) this.myserialport = new MySerialPort();
-        try {
-          await this.myserialport.handleRequestPort();
-          this.$message.success("涓插彛鎺堟潈鎴愬姛");
-          this.getPortInfo(this.myserialport.state.ports);
-        } catch (error) {
-          this.$message.warning("鏈�夋嫨鏂颁覆鍙f巿鏉冿紒");
-        }
-      } else {
-        this.$message.error(
-          "褰撳墠涓篐TTP妯″紡鎴栬�呮祻瑙堝櫒鐗堟湰杩囦綆锛屼笉鏀寔缃戦〉杩炴帴涓插彛"
-        );
-      }
-    },
-    //涓插彛鍒楄〃鍒濆鍖�
-    getPortInfo(portList) {
-      this.portsList = [];
-      portList.map((port, index) => {
-        const { usbProductId, usbVendorId } = port.getInfo();
-        if (usbProductId === undefined || usbVendorId === undefined) {
-          this.portsList.push({ label: "鏈煡璁惧" + index, value: index });
-        } else {
-          const usbVendor = USBDevice.filter(
-            (item) => parseInt(item.vendor, 16) === usbVendorId
-          );
-          let usbProduct = [];
-          if (usbVendor.length === 1) {
-            usbProduct = usbVendor[0].devices.filter(
-              (item) => parseInt(item.devid, 16) === usbProductId
-            );
-          }
-          this.portsList.push({ label: usbProduct[0].devname, value: index });
-        }
-      });
-    },
-    // 鍙戦��
-    async sendCommon() {
-      if (this.myserialport.state.isOpen) {
-        if (this.form1.sendMsg.length !== 0) {
-          const writeType = this.form1.type;
-          let value = this.form1.sendMsg;
-          let arr = [];
-          if (writeType === 1) {
-            // ASCII
-            for (let i = 0; i < value.length; i++) {
-              arr.push(this.myserialport.a2hex(value[i]));
-            }
-          } else if (writeType === 2) {
-            // HEX
-            if (/^[0-9A-Fa-f]+$/.test(value) && value.length % 2 === 0) {
-              for (let i = 0; i < value.length; i = i + 2) {
-                arr.push(parseInt(value.substring(i, i + 2), 16));
-              }
-            } else {
-              this.$message.error("鏍煎紡閿欒");
-              return;
-            }
-          }
-          this.myserialport.writeText(arr);
-        } else {
-          this.$message.warning("璇疯緭鍏ュ彂閫佺殑淇℃伅");
-        }
-      } else {
-        this.$message.warning("涓插彛澶勪簬鍏抽棴鐘舵�侊紝璇疯繛鎺ヤ覆鍙�");
-      }
-    },
-    async getPorts() {
-      await this.myserialport.getPorts();
-      this.getPortInfo(this.myserialport.state.ports);
-    },
-    querySearch(queryString, cb) {
-      var restaurants = this.restaurants;
-      var results = queryString
-        ? restaurants.filter(this.createFilter(queryString))
-        : restaurants;
-      // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
-      cb(results);
-    },
-    createFilter(queryString) {
-      return (restaurant) => {
-        return (
-          restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) ===
-          0
-        );
-      };
-    },
-    loadAll() {
-      return [
-        { value: "110" },
-        { value: "300" },
-        { value: "600" },
-        { value: "1200" },
-        { value: "2400" },
-        { value: "4800" },
-        { value: "7200" },
-        { value: "9600" },
-        { value: "14400" },
-        { value: "19200" },
-        { value: "28800" },
-        { value: "38400" },
-        { value: "56000" },
-        { value: "57600" },
-        { value: "76800" },
-        { value: "115200" },
-        { value: "230400" },
-        { value: "460800" },
-      ];
-    },
   }
 }
 
 </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