|
@@ -159,6 +159,9 @@
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
+ <div class="message-list">
|
|
|
|
|
+ <h1>kakkak</h1>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -182,17 +185,33 @@ export default {
|
|
|
ticketPointsList: [],
|
|
ticketPointsList: [],
|
|
|
ticketId: null,
|
|
ticketId: null,
|
|
|
intervalId: null,
|
|
intervalId: null,
|
|
|
- uni_data:[]
|
|
|
|
|
|
|
+ uni_data:[],
|
|
|
|
|
+ isFetching: false, // 标志位,控制接口请求是否已经执行过
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- mounted() {
|
|
|
|
|
|
|
+ watch:{
|
|
|
|
|
+ "$route.query.ticketId": {
|
|
|
|
|
+ immediate: true,
|
|
|
|
|
+ handler(newValue, oldValue) {
|
|
|
|
|
+ this.getJobPlayInfo()
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ $route(to, from) {
|
|
|
|
|
+ if (to.path === '/mes/job/jobplay/jobPlayDetail') {
|
|
|
|
|
+ this.initWebSocket();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
this.getJobPlayInfo()
|
|
this.getJobPlayInfo()
|
|
|
this.initWebSocket()
|
|
this.initWebSocket()
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
// 页面销毁就停止webStocket
|
|
// 页面销毁就停止webStocket
|
|
|
- destroyed() {
|
|
|
|
|
|
|
+ beforeDestroy() {
|
|
|
this.destory()
|
|
this.destory()
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
methods: {
|
|
methods: {
|
|
|
getJobPlayInfo() {
|
|
getJobPlayInfo() {
|
|
|
let ticketId
|
|
let ticketId
|
|
@@ -219,29 +238,44 @@ export default {
|
|
|
console.log(res,'websocket接收服务器的数据');
|
|
console.log(res,'websocket接收服务器的数据');
|
|
|
const resMsg=res
|
|
const resMsg=res
|
|
|
if(resMsg=='refresh'){
|
|
if(resMsg=='refresh'){
|
|
|
- let ticketId
|
|
|
|
|
- if (this.$route.query.ticketId) {
|
|
|
|
|
- ticketId = this.$route.query.ticketId
|
|
|
|
|
- } else {
|
|
|
|
|
- ticketId = localStorage.getItem('ticketId')
|
|
|
|
|
- }
|
|
|
|
|
- getJobPlayTicketInfo(ticketId).then((res) => {
|
|
|
|
|
- console.log(res, '作业执行详细信息')
|
|
|
|
|
- this.jobTicket = [res.data.jobTicket].map((item) => ({
|
|
|
|
|
- ...item,
|
|
|
|
|
- lockKeyName: res.data.lockKeyName,
|
|
|
|
|
- colockKeyName: res.data.colockKeyName
|
|
|
|
|
- }))
|
|
|
|
|
- this.lockUserList = res.data.lockUserList
|
|
|
|
|
- this.colockUserList = res.data.colockUserList
|
|
|
|
|
- this.ticketPointsList = res.data.ticketPointsList
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.handleRefresh();
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
(err)=>{
|
|
(err)=>{
|
|
|
console.log('断开重连',);
|
|
console.log('断开重连',);
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
+ handleRefresh() {
|
|
|
|
|
+ if (this.isFetching) {
|
|
|
|
|
+ console.log('接口请求正在进行中,忽略本次 refresh 消息');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ this.isFetching = true; // 设置标志位为 true,表示接口请求正在进行中
|
|
|
|
|
+
|
|
|
|
|
+ let ticketId;
|
|
|
|
|
+ if (this.$route.query.ticketId) {
|
|
|
|
|
+ ticketId = this.$route.query.ticketId;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ticketId = localStorage.getItem('ticketId');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ getJobPlayTicketInfo(ticketId).then((res) => {
|
|
|
|
|
+ console.log(res, '作业执行详细信息');
|
|
|
|
|
+ this.jobTicket = [res.data.jobTicket].map((item) => ({
|
|
|
|
|
+ ...item,
|
|
|
|
|
+ lockKeyName: res.data.lockKeyName,
|
|
|
|
|
+ colockKeyName: res.data.colockKeyName
|
|
|
|
|
+ }));
|
|
|
|
|
+ this.lockUserList = res.data.lockUserList;
|
|
|
|
|
+ this.colockUserList = res.data.colockUserList;
|
|
|
|
|
+ this.ticketPointsList = res.data.ticketPointsList;
|
|
|
|
|
+ }).catch((error) => {
|
|
|
|
|
+ console.error('获取作业执行详细信息失败', error);
|
|
|
|
|
+ }).finally(() => {
|
|
|
|
|
+ this.isFetching = false; // 重置标志位为 false,允许下次 refresh 消息执行接口请求
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
destory(){
|
|
destory(){
|
|
|
closeWebsocket();//断开链接
|
|
closeWebsocket();//断开链接
|
|
|
},
|
|
},
|
|
@@ -256,6 +290,13 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
|
|
+.message-list{
|
|
|
|
|
+ height: 500px;
|
|
|
|
|
+ width: 500px;
|
|
|
|
|
+ background: pink;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+}
|
|
|
.text {
|
|
.text {
|
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
|
}
|
|
}
|