春风项目四线(合箱线、总装线)
wujian
2024-04-24 3946f893f84814185dfb97e89bfdb10b82eea906
提交 | 用户 | 时间
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>
3946f8 20                  <el-input style="font-size:20px" v-model="form.engineNo" placeholder="请输入发动机号" clearable  @keyup.space.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
3946f8 189             console.log('this.transEngineNo11111111111',this.form.engineNo)
W 190             if (this.form.engineNo !== null && this.form.engineNo !== ''){
191               this.EngineNohandleChange()
192             }
059083 193           }
W 194         }
195 //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
196         window.onbeforeunload = function () {
197           this.websocket.close()
198         }
199 //关闭连接
200         function closeWebSocket() {
201           this.websocket.close()
202         }
203 //发送消息
204         function send() {
205           this.websocket.socket.send({ kk: 123 })
206         }
207       } else {
208         alert('浏览器不支持webSocket')
209       }
210     },
4b6839 211     reset() {
H 212       this.form = {
213         engineNo:null,
95fb19 214         productType:null,
H 215         orderNo:null,
216         qualityStatus:null,
217         currentWorkstation: null,
4b6839 218         add: null,
H 219         engineCheckList:'暂无数据',
220       };
221       this.resetForm("form");
222     },
8f6607 223     EngineNohandleChange(){
3946f8 224       console.log("EngineNohandleChange")
dbe5f1 225       if(this.form.engineNo !== null && this.form.engineNo !== undefined){
4b6839 226         let OrderSchedulingParam = {engineNo: null}
95fb19 227         OrderSchedulingParam.engineNo = this.form.engineNo;
H 228         listOrderScheduling(OrderSchedulingParam).then(response => {
4b6839 229           if(response.total === 1 ){
H 230             this.form.productType = response.rows[0].model
231             this.form.orderNo = response.rows[0].orderNo
232             this.form.qualityStatus = response.rows[0].qualityStatus
233             this.form.currentWorkstation = response.rows[0].currentWorkstation
234             this.form.add= response.rows[0].currentWorkstation+ response.rows[0].qualityStatus
235             if(this.form.qualityStatus ==='不合格'){
236               this.buttondisabled = false;
237             }
238             else{
239               this.buttondisabled = true;
240             }
241           }
242           else{
243             this.reset();
244             this.buttondisabled = true
a873f8 245             const h = this.$createElement;
H 246             this.$message({
247               message: h('p',null, [
248                        h('span', null, '警告 '),
249                        h('i', { style: 'color: black' }, '输入的发动机号有误'),
250                        h()]),
251               type: 'error',
252               center: true,
253               offset:300
254             });
255           }
8f6607 256         });
4b6839 257         let PassingStationCollectionParam = {sfcCode: null}
H 258         PassingStationCollectionParam.sfcCode = this.form.engineNo;
95fb19 259         listPassingStationCollection(PassingStationCollectionParam).then(ponse =>{
4b6839 260           this.engineCheckList = ponse.rows.locationCode ;
H 261           if(ponse.rows.length >= 1 && this.form.engineNo !== undefined){
262             this.form.engineCheckList = ''
263             for (let i = 0; i < ponse.rows.length; i++) {
264               this.form.engineCheckList += '   工位:'+ ponse.rows[i].locationCode+'['+ponse.rows[i].outRsSign+']'
265             }
266           }
267           else{
268             this.form.engineCheckList = '暂无数据'
269           }
95fb19 270         });
dbe5f1 271       }
8f6607 272     },
4b6839 273
95fb19 274
8f6607 275   },
H 276   }
277
f4d049 278
H 279 </script>
4b6839 280 <style scoped>
H 281 ::v-deep .el-input__inner{
a0aea8 282   height: 40px;
4b6839 283 }
H 284 ::v-deep .el-form-item__label {
a0aea8 285   line-height: 40px;
4b6839 286 }
a0aea8 287 .custom-content {
H 288   height: 50%; /* 设置高度为50% */
289 }
a873f8 290 /*.my-custom-modal .el-dialog__wrapper {*/
H 291 /*  width: 400px; !* 设置宽度 *!*/
292 /*  height: 200px; !* 设置高度 *!*/
293 /*  top: 50px; !* 设置距离页面顶部的位置 *!*/
294 /*  left: 50px; !* 设置距离页面左侧的位置 *!*/
295 /*}*/
4b6839 296 </style>