From 1c703617885275090d69c697e82e61f4940c0bdc Mon Sep 17 00:00:00 2001
From: yyt <306727702@qq.com>
Date: 星期二, 28 五月 2024 14:20:29 +0800
Subject: [PATCH] 380新产品,优化

---
 jcdm-ui/src/views/main/kb/engineCheck/index.vue |  217 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 162 insertions(+), 55 deletions(-)

diff --git a/jcdm-ui/src/views/main/kb/engineCheck/index.vue b/jcdm-ui/src/views/main/kb/engineCheck/index.vue
index 65d5a51..198a131 100644
--- a/jcdm-ui/src/views/main/kb/engineCheck/index.vue
+++ b/jcdm-ui/src/views/main/kb/engineCheck/index.vue
@@ -1,93 +1,117 @@
 <template>
   <div class="app-container">
-    <el-card  style="height: 70px;margin-bottom: 10px" class="box-card" >
+    <el-card   class="box-card"  style="height: 60px" >
       <template>
-        <div class="container">
-          <el-row type="flex" justify="center"  style="text-align: center" >
-            <el-col :span="12">
-              <span style="fontSize:35px;color:black"><strong>鍙戝姩鏈烘暟鎹鏌�</strong></span>
-            </el-col>
-          </el-row>
+        <div class="container" type="flex" justify="center" style="text-align:center">
+<!--          <el-row   type="flex" justify="center" style="text-align:center;height: 12px" >-->
+<!--            <el-col  type="flex" justify="center"  :span="14" style="text-align:center">-->
+          <el-divider><span style="font-size:22px;color:black"><strong>鍙戝姩鏈烘暟鎹鏌�</strong></span></el-divider>
+<!--            </el-col>-->
+<!--          </el-row>-->
         </div>
       </template>
     </el-card>
-   <el-row :gutter="5"  style="margin-top: 10px">
-     <el-col :span="10" style=" height:600px;width:800px"  >
-       <el-card class="bottom-card">
-         <el-descriptions :column="1" >
-           <el-descriptions-item>
-             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
-               <el-form-item prop="engineNo" >
-      	     <span slot="label" style="font-size:45px;color:black"><strong>鍙戝姩鏈哄彿</strong></span>
-                 <el-input style="font-size:30px" v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable  @keyup.enter.native="EngineNohandleChange" >
+   <el-row :gutter="0"  >
+     <el-col :span="14">
+       <el-card   class="box-card" style="margin-top: 5px" >
+             <el-form ref="form" :model="form"  label-width="25%"   >
+               <el-form-item prop="engineNo" style="margin-top: 16px">
+      	     <span slot="label" style="font-size:22px;color:black;"><strong>鍙戝姩鏈哄彿</strong></span>
+                 <el-input style="font-size:20px" v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable  @keyup.space.native="EngineNohandleChange" >
                    <el-button slot="append" plain type="info" @click="EngineNohandleChange(form.engineNo)" icon="el-icon-search"></el-button>
                  </el-input>
                </el-form-item>
              </el-form>
-           </el-descriptions-item>
-           <el-descriptions-item>
-             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
-               <el-form-item   prop="productType" >
-      	        <span slot="label" style="font-size:45px;color:black"><strong>鏈哄瀷</strong></span>
-                 <el-input disabled style="font-size:30px"  value="form.productType" v-model="form.productType" placeholder="" />
+             <el-form ref="form" :model="form"  label-width="25%"  >
+               <el-form-item   prop="productType"style="margin-top: 30px" >
+      	        <span slot="label" style="font-size:22px;color:black"><strong>鏈哄瀷</strong></span>
+                 <el-input disabled style="font-size:20px"  value="form.productType" v-model="form.productType" placeholder="" />
                </el-form-item>
              </el-form>
-           </el-descriptions-item>
-           <el-descriptions-item>
-             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
-               <el-form-item   prop="orderNo" >
-      	     <span  slot="label" style="font-size:45px;color:black"><strong>宸ュ崟缂栧彿</strong></span>
-                 <el-input disabled style="font-size:30px" v-model="form.orderNo" placeholder="" />
+             <el-form ref="form" :model="form"  label-width="25%"  >
+               <el-form-item   prop="orderNo" style="margin-top: 30px">
+      	     <span  slot="label" style="font-size:22px;color:black"><strong>宸ュ崟缂栧彿</strong></span>
+                 <el-input disabled style="font-size:20px" v-model="form.orderNo" placeholder="" />
                </el-form-item>
              </el-form>
