You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.0 KiB

2 years ago
<template>
<div class="container">
<h1 class="title">苏州河道处调度指令看板</h1>
<div class="bottom">
2 years ago
<div>
<p style="font-size: 1.3rem;">
<span style="color:#f00;padding-right: 4px;">{{ refresh }}</span><span>秒刷新</span>
<Icon type="md-refresh-circle" class="refresh-icon" style="margin-left: 10px;font-size:1.7rem;cursor: pointer;" @click="refreshTransfer"/>
<span style="padding-left: 6px;">新调令数{{ newLength }}</span>
2 years ago
</p>
<p>{{ $moment(time).format('YYYY-MM-DD HH:mm:ss') }}</p>
</div>
<div>
<div style="cursor:pointer;" @click="$refs['tomorrow'].show()"> <i class="el-icon-d-arrow-right"></i></div>
<div style="cursor:pointer;" @click="$emit('show-done')"> <i class="el-icon-d-arrow-right"></i></div>
</div>
2 years ago
</div>
<tomorrow ref="tomorrow" :tomorrows="tomorrows" @step-click="e => $emit('step-click', e)" @dataPick="e => getTomorrow(e)"></tomorrow>
2 years ago
</div>
</template>
<script>
import tomorrow from "./tomorrow.vue";
import { index } from "@/api/system/baseForm";
2 years ago
export default {
components: {
tomorrow
},
inject: ['nowTime','refreshTime','refreshList','newTransferLength'],
2 years ago
data() {
return {
tomorrows: []
2 years ago
}
},
methods: {
async getTomorrow (day) {
this.tomorrows = (
await index({
table_name: "transfers",
page: 1,
page_size: 9999,
sort_name: "start_time",
sort_type: "asc",
filter: [
{
key: 'start_time',
op: 'range',
value: day ? `${this.$moment(day).startOf('days').format('YYYY-MM-DD HH:mm:ss')},${this.$moment(day).endOf('days').format('YYYY-MM-DD HH:mm:ss')}` : `${this.$moment().add(1,'day').startOf('days').format('YYYY-MM-DD HH:mm:ss')},${this.$moment().add(1,'days').endOf('days').format('YYYY-MM-DD HH:mm:ss')}`
},
{
key: "status",
op: "range",
value: "2,7"
}
]
},false)
).data;
}
2 years ago
},
computed: {
time () {
return this.nowTime()
2 years ago
},
refresh () {
return this.refreshTime()
},
refreshTransfer () {
return this.refreshList
},
newLength () {
return this.newTransferLength()
2 years ago
}
},
mounted() {
},
created() {
this.getTomorrow()
2 years ago
},
destroyed() {
}
}
</script>
<style scoped lang="scss">
.container {
position: relative;
.title {
font-size: 2.8rem;
line-height: 2.67rem;
text-align: center;
font-weight: 400;
color: #FFFFFF;
2 years ago
padding: 2.87rem 0 0 0;
2 years ago
}
.bottom {
display: flex;
align-items: center;
2 years ago
justify-content: space-between;
font-weight: 400;
color: #FBFBFF;
height: 2.92rem;
2 years ago
font-size: 1.2rem;
padding: 0 5.73rem;
}
}
2 years ago
$title-height: 8.46rem;
2 years ago
.refresh-icon:hover {
transition: all 1s;
transform: rotate(360deg);
}
2 years ago
</style>