春风项目四线(合箱线、总装线)
wujian
2024-03-16 059083082a6d284821b70eb7bb6805763014c402
提交 | 用户 | 时间
f4d049 1 <template>
H 2   <div class="app-container">
a0aea8 3     <el-card   class="box-card"  style="height: 60px" >
f4d049 4       <template>
a0aea8 5         <div class="container" type="flex" justify="center" style="text-align:center">
H 6 <!--          <el-row   type="flex" justify="center" style="text-align:center;height: 12px" >-->
7 <!--            <el-col  type="flex" justify="center"  :span="14" style="text-align:center">-->
941264 8           <el-divider><span style="font-size:22px;color:black"><strong>发动机数据检查</strong></span></el-divider>
a0aea8 9 <!--            </el-col>-->
H 10 <!--          </el-row>-->
f4d049 11         </div>
H 12       </template>
13     </el-card>
b51361 14    <el-row :gutter="0"  >
W 15      <el-col :span="14">
a0aea8 16        <el-card   class="box-card" style="margin-top: 5px" >
H 17              <el-form ref="form" :model="form"  label-width="25%"   >
18                <el-form-item prop="engineNo" style="margin-top: 16px">
19                <span slot="label" style="font-size:22px;color:black;"><strong>发动机号</strong></span>
20                  <el-input style="font-size:20px" v-model="form.engineNo" placeholder="请输入发动机号" clearable  @keyup.enter.native="EngineNohandleChange" >
95fb19 21                    <el-button slot="append" plain type="info" @click="EngineNohandleChange(form.engineNo)" icon="el-icon-search"></el-button>
8f6607 22                  </el-input>
f4d049 23                </el-form-item>
H 24              </el-form>
a0aea8 25              <el-form ref="form" :model="form"  label-width="25%"  >
H 26                <el-form-item   prop="productType"style="margin-top: 30px" >
27                   <span slot="label" style="font-size:22px;color:black"><strong>机型</strong></span>
28                  <el-input disabled style="font-size:20px"  value="form.productType" v-model="form.productType" placeholder="" />
f4d049 29                </el-form-item>
H 30              </el-form>
a0aea8 31              <el-form ref="form" :model="form"  label-width="25%"  >
H 32                <el-form-item   prop="orderNo" style="margin-top: 30px">
33                <span  slot="label" style="font-size:22px;color:black"><strong>工单编号</strong></span>
34                  <el-input disabled style="font-size:20px" v-model="form.orderNo" placeholder="" />
f4d049 35                </el-form-item>
H 36              </el-form>
a0aea8 37              <el-form ref="form" :model="form"  label-width="25%"  >
H 38                <el-form-item   prop="currentWorkstation" style="margin-top: 30px">
39                <span slot="label" style="font-size:22px;color:black"><strong>质量状态</strong></span>
40                  <el-input disabled style="font-size:20px" v-model:value="form.add" placeholder="" />
f4d049 41                </el-form-item>
H 42              </el-form>
43          <el-divider></el-divider>
a0aea8 44
f4d049 45          <el-row :gutter="10" class="mb8" type="flex" justify="center"  style="text-align: center">
H 46            <el-col :span="1.5">
059083 47              <el-button plain  :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']">
b51361 48                <span   class="el-icon-thumb"   style="font-size:40px;color:black"></span>
dbe5f1 49                <span style="font-size:45px;color:black"><strong>强制上线</strong></span>
50              </el-button>
f4d049 51            </el-col>
H 52          </el-row>
53        </el-card>
54      </el-col>
8f6607 55
a0aea8 56      <el-col :span="10"  inline style="margin-top: 5px">
941264 57          <el-card class="custom-content"  style="height: 264px">
a0aea8 58          <el-col :span="14">
8f6607 59            <span style="font-size:25px"><strong>质量状态</strong></span>
H 60            <el-divider></el-divider>
4b6839 61            {{this.form.engineCheckList}}
8f6607 62          </el-col>
H 63          </el-card>
941264 64          <el-card class="custom-content" style="height: 264px" >
a0aea8 65          <el-col :span="14"style="  ">
8f6607 66            <span style="font-size:25px"><strong>最终结果</strong></span>
H 67            <el-divider></el-divider>
68            {{queryParams.productType}}
69          </el-col>
70          </el-card>
f4d049 71      </el-col>
H 72    </el-row>
73   </div>
74 </template>
75 <script>
8f6607 76
95fb19 77 import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
H 78 import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection";
79 import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
059083 80 import WebSocketReconnect from "@/utils/WebsocketTool";
W 81
82 // let websocket = null
83 // //判断当前浏览器是否支持WebSocket
84 // if ('WebSocket' in window) {
85 //   //连接WebSocket节点
86 //   websocket = new WebSocketReconnect('ws://127.0.0.1:8086/websocket/111122')
87 // } else {
88 //   alert('浏览器不支持webSocket')
89 // }
90 // //接收到消息的回调方法
91 // websocket.socket.onmessage = function (event) {
92 //   let data = event.data
93 //   console.log('后端传递的数据:' + data)
94 //   if (data != null && data !== ''){
95 //     this.result = JSON.parse(data)
96 //     console.log('this.result',this.result)
97 //     // this.form.engineNo = this.result.server_message
98 //     this.transEngineNo = this.result.server_message
99 //     console.log('this.transEngineNo11111111111',this.transEngineNo)
100 //   }
101 //
102 // }
103 // //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
104 // window.onbeforeunload = function () {
105 //   websocket.close()
106 // }
107 // //关闭连接
108 // function closeWebSocket() {
109 //   websocket.close()
110 // }
111 // //发送消息
112 // function send() {
113 //   websocket.socket.send({ kk: 123 })
114 // }
8f6607 115
f4d049 116 export default {
8f6607 117   components: { },
H 118   options: [],
f4d049 119   props: [],
H 120   data() {
121     return {
059083 122       websocket: null,
W 123       result: {},
124       transEngineNo: '',
95fb19 125       options: [],
H 126       total: 0,
127       engineCheckList:[],
8f6607 128       showFlag:false,
95fb19 129       buttondisabled:true,
059083 130       mess:'',
8f6607 131       // 查询参数
H 132       queryParams: {
133         pageNum: 1,
134         pageSize: 10,
135         engineNo: null,
95fb19 136         productType:null,
H 137         orderNo:null,
138         qualityStatus:null,
139         currentWorkstation: null,
4b6839 140         add: null,
H 141         engineCheckList:'暂无数据',
8f6607 142       },
H 143       // 表单参数
95fb19 144       form: {
H 145         engineNo: null,
146         productType:null,
147         orderNo:null,
148         qualityStatus:null,
149         currentWorkstation: null,
4b6839 150         add: null,
H 151         engineCheckList:'暂无数据',
95fb19 152       },
4b6839 153       add: null,
8f6607 154     };
f4d049 155   },
H 156   computed: {},
059083 157   watch: {
W 158     // transEngineNo:{
159     //   handler(newVal,oldVal) {
160     //     console.log('newVal',newVal)
161     //     console.log('oldVal',oldVal)
162     //     this.form.engineNo = newVal
163     //     console.log('11111111111111')
164     //     console.log('this.form.engineNo',this.form.engineNo)
165     //   },
166     //   immediate:true
167     // }
168   },
4b6839 169   created() {},
059083 170   mounted() {
W 171     this.initWebSocket()
172   },
8f6607 173   methods: {
059083 174     initWebSocket: function (){
W 175       //判断当前浏览器是否支持WebSocket
176       if ('WebSocket' in window) {
177         //连接WebSocket节点
178         this.websocket = new WebSocketReconnect('ws://127.0.0.1:8086/websocket/111122')
179
180         //接收到消息的回调方法
181         this.websocket.socket.onmessage = (event) => {
182           let data = event.data
183           console.log('后端传递的数据:' + data)
184           if (data != null && data !== ''){
185             this.result = JSON.parse(data)
186             console.log('this.result',this.result)
187             this.form.engineNo = this.result.server_message
188             // this.transEngineNo = this.result.server_message
189             console.log('this.transEngineNo11111111111',this.transEngineNo)
190           }
191         }
192 //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
193         window.onbeforeunload = function () {
194           this.websocket.close()
195         }
196 //关闭连接
197         function closeWebSocket() {
198           this.websocket.close()
199         }
200 //发送消息
201         function send() {
202           this.websocket.socket.send({ kk: 123 })
203         }
204       } else {
205         alert('浏览器不支持webSocket')
206       }
207     },
4b6839 208     reset() {
H 209       this.form = {
210         engineNo:null,
95fb19 211         productType:null,
H 212         orderNo:null,
213         qualityStatus:null,
214         currentWorkstation: null,
4b6839 215         add: null,
H 216         engineCheckList:'暂无数据',
217       };
218       this.resetForm("form");
219     },
8f6607 220     EngineNohandleChange(){
dbe5f1 221       if(this.form.engineNo !== null && this.form.engineNo !== undefined){
4b6839 222         let OrderSchedulingParam = {engineNo: null}
95fb19 223         OrderSchedulingParam.engineNo = this.form.engineNo;
H 224         listOrderScheduling(OrderSchedulingParam).then(response => {
4b6839 225           if(response.total === 1 ){
H 226             this.form.productType = response.rows[0].model
227             this.form.orderNo = response.rows[0].orderNo
228             this.form.qualityStatus = response.rows[0].qualityStatus
229             this.form.currentWorkstation = response.rows[0].currentWorkstation
230             this.form.add= response.rows[0].currentWorkstation+ response.rows[0].qualityStatus
231             if(this.form.qualityStatus ==='不合格'){
232               this.buttondisabled = false;
233             }
234             else{
235               this.buttondisabled = true;
236             }
237           }
238           else{
239             this.reset();
240             this.buttondisabled = true
a873f8 241             const h = this.$createElement;
H 242             this.$message({
243               message: h('p',null, [
244                        h('span', null, '警告 '),
245                        h('i', { style: 'color: black' }, '输入的发动机号有误'),
246                        h()]),
247               type: 'error',
248               center: true,
249               offset:300
250             });
251           }
8f6607 252         });
4b6839 253         let PassingStationCollectionParam = {sfcCode: null}
H 254         PassingStationCollectionParam.sfcCode = this.form.engineNo;
95fb19 255         listPassingStationCollection(PassingStationCollectionParam).then(ponse =>{
4b6839 256           this.engineCheckList = ponse.rows.locationCode ;
H 257           if(ponse.rows.length >= 1 && this.form.engineNo !== undefined){
258             this.form.engineCheckList = ''
259             for (let i = 0; i < ponse.rows.length; i++) {
260               this.form.engineCheckList += '   工位:'+ ponse.rows[i].locationCode+'['+ponse.rows[i].outRsSign+']'
261             }
262           }
263           else{
264             this.form.engineCheckList = '暂无数据'
265           }
95fb19 266         });
dbe5f1 267       }
8f6607 268     },
4b6839 269
95fb19 270
8f6607 271   },
H 272   }
273
f4d049 274
H 275 </script>
4b6839 276 <style scoped>
H 277 ::v-deep .el-input__inner{
a0aea8 278   height: 40px;
4b6839 279 }
H 280 ::v-deep .el-form-item__label {
a0aea8 281   line-height: 40px;
4b6839 282 }
a0aea8 283 .custom-content {
H 284   height: 50%; /* 设置高度为50% */
285 }
a873f8 286 /*.my-custom-modal .el-dialog__wrapper {*/
H 287 /*  width: 400px; !* 设置宽度 *!*/
288 /*  height: 200px; !* 设置高度 *!*/
289 /*  top: 50px; !* 设置距离页面顶部的位置 *!*/
290 /*  left: 50px; !* 设置距离页面左侧的位置 *!*/
291 /*}*/
4b6839 292 </style>