-           </el-descriptions-item>
-           <el-descriptions-item>
-             <el-form ref="form" :model="form"  label-width="200px" style="height: 60px;margin-top: 20px" >
-               <el-form-item   prop="currentWorkstation" >
-      	     <span slot="label" style="font-size:45px;color:black"><strong>璐ㄩ噺鐘舵��</strong></span>
-                 <el-input disabled style="font-size:30px" v-model:value="form.add" placeholder="" />
+             <el-form ref="form" :model="form"  label-width="25%"  >
+               <el-form-item   prop="currentWorkstation" style="margin-top: 30px">
+      	     <span slot="label" style="font-size:22px;color:black"><strong>璐ㄩ噺鐘舵��</strong></span>
+                 <el-input disabled style="font-size:20px" v-model:value="form.add" placeholder="" />
                </el-form-item>
              </el-form>
-           </el-descriptions-item>
-         </el-descriptions>
          <el-divider></el-divider>
+
          <el-row :gutter="10" class="mb8" type="flex" justify="center"  style="text-align: center">
            <el-col :span="1.5">
-             <el-button plain  :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']" @click="forceOnline">
-               <span   class="el-icon-thumb"   style="font-size:45px;color:black"></span>
-               <span style="font-size:45px;color:black"><strong>寮哄埗涓婄嚎</strong></span>
+             <el-button plain  type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']" @click="forceUpload">
+               <span   class="el-icon-thumb"   style="font-size:40px;color:black"></span>
+               <span style="font-size:45px;color:black" ><strong>寮哄埗涓婄嚎</strong></span>
              </el-button>
            </el-col>
          </el-row>
        </el-card>
      </el-col>
 
-     <el-col :span="14"  inline style="height:600px;width:600px  ">
-       <el-tabs type="border-card"  >
-         <el-card>
-         <el-col :span="14"style="height: 270px;width:800px  ">
+     <el-col :span="10"  inline style="margin-top: 5px">
+         <el-card class="custom-content"  style="height: 264px">
+         <el-col :span="14">
            <span style="font-size:25px"><strong>璐ㄩ噺鐘舵��</strong></span>
            <el-divider></el-divider>
            {{this.form.engineCheckList}}
          </el-col>
          </el-card>
-         <el-card style="margin-top: 10px" >
-         <el-col :span="14"style="height: 270px;width:800px  ">
+         <el-card class="custom-content" style="height: 264px" >
+         <el-col :span="14"style="  ">
            <span style="font-size:25px"><strong>鏈�缁堢粨鏋�</strong></span>
            <el-divider></el-divider>
            {{queryParams.productType}}
          </el-col>
          </el-card>
-       </el-tabs>
      </el-col>
    </el-row>
   </div>
 </template>
 <script>
 
