From 7f6f725ad67e017c0bbae2a4de01952b88352af0 Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期五, 15 三月 2024 10:52:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue |  231 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 152 insertions(+), 79 deletions(-)

diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index 9a779c4..0f16945 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -13,7 +13,7 @@
      </el-col>
      <el-col :span="10">
        <el-card shadow="never">
-         <span class="head-font">鎬绘垚缂栫爜 : {{headContent.sfcCode}}</span>
+         <span class="head-font">浜у搧搴忓垪鍙� : {{headContent.sfcCode}}</span>
 <!--         <el-input v-model="content" style="float: right;width: 150px;" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>-->
 <!--         <el-button @click="scanCompleted" style="float: right" type="primary">鎵爜瀹屾垚</el-button>-->
          <el-button type="primary" style="float: right" icon="el-icon-search" size="mini" @click="serialLink">涓插彛杩炴帴</el-button>
@@ -32,7 +32,7 @@
          <el-descriptions :column="1" border :content-style="{'min-width': '140px'}">
 <!--         <el-descriptions :column="1" :label-style="{'font-size': '15px'}" border :content-style="{'min-width': '150px'}">-->
            <el-descriptions-item label="宸ュ崟缂栧彿">
-               <span>{{workpieceInformation.workOrderCode}}</span>
+               <span>{{workpieceInformation.workOrderNo}}</span>
            </el-descriptions-item>
            <el-descriptions-item label="浜у搧缂栧彿">
              <span>{{workpieceInformation.productCode}}</span>
@@ -43,9 +43,9 @@
            <el-descriptions-item label="浜у搧鍚嶇О">
              <span>{{workpieceInformation.productName}}</span>
            </el-descriptions-item>
-           <el-descriptions-item label="鑺傛媿">
-             <span>{{workpieceInformation.beat}}</span>
-           </el-descriptions-item>
+<!--           <el-descriptions-item label="鑺傛媿">-->
+<!--             <span>{{workpieceInformation.beat}}</span>-->
+<!--           </el-descriptions-item>-->
          </el-descriptions>
          <el-divider></el-divider>
          <el-row>
@@ -105,42 +105,48 @@
        <el-tabs type="border-card"  style="height: 600px" v-model="activeName" @tab-click="changeMenu">
          <el-tab-pane name="first">
            <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span>
-           <el-col :span="10">
+           <el-col :span="24">
              <el-table :cell-style="rowStyle" :data="formulaChildList">
                <el-table-column label="鎺掑簭" width="60" align="center" prop="stepSort">
                </el-table-column>
                <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps">
                </el-table-column>
+               <el-table-column label="浜у搧缂栧彿" width="150" align="center" prop="productCode">
+               </el-table-column>
+               <el-table-column label="閲囬泦鍊�" width="150" align="center" prop="productCode">
+               </el-table-column>
+               <el-table-column label="缁撴灉" width="150" align="center" prop="results">
+               </el-table-column>
              </el-table>
            </el-col>
-           <el-col :span="14">
-             <el-image style="height: 520px;width: 100%" :src="imgSrc"></el-image>
-           </el-col>
+<!--           <el-col :span="14">-->
+<!--             <el-image style="height: 520px;width: 100%" :src="imgSrc"></el-image>-->
+<!--           </el-col>-->
          </el-tab-pane>
-         <el-tab-pane name="second">
-           <span slot="label"> <b class="el-icon-date"></b>鐗╂枡BOM</span>
-           <el-empty>
-             <span slot="description">鏆傛棤鏁版嵁</span>
-           </el-empty>
-         </el-tab-pane>
-         <el-tab-pane name="third">
-           <span slot="label"> <b class="el-icon-date"></b>閲囬泦娓呭崟</span>
-           <el-empty>
-             <span slot="description">鏆傛棤鏁版嵁</span>
-           </el-empty>
-         </el-tab-pane>
-         <el-tab-pane name="fourth">
-           <span slot="label"> <b class="el-icon-date"></b>瀹夌伅鐘舵��</span>
-           <el-empty>
-             <span slot="description">鏆傛棤鏁版嵁</span>
-           </el-empty>
-         </el-tab-pane>
-         <el-tab-pane name="fifth">
-           <span slot="label"> <b class="el-icon-date"></b>宸ヨ壓閰嶆柟</span>
-           <el-empty>
-             <span slot="description">鏆傛棤鏁版嵁</span>
-           </el-empty>
-         </el-tab-pane>
+<!--         <el-tab-pane name="second">-->
+<!--           <span slot="label"> <b class="el-icon-date"></b>鐗╂枡BOM</span>-->
+<!--           <el-empty>-->
+<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
+<!--           </el-empty>-->
+<!--         </el-tab-pane>-->
+<!--         <el-tab-pane name="third">-->
+<!--           <span slot="label"> <b class="el-icon-date"></b>閲囬泦娓呭崟</span>-->
+<!--           <el-empty>-->
+<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
+<!--           </el-empty>-->
+<!--         </el-tab-pane>-->
+<!--         <el-tab-pane name="fourth">-->
+<!--           <span slot="label"> <b class="el-icon-date"></b>瀹夌伅鐘舵��</span>-->
+<!--           <el-empty>-->
+<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
+<!--           </el-empty>-->
+<!--         </el-tab-pane>-->
+<!--         <el-tab-pane name="fifth">-->
+<!--           <span slot="label"> <b class="el-icon-date"></b>宸ヨ壓閰嶆柟</span>-->
+<!--           <el-empty>-->
+<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
+<!--           </el-empty>-->
+<!--         </el-tab-pane>-->
        </el-tabs>
      </el-col>
    </el-row>
