From c047a193dad2591ee9d40d1ed3e97180d7be23c4 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 14 九月 2023 10:11:21 +0800
Subject: [PATCH] 1.综合看板
---
src/views/kanbanManager/all.vue | 277 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 226 insertions(+), 51 deletions(-)
diff --git a/src/views/kanbanManager/all.vue b/src/views/kanbanManager/all.vue
index 00c3199..671e9c3 100644
--- a/src/views/kanbanManager/all.vue
+++ b/src/views/kanbanManager/all.vue
@@ -55,25 +55,27 @@
<svg-icon icon-class="cggz" class="svg_class" />
閿�鍞鍗�(鏈�/瀛�)
</div>
- <div class="lineContent horn" style="height: 450px;display: flex;justify-content: space-between">
+ <div class="lineContent horn" style="height: 450px;display: flex;flex-direction: column;justify-content: space-between">
<div style="height: 180px;padding: 10px;display: flex;justify-content: space-between">
- <!-- <div v-for="i in LeftTopData01" :key="i" class="flex_c_s">-->
- <!-- <div class="all_block01 flex_c_s">-->
- <!-- <div class="flex_c_c all_block02">{{ i.wkshp_name }}</div>-->
- <!-- <div class="" style="display: flex;justify-content:space-between">-->
- <!-- <div class="all_block02 flex_c_c" style="width: 49% ">浠诲姟鏁�</div>-->
- <!-- <div class="all_block02 flex_c_c" style="width: 49% ">{{ i.plan_qty }}</div>-->
- <!-- </div>-->
- <!-- <div class="" style="display: flex;justify-content:space-between">-->
- <!-- <div class="all_block02 flex_c_c" style="width: 49% ">瀹屽伐鏁�</div>-->
- <!-- <div class="all_block02 flex_c_c" style="width: 49% ">{{ i.good_qty }}</div>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </div>-->
+ <div v-for="i in RightTopData01" :key="i.Quarter" class="flex_c_s">
+ <div class="all_block03 flex_c_s">
+ <div class="flex_c_c all_block04">{{ i.Quarter }}</div>
+ <div class="" style="display: flex;justify-content:space-between">
+ <div class="all_block04 flex_c_c" style="width: 49% ">浠诲姟鏁�</div>
+ <div class="all_block04 flex_c_c" style="width: 49% ">{{ i.quantity }}</div>
+ </div>
+ <div class="" style="display: flex;justify-content:space-between">
+ <div class="all_block04 flex_c_c" style="width: 49% ">鍑哄簱鏁�</div>
+ <div class="all_block04 flex_c_c" style="width: 49% ">{{ i.ouquantity }}</div>
+ </div>
+ </div>
+ </div>
</div>
- <div style="height: 260px;">123</div>
+ <div style="height: 260px;">
+ <div id="all02" class="flex_c_c" style="width: 100%;height:100%;" />
+ </div>
</div>
</div>
</div>
@@ -85,7 +87,8 @@
璐ㄩ噺涓嶈壇
</div>
<div class="lineContent horn" style="height: 380px;display: flex;justify-content: space-between">
- 123
+ <div id="cjzl03" class="flex_c_c" style="width: 100%;height:100%" />
+
</div>
</div>
<div style="width: 850px;">
@@ -94,7 +97,24 @@
浠撳簱搴撳瓨
</div>
<div class="lineContent horn" style="height: 380px;display: flex;justify-content: space-between">
- 123
+ <div style="display: flex;justify-content: center;position: relative">
+ <div class="kb_center_block_children all_block05">
+ <div style="font-size: 24px;">{{ parseFloat(RightBottom.Y) }}</div>
+ <div class="box02" />
+ <div>鍘熸潗鏂�</div>
+ </div>
+ <div class="kb_center_block_children all_block06">
+ <div style="font-size: 24px;">{{ parseFloat(RightBottom.B) }}</div>
+ <div class="box02" />
+ <div>鍗婃垚鍝�</div>
+ </div>
+ <div class="kb_center_block_children all_block07">
+ <div style="font-size: 24px;">{{ parseFloat(RightBottom.C) }}</div>
+ <div class="box02" />
+ <div>浜ф垚鍝�</div>
+ </div>
+
+ </div>
</div>
</div>
</div>
@@ -105,9 +125,10 @@
<script>
import './kbCommon.css'
-import { loadEcharts, all01 } from '@/utils/myEcharts'
+import { loadEcharts, all01, all02, cjzl03 } from '@/utils/myEcharts'
import {
- ShopSearch, WorkShopCompreLeftTop
+ QCBadCenterLeftWeek,
+ ShopSearch, WorkShopCompreLeftTop, WorkShopCompreRightBottom, WorkShopCompreRightTop
} from '@/api/kanbanManager'
@@ -121,7 +142,13 @@
legendData: [],
LeftTopData01: [],
- LeftTopData02: []
+ LeftTopData02: [],
+
+ RightTopData01: [],
+ RightTopData02: [],
+ cjzl03_xData: [],
+ cjzl03_yData: [],
+ RightBottom: {}
}
},
@@ -171,14 +198,121 @@
}
if (temp.includes(res2Key)) {
data.quantity = res2.data.LeftBottom[res2Key][0].quantity
+ data.plan_qty = res2.data.LeftBottom[res2Key][0].plan_qty
data.wkshp_code = res2.data.LeftBottom[res2Key][0].wkshp_code
data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
this.LeftTopData02.push(data)
}
}
- loadEcharts('all01', all01(this.legendData))
- console.log(this.LeftTopData01, 1)
- console.log(this.LeftTopData02, 2)
+ loadEcharts('all01', all01(this.legendData, this.LeftTopData02))
+
+ setInterval(() => {
+ WorkShopCompreLeftTop({ wkshopcode: temp.join(',') }).then(res2 => {
+ this.LeftTopData01 = []
+ this.LeftTopData02 = []
+ for (const res2Key in res2.data.LeftTop) {
+ const data = {
+ good_qty: 0,
+ plan_qty: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
+ if (temp.includes(res2Key)) {
+ data.good_qty = res2.data.LeftTop[res2Key][0].good_qty
+ data.plan_qty = res2.data.LeftTop[res2Key][0].plan_qty
+ data.wkshp_code = res2.data.LeftTop[res2Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftTopData01.push(data)
+ }
+ }
+ for (const res2Key in res2.data.LeftBottom) {
+ const data = {
+ quantity: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
+ if (temp.includes(res2Key)) {
+ data.quantity = res2.data.LeftBottom[res2Key][0].quantity
+ data.plan_qty = res2.data.LeftBottom[res2Key][0].plan_qty
+ data.wkshp_code = res2.data.LeftBottom[res2Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftTopData02.push(data)
+ }
+ }
+ loadEcharts('all01', all01(this.legendData, this.LeftTopData02))
+ })
+ }, 1000 * 30)
+
+ const res3 = await WorkShopCompreRightTop()
+ res3.data.RightTop.forEach(i => {
+ this.RightTopData01.push({
+ Quarter: i.Quarter,
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ res3.data.RightBottom.forEach(i => {
+ this.RightTopData02.push({
+ Month: i.Month + '鏈�',
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ loadEcharts('all02', all02(this.RightTopData02))
+ setInterval(() => {
+ WorkShopCompreRightTop().then(res3 => {
+ this.RightTopData01 = []
+ this.RightTopData02 = []
+ res3.data.RightTop.forEach(i => {
+ this.RightTopData01.push({
+ Quarter: i.Quarter,
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ res3.data.RightBottom.forEach(i => {
+ this.RightTopData02.push({
+ Month: i.Month + '鏈�',
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ loadEcharts('all02', all02(this.RightTopData02))
+ })
+ }, 1000 * 40)
+
+ const res4 = await QCBadCenterLeftWeek({ wkshopcode: temp.join(',') })
+ this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
+ for (const res4Key in res4.data) {
+ if (temp.includes(res4Key)) {
+ const bb = res4.data[res4Key].map(i => i.count)
+ this.cjzl03_yData.push(bb)
+ }
+ }
+ loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
+ setInterval(() => {
+ QCBadCenterLeftWeek({ wkshopcode: temp.join(',') }).then(res4 => {
+ this.cjzl03_yData = []
+
+ this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
+ for (const res4Key in res4.data) {
+ if (temp.includes(res4Key)) {
+ const bb = res4.data[res4Key].map(i => i.count)
+ this.cjzl03_yData.push(bb)
+ }
+ }
+ loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
+ })
+ }, 1000 * 50)
+
+ const res5 = await WorkShopCompreRightBottom()
+ this.RightBottom = res5.data
+
+ setInterval(() => {
+ WorkShopCompreRightBottom().then(res5 => {
+ this.RightBottom = res5.data
+ })
+ }, 1000 * 60)
},
// 鑾峰彇Echarts
@@ -195,31 +329,6 @@
// loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData))// 宸︿晶
},
- getQCBadBottomWeek() {
- const data = {
- wkshopcode: this.wkshopArr.map(i => i.org_code).join(',')
- }
- QCBadBottomWeek(data).then(res => {
- this.tableDataRightTop = res.data
-
- const divData = this.$refs.tableDataRightTopRef.bodyWrapper
- const temp = setInterval(() => {
- // 鍏冪礌鑷璺濈椤堕儴1鍍忕礌
- divData.scrollTop += 1
- if (divData.clientHeight + divData.scrollTop === divData.scrollHeight) {
- // 閲嶇疆table璺濈椤堕儴璺濈
- divData.scrollTop = 0
- QCBadBottomWeek(data).then(res => {
- this.tableDataRightTop = res.data
- if (this.tableDataRightTop.length > 7) {
- clearInterval(temp)
- this.getQCBadBottomWeek()
- }
- })
- }
- }, this.tableDataRightTop.length <= 7 ? 1000 * 10 : 300)
- })
- },
// 鑾峰彇褰撳墠鏃堕棿
getNowTime() {
const dt = new Date()
@@ -298,13 +407,79 @@
.all_block01{
width:187px;
height: 180px;
- //height: 50px;
- //height: 100%;
- //background: rgba(9, 216, 242, 0.1);
}
.all_block02{
width: 100%;
height: 49px;
background: rgba(9, 216, 242, 0.1);
}
+
+.all_block03{
+ width:199px;
+ height: 180px;
+}
+.all_block04{
+ width: 100%;
+ height: 49px;
+ background: rgba(9, 216, 242, 0.1);
+}
+
+.kb_center_block_children {
+ height: 180px;
+ //border: 1px solid $kbBorderColor;
+ width: 240px;
+ display: flex;
+ z-index: 2;
+ justify-content: space-around;
+ align-items: center;
+ flex-direction: column;
+ margin: 10px;
+ font-size: 22px;
+
+ .box02 {
+ background: url("../../assets/images/box02.png") no-repeat;
+ transform: scale(1.5);
+ width: 145px;
+ height: 84px;
+
+ }
+}
+
+.all_block05 {
+ position: absolute;
+ animation: upDown 3s ease-in-out infinite;
+ left: 60px;
+}
+.all_block06{
+ position: absolute;
+ animation: upDown2 3s ease-in-out infinite;
+ left: 290px;
+}
+.all_block07{
+ position: absolute;
+ animation: upDown 3s ease-in-out infinite;
+ left: 520px;
+}
+@keyframes upDown {
+ 0% {
+ top: 50px;
+ }
+ 50% {
+ top: 100px;
+ }
+ 100% {
+ top: 50px;
+ }
+}
+@keyframes upDown2 {
+ 0% {
+ top: 100px;
+ }
+ 50% {
+ top: 50px;
+ }
+ 100% {
+ top: 100px;
+ }
+}
</style>
--
Gitblit v1.9.3