xy 2 years ago
parent 9a0aa08b23
commit e3457a2307

@ -136,18 +136,18 @@ export default {
} }
}, },
mounted() { mounted() {
document.documentElement.requestFullscreen(); //document.documentElement.requestFullscreen();
this.timeFn(); this.timeFn();
this.cancelLoading(); this.cancelLoading();
}, },
beforeDestroy () { beforeDestroy () {
clearInterval(this.timing) clearInterval(this.timing)
document.exitFullscreen(); //document.documentElement.exitFullscreen();
}, },
methods: { methods: {
timeFn() { timeFn() {
this.timing = setInterval(() => { this.timing = setInterval(() => {
this.dateDay = this.$moment().format('HH:MM:SS') this.dateDay = this.$moment().format('HH:mm:ss')
this.dateYear = this.$moment().format('YYYY 年 MM 月 DD 日') this.dateYear = this.$moment().format('YYYY 年 MM 月 DD 日')
this.dateWeek = this.weekday[new Date().getDay()] this.dateWeek = this.weekday[new Date().getDay()]
}, 1000) }, 1000)

@ -6,20 +6,47 @@
<dv-decoration-1 class="desc" /> <dv-decoration-1 class="desc" />
</dv-border-box-12> </dv-border-box-12>
<dv-border-box-1 class="flex-1 ml-2"> <dv-border-box-1 class="flex-1 ml-2">
<div class="pt-5 pr-5 pb-5 pl-5" style="height: 100%;width: 100%;font-size: 16px;"> <div class="pt-5 pr-5 pb-5 pl-5 d-flex ai-center" style="height: 100%;width: 96%;overflow: hidden;margin: auto;">
xxx <div class="word-scroll">
<span v-for="(item, index) in notice" :key="item.id">
{{index+1}}. {{ item.shifoujinji == 1 ? '收到紧急调令:' : '' }}{{item.content}}{{item.created_at}}
</span>
</div>
</div> </div>
</dv-border-box-1> </dv-border-box-1>
</div> </div>
</template> </template>
<script> <script>
import { index } from "@/api/system/baseForm";
export default { export default {
data() { data() {
return {} return {
notice: [],
}
},
methods: {
async getNotice () {
const res = await index({
table_name: "notices",
page: 1,
page_size: 999,
filter: [
{
key: "created_at",
op: "like",
value: this.$moment().format('YYYY-MM-DD')
}
]
},false)
console.log(res)
this.notice = res.data;
}
}, },
methods: {},
computed: {}, computed: {},
created() {
this.getNotice()
}
} }
</script> </script>
@ -28,6 +55,8 @@ export default {
height: 120px; height: 120px;
width: 100%; width: 100%;
.title { .title {
color: #000;
text-shadow: 1px 0 #eee ,1px 1px #eee ,0 1px #eee ,-1px 0 #eee, 0 -1px #eee,-1px -1px #eee;
line-height: 120px; line-height: 120px;
font-size: 30px; font-size: 30px;
text-align: center; text-align: center;
@ -42,4 +71,20 @@ export default {
right: 10%; right: 10%;
} }
} }
.word-scroll {
font-size: 25px;
word-break: keep-all;
white-space: nowrap;
text-shadow: 1px 1px #fff8;
animation: word-scroll 24s infinite linear;
}
@keyframes word-scroll {
from {
transform: translateX(-100%);
}
to {
transform: translateX(1650px);
}
}
</style> </style>

@ -6,20 +6,31 @@
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
class="d-flex pt-2 pl-4 pr-4 jc-between ai-center" class="d-flex pt-2 pl-4 pr-4 jc-between ai-center"
> >
<div class="board-item" > <div class="board-item">
<dv-border-box-10 class="board-item__title fw-b">待执行</dv-border-box-10> <dv-border-box-10 class="board-item__title fw-b">待执行</dv-border-box-10>
<transferBoard :transfers="transfers[0]" :set-transfer-status-number="4"></transferBoard> <transferBoard :transfers="transfers1"
:set-transfer-status-number="4"
@refresh="getTransfer"
@showModal="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"></transferBoard>
</div> </div>
<div class="board-item"> <div class="board-item">
<dv-border-box-10 class="board-item__title fw-b">执行中</dv-border-box-10> <dv-border-box-10 class="board-item__title fw-b">执行中</dv-border-box-10>
<transferBoard :transfers="transfers[1]" :set-transfer-status-number="6"></transferBoard> <transferBoard :transfers="transfers2"
:set-transfer-status-number="6"
@refresh="getTransfer"
@showModal="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"></transferBoard>
</div> </div>
<div class="board-item"> <div class="board-item">
<dv-border-box-10 class="board-item__title fw-b">已完成</dv-border-box-10> <dv-border-box-10 class="board-item__title fw-b">已完成</dv-border-box-10>
<transferBoard :transfers="transfers[2]" :set-transfer-status-number="-1"></transferBoard> <transferBoard :transfers="transfers3"
:set-transfer-status-number="-1"
@refresh="getTransfer"
@showModal="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"></transferBoard>
</div> </div>
</div> </div>
</div> </div>
<detailTransfer ref="detailTransfer"></detailTransfer>
</div> </div>
</template> </template>
@ -27,26 +38,40 @@
import { index, save } from "@/api/system/baseForm"; import { index, save } from "@/api/system/baseForm";
import { deepCopy } from "@/utils"; import { deepCopy } from "@/utils";
import detailTransfer from "@/views/bigScreen/component/detailTransfer.vue";
import transferBoard from "@/views/bigScreen/component/transferBoard.vue"; import transferBoard from "@/views/bigScreen/component/transferBoard.vue";
export default { export default {
inject: ['load','cancelLoading'], inject: ['load','cancelLoading'],
components: { components: {
transferBoard transferBoard,
detailTransfer
}, },
data() { data() {
return { return {
transfers: [ transferObj: [
[], {
[], status: 4,
[] label: '待执行'
},
{
status: 6,
label: '执行中'
},
{
status: -1,
label: '已完成'
}
], ],
transfers1: [],
transfers2: [],
transfers3: [],
}; };
}, },
methods: { methods: {
async getTransfer() { async getTransfer() {
this.transfers = [ this.transfers1 = [];
[],[],[] this.transfers2 = [];
] this.transfers3 = [];
const res = ( const res = (
await index({ await index({
table_name: "transfers", table_name: "transfers",
@ -63,13 +88,13 @@ export default {
).data; ).data;
res.forEach(i => { res.forEach(i => {
if (i.status === 2 || i.status === 3) { if (i.status === 2 || i.status === 3) {
this.transfers[0].push(i) this.transfers1.push(i)
} }
if (i.status === 4) { if (i.status === 4) {
this.transfers[1].push(i) this.transfers2.push(i)
} }
if (i.status === 6) { if (i.status === 6) {
this.transfer[2].push(i) this.transfers3.push(i)
} }
}) })

@ -0,0 +1,90 @@
<template>
<div>
<transition name="fade">
<div v-show="isShow" class="modal" @click="hide">
<dv-border-box-10 style="width: 100%;height: 100%;">
<div style="padding: 20px;width: 100%;height: 100%;">
<table>
<thead>
<tr>
<th colspan="2" style="height: 74px;font-size: 26px;letter-spacing: 4px;font-weight: 600;">{{ data.equipment_id_equipments_id_relation ? data.equipment_id_equipments_id_relation.name : '' }}</th>
</tr>
<tr style="height: 54px;">
<th>时间</th>
<th style="width: 64%;">内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div>
<div>{{ $moment(data.start_time).format('YYYY-MM-DD HH:mm:ss') }}</div>
<div style="padding: 10px 0;">~</div>
<div>{{ $moment(data.end_time).format('YYYY-MM-DD HH:mm:ss') }}</div>
</div>
</td>
<td>
<div style="text-align: left;padding: 20px;height: 100%;">
{{ data.content }}
</div>
</td>
</tr>
<tr>
<td>签名板</td>
<td>xxx</td>
</tr>
</tbody>
</table>
</div>
</dv-border-box-10>
</div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {
isShow: false,
data: {}
}
},
methods: {
show () {
this.isShow = true
},
hide () {
this.isShow = false
},
setData (data) {
this.data = data
}
},
computed: {},
}
</script>
<style scoped lang="scss">
.modal {
width: 1000px;
height: 560px;
background: #0d111f;
position: fixed;
top: calc(50% - 280px);
left: calc(50% - 500px);
table {
text-align: center;
border-collapse: collapse;
font-size: 22px;
width: 100%;
height: 100%;
td,th {
border: 1px solid #d6e1f6;
}
}
}
</style>

@ -8,12 +8,13 @@
height: ${heights[index]}px; height: ${heights[index]}px;
line-height: ${heights[index]}px; line-height: ${heights[index]}px;
transition: all .2s; transition: all .2s;
`"> `"
@click="showModal(item)">
<dv-border-box-13 style="width: 100%;height: 100%;min-height: .5px;" :style="{ 'opacity': heights[index] ? 1 : 0}"> <dv-border-box-13 style="width: 100%;height: 100%;min-height: .5px;" :style="{ 'opacity': heights[index] ? 1 : 0}">
<div style="width: 100%;height: 100%;padding: 30px 20px;line-height: 1;" class="d-flex flex-column jc-between flex-1"> <div style="width: 100%;height: 100%;padding: 30px 20px;line-height: 1;" class="d-flex flex-column jc-between flex-1">
<div class="board-item__top d-flex jc-between ai-center"> <div class="board-item__top d-flex jc-between ai-center">
<dv-decoration-11 style="width: 160px;height: 38px;">{{typeMap.get(item.status)}}</dv-decoration-11> <dv-decoration-11 style="width: 160px;height: 48px;">{{typeMap.get(item.status)}}</dv-decoration-11>
<p class="fw-b">{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p> <p class="fw-b equipment-name">{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p>
</div> </div>
<div class="board-item__bottom d-flex jc-between ai-start"> <div class="board-item__bottom d-flex jc-between ai-start">
<div style="line-height: 1.5;"> <div style="line-height: 1.5;">
@ -24,7 +25,7 @@
倒计时{{ $moment(new Date(item.start_time)).diff($moment(),'minutes') }} 倒计时{{ $moment(new Date(item.start_time)).diff($moment(),'minutes') }}
</div> </div>
</div> </div>
<div v-if="setTransferStatusNumber !== -1" @click="setTransferStatus(4,item)"> <div v-if="setTransferStatusNumber !== -1" @click.stop="setTransferStatus(4,item)">
<dv-border-box-8 reverse class="fw-b text-center" style="width: 64px;height: 38px;line-height: 38px;cursor: pointer;" <dv-border-box-8 reverse class="fw-b text-center" style="width: 64px;height: 38px;line-height: 38px;cursor: pointer;"
>{{setStatusText}}</dv-border-box-8> >{{setStatusText}}</dv-border-box-8>
</div> </div>
@ -32,12 +33,13 @@
</div> </div>
</dv-border-box-13> </dv-border-box-13>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {deepCopy} from "@/utils"; import { deepCopy } from "@/utils";
import {save} from "@/api/system/baseForm"; import { save } from "@/api/system/baseForm";
export default { export default {
props: { props: {
@ -69,6 +71,10 @@ export default {
} }
}, },
methods: { methods: {
showModal (item) {
this.$emit('showModal',item)
},
setTransferStatus (status,row) { setTransferStatus (status,row) {
if (!this.setTransferStatusNumber) { if (!this.setTransferStatusNumber) {
console.warn('setTransferStatusNumber is required') console.warn('setTransferStatusNumber is required')
@ -84,7 +90,9 @@ export default {
save({ save({
table_name: 'transfers', table_name: 'transfers',
...copyRow ...copyRow
}).then(_ => {}) }).then(_ => {
this.$emit('refresh')
})
}, },
@ -189,6 +197,14 @@ export default {
if (val && val.length > 0) { if (val && val.length > 0) {
this.rows = val.map((i,index) => ({...i,scroll: index})) this.rows = val.map((i,index) => ({...i,scroll: index}))
this.copyTransfers = deepCopy(val); this.copyTransfers = deepCopy(val);
await this.$nextTick();
await this.initWH(false);
this.calcHeights();
await this.animation(true);
} else {
this.rows = []
this.copyTransfers = []
await this.$nextTick();
await this.initWH(false); await this.initWH(false);
this.calcHeights(); this.calcHeights();
await this.animation(true); await this.animation(true);
@ -212,6 +228,10 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.equipment-name {
font-size: 18px;
letter-spacing: 1px;
}
&__title { &__title {
width: 40%; width: 40%;
height: 44px; height: 44px;

@ -1,8 +1,9 @@
<template> <template>
<div> <div>
<div class="select"> <div class="select">
<div class="select-item"> <div class="select-item">
<div class="select-item__title">片区</div> <div class="select-item__title">选择范围</div>
<el-checkbox-group size="small" v-model="select.area"> <el-checkbox-group size="small" v-model="select.area">
<el-checkbox-button v-for="item in areas" :label="item.value">{{ <el-checkbox-button v-for="item in areas" :label="item.value">{{
item.key item.key
@ -11,7 +12,7 @@
</div> </div>
<div class="select-item"> <div class="select-item">
<div class="select-item__title">类型</div> <div class="select-item__title">选择泵闸</div>
<el-checkbox-group size="small" v-model="select.type"> <el-checkbox-group size="small" v-model="select.type">
<el-checkbox-button v-for="item in types" :label="item.value">{{ <el-checkbox-button v-for="item in types" :label="item.value">{{
item.key item.key
@ -20,8 +21,8 @@
</div> </div>
<div class="select-item"> <div class="select-item">
<div class="select-item__title">引排水</div> <div class="select-item__title">选择类别</div>
<el-radio-group size="small" v-model="ability" @input="radioPick"> <el-radio-group size="small" v-model="ability" @input="e => data.forEach(i => i.leibie = e)">
<el-radio-button v-for="item in abilities" :label="item.value">{{ <el-radio-button v-for="item in abilities" :label="item.value">{{
item.key item.key
}}</el-radio-button> }}</el-radio-button>
@ -117,6 +118,7 @@ export default {
select: { select: {
area: [], area: [],
type: [], type: [],
leibie: [],
}, },
weather: [], weather: [],
copyOriginalData: [], copyOriginalData: [],
@ -124,11 +126,13 @@ export default {
ability: 1, ability: 1,
data: data:
this.equipmentList?.map((i) => ({ this.equipmentList?.map((i) => ({
equipment: i,
equipment_id: i.id, equipment_id: i.id,
start_time: "", start_time: "",
end_time: "", end_time: "",
content: "", content: "",
level: 1, level: 1,
leibie: this.ability
})) || [], })) || [],
columns: [ columns: [
// { // {
@ -143,10 +147,7 @@ export default {
key: "equipment_id", key: "equipment_id",
align: "center", align: "center",
render: (h, { row, index }) => { render: (h, { row, index }) => {
let equipment = this.equipmentList.find( let text = row.equipment ? row.equipment.name : "";
(i) => i.id === row.equipment_id
);
let text = equipment ? equipment.name : "";
return h("div", [ return h("div", [
h('span',text), h('span',text),
h('Button',{ h('Button',{
@ -195,11 +196,11 @@ export default {
} }
}, },
{ {
title: '引排水', title: '类别',
key: 'yinpaishui', key: 'yinpaishui',
width: 100, width: 100,
align: 'center', align: 'center',
render: (h,{ row }) => (h('span',this.abilities.find(i => i.value === row.yinpaishui)?.key)) render: (h,{ row }) => (h('span',this.abilities.find(i => i.value === row.leibie)?.key))
}, },
{ {
title: "开启时间", title: "开启时间",
@ -336,9 +337,6 @@ export default {
}; };
}, },
methods: { methods: {
radioPick (e) {
this.data.forEach(i => (i.yinpaishui = e))
},
clear () { clear () {
this.select = { this.select = {
@ -358,12 +356,13 @@ export default {
this.clear(); this.clear();
this.data = this.data =
this.equipmentList?.map((i) => ({ this.equipmentList?.map((i) => ({
equipment: i,
equipment_id: i.id, equipment_id: i.id,
start_time: "", start_time: "",
end_time: "", end_time: "",
content: "", content: "",
level: 1, level: 1,
yinpaishui: this.ability leibie: this.ability
})) || []; })) || [];
}, },
@ -429,6 +428,7 @@ export default {
}); });
} }
} }
this.$bus.$emit('areas',this.areas)
}, },
async getType() { async getType() {
const obj = (await show({ id: 1 }, false))?.select_item; const obj = (await show({ id: 1 }, false))?.select_item;
@ -445,7 +445,7 @@ export default {
} }
}, },
async getAbility () { async getAbility () {
const obj = (await show({ id: 29 }, false))?.select_item; const obj = (await show({ id: 31 }, false))?.select_item;
if (obj && typeof obj === "object") { if (obj && typeof obj === "object") {
let keys = Object.keys(obj); let keys = Object.keys(obj);
if (keys.length > 0) { if (keys.length > 0) {
@ -480,12 +480,13 @@ export default {
equipmentList(val) { equipmentList(val) {
this.data = this.data =
val?.map((i) => ({ val?.map((i) => ({
equipment: i,
equipment_id: i.id, equipment_id: i.id,
start_time: "", start_time: "",
end_time: "", end_time: "",
content: "", content: "",
level: 1, level: 1,
yinpaishui: this.ability leibie: this.ability
})) || []; })) || [];
}, },
select: { select: {
@ -494,27 +495,29 @@ export default {
let list1 = []; let list1 = [];
let list2 = []; let list2 = [];
if (val.area.length > 0) { if (val.area.length > 0) {
list1 = this.equipments().filter(i => val.area.find(j => j.key === i.area)) list1 = this.equipments().filter(i => val.area.find(j => j === i.area))
} }
if (val.type.length > 0) { if (val.type.length > 0) {
list2 = this.equipments().filter(i => val.type.find(j => j.key === i.type)) list2 = this.equipments().filter(i => val.type.find(j => j === i.type))
} }
this.data = Array.from(new Set([...list1,...list2].map(JSON.stringify))).map(JSON.parse).map((i) => ({ this.data = Array.from(new Set([...list1,...list2].map(JSON.stringify))).map(JSON.parse).map((i) => ({
equipment: i,
equipment_id: i.id, equipment_id: i.id,
start_time: "", start_time: "",
end_time: "", end_time: "",
content: "", content: "",
level: 1, level: 1,
yinpaishui: this.ability leibie: this.ability
})) || []; })) || [];
} else { } else {
this.data = this.equipments()?.map((i) => ({ this.data = this.equipments()?.map((i) => ({
equipment: i,
equipment_id: i.id, equipment_id: i.id,
start_time: "", start_time: "",
end_time: "", end_time: "",
content: "", content: "",
level: 1, level: 1,
yinpaishui: this.ability leibie: this.ability
})) || []; })) || [];
} }
}, },
@ -541,7 +544,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
&__title { &__title {
width: 50px; width: 80px;
flex-shrink: 0; flex-shrink: 0;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;

@ -1,6 +1,20 @@
<template> <template>
<div> <div>
<div class="select-content">
<Select clearable v-model="select.filter[2].value" placeholder="请选择类别" style="width: 140px;">
<Option v-for="item in abilities" :value="item.value">{{ item.key }}</Option>
</Select>
<Select clearable v-model="select.filter[1].value" placeholder="请选择范围" style="width: 140px;margin-left: 6px;">
<Option v-for="item in areas" :value="item.value">{{ item.key }}</Option>
</Select>
<Input style="width: 140px;margin-left: 6px;" clearable v-model="select.filter[0].value" placeholder="搜索内容"/>
<Button style="margin-left: 6px;" type="primary" @click="getDispatches"></Button>
</div>
<Table <Table
style="margin-top: 16px;"
border
:loading="loading"
:columns="columns" :columns="columns"
:data="mergeData" :data="mergeData"
stripe stripe
@ -30,18 +44,37 @@
<script> <script>
import { deepCopy } from "@/utils"; import { deepCopy } from "@/utils";
import { index,destroy } from "@/api/system/baseForm"; import { index,destroy } from "@/api/system/baseForm";
import { mergeTableRow} from "@/utils/mergeTableRow"; import { mergeTableRow } from "@/utils/mergeTableRow";
export default { export default {
inject: ["equipments"], inject: ["equipments"],
data() { data() {
return { return {
loading: false,
areas: [],
abilities: [], abilities: [],
select: { select: {
table_name: 'transfers', table_name: 'transfers',
page: 1, page: 1,
page_size: 10, page_size: 10,
sort_name: 'equipment_id' sort_name: 'equipment_id',
filter: [
{
key: "content",
op: "like",
value: ""
},
{
key: "area",
op: "eq",
value: ""
},
{
key: "leibie",
op: "eq",
value: ""
}
]
}, },
total: 0, total: 0,
data: [], data: [],
@ -52,19 +85,27 @@ export default {
key: "equipment_id", key: "equipment_id",
align: "center", align: "center",
render: (h, { row, index }) => { render: (h, { row, index }) => {
let equipment = this.equipmentList.find( let text = row.equipment_id_equipments_id_relation ? row.equipment_id_equipments_id_relation.name : "";
(i) => i.id === row.equipment_id
);
let text = equipment ? equipment.name : "";
return h('span',text); return h('span',text);
}, },
}, },
{ {
title: '引排水', title: "范围",
width: 140,
key: "area",
align: "center",
render: (h, { row, index }) => {
let area = row.equipment_id_equipments_id_relation ? row.equipment_id_equipments_id_relation.area : "";
let text = this.areas.find(i => i.value === area)?.key
return h('span',text)
}
},
{
title: '类别',
width: 100, width: 100,
key: 'yinpaishui', key: 'leibie',
align: 'center', align: 'center',
render: (h,{ row }) => h('span', (this.abilities.find(i => i.value === row.yinpaishui))?.key) render: (h,{ row }) => h('span', (this.abilities.find(i => i.value === row.leibie))?.key)
}, },
{ {
title: "开启时间", title: "开启时间",
@ -152,9 +193,15 @@ export default {
}, },
async getDispatches () { async getDispatches () {
const res = await index(this.select); try {
this.data = res.data; this.loading = true;
this.total = res.total; const res = await index(this.select);
this.data = res.data;
this.total = res.total;
this.loading = false;
} catch (e) {
this.loading = false;
}
} }
}, },
computed: { computed: {
@ -162,9 +209,10 @@ export default {
return mergeTableRow({ return mergeTableRow({
data: this.data.map((i) => { data: this.data.map((i) => {
delete i["equipment_id-span"]; delete i["equipment_id-span"];
delete i["area-span"]
return i; return i;
}), }),
mergeColNames: ["equipment_id"], // mergeColNames: ["equipment_id","area"], //
firstMergeColNames: ["equipment_id"], // firstMerge firstMergeColNames: ["equipment_id"], // firstMerge
firstMerge: "equipment_id", // firstMerge: "equipment_id", //
}); });
@ -178,9 +226,11 @@ export default {
created() { created() {
this.getDispatches() this.getDispatches()
this.$bus.$on('yinpaishui',e => (this.abilities = e)) this.$bus.$on('yinpaishui',e => (this.abilities = e))
this.$bus.$on('areas',e => (this.areas = e))
this.$bus.$on('createdTransfer',_ => (this.getDispatches())) this.$bus.$on('createdTransfer',_ => (this.getDispatches()))
}, },
destroyed() { destroyed() {
this.$bus.$off('areas')
this.$bus.$off('yinpaishui') this.$bus.$off('yinpaishui')
this.$bus.$off('createdTransfer') this.$bus.$off('createdTransfer')
} }
@ -188,6 +238,9 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.select-content {
width: 100%;
}
.pagination { .pagination {
display: flex; display: flex;
justify-content: center; justify-content: center;

@ -9,7 +9,7 @@
</LxHeader> </LxHeader>
<div class="weather panel"> <div class="weather panel">
<div class="title">今日信息</div> <div class="title">动态</div>
<template> <template>
<div class="weather-container"> <div class="weather-container">
@ -94,7 +94,7 @@ export default {
color: 'linear-gradient(150deg, #879afe, #5164f6)' color: 'linear-gradient(150deg, #879afe, #5164f6)'
}, },
water: { water: {
label: '今日水情', label: '水情',
icon: `<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"> icon: `<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
<path fill="#fff" <path fill="#fff"
d="M448.184 101.451c-0.903-7.267-12.85-7.267-13.754 0-29.928 241.246-182.938 290.943-182.938 458.589 0 103.601 86.891 187.578 189.835 187.578 102.904 0 189.796-83.978 189.796-187.578 0-167.646-153.011-217.343-182.939-458.589z m32.331 602.066c-10.778 0-19.46-8.704-19.46-19.461 0-10.756 8.723-19.46 19.46-19.46 26.809 0 48.61-21.719 48.61-48.465 0-10.757 8.702-19.46 19.46-19.46a19.46 19.46 0 0 1 17.94 11.823 19.285 19.285 0 0 1 1.56 7.637c0 48.198-39.29 87.386-87.57 87.386zM686.584 182.662c-0.321-2.58-4.563-2.58-4.883 0-10.626 85.654-64.952 103.298-64.952 162.82 0 36.783 30.85 66.599 67.4 66.599 36.536 0 67.386-29.816 67.386-66.599 0.001-59.522-54.325-77.167-64.951-162.82z m11.479 213.761a6.9 6.9 0 0 1-6.909-6.91 6.91 6.91 0 0 1 6.909-6.909c9.518 0 17.259-7.711 17.259-17.207a6.905 6.905 0 0 1 6.909-6.909 6.91 6.91 0 0 1 6.924 6.909c-0.001 17.112-13.95 31.026-31.092 31.026zM898.247 790.223c-14.688-6.216-31.634 0.65-37.851 15.338-16.46 38.884-54.66 64.682-97.613 64.682-43.511 0-82.097-26.461-98.17-66.073-5.997-14.781-22.839-21.9-37.617-15.904a28.722 28.722 0 0 0-13.197 10.808c-1.543 1.969-2.939 4.084-3.961 6.499-16.431 38.872-54.623 64.67-97.579 64.67-42.487 0-80.132-25.316-96.867-63.382-2.331-8.356-8.277-15.607-16.947-19.091-14.799-5.948-31.616 1.228-37.563 16.027-16.003 39.822-54.682 66.446-98.336 66.446-43.969 0-82.882-27.032-98.647-67.278-5.817-14.851-22.572-22.175-37.422-16.358-14.851 5.817-22.174 22.572-16.357 37.423C134.486 886.228 194.612 928 262.546 928c49.3 0 94.436-22.055 124.844-57.923C417.801 905.954 462.959 928 512.259 928c49.482 0 94.866-22.185 125.287-58.364C667.953 905.774 713.283 928 762.783 928c66.355 0 125.377-39.86 150.801-99.926 6.217-14.687-0.65-31.634-15.337-37.851z"></path> d="M448.184 101.451c-0.903-7.267-12.85-7.267-13.754 0-29.928 241.246-182.938 290.943-182.938 458.589 0 103.601 86.891 187.578 189.835 187.578 102.904 0 189.796-83.978 189.796-187.578 0-167.646-153.011-217.343-182.939-458.589z m32.331 602.066c-10.778 0-19.46-8.704-19.46-19.461 0-10.756 8.723-19.46 19.46-19.46 26.809 0 48.61-21.719 48.61-48.465 0-10.757 8.702-19.46 19.46-19.46a19.46 19.46 0 0 1 17.94 11.823 19.285 19.285 0 0 1 1.56 7.637c0 48.198-39.29 87.386-87.57 87.386zM686.584 182.662c-0.321-2.58-4.563-2.58-4.883 0-10.626 85.654-64.952 103.298-64.952 162.82 0 36.783 30.85 66.599 67.4 66.599 36.536 0 67.386-29.816 67.386-66.599 0.001-59.522-54.325-77.167-64.951-162.82z m11.479 213.761a6.9 6.9 0 0 1-6.909-6.91 6.91 6.91 0 0 1 6.909-6.909c9.518 0 17.259-7.711 17.259-17.207a6.905 6.905 0 0 1 6.909-6.909 6.91 6.91 0 0 1 6.924 6.909c-0.001 17.112-13.95 31.026-31.092 31.026zM898.247 790.223c-14.688-6.216-31.634 0.65-37.851 15.338-16.46 38.884-54.66 64.682-97.613 64.682-43.511 0-82.097-26.461-98.17-66.073-5.997-14.781-22.839-21.9-37.617-15.904a28.722 28.722 0 0 0-13.197 10.808c-1.543 1.969-2.939 4.084-3.961 6.499-16.431 38.872-54.623 64.67-97.579 64.67-42.487 0-80.132-25.316-96.867-63.382-2.331-8.356-8.277-15.607-16.947-19.091-14.799-5.948-31.616 1.228-37.563 16.027-16.003 39.822-54.682 66.446-98.336 66.446-43.969 0-82.882-27.032-98.647-67.278-5.817-14.851-22.572-22.175-37.422-16.358-14.851 5.817-22.174 22.572-16.357 37.423C134.486 886.228 194.612 928 262.546 928c49.3 0 94.436-22.055 124.844-57.923C417.801 905.954 462.959 928 512.259 928c49.482 0 94.866-22.185 125.287-58.364C667.953 905.774 713.283 928 762.783 928c66.355 0 125.377-39.86 150.801-99.926 6.217-14.687-0.65-31.634-15.337-37.851z"></path>
@ -102,7 +102,7 @@ export default {
color: 'linear-gradient(150deg, #bf8bf8, #a251f8)' color: 'linear-gradient(150deg, #bf8bf8, #a251f8)'
}, },
rain: { rain: {
label: '降水情况', label: '降水',
icon: `<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"> icon: `<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
<path d="M377.0368 281.531733L369.629867 341.333333H273.066667a170.666667 170.666667 0 0 0 0 341.333334h477.866666a170.666667 170.666667 0 0 0 72.942934-325.0176l-37.341867-17.681067-1.672533-41.301333a204.8 204.8 0 0 0-407.790934-17.134934zM34.133333 512a238.933333 238.933333 0 0 1 238.933334-238.933333h36.2496a273.1008 273.1008 0 0 1 543.744 22.869333A238.933333 238.933333 0 0 1 750.933333 750.933333H273.1008a238.933333 238.933333 0 0 1-238.933333-238.933333z m267.332267 343.210667a34.133333 34.133333 0 0 0-56.797867-37.888l-68.266666 102.4a34.133333 34.133333 0 0 0 56.797866 37.888l68.266667-102.4z m238.933333 0a34.133333 34.133333 0 0 0-56.797866-37.888l-68.266667 102.4a34.133333 34.133333 0 0 0 56.797867 37.888l68.266666-102.4z m238.933334 0a34.133333 34.133333 0 0 0-56.797867-37.888l-68.266667 102.4a34.133333 34.133333 0 0 0 56.797867 37.888l68.266667-102.4z" <path d="M377.0368 281.531733L369.629867 341.333333H273.066667a170.666667 170.666667 0 0 0 0 341.333334h477.866666a170.666667 170.666667 0 0 0 72.942934-325.0176l-37.341867-17.681067-1.672533-41.301333a204.8 204.8 0 0 0-407.790934-17.134934zM34.133333 512a238.933333 238.933333 0 0 1 238.933334-238.933333h36.2496a273.1008 273.1008 0 0 1 543.744 22.869333A238.933333 238.933333 0 0 1 750.933333 750.933333H273.1008a238.933333 238.933333 0 0 1-238.933333-238.933333z m267.332267 343.210667a34.133333 34.133333 0 0 0-56.797867-37.888l-68.266666 102.4a34.133333 34.133333 0 0 0 56.797866 37.888l68.266667-102.4z m238.933333 0a34.133333 34.133333 0 0 0-56.797866-37.888l-68.266667 102.4a34.133333 34.133333 0 0 0 56.797867 37.888l68.266666-102.4z m238.933334 0a34.133333 34.133333 0 0 0-56.797867-37.888l-68.266667 102.4a34.133333 34.133333 0 0 0 56.797867 37.888l68.266667-102.4z"
fill="#fff"></path> fill="#fff"></path>
@ -122,7 +122,7 @@ export default {
color: 'linear-gradient(150deg, #89c3f7, #4497fd)' color: 'linear-gradient(150deg, #89c3f7, #4497fd)'
}, },
early_warning: { early_warning: {
label: '防汛等级', label: '汛情',
icon: `<svg viewBox="0 0 1105 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"> icon: `<svg viewBox="0 0 1105 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
<path d="M763.574886 989.92128l-40.81664-30.6176a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712a119.33696 119.33696 0 0 1-73.50272 23.79776 119.5008 119.5008 0 0 1-72.31488-24.20736l-39.69024-30.18752a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712a120.03328 120.03328 0 0 1-144.50688 0L178.522726 959.30368a38.0928 38.0928 0 0 0-45.93664 0l-52.75648 39.95648a40.83712 40.83712 0 0 1-57.15968-7.80288 40.83712 40.83712 0 0 1 7.80288-57.15968l52.75648-39.95648a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a40.83712 40.83712 0 0 1-8.04864 71.14752 40.83712 40.83712 0 0 1-41.1648-6.18496l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712A119.76704 119.76704 0 0 1 835.869286 1014.08768a119.76704 119.76704 0 0 1-72.2944-24.1664zM490.351206 833.86368l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.93664 0L362.740326 833.86368a120.03328 120.03328 0 0 1-144.50688 0l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.93664 0l-52.75648 39.936a40.83712 40.83712 0 0 1-57.1392-7.7824 40.83712 40.83712 0 0 1 7.7824-57.18016l52.75648-39.936a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.57664a38.0928 38.0928 0 0 0 45.95712 0l40.81664-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a40.83712 40.83712 0 0 1 7.80288 57.15968 40.83712 40.83712 0 0 1-57.1392 7.82336l-40.8576-30.59712a38.0928 38.0928 0 0 0-45.93664 0L906.832486 833.86368a120.03328 120.03328 0 0 1-144.50688 0l-40.81664-30.59712a38.0928 38.0928 0 0 0-45.95712 0L634.714726 833.86368a119.52128 119.52128 0 0 1-72.04864 24.18688h-0.2048a119.52128 119.52128 0 0 1-72.11008-24.18688z m34.26304-127.52896a158.65856 158.65856 0 0 0-16.83456-10.89536V400.5888h88.76032v310.08768l-33.1776 25.16992-38.74816-29.51168z m-203.48928 5.85728V436.0192h88.76032V673.91488a159.66208 159.66208 0 0 0-79.11424 32.50176l-8.43776 6.38976-1.20832-0.6144z m376.97536-38.33856V435.95776h88.76032v265.09312a160.23552 160.23552 0 0 0-88.80128-27.19744h0.04096z m202.81344-461.1072H207.604326V681.90208a161.5872 161.5872 0 0 0-81.67424-5.71392V131.15392h154.8288V10.56768h546.63168v120.58624h154.97216v542.26944a161.1776 161.1776 0 0 0-81.67424 15.07328l0.2048-475.7504zM362.433126 131.09248h383.488V92.09856H362.453606v38.99392z" <path d="M763.574886 989.92128l-40.81664-30.6176a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712a119.33696 119.33696 0 0 1-73.50272 23.79776 119.5008 119.5008 0 0 1-72.31488-24.20736l-39.69024-30.18752a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712a120.03328 120.03328 0 0 1-144.50688 0L178.522726 959.30368a38.0928 38.0928 0 0 0-45.93664 0l-52.75648 39.95648a40.83712 40.83712 0 0 1-57.15968-7.80288 40.83712 40.83712 0 0 1 7.80288-57.15968l52.75648-39.95648a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a40.83712 40.83712 0 0 1-8.04864 71.14752 40.83712 40.83712 0 0 1-41.1648-6.18496l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.95712 0l-40.81664 30.59712A119.76704 119.76704 0 0 1 835.869286 1014.08768a119.76704 119.76704 0 0 1-72.2944-24.1664zM490.351206 833.86368l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.93664 0L362.740326 833.86368a120.03328 120.03328 0 0 1-144.50688 0l-40.83712-30.59712a38.0928 38.0928 0 0 0-45.93664 0l-52.75648 39.936a40.83712 40.83712 0 0 1-57.1392-7.7824 40.83712 40.83712 0 0 1 7.7824-57.18016l52.75648-39.936a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.57664a38.0928 38.0928 0 0 0 45.95712 0l40.81664-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a38.0928 38.0928 0 0 0 45.93664 0l40.83712-30.59712a120.03328 120.03328 0 0 1 144.50688 0l40.83712 30.59712a40.83712 40.83712 0 0 1 7.80288 57.15968 40.83712 40.83712 0 0 1-57.1392 7.82336l-40.8576-30.59712a38.0928 38.0928 0 0 0-45.93664 0L906.832486 833.86368a120.03328 120.03328 0 0 1-144.50688 0l-40.81664-30.59712a38.0928 38.0928 0 0 0-45.95712 0L634.714726 833.86368a119.52128 119.52128 0 0 1-72.04864 24.18688h-0.2048a119.52128 119.52128 0 0 1-72.11008-24.18688z m34.26304-127.52896a158.65856 158.65856 0 0 0-16.83456-10.89536V400.5888h88.76032v310.08768l-33.1776 25.16992-38.74816-29.51168z m-203.48928 5.85728V436.0192h88.76032V673.91488a159.66208 159.66208 0 0 0-79.11424 32.50176l-8.43776 6.38976-1.20832-0.6144z m376.97536-38.33856V435.95776h88.76032v265.09312a160.23552 160.23552 0 0 0-88.80128-27.19744h0.04096z m202.81344-461.1072H207.604326V681.90208a161.5872 161.5872 0 0 0-81.67424-5.71392V131.15392h154.8288V10.56768h546.63168v120.58624h154.97216v542.26944a161.1776 161.1776 0 0 0-81.67424 15.07328l0.2048-475.7504zM362.433126 131.09248h383.488V92.09856H362.453606v38.99392z"
fill="#fff"></path> fill="#fff"></path>

Loading…
Cancel
Save