@@ -289,6 +295,13 @@
 import {listFormulaChild, releaseCheck, updateResults, workpieceRelease} from "@/api/main/bs/formulaChild/formulaChild";
 import MySerialPort from "@/utils/MySerialPort";
 import USBDevice from "@/utils/usb.json";
+import {listProductionOrde} from "@/api/main/om/productionOrde/productionOrde";
+import {addPassingStationCollection} from "@/api/main/da/passingStationCollection/passingStationCollection";
+import {
+  addBasicParameters,
+  addParamCollection,
+  addTighteningParameters
+} from "@/api/main/da/paramCollection/paramCollection";
 
 export default {
   name: "stationTerminal",
@@ -309,10 +322,10 @@
       headContent: {
         processesCode: 'OP1010',
         processesName: '璐存爣鏈�-璐寸爜',
-        sfcCode: '10',
+        sfcCode: '',
       },
       workpieceInformation: {
-        workOrderCode: null,
+        workOrderNo: null,
         productCode: null,
         productModel: null,
         productName: null,
@@ -340,7 +353,7 @@
       },
       content: '',
       activeName: 'first',
-      url: "ws://192.168.11.134:8080/websocket/message/",
+      url: "ws://192.168.11.76:8080/websocket/message/",
       message: "",
       text_content: "",
       ws: null,
@@ -366,6 +379,9 @@
       isShowSendArea: false,
       readType: 1,
       title: "",
+
+      passingStationForm: {},
+      originalArray: [],
     }
   },
   beforeDestroy() {
@@ -435,12 +451,30 @@
       // });
     },
     serialPortMethod(value){
-      let formulaChildParams = {
-        materialCode: value
-      }
-      updateResults(formulaChildParams).then(response => {
-        this.getListFormulaChild()
+      console.log(value.includes('C'));
+      let formulaChilds = '';
+      console.log(this.formulaChildList)
+      this.formulaChildList.forEach((formulaChild) => {
+        formulaChilds = formulaChild;
+        let operationType = formulaChild.operationType;
+        let results = formulaChild.results;
+        let materialCode = formulaChild.materialCode;
+        if(operationType === '2' && value.includes(materialCode) && (results === '' || results === null || results === 'NG')){
+          return; // 浣跨敤return浠f浛break
+        }
       });
+      console.log(formulaChilds)
+      // let formulaChildParams = {
+      //   scanBarcode: value,
+      //   sfcBarcode: this.headContent.sfcCode,
+      //   workOrderNo: this.workpieceInformation.workOrderNo,
+      //   productCode: this.workpieceInformation.productCode,
+      //   locationCode: this.headContent.processesCode,
+      //   collectionTime: new Date()
+      // }
+      // updateResults(formulaChildParams).then(response => {
+      //   this.getListFormulaChild()
+      // });
     },
     rowStyle({ row }) {
       if (row.results === 'OK') {
@@ -456,8 +490,10 @@
       this.formulaChildParams.processesCode = this.headContent.processesCode
       listFormulaChild(this.formulaChildParams).then(response => {
         this.formulaChildList = response.rows;
+        console.log(this.formulaChildList)
       });
     },
+
     changeMenu(tab, event) {
       console.log(tab, event);
     },
@@ -475,12 +511,12 @@
       this.cakeLamp.startWork = 1
 
     },
-    /** 鏌ヨ鎶ュ伐璁板綍 琛ㄥ垪琛� */
+    /** 鏌ヨ宸ュ崟鍒楄〃 */
     async getList() {
-      await listWorkReport(this.queryParams).then(response => {
+      await listProductionOrde(this.queryParams).then(response => {
         let rowsData = response.rows[0];
         console.log(rowsData)
-        this.workpieceInformation.workOrderCode = rowsData.workOrderCode;
+        this.workpieceInformation.workOrderNo = rowsData.workOrderNo;
         this.workpieceInformation.productCode = rowsData.productCode;
         this.workpieceInformation.productModel = rowsData.productModel;
         this.workpieceInformation.productName = rowsData.productName;
@@ -489,6 +525,22 @@
         }, 1000);
       });
       this.getListFormulaChild()
+      this.addOverStationCollection()
+    },
+
+    /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/
+    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,
+        inboundTime: new Date()
+      }
+      addPassingStationCollection(this.passingStationForm).then(response => {});
+      addBasicParameters(this.passingStationForm).then(response => {});
     },
     allowRelease(){
       clearInterval(this.timer);
@@ -544,23 +596,23 @@
         alert("鏈繛鎺ュ埌鏈嶅姟鍣�");
       }
     },