-import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
+import { listOrderScheduling, forceUploadMethod, getUrl, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
 import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection";
 import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
+import WebSocketReconnect from "@/utils/WebsocketTool";
+
+// let websocket = null
+// //鍒ゆ柇褰撳墠娴忚鍣ㄦ槸鍚︽敮鎸乄ebSocket
+// if ('WebSocket' in window) {
+//   //杩炴帴WebSocket鑺傜偣
+//   websocket = new WebSocketReconnect('ws://127.0.0.1:8086/websocket/111122')
+// } else {
+//   alert('娴忚鍣ㄤ笉鏀寔webSocket')
+// }
+// //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶
+// websocket.socket.onmessage = function (event) {
+//   let data = event.data
+//   console.log('鍚庣浼犻�掔殑鏁版嵁:' + data)
+//   if (data != null && data !== ''){
+//     this.result = JSON.parse(data)
+//     console.log('this.result',this.result)
+//     // this.form.engineNo = this.result.server_message
+//     this.transEngineNo = this.result.server_message
+//     console.log('this.transEngineNo11111111111',this.transEngineNo)
+//   }
+//
+// }
+// //鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂瓀ebsocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
+// window.onbeforeunload = function () {
+//   websocket.close()
+// }
+// //鍏抽棴杩炴帴
+// function closeWebSocket() {
+//   websocket.close()
+// }
+// //鍙戦�佹秷鎭�
+// function send() {
+//   websocket.socket.send({ kk: 123 })
+// }
 
 export default {
   components: { },
@@ -95,11 +119,16 @@
   props: [],
   data() {
     return {
+      websocketUrl: '',
+      websocket: null,
+      result: {},
+      transEngineNo: '',
       options: [],
       total: 0,
       engineCheckList:[],
       showFlag:false,
       buttondisabled:true,
+      mess:'',
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -126,10 +155,86 @@
     };
   },
   computed: {},
-  watch: {},
-  created() {},
-  mounted() {},
+  watch: {
+    // transEngineNo:{
+    //   handler(newVal,oldVal) {
+    //     console.log('newVal',newVal)
+    //     console.log('oldVal',oldVal)
+    //     this.form.engineNo = newVal
+    //     console.log('11111111111111')
+    //     console.log('this.form.engineNo',this.form.engineNo)
+    //   },
+    //   immediate:true
+    // }
+  },
+  created() {
+
+  },
+  mounted() {
+    this.getWebUrl()
+
+  },
   methods: {
+    getWebUrl(){
+      console.log("1111")
+      getUrl().then(res=>{
+        console.log("res",res)
+        this.websocketUrl = res+"OP120"
+        this.initWebSocket()
+      })
+    },
+    forceUpload() {
+      console.log('0000', this.form.engineNo)
+      if (this.form.engineNo !== null) {
+        forceUploadMethod(this.form.engineNo).then(res => {
+
+        })
+      } else {
+        this.$message({
+          message: '璇疯緭鍏ュ彂鍔ㄦ満鏉$爜',
+          type: 'error',
+          offset: 300
+        })
+      }
+    },
+    initWebSocket: function (){
+      //鍒ゆ柇褰撳墠娴忚鍣ㄦ槸鍚︽敮鎸乄ebSocket
+      if ('WebSocket' in window) {
+        //杩炴帴WebSocket鑺傜偣
+        console.log("9999",this.websocketUrl)
+        this.websocket = new WebSocketReconnect(this.websocketUrl)
+
+        //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶
+        this.websocket.socket.onmessage = (event) => {
+          let data = event.data
+          console.log('鍚庣浼犻�掔殑鏁版嵁:' + data)
+          if (data != null && data !== ''){
+            this.result = JSON.parse(data)
+            console.log('this.result',this.result)
+            this.form.engineNo = this.result.server_message
+            // this.transEngineNo = this.result.server_message
+            console.log('this.transEngineNo11111111111',this.form.engineNo)
+            if (this.form.engineNo !== null && this.form.engineNo !== ''){
+              this.EngineNohandleChange()
+            }
+          }
+        }
+//鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂瓀ebsocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
+        window.onbeforeunload = function () {
+          this.websocket.close()
+        }
+//鍏抽棴杩炴帴
+        function closeWebSocket() {
+          this.websocket.close()
+        }
+//鍙戦�佹秷鎭�
+        function send() {
+          this.websocket.socket.send({ kk: 123 })
+        }
+      } else {
+        alert('娴忚鍣ㄤ笉鏀寔webSocket')
+      }
+    },
     reset() {
       this.form = {
         engineNo:null,
@@ -143,10 +248,12 @@
       this.resetForm("form");
     },
     EngineNohandleChange(){
+      console.log("EngineNohandleChange")
       if(this.form.engineNo !== null && this.form.engineNo !== undefined){
         let OrderSchedulingParam = {engineNo: null}
         OrderSchedulingParam.engineNo = this.form.engineNo;
         listOrderScheduling(OrderSchedulingParam).then(response => {
+          console.log(response)
           if(response.total === 1 ){
             this.form.productType = response.rows[0].model
             this.form.orderNo = response.rows[0].orderNo
@@ -163,7 +270,6 @@
           else{
             this.reset();
             this.buttondisabled = true
-            // this.$modal.msgError('杈撳叆鐨勫彂鍔ㄦ満鍙锋湁璇�');
             const h = this.$createElement;
             this.$message({
               message: h('p',null, [
@@ -201,13 +307,14 @@
 </script>
 <style scoped>
 ::v-deep .el-input__inner{
-  height: 50px;
-  width: 450px;
+  height: 40px;
 }
 ::v-deep .el-form-item__label {
-  line-height: 50px;
+  line-height: 40px;
 }
-
+.custom-content {
+  height: 50%; /* 璁剧疆楂樺害涓�50% */
+}
 /*.my-custom-modal .el-dialog__wrapper {*/
 /*  width: 400px; !* 璁剧疆瀹藉害 *!*/
 /*  height: 200px; !* 璁剧疆楂樺害 *!*/

--
Gitblit v1.9.3