| | |
| | | <div style="width: 100%;">输送监控</div> |
| | | <div style="width: 100%;text-align: right;display: flex;"><el-input size="mini" v-model="searchStationId" placeholder="请输入站号"></el-input><el-button @click="getDevpStateInfo" size="mini">查询</el-button></div> |
| | | </div> |
| | | <div style="margin-bottom: 10px;"> |
| | | <div style="margin-bottom: 10px;" v-if="!readOnly"> |
| | | <div style="margin-bottom: 5px;"> |
| | | <el-button v-if="showControl" @click="openControl" size="mini">关闭控制中心</el-button> |
| | | <el-button v-else @click="openControl" size="mini">打开控制中心</el-button> |
| | |
| | | </div> |
| | | </div> |
| | | `, |
| | | props: ["param"], |
| | | props: { |
| | | param: { |
| | | type: Object, |
| | | default: () => ({}) |
| | | }, |
| | | autoRefresh: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | readOnly: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | stationList: [], |
| | | fullStationList: [], |
| | | activeNames: "", |
| | | searchStationId: "", |
| | | showControl: false, |
| | |
| | | }, |
| | | pageSize: 25, |
| | | currentPage: 1, |
| | | timer: null |
| | | }; |
| | | }, |
| | | created() { |
| | | setInterval(() => { |
| | | this.getDevpStateInfo(); |
| | | }, 1000); |
| | | if (this.autoRefresh) { |
| | | this.timer = setInterval(() => { |
| | | this.getDevpStateInfo(); |
| | | }, 1000); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.timer) { |
| | | clearInterval(this.timer); |
| | | } |
| | | }, |
| | | computed: { |
| | | displayStationList() { |
| | |
| | | watch: { |
| | | param: { |
| | | handler(newVal, oldVal) { |
| | | if (newVal.stationId != 0) { |
| | | if (newVal && newVal.stationId && newVal.stationId != 0) { |
| | | this.activeNames = newVal.stationId; |
| | | this.searchStationId = newVal.stationId; |
| | | } |
| | |
| | | this.currentPage = 1; |
| | | }, |
| | | getDevpStateInfo() { |
| | | if (this.$root.sendWs) { |
| | | if (this.readOnly) { |
| | | // Frontend filtering for readOnly mode |
| | | if (this.searchStationId == "") { |
| | | this.stationList = this.fullStationList; |
| | | } else { |
| | | this.stationList = this.fullStationList.filter(item => item.stationId == this.searchStationId); |
| | | this.currentPage = 1; |
| | | } |
| | | } else if (this.$root.sendWs) { |
| | | this.$root.sendWs(JSON.stringify({ |
| | | "url": "/console/latest/data/station", |
| | | "data": {} |
| | |
| | | let that = this; |
| | | if (res.code == 200) { |
| | | let list = res.data; |
| | | |
| | | that.fullStationList = list; |
| | | if (that.searchStationId == "") { |
| | | that.stationList = list; |
| | | } else { |