懒羊羊
2024-03-15 49c784e6ac7d71c5eaf7352e0a215842b4ca5456
jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -34,7 +34,7 @@
           <el-descriptions-item label="工单编号">
               <span>{{workpieceInformation.workOrderNo}}</span>
           </el-descriptions-item>
           <el-descriptions-item label="产品序列号">
           <el-descriptions-item label="产品编号">
             <span>{{workpieceInformation.productCode}}</span>
           </el-descriptions-item>
           <el-descriptions-item label="产品型号">
@@ -291,7 +291,11 @@
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} from "@/api/main/da/paramCollection/paramCollection";
import {
  addBasicParameters,
  addParamCollection,
  addTighteningParameters
} from "@/api/main/da/paramCollection/paramCollection";
export default {
  name: "stationTerminal",
@@ -312,7 +316,7 @@
      headContent: {
        processesCode: 'OP1010',
        processesName: '贴标机-贴码',
        sfcCode: '10',
        sfcCode: '',
      },
      workpieceInformation: {
        workOrderNo: null,
@@ -343,7 +347,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,
@@ -371,6 +375,7 @@
      title: "",
      passingStationForm: {},
      originalArray: [],
    }
  },
  beforeDestroy() {
@@ -441,7 +446,8 @@
    },
    serialPortMethod(value){
      let formulaChildParams = {
        materialCode: value,
        scanBarcode: value,
        sfcBarcode: this.headContent.sfcCode,
        workOrderNo: this.workpieceInformation.workOrderNo,
        productCode: this.workpieceInformation.productCode,
        locationCode: this.headContent.processesCode,
@@ -571,23 +577,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('该工位没有配置IP,请联系管理员配置IP');
          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;
@@ -596,33 +602,62 @@
      };
      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("[")) {
          // 这里是 default 分支,如果需要执行某些操作,可以放在这里
          // console.log('接收到数据:', event.data)
          // const arr = JSON.parse(event.data)
          // console.log(arr)
          const param = {
            tightenTheArray: event.data,
            workOrderNo: self.workpieceInformation.workOrderNo,
            productCode: self.workpieceInformation.productCode,
            locationCode: self.headContent.processesCode,
            productBarcode: self.headContent.sfcCode,
          }
          addTighteningParameters(param).then(response => {});
        }
        // switch (event.data) {
        //   case "IN":
        //     self.cakeLamp.InPlace = 1;
        //     break;
        //   case "IN0":
        //     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;
        // }
      };
    },
    //接受数据的回调
    callBack(value) {
@@ -638,7 +673,7 @@
        } else {
          console.log('字符串不包含字母"T"');
          this.headContent.sfcCode = scanValue;
          this.queryParams.sfcCode = scanValue;
          this.queryParams.productNum = scanValue;
          this.getList()
          // this.getListFormulaChild()
          this.cakeLamp.scanFinish = 1