From c0e9df213221d16f6ab6c9106ae01ad571cd45fc Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期五, 15 十一月 2024 09:08:02 +0800
Subject: [PATCH] 1.考勤打卡递交
---
src/views/kanbanManager/zhkb.vue | 338 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 193 insertions(+), 145 deletions(-)
diff --git a/src/views/kanbanManager/zhkb.vue b/src/views/kanbanManager/zhkb.vue
index b162f3e..cf34a0f 100644
--- a/src/views/kanbanManager/zhkb.vue
+++ b/src/views/kanbanManager/zhkb.vue
@@ -6,11 +6,11 @@
<div class="kb_header">
<div class="kb_headTime" style="top: 35px;left: 20px">
- <span>娴欐睙浼樺厠宸ヨ锤鑲′唤鏈夐檺鍏徃</span>
+ <span>姘稿悍甯傛ˉ涓嬪鏂欏巶</span>
</div>
<div class="kb_headTime kb_header_text" style="top: 35px;left: 800px">
- <span>杞﹂棿缁煎悎鏁板瓧鍖栫湅鏉�</span>
+ <span>妗ヤ笅缁煎悎鏁板瓧鍖栫湅鏉�</span>
</div>
<div class="kb_headTime" style="top: 35px;right: 25px">
@@ -22,37 +22,38 @@
>
<!-- 涓婅竟-->
<div style="display: flex;justify-content: space-between">
- <div style="width: 1150px;">
+ <div style="width: 925px;">
<div class="smallTitle">
- <svg-icon icon-class="cxjg" class="svg_class" />
- 鐢熶骇璁㈠崟(褰撴湀)
+ <svg-icon icon-class="blcs" class="svg_class" />
+ 閲囪喘璁㈠崟(鏈�/瀛�)
</div>
<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-around">
- <div v-for="i in LeftTopData01" :key="i.wkshp_code" class="flex_c_s">
- <div class="all_block01 flex_c_s" style="width: 135px;">
- <div class="flex_c_c all_block02">{{ i.wkshp_name }}</div>
+ <div style="height: 180px;padding: 10px;display: flex;justify-content: space-between">
+
+ <div v-for="i in LeftTopData01" :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_block02 flex_c_c" style="width: 49% ">浠诲姟鏁�</div>
- <div class="all_block02 flex_c_c" style="width: 49% ">{{ i.plan_qty }}</div>
+ <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_block02 flex_c_c" style="width: 49% ">瀹屽伐鏁�</div>
- <div class="all_block02 flex_c_c" style="width: 49% ">{{ i.good_qty }}</div>
+ <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: 280px;">
- <div id="all01" class="flex_c_c" style="width: 100%;height:100%;" />
+ <div style="height: 260px;">
+ <div id="all02_1" class="flex_c_c" style="width: 100%;height:100%;" />
</div>
</div>
</div>
- <div style="width: 700px;">
+ <div style="width: 925px;">
<div class="smallTitle">
<svg-icon icon-class="cggz" class="svg_class" />
閿�鍞鍗�(鏈�/瀛�)
@@ -64,7 +65,7 @@
<div style="height: 180px;padding: 10px;display: flex;justify-content: space-between">
<div v-for="i in RightTopData01" :key="i.Quarter" class="flex_c_s">
- <div class="all_block03 flex_c_s" style="width: 165px;">
+ <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>
@@ -86,17 +87,55 @@
</div>
<!-- 涓嬭竟-->
<div style="display: flex;justify-content: space-between;margin-top: 15px;">
- <div style="width: 1150px;">
+ <div style="width: 925px;">
<div class="smallTitle">
- <svg-icon icon-class="blcs" class="svg_class" />
- 璐ㄩ噺涓嶈壇(杩戜竴鍛�)
+ <svg-icon icon-class="cxjg" class="svg_class" />
+ 鐢熶骇璁㈠崟(褰撴湀)
</div>
- <div class="lineContent horn" style="height: 380px;display: flex;justify-content: space-between">
- <div id="cjzl03" class="flex_c_c" style="width: 100%;height:100%" />
+ <div
+ class="lineContent horn"
+ style="height: 380px;display: flex;flex-direction: column;justify-content: space-between"
+ >
+ <div style="height: 180px;padding: 10px;display: flex;justify-content: space-evenly">
+ <div v-for="i in LeftBottomData01" :key="i.wkshp_code" class="flex_c_s">
+ <div class="all_block01 flex_c_s" style="width: 275px;">
+ <div class="flex_c_c all_block02" style="">{{ 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>
+
+ <div style="height: 180px;padding: 10px;display: flex;justify-content: space-evenly">
+ <div v-for="i in LeftBottomData02" :key="i.wkshp_code" class="flex_c_s">
+ <div class="all_block01 flex_c_s" style="width: 275px;">
+ <div class="flex_c_c all_block02" style=" background: rgba(9, 216, 242, 0.2);">{{ i.wkshp_name }}</div>
+ <div class="" style="display: flex;justify-content:space-between">
+ <div class="all_block02 flex_c_c" style="width: 49% ;background: rgba(9, 216, 242, 0.2)">浠诲姟鏁�</div>
+ <div class="all_block02 flex_c_c" style="width: 49% ;background: rgba(9, 216, 242, 0.2)">{{ i.plan_qty }}</div>
+ </div>
+ <div class="" style="display: flex;justify-content:space-between">
+ <div class="all_block02 flex_c_c" style="width: 49% ;background: rgba(9, 216, 242, 0.2)">鍏ュ簱鏁�</div>
+ <div class="all_block02 flex_c_c" style="width: 49% ;background: rgba(9, 216, 242, 0.2)">{{ i.quantity }}</div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+
+ <!-- <div style="height: 260px;">-->
+ <!-- <div id="all01" class="flex_c_c" style="width: 100%;height:100%;" />-->
+ <!-- </div>-->
</div>
</div>
- <div style="width: 700px;">
+ <div style="width: 925px;">
<div class="smallTitle">
<svg-icon icon-class="ckkc" class="svg_class" />
浠撳簱搴撳瓨
@@ -108,11 +147,11 @@
<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_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" />
@@ -130,14 +169,10 @@
<script>
import './kbCommon.css'
-import { loadEcharts, all01, all02, cjzl03 } from '@/utils/myEcharts'
+import { loadEcharts, all02, all03 } from '@/utils/myEcharts'
import {
- WorkShopCompreLeftTop,
- WorkShopCompreRightBottom,
- WorkShopCompreRightTop,
- WorkShopProduceBottomLeftData
+ WorkShopCompreLeftBottom, WorkShopCompreLeftTop, WorkShopCompreRightBottom, WorkShopCompreRightTop
} from '@/api/kanbanManager'
-import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
export default {
name: 'Cjsc',
@@ -153,8 +188,10 @@
RightTopData01: [],
RightTopData02: [],
- cjzl03_xData: [],
- cjzl03_yData: [],
+
+ LeftBottomData01: [],
+ LeftBottomData02: [],
+
RightBottom: {}
}
@@ -172,97 +209,61 @@
},
methods: {
async getAllApi() {
- const res = await PrentOrganizationNoCompany()
- this.wkshopArr = res.data
+ // const { data: res } = await ShopSearch()
+ const res = [
+ { org_code: '101', org_name: '鍙戞场杞﹂棿' },
+ { org_code: '102', org_name: '鎸ゅ嚭杞﹂棿' }
- const temp = ['501', '502', '503', '508', '504', '505', '506', '507']
- // const temp = ['0103', '006', '01', 'qw', '0104', 'CJ001', 'LD001', 'ZP001']
+ ]
+ this.wkshopArr = res
+ const temp = this.wkshopArr.map(i => i.org_code)
+ // const temp = this.wkshopArr.map(i => i.org_code)
+
temp.forEach(i => {
- const aa = this.wkshopArr.find(j => j.torg_code === i).torg_name
+ const aa = this.wkshopArr.find(j => j.org_code === i).org_name
this.legendData.push(aa)
})
- const res2 = await WorkShopCompreLeftTop({ wkshopcode: temp.join(',') })
- 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.torg_code === data.wkshp_code).torg_name
- this.LeftTopData01.push(data)
- }
- }
- const t = this.LeftTopData01[ this.LeftTopData01.length - 1]
- this.LeftTopData01.splice(7, 1)
- this.LeftTopData01.splice(3, 0, t)
- 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.torg_code === data.wkshp_code).torg_name
- this.LeftTopData02.push(data)
- }
- }
- const t1 = this.LeftTopData02[ this.LeftTopData02.length - 1]
- this.LeftTopData02.splice(7, 1)
- this.LeftTopData02.splice(3, 0, t1)
- 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.torg_code === data.wkshp_code).torg_name
- this.LeftTopData01.push(data)
- }
- }
- const t = this.LeftTopData01[ this.LeftTopData01.length - 1]
- this.LeftTopData01.splice(7, 1)
- this.LeftTopData01.splice(3, 0, t)
- 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.torg_code === data.wkshp_code).torg_name
- this.LeftTopData02.push(data)
- }
- }
- const t1 = this.LeftTopData02[ this.LeftTopData02.length - 1]
- this.LeftTopData02.splice(7, 1)
- this.LeftTopData02.splice(3, 0, t1)
- loadEcharts('all01', all01(this.legendData, this.LeftTopData02))
+ // 宸︿笂 閲囪喘璁㈠崟
+ const res2 = await WorkShopCompreLeftBottom()
+ res2.data.BottomLeftTop.forEach(i => {
+ this.LeftTopData01.push({
+ Quarter: i.Quarter,
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
})
- }, 1000 * 30)
+ })
+ res2.data.BottomLeftBottom.forEach(i => {
+ this.LeftTopData02.push({
+ Month: i.Month + '鏈�',
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ loadEcharts('all02_1', all02(this.LeftTopData02, '姣忔湀閲囪喘鏁伴噺/鍏ュ簱鏁伴噺'))
+ setInterval(() => {
+ this.LeftTopData01 = []
+ this.LeftTopData02 = []
+ WorkShopCompreLeftBottom().then(res2 => {
+ res2.data.BottomLeftTop.forEach(i => {
+ this.LeftTopData01.push({
+ Quarter: i.Quarter,
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ res2.data.BottomLeftBottom.forEach(i => {
+ this.LeftTopData02.push({
+ Month: i.Month + '鏈�',
+ quantity: i.quantity,
+ ouquantity: i.ouquantity
+ })
+ })
+ loadEcharts('all02_1', all02(this.LeftTopData02, '姣忔湀閲囪喘鏁伴噺/鍏ュ簱鏁伴噺'))
+ })
+ }, 1000 * 35)
+ // 鍙充笂 閿�鍞鍗�
const res3 = await WorkShopCompreRightTop()
res3.data.RightTop.forEach(i => {
this.RightTopData01.push({
@@ -278,7 +279,7 @@
ouquantity: i.ouquantity
})
})
- loadEcharts('all02', all02(this.RightTopData02))
+ loadEcharts('all02', all02(this.RightTopData02, '姣忔湀璁㈠崟鏁伴噺/鍑哄簱鏁伴噺'))
setInterval(() => {
WorkShopCompreRightTop().then(res3 => {
this.RightTopData01 = []
@@ -297,34 +298,81 @@
ouquantity: i.ouquantity
})
})
- loadEcharts('all02', all02(this.RightTopData02))
+ loadEcharts('all02', all02(this.RightTopData02, '姣忔湀璁㈠崟鏁伴噺/鍑哄簱鏁伴噺'))
})
}, 1000 * 40)
- const res4 = await WorkShopProduceBottomLeftData({ wkshopcode: temp.join(',') })
- this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
- for (const res4Key in res4.data) {
+ // 宸︿笅 鐢熶骇璁㈠崟
+ const res4 = await WorkShopCompreLeftTop({ wkshopcode: temp.join(',') })
+ for (const res4Key in res4.data.LeftTop) {
+ const data = {
+ good_qty: 0,
+ plan_qty: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
if (temp.includes(res4Key)) {
- const bb = res4.data[res4Key].map(i => i.count)
- this.cjzl03_yData.push(bb)
+ data.good_qty = res4.data.LeftTop[res4Key][0].good_qty
+ data.plan_qty = res4.data.LeftTop[res4Key][0].plan_qty
+ data.wkshp_code = res4.data.LeftTop[res4Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftBottomData01.push(data)
}
}
- loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
- setInterval(() => {
- WorkShopProduceBottomLeftData({ wkshopcode: temp.join(',') }).then(res4 => {
- this.cjzl03_yData = []
+ for (const res4Key in res4.data.LeftBottom) {
+ const data = {
+ quantity: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
+ if (temp.includes(res4Key)) {
+ data.quantity = res4.data.LeftBottom[res4Key][0].quantity
+ data.plan_qty = res4.data.LeftBottom[res4Key][0].plan_qty
+ data.wkshp_code = res4.data.LeftBottom[res4Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftBottomData02.push(data)
+ }
+ }
+ // loadEcharts('all01', all03(this.legendData, this.LeftBottomData02))
- this.cjzl03_xData = res4.data[temp[0]].map(i => i.click_date)
- for (const res4Key in res4.data) {
+ setInterval(() => {
+ WorkShopCompreLeftTop({ wkshopcode: temp.join(',') }).then(res2 => {
+ this.LeftBottomData01 = []
+ this.LeftBottomData02 = []
+ for (const res4Key in res4.data.LeftTop) {
+ const data = {
+ good_qty: 0,
+ plan_qty: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
if (temp.includes(res4Key)) {
- const bb = res4.data[res4Key].map(i => i.count)
- this.cjzl03_yData.push(bb)
+ data.good_qty = res2.data.LeftTop[res4Key][0].good_qty
+ data.plan_qty = res2.data.LeftTop[res4Key][0].plan_qty
+ data.wkshp_code = res2.data.LeftTop[res4Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftBottomData01.push(data)
}
}
- loadEcharts('cjzl03', cjzl03(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
+ for (const res4Key in res2.data.LeftBottom) {
+ const data = {
+ quantity: 0,
+ wkshp_code: '',
+ wkshp_name: ''
+ }
+ if (temp.includes(res4Key)) {
+ data.quantity = res2.data.LeftBottom[res4Key][0].quantity
+ data.plan_qty = res2.data.LeftBottom[res4Key][0].plan_qty
+ data.wkshp_code = res2.data.LeftBottom[res4Key][0].wkshp_code
+ data.wkshp_name = this.wkshopArr.find(i => i.org_code === data.wkshp_code).org_name
+ this.LeftBottomData02.push(data)
+ }
+ }
+ // loadEcharts('all01', all03(this.legendData, this.LeftBottomData02))
})
- }, 1000 * 50)
+ }, 1000 * 30)
+ // 鍙充笅 浠撳簱搴撳瓨
const res5 = await WorkShopCompreRightBottom()
this.RightBottom = res5.data
@@ -425,7 +473,7 @@
}
.all_block01 {
- width: 237px;
+ width: 187px;
height: 180px;
}
@@ -470,19 +518,19 @@
.all_block05 {
position: absolute;
animation: upDown 3s ease-in-out infinite;
- left: -20px;
+ left: 140px;
}
-.all_block06 {
- position: absolute;
- animation: upDown2 3s ease-in-out infinite;
- left: 220px;
-}
+//.all_block06 {
+// position: absolute;
+// animation: upDown2 3s ease-in-out infinite;
+// left: 320px;
+//}
.all_block07 {
position: absolute;
animation: upDown 3s ease-in-out infinite;
- left: 460px;
+ left: 500px;
}
@keyframes upDown {
--
Gitblit v1.9.3