-    async initStation(){
+    initStation: async function () {
       await getIpv4().then(response => {
         this.StationConfQueryParams.ipAddress = response.msg
-        console.log('鏌ヨ鍒版湰宸ヤ綅IP涓�'+this.StationConfQueryParams.ipAddress)
+        console.log('鏌ヨ鍒版湰宸ヤ綅IP涓�' + this.StationConfQueryParams.ipAddress)
       });
       await listStationConf(this.StationConfQueryParams).then(response => {
         let rows = response.rows[0]
-        if(response.rows.length===0){
+        if (response.rows.length === 0) {
           this.$message('璇ュ伐浣嶆病鏈夐厤缃甀P锛岃鑱旂郴绠$悊鍛橀厤缃甀P');
           return
         }
         this.headContent.processesName = rows.processesName
         this.headContent.processesCode = rows.processesCode
-        console.log('璁剧疆宸ヤ綅缂栫爜'+this.headContent.processesCode)
+        console.log('璁剧疆宸ヤ綅缂栫爜' + this.headContent.processesCode)
 
       });
-      console.log('websocket杩炴帴宸ヤ綅涓�'+this.headContent.processesCode)
+      console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode)
       const wsuri = this.url + this.headContent.processesCode;
       this.ws = new WebSocket(wsuri);
       const self = this;
@@ -569,49 +621,70 @@
       };
       this.ws.onmessage = function (event) {
         const DELAY_TIME = 2000;
-        switch (event.data) {
-          case "IN":
-            self.cakeLamp.InPlace = 1;
-            break;
-          case "IN0":
+        if (event.data === "IN") {
+          self.cakeLamp.InPlace = 1;
+        } else if (event.data === "IN0") {
+          self.cakeLamp.InPlace = 0;
+        } else if (event.data === "OUT") {
+          self.cakeLamp.release = 1;
+          setTimeout(() => {
             self.cakeLamp.InPlace = 0;
-            break;
-          case "OUT":
-            self.cakeLamp.release = 1;
-            setTimeout(() => {
-              self.cakeLamp.InPlace = 0;
-              self.cakeLamp.release = 0;
-              self.cakeLamp.startWork = 0;
-              self.cakeLamp.scanFinish = 0;
-              self.Release();
-            }, DELAY_TIME);
-            break;
-          case "TIGHTEN":
-            this.formulaChildList = [];
-            self.getListFormulaChild();
-            break;
-          default:
-            break;
+            self.cakeLamp.release = 0;
+            self.cakeLamp.startWork = 0;
+            self.cakeLamp.scanFinish = 0;
+            self.Release();
+          }, DELAY_TIME);
+        } else if (event.data === "TIGHTEN") {
+          this.formulaChildList = [];
+          self.getListFormulaChild();
+        } else if (event.data.includes("[")) {
+          let formulaChilds = "";
+          // for(let i=0;i<self.formulaChildList.length;i++){
+          //   formulaChilds = self.formulaChildList[i];
+          //   let operationType = formulaChild.operationType;
+          //   let results = formulaChild.results;
+          //   if(operationType === '1' &&
+          //     (results === '' || results === null ||results === 'NG')){
+          //         break;
+          //   }
+          // }
+          self.formulaChildList.forEach((formulaChild) => {
+            formulaChilds = formulaChild;
+            let operationType = formulaChild.operationType;
+            let results = formulaChild.results;
+            if(operationType === '1' && (results === '' || results === null || results === 'NG')){
+              return; // 浣跨敤return浠f浛break
+            }
+            // 鎵ц鍏朵粬鎿嶄綔
+          });
+          console.log(formulaChilds)
+          console.log(formulaChilds.paramCode)
+          const param = {
+            tightenTheArray: event.data,
+            paramCode: formulaChilds.paramCode,
+            workOrderNo: self.workpieceInformation.workOrderNo,
+            productCode: self.workpieceInformation.productCode,
+            locationCode: self.headContent.processesCode,
+            productBarcode: self.headContent.sfcCode,
+          }
+          addTighteningParameters(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, '');
-        // if (value.length > 0)
-          // this.form1.desc = this.myserialport.hex2atostr(value);
         this.$message('鎵爜瀹屾垚'+this.content);
-        if (/T/.test(scanValue)) {
-          console.log('瀛楃涓插寘鍚瓧姣�"T"');
+
+        if(this.headContent.sfcCode !== ''){
+          console.log(scanValue)
           this.serialPortMethod(scanValue)
-        } else {
-          console.log('瀛楃涓蹭笉鍖呭惈瀛楁瘝"T"');
+        }else {
           this.headContent.sfcCode = scanValue;
-          this.queryParams.sfcCode = scanValue;
+          this.queryParams.productNum = scanValue;
           this.getList()
           // this.getListFormulaChild()
           this.cakeLamp.scanFinish = 1

--
Gitblit v1.9.3