IDCDatasync-vue/src/views/data/dataManage.vue

102 lines
2.8 KiB
Vue
Raw Normal View History

2025-02-28 16:06:28 +08:00
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="30">
<a-col :md="6" :sm="10" >
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button @click="dataAdd" type="primary" v-has="'cont:btn'" icon="plus">发布到专题库</a-button>
</span>
</a-col>
</a-row>
</a-form>
2025-02-28 16:50:22 +08:00
<a-progress :percent="percent" status="active" />
2025-02-28 16:06:28 +08:00
</div>
<!-- table区域-begin -->
<div style="height:900px;overflow-y:auto;">
2025-02-28 16:50:22 +08:00
2025-02-28 16:06:28 +08:00
<a-list bordered :data-source="contentList">
2025-02-28 16:39:13 +08:00
<a-list-item slot="renderItem" slot-scope="item, index">
{{ item }}
</a-list-item>
2025-02-28 16:06:28 +08:00
</a-list>
</div>
<!-- table区域-end -->
<!-- 表单区域 -->
</a-card>
</template>
<script>
2025-02-28 16:46:55 +08:00
import store from '@/store/'
2025-02-28 16:06:28 +08:00
import {getAction} from '@/api/manage'
export default {
name: "dataManage",
components: {
},
data () {
return {
description: '数据发布',
2025-02-28 16:39:13 +08:00
contentList:[],
percent:0,
websock:{},
2025-02-28 16:06:28 +08:00
}
},
mounted() {
//初始化websocket
this.initWebSocket()
},
computed: {
},
destroyed: function () { // 离开页面生命周期函数
this.websocketclose();
},
created () {
2025-02-28 16:39:13 +08:00
2025-02-28 16:06:28 +08:00
},
methods: {
initWebSocket: function () {
// WebSocket与普通的请求所用协议有所不同ws等同于httpwss等同于https
2025-02-28 16:46:55 +08:00
var userId = store.getters.userInfo.id;
var url = window._CONFIG['domianURL'].replace("https://","ws://").replace("http://","ws://")+"/websocket/"+userId+"/data_distribute";
2025-02-28 16:06:28 +08:00
this.websock = new WebSocket(url);
this.websock.onopen = this.websocketonopen;
this.websock.onerror = this.websocketonerror;
this.websock.onmessage = this.websocketonmessage;
this.websock.onclose = this.websocketclose;
},
websocketonopen: function () {
console.log("WebSocket连接成功");
},
websocketonerror: function (e) {
console.log("WebSocket连接发生错误");
},
websocketonmessage: function (e) {
var data = eval("(" + e.data + ")");
2025-02-28 16:39:13 +08:00
console.log(data);
2025-02-28 16:06:28 +08:00
//处理订阅信息
this.contentList.push(data.content);
this.percent = data.currProgress
},
websocketclose: function (e) {
2025-02-28 16:46:55 +08:00
console.log("connection closed (" + e + ")");
2025-02-28 16:06:28 +08:00
},
dataAdd(){
getAction("/dataSpecial/special").then((res) => {
if (res.success) {
this.$message.success(res.message);
}
});
},
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>