From 20c731ce1631598d39b0d08f47592bc120628897 Mon Sep 17 00:00:00 2001
From: xy <271556543@qq.com>
Date: Fri, 1 Dec 2023 17:36:43 +0800
Subject: [PATCH] 2023-12-1 xy
---
src/layout/index.vue | 1 +
src/main.js | 6 +-
src/views/bigScreen/bigScreen.vue | 2 +-
.../bigScreen/component/centerRight1.vue | 11 +-
.../bigScreen/component/centerRight1_copy.vue | 234 ++++++++++++++++++
.../bigScreen/component/transferBoard.vue | 53 ++--
src/views/order/component/createDispatch.vue | 125 ++++++----
src/views/order/component/dispatchList.vue | 29 ++-
src/views/order/component/normalCreate.vue | 111 +++++++--
9 files changed, 467 insertions(+), 105 deletions(-)
create mode 100644 src/views/bigScreen/component/centerRight1_copy.vue
diff --git a/src/layout/index.vue b/src/layout/index.vue
index db22a7b..6097259 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -56,6 +56,7 @@ export default {
.app-wrapper {
@include clearfix;
+ overflow: scroll;
position: relative;
height: 100%;
width: 100%;
diff --git a/src/main.js b/src/main.js
index 265dfd3..1b09e5c 100644
--- a/src/main.js
+++ b/src/main.js
@@ -90,7 +90,6 @@ Vue.prototype.$integrateData = (target,value) => {
}
}
-
//大屏看板依赖
import dataV from '@jiaminghi/data-view';
Vue.use(dataV);
@@ -99,5 +98,8 @@ new Vue({
el: '#app',
router,
store,
- render: h => h(App)
+ render: h => h(App),
+ beforeCreate() {
+ Vue.prototype.$bus = this
+ }
})
diff --git a/src/views/bigScreen/bigScreen.vue b/src/views/bigScreen/bigScreen.vue
index 42dfa3c..f3168f5 100644
--- a/src/views/bigScreen/bigScreen.vue
+++ b/src/views/bigScreen/bigScreen.vue
@@ -96,7 +96,7 @@ import '@/styles/scss/style.scss';
import centerLeft1 from './component/centerLeft1'
import centerLeft2 from './component/centerLeft2'
-import centerRight1 from './component/centerRight1'
+import centerRight1 from './component/centerRight1_copy'
import centerRight2 from './component/centerRight2'
import center from './component/center'
import bottomLeft from './component/bottomLeft'
diff --git a/src/views/bigScreen/component/centerRight1.vue b/src/views/bigScreen/component/centerRight1.vue
index 0892001..69de4ee 100644
--- a/src/views/bigScreen/component/centerRight1.vue
+++ b/src/views/bigScreen/component/centerRight1.vue
@@ -4,7 +4,7 @@
待执行
@@ -45,10 +45,12 @@
即将执行
+
已完成
+
@@ -57,10 +59,15 @@
+
+
diff --git a/src/views/bigScreen/component/transferBoard.vue b/src/views/bigScreen/component/transferBoard.vue
index 4887056..0d686bd 100644
--- a/src/views/bigScreen/component/transferBoard.vue
+++ b/src/views/bigScreen/component/transferBoard.vue
@@ -1,39 +1,36 @@
-
-
待执行
-
-
+
-
-
-
-
待执行
-
{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}
-
-
-
-
- 执行时间:{{ item.start_time }}
-
-
- 倒计时:
-
+
+
+
+
待执行
+
{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}
+
+
+
+
+ 执行时间:{{ item.start_time }}
-
+
+ 执行
+
-
-
+
+
@@ -174,7 +171,7 @@ export default {
if (val && val.length > 0) {
await this.initWH(false);
this.calcHeights();
- await this.animation(true);
+ val.length > this.rowNum ? await this.animation(true) : '';
}
}
},
diff --git a/src/views/order/component/createDispatch.vue b/src/views/order/component/createDispatch.vue
index 4a52d70..2a268c4 100644
--- a/src/views/order/component/createDispatch.vue
+++ b/src/views/order/component/createDispatch.vue
@@ -11,7 +11,7 @@
-
功能
+
类型
{{
item.key
@@ -19,6 +19,15 @@
+
+
引排水
+
+ {{
+ item.key
+ }}
+
+
+
{{ date }}
创建
-
{{ "排水" }}
+
{{ abilities.find(i => i.value === ability) ? abilities.find(i => i.value === ability).key : '' }}
调令
({
equipment_id: i.id,
@@ -154,49 +165,40 @@ export default {
},'新增')
]);
},
- // render: (h,{ row, index }) => {
- // return h('div',{
- // style: {
- // display: 'flex',
- // 'justify-content': 'space-between'
- // }
- // },[
- // h('Select',{
- // style: {
- // width: '140px'
- // },
- // props: {
- // value: row.equipment_id,
- // filterable: true,
- // size: 'small',
- // transfer: true,
- // disabled: true
- // },
- // on: {
- // ['on-select']:e => {
- // row.equipment_id = e.value;
- // }
- // }
- // },this.equipments().map(i => {
- // return h('Option',{
- // props: {
- // value: i.id,
- // }
- // },i.name)
- // })),
- // h('Button',{
- // props: {
- // size: 'small',
- // type: 'primary'
- // },
- // on: {
- // ['click']:e => {
- // this.data.splice(index,0,deepCopy(row))
- // }
- // }
- // },'新增')
- // ])
- // }
+ },
+ {
+ title: '机组运行状态',
+ width: 200,
+ render: (h) => {
+ let num = Math.round(Math.random() * 8)
+ const create = () => {
+ let dom = [];
+ for (let i = 0;i<=num;i++) {
+ dom.push(h('div',{
+ style: {
+ width: '14px',
+ height: '14px',
+ background: i === num-1 ? 'red' : 'green',
+ 'border-radius': '100%',
+ 'margin-left': '6px'
+ }
+ }))
+ }
+ return dom;
+ }
+ return h('div',{
+ style: {
+ display: 'flex'
+ }
+ },create())
+ }
+ },
+ {
+ title: '引排水',
+ key: 'yinpaishui',
+ width: 100,
+ align: 'center',
+ render: (h,{ row }) => (h('span',this.abilities.find(i => i.value === row.yinpaishui)?.key))
},
{
title: "开启时间",
@@ -333,10 +335,14 @@ export default {
};
},
methods: {
+ radioPick (e) {
+ this.data.forEach(i => (i.yinpaishui = e))
+ },
+
clear () {
this.select = {
area: [],
- type: [],
+ type: []
};
},
@@ -356,6 +362,7 @@ export default {
end_time: "",
content: "",
level: 1,
+ yinpaishui: this.ability
})) || [];
},
@@ -399,6 +406,7 @@ export default {
type: 'success',
message: `成功创建${res.length}条调令`
})
+ this.$bus.$emit('createdTransfer')
}).catch(_ => {
loadingInstance.close();
})
@@ -432,6 +440,21 @@ export default {
}
}
},
+ async getAbility () {
+ const obj = (await show({ id: 29 }, false))?.select_item;
+ if (obj && typeof obj === "object") {
+ let keys = Object.keys(obj);
+ if (keys.length > 0) {
+ this.abilities = keys.map((key) => {
+ return {
+ key,
+ value: /^\d*$/.test(obj[key]) ? Number(obj[key]) : obj[key],
+ };
+ });
+ }
+ }
+ this.$bus.$emit('yinpaishui',this.abilities)
+ }
},
computed: {
mergeData() {
@@ -458,6 +481,7 @@ export default {
end_time: "",
content: "",
level: 1,
+ yinpaishui: this.ability
})) || [];
},
select: {
@@ -466,10 +490,10 @@ export default {
let list1 = [];
let list2 = [];
if (val.area.length > 0) {
- list1 = this.equipments().filter(i => val.area.find(j => j === i.id))
+ list1 = this.equipments().filter(i => val.area.find(j => j.key === i.area))
}
if (val.type.length > 0) {
- list2 = this.equipments().filter(i => val.type.find(j => j === i.id))
+ list2 = this.equipments().filter(i => val.type.find(j => j.key === i.type))
}
this.data = Array.from(new Set([...list1,...list2].map(JSON.stringify))).map(JSON.parse).map((i) => ({
equipment_id: i.id,
@@ -477,6 +501,7 @@ export default {
end_time: "",
content: "",
level: 1,
+ yinpaishui: this.ability
})) || [];
} else {
this.data = this.equipments()?.map((i) => ({
@@ -485,7 +510,8 @@ export default {
end_time: "",
content: "",
level: 1,
- })) || [];;
+ yinpaishui: this.ability
+ })) || [];
}
},
deep: true
@@ -495,6 +521,7 @@ export default {
created() {
this.getArea();
this.getType();
+ this.getAbility();
},
};
diff --git a/src/views/order/component/dispatchList.vue b/src/views/order/component/dispatchList.vue
index 59f8d9e..0b1a118 100644
--- a/src/views/order/component/dispatchList.vue
+++ b/src/views/order/component/dispatchList.vue
@@ -29,13 +29,14 @@
diff --git a/src/views/order/component/normalCreate.vue b/src/views/order/component/normalCreate.vue
index 1b099bc..d0567c1 100644
--- a/src/views/order/component/normalCreate.vue
+++ b/src/views/order/component/normalCreate.vue
@@ -13,18 +13,21 @@
-
+
- {{ value }}
+
-
-
- {{ weather[key] }}
-
-
-
- {{ weather[key] }}
+
+
+
+
+
+
+
@@ -81,12 +84,61 @@ export default {
data: [],
weather: {},
- weatherObj: {
- weather: '今日天气',
- water: '今日水情',
- rain: '降水情况',
- prevent: '预警',
- early_warning: '防汛等级'
+ weatherKv: {
+ weather: {
+ label: '今日天气',
+ icon: ``,
+ color: 'linear-gradient(150deg, #879afe, #5164f6)'
+ },
+ water: {
+ label: '今日水情',
+ icon: ``,
+ color: 'linear-gradient(150deg, #bf8bf8, #a251f8)'
+ },
+ rain: {
+ label: '降水情况',
+ icon: ``,
+ color: 'linear-gradient(150deg, #ffa797, #ff755b)'
+ },
+ prevent: {
+ label: '预警',
+ icon: ``,
+ color: 'linear-gradient(150deg, #89c3f7, #4497fd)'
+ },
+ early_warning: {
+ label: '防汛等级',
+ icon: ``,
+ color: 'linear-gradient(150deg, #6bc8cf, #3db9c5)'
+ }
}
}
},
@@ -167,7 +219,19 @@ export default {
},false)).data[0]
}
},
- computed: {},
+ computed: {
+ splitSpan () {
+ return function (text) {
+ let html = '';
+ let spit = text?.split(/,|;|。|,|\n/)
+ spit?.forEach((i,index) => {
+ html += ((index ? '
' : '') + '' + i + '')
+ })
+
+ return html;
+ }
+ }
+ },
created() {
this.getWeather()
}
@@ -215,10 +279,17 @@ export default {
flex-basis: 19%;
.text {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 3;
- overflow: hidden;
+ max-height: 140px;
+ text-align: center;
+ overflow-y: scroll;
+ //font-size: 13px;
+ //display: -webkit-box;
+ //-webkit-box-orient: vertical;
+ //-webkit-line-clamp: 3;
+ //overflow: hidden;
+ &::-webkit-scrollbar-thumb {
+ background: #0000;
+ }
}
}
}