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 @@ @@ -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 @@