From b1876ef3cdcb819e4799fe0d5c84f95bdb96529b Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 09 五月 2024 16:13:04 +0800
Subject: [PATCH] 1.车间看板开发
---
src/views/kanbanManager/ckgl.vue | 43 ---
src/views/kanbanManager/cj.vue | 432 ++++++++++-------------------------
src/utils/myEcharts.js | 225 +-----------------
3 files changed, 142 insertions(+), 558 deletions(-)
diff --git a/src/utils/myEcharts.js b/src/utils/myEcharts.js
index 0de0884..b97dc12 100644
--- a/src/utils/myEcharts.js
+++ b/src/utils/myEcharts.js
@@ -2646,7 +2646,7 @@
}
}
-export function cjzl03_2(xData, legendData, yData, show) { // 宸︿晶
+export function cjzl03_2(xData, yData) { // 宸︿晶
return {
backgroundColor: 'transparent',
// tooltip: {},
@@ -2744,7 +2744,7 @@
],
series: [
{
- name: legendData[0],
+
type: 'line',
// smooth: true, //鏄惁骞虫粦鏇茬嚎鏄剧ず
// symbol:'circle', // 榛樿鏄┖蹇冨渾锛堜腑闂存槸鐧借壊鐨勶級锛屾敼鎴愬疄蹇冨渾
@@ -2773,216 +2773,25 @@
tooltip: {
show: false
},
- // areaStyle: { // 鍖哄煙濉厖鏍峰紡
- // normal: {
- // // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
- // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- // offset: 0,
- // color: 'rgba(0,154,120,1)'
- // },
- // {
- // offset: 1,
- // color: 'rgba(0,0,0, 0)'
- // }
- // ], false),
- // shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
- // shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
- // }
- // },
- data: yData[0]
- },
- {
- name: legendData[1],
- type: 'line',
- // smooth: true, //鏄惁骞虫粦鏇茬嚎鏄剧ず
- // symbol:'circle', // 榛樿鏄┖蹇冨渾锛堜腑闂存槸鐧借壊鐨勶級锛屾敼鎴愬疄蹇冨渾
- showAllSymbol: true,
- symbol: 'emptyCircle',
- symbolSize: 6,
- lineStyle: {
+ areaStyle: { // 鍖哄煙濉厖鏍峰紡
normal: {
- color: '#ff3000' // 绾挎潯棰滆壊
- },
- borderColor: '#ff3000'
- },
- label: {
- show: true,
- position: 'top',
- textStyle: {
- fontSize: 16,
- color: '#fff'
+ // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+ offset: 0,
+ color: 'rgba(0,154,120,1)'
+ },
+ {
+ offset: 1,
+ color: 'rgba(0,0,0, 0)'
+ }
+ ], false),
+ shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
+ shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
}
},
- itemStyle: {
- normal: {
- color: '#ff3000'
- }
- },
- tooltip: {
- show: false
- },
- // areaStyle: { // 鍖哄煙濉厖鏍峰紡
- // normal: {
- // // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
- // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- // offset: 0,
- // color: 'rgba(0,154,120,1)'
- // },
- // {
- // offset: 1,
- // color: 'rgba(0,0,0, 0)'
- // }
- // ], false),
- // shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
- // shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
- // }
- // },
- data: yData[1]
- },
- {
- name: legendData[2],
- type: 'line',
- // smooth: true, //鏄惁骞虫粦鏇茬嚎鏄剧ず
- // symbol:'circle', // 榛樿鏄┖蹇冨渾锛堜腑闂存槸鐧借壊鐨勶級锛屾敼鎴愬疄蹇冨渾
- showAllSymbol: true,
- symbol: 'emptyCircle',
- symbolSize: 6,
- lineStyle: {
- normal: {
- color: '#ffa800' // 绾挎潯棰滆壊
- },
- borderColor: '#ffa800'
- },
- label: {
- show: true,
- position: 'top',
- textStyle: {
- fontSize: 16,
- color: '#fff'
- }
- },
- itemStyle: {
- normal: {
- color: '#ffa800'
- }
- },
- tooltip: {
- show: false
- },
- // areaStyle: { // 鍖哄煙濉厖鏍峰紡
- // normal: {
- // // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
- // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- // offset: 0,
- // color: 'rgba(0,154,120,1)'
- // },
- // {
- // offset: 1,
- // color: 'rgba(0,0,0, 0)'
- // }
- // ], false),
- // shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
- // shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
- // }
- // },
- data: yData[2]
- },
- {
- name: legendData[3],
- type: 'line',
- // smooth: true, //鏄惁骞虫粦鏇茬嚎鏄剧ず
- // symbol:'circle', // 榛樿鏄┖蹇冨渾锛堜腑闂存槸鐧借壊鐨勶級锛屾敼鎴愬疄蹇冨渾
- showAllSymbol: true,
- symbol: 'emptyCircle',
- symbolSize: 6,
- lineStyle: {
- normal: {
- color: '#ffee00' // 绾挎潯棰滆壊
- },
- borderColor: '#ffee00'
- },
- label: {
- show: true,
- position: 'top',
- textStyle: {
- fontSize: 16,
- color: '#fff'
- }
- },
- itemStyle: {
- normal: {
- color: '#ffee00'
- }
- },
- tooltip: {
- show: false
- },
- // areaStyle: { // 鍖哄煙濉厖鏍峰紡
- // normal: {
- // // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
- // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- // offset: 0,
- // color: 'rgba(0,154,120,1)'
- // },
- // {
- // offset: 1,
- // color: 'rgba(0,0,0, 0)'
- // }
- // ], false),
- // shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
- // shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
- // }
- // },
- data: yData[3]
- },
- {
- name: legendData[4],
- type: 'line',
- // smooth: true, //鏄惁骞虫粦鏇茬嚎鏄剧ず
- // symbol:'circle', // 榛樿鏄┖蹇冨渾锛堜腑闂存槸鐧借壊鐨勶級锛屾敼鎴愬疄蹇冨渾
- showAllSymbol: true,
- symbol: 'emptyCircle',
- symbolSize: 6,
- lineStyle: {
- normal: {
- color: '#ff5b00' // 绾挎潯棰滆壊
- },
- borderColor: '#ff5b00'
- },
- label: {
- show: true,
- position: 'top',
- textStyle: {
- fontSize: 16,
- color: '#fff'
- }
- },
- itemStyle: {
- normal: {
- color: '#ff5b00'
- }
- },
- tooltip: {
- show: false
- },
- // areaStyle: { // 鍖哄煙濉厖鏍峰紡
- // normal: {
- // // 绾挎�ф笎鍙橈紝鍓�4涓弬鏁板垎鍒槸x0,y0,x2,y2(鑼冨洿0~1);鐩稿綋浜庡浘褰㈠寘鍥寸洅涓殑鐧惧垎姣斻�傚鏋滄渶鍚庝竴涓弬鏁版槸鈥榯rue鈥欙紝鍒欒鍥涗釜鍊兼槸缁濆鍍忕礌浣嶇疆銆�
- // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- // offset: 0,
- // color: 'rgba(0,154,120,1)'
- // },
- // {
- // offset: 1,
- // color: 'rgba(0,0,0, 0)'
- // }
- // ], false),
- // shadowColor: 'rgba(53,142,215, 0.9)', // 闃村奖棰滆壊
- // shadowBlur: 20 // shadowBlur璁惧浘褰㈤槾褰辩殑妯$硦澶у皬銆傞厤鍚坰hadowColor,shadowOffsetX/Y, 璁剧疆鍥惧舰鐨勯槾褰辨晥鏋溿��
- // }
- // },
- data: yData[4]
+ data: yData
}
+
]
}
}
diff --git a/src/views/kanbanManager/cj.vue b/src/views/kanbanManager/cj.vue
index eafa9fb..7404a26 100644
--- a/src/views/kanbanManager/cj.vue
+++ b/src/views/kanbanManager/cj.vue
@@ -6,17 +6,18 @@
<div class="kb_header">
<div class="kb_headTime" style="top: 35px;left: 20px">
- <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
+ <span>姘稿悍甯傚湥娌e浠跺姞宸ュ巶</span>
</div>
<div class="kb_headTime kb_header_text" style="top: 35px;left: 800px">
- <span>{{ title }}鏁板瓧鍖栫湅鏉�</span>
+ <span>瑁呴厤杞﹂棿鏁板瓧鍖栫湅鏉�</span>
</div>
<div class="kb_headTime" style="top: 35px;right: 25px">
<span>{{ headTime }}</span>
</div>
</div>
+
<div
style=" padding:5px 20px 20px 20px;z-index:2;height: 940px;flex-direction: column;justify-content: space-between;"
>
@@ -27,94 +28,20 @@
<svg-icon icon-class="cxjg" class="svg_class" />
鐢熶骇淇℃伅
</div>
- <div
- class="lineContent horn"
- style="height: 450px;display: flex;flex-direction: column;justify-content: space-between"
- >
- <el-table
- ref="tableDataLeftCenterRef"
- :data="tableDataCenterTop"
- class="tableData tableDataCell"
- style="width: 100%;"
- :header-cell-style="headerCellStyle"
- :cell-style="cellStyle"
- height="500"
- >
- <el-table-column
- prop="wo_code"
- label="宸ュ崟鍙�"
- width="220"
+ <div style="height: 450px">
+ <dv-border-box-12>
+ <dv-scroll-board
+ ref="scrollBoardTop"
+ :config="configTableTop"
+ style="width: 99%;height: 430px;margin:0 auto;padding-top: 13px;"
/>
- <el-table-column
- prop="partcode"
- label="浜у搧缂栫爜"
- width="160"
- />
- <el-table-column
- prop="partname"
- label="浜у搧鍚嶇О"
- width="160"
- />
- <el-table-column
- prop="partspec"
- label="浜у搧瑙勬牸"
- width="160"
- >
- <template slot-scope="{row}">
- {{ row.partspec ? row.partspec : '/' }}
- </template>
- </el-table-column>
- <el-table-column
- prop="plan_qty"
- label="浠诲姟鏁伴噺"
- width="120"
- />
- <el-table-column
- prop="good_qty"
- label="鍚堟牸鏁伴噺"
- width="120"
- />
- <el-table-column
- prop="ng_qty"
- label="涓嶈壇鏁伴噺"
- width="120"
- />
- <el-table-column
- prop="laborbad_qty"
- label="宸ュ簾鏁伴噺"
- width="120"
- />
- <el-table-column
- prop="materielbad_qty"
- label="鏂欏簾鏁伴噺"
- width="120"
- />
- <el-table-column
- prop="seq"
- label="宸ュ簭椤哄簭"
- width="120"
- />
- <el-table-column
- prop="step_code"
- label="宸ュ簭缂栫爜"
- width="120"
- />
- <el-table-column
- prop="step_name"
- label="宸ュ簭鍚嶇О"
- width="120"
- />
- <el-table-column
- prop="schedule"
- label="瀹屾垚杩涘害(%)"
- width="213"
- />
- </el-table>
+ </dv-border-box-12>
</div>
- </div>
+ </div>
</div>
+
<!-- 涓嬭竟-->
<div style="display: flex;justify-content: space-between;margin-top: 15px;">
<div style="width: 1000px;">
@@ -122,18 +49,23 @@
<svg-icon icon-class="blcs" 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 style="height: 380px;">
+ <dv-border-box-12>
+ <div id="cjzl03" class="flex_c_c" style="width: 100%;height:100%" />
+ </dv-border-box-12>
</div>
+
</div>
<div style="width: 850px;">
<div class="smallTitle">
<svg-icon icon-class="ckkc" class="svg_class" />
涓嶈壇缁熻(杩戜竴鏈�)
</div>
- <div class="lineContent horn" style="height: 380px;display: flex;justify-content: space-between">
- <div id="cjzl04" class="flex_c_c" style="width: 100%;height:100%" />
+ <div style="height: 380px;">
+ <dv-border-box-12>
+ <div id="cjzl04" class="flex_c_c" style="width: 100%;height:100%" />
+ </dv-border-box-12>
</div>
</div>
</div>
@@ -150,30 +82,61 @@
WorkShopProduceBottomRightData,
WorkShopProduceTopData
} from '@/api/kanbanManager'
-import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
export default {
name: 'Cjsc',
data() {
return {
headTime: '',
- tableDataRightTop: [],
- wkshopArr: [],
- legendData: [],
- LeftTopData01: [],
- LeftTopData02: [],
-
- RightTopData01: [],
- RightTopData02: [],
cjzl03_xData: [],
cjzl03_yData: [],
RightBottom: [],
- tableDataCenterTop: [],
+ configTableTop: {
+ headerBGC: 'rgba(38, 68 ,139, 0.2)', // 琛ㄥご鑳屾櫙鑹�
+ oddRowBGC: 'transparent', // 濂囨暟琛岃儗鏅壊
+ evenRowBGC: 'transparent', // 鍋舵暟琛岃儗鏅壊
+ headerHeight: 45,
+ waitTime: 3000,
+ rowNum: 8,
- wkshopcode: '',
- title: ''
+ header: [
+ '<span style="color:#09d8f2;">宸ュ崟鍙�</span>',
+ '<span style="color:#09d8f2;">浜у搧缂栫爜</span>',
+ '<span style="color:#09d8f2;">浜у搧鍚嶇О</span>',
+ '<span style="color:#09d8f2;">浜у搧瑙勬牸</span>',
+ '<span style="color:#09d8f2;">浠诲姟鏁伴噺</span>',
+ '<span style="color:#09d8f2;">鍚堟牸鏁伴噺</span>',
+ '<span style="color:#09d8f2;">涓嶈壇鏁伴噺</span>',
+ '<span style="color:#09d8f2;">宸ュ簾鏁伴噺</span>',
+ '<span style="color:#09d8f2;">鏂欏簾鏁伴噺</span>',
+ '<span style="color:#09d8f2;">宸ュ簭椤哄簭</span>',
+ '<span style="color:#09d8f2;">宸ュ簭缂栫爜</span>',
+ '<span style="color:#09d8f2;">宸ュ簭鍚嶇О</span>',
+ '<span style="color:#09d8f2;">瀹屾垚杩涘害(%)</span>'
+ ],
+ data: [
+ // ['<span style="color:#37a2da;">琛�1鍒�1</span>', '琛�1鍒�2', '琛�1鍒�3'],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+ // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
+
+ ],
+ // index: true,
+ columnWidth: [150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150],
+ align: ['center', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center', 'center']
+ // carousel: 'page'
+ }
}
},
@@ -186,87 +149,54 @@
}, 1000 * 60 * 120)
},
mounted() {
- this.getAllApi()
+ this.getWorkShopProduceTopData()
+ setInterval(() => {
+ this.getWorkShopProduceTopData()
+ }, 10 * 1000)
+
+ this.getWorkShopProduceBottomLeftData()
+ this.getWorkShopProduceBottomRightData()
},
methods: {
- async getWorkShopProduceTopData() {
- WorkShopProduceTopData({ wkshopcode: this.wkshopcode.join(',') }).then(res => {
- this.tableDataCenterTop = res.data
-
- const divData = this.$refs.tableDataLeftCenterRef.bodyWrapper
- const timer = setInterval(() => {
- // 鍏冪礌鑷璺濈椤堕儴1鍍忕礌
- divData.scrollTop += 1
- if (divData.clientHeight + divData.scrollTop === divData.scrollHeight) {
- divData.scrollTop = 0
- WorkShopProduceTopData({ wkshopcode: this.wkshopcode.join(',') }).then(res => {
- this.tableDataCenterTop = res.data
-
- if (this.tableDataCenterTop.length > 11) {
- clearInterval(timer)
- this.getWorkShopProduceTopData()
- }
- })
- }
- }, this.tableDataCenterTop.length <= 11 ? 1000 * 15 : 200)
+ getWorkShopProduceTopData() {
+ WorkShopProduceTopData().then(res => {
+ const flag = this.compareArrays(this.configTableTop.data, res.data)
+ if (!flag) {
+ this.configTableTop.data = res.data.map(i =>
+ [
+ i.wo_code,
+ i.partcode,
+ i.partname,
+ i.partspec ? i.partspec : '/',
+ i.plan_qty,
+ i.good_qty,
+ `<span style="color: red;">${i.ng_qty}</span>`,
+ `<span style="color: red;">${i.laborbad_qty}</span>`,
+ `<span style="color: red;">${i.materielbad_qty}</span>`,
+ i.seq,
+ i.step_code,
+ i.step_name,
+ parseFloat(i.schedule.toFixed(2))
+ ]
+ )
+ this.$refs['scrollBoardTop'].updateRows(this.configTableTop.data)
+ }
})
},
+ async getWorkShopProduceBottomLeftData() {
+ const res4 = await WorkShopProduceBottomLeftData()
+ this.cjzl03_xData = res4.data.map(i => i.click_date)
+ this.cjzl03_yData = res4.data.map(i => i.count)
- async getAllApi() {
- const res = await PrentOrganizationNoCompany()
- this.wkshopArr = res.data
+ loadEcharts('cjzl03', cjzl03_2(this.cjzl03_xData, this.cjzl03_yData))
+ },
- if (window.location.hash.indexOf('?') !== -1) {
- const code = window.location.hash.split('?')[1].split('=')[1]
- this.title = this.wkshopArr.find(i => i.torg_code === code).torg_name
- this.wkshopcode = [code]
- }
-
- this.wkshopcode.forEach(i => {
- const aa = this.wkshopArr.find(j => j.torg_code === i).torg_name
- this.legendData.push(aa)
- })
-
- const res4 = await WorkShopProduceBottomLeftData({ wkshopcode: this.wkshopcode.join(',') })
- this.cjzl03_xData = res4.data[this.wkshopcode[0]].map(i => i.click_date)
- for (const res4Key in res4.data) {
- if (this.wkshopcode.includes(res4Key)) {
- const bb = res4.data[res4Key].map(i => i.count)
- this.cjzl03_yData.push(bb)
- }
- }
- loadEcharts('cjzl03', cjzl03_2(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
- setInterval(() => {
- WorkShopProduceBottomLeftData({ wkshopcode: this.wkshopcode.join(',') }).then(res4 => {
- this.cjzl03_yData = []
-
- this.cjzl03_xData = res4.data[this.wkshopcode[0]].map(i => i.click_date)
- for (const res4Key in res4.data) {
- if (this.wkshopcode.includes(res4Key)) {
- const bb = res4.data[res4Key].map(i => i.count)
- this.cjzl03_yData.push(bb)
- }
- }
- loadEcharts('cjzl03', cjzl03_2(this.cjzl03_xData, this.legendData, this.cjzl03_yData, true))
- })
- }, 1000 * 50)
-
- const res5 = await WorkShopProduceBottomRightData({ wkshopcode: 'CJ001' })
+ async getWorkShopProduceBottomRightData() {
+ const res5 = await WorkShopProduceBottomRightData()
this.RightBottom = res5.data
if (this.RightBottom.length > 0) {
loadEcharts('cjzl04', cjzl04(this.RightBottom.map(i => i.name), this.RightBottom.map(i => i.cont)))
}
-
- setInterval(() => {
- WorkShopProduceBottomRightData({ wkshopcode: 'CJ001' }).then(res5 => {
- this.RightBottom = res5.data
- if (this.RightBottom.length > 0) {
- loadEcharts('cjzl04', cjzl04(this.RightBottom.map(i => i.name), this.RightBottom.map(i => i.cont)))
- }
- })
- }, 1000 * 60)
-
- await this.getWorkShopProduceTopData()
},
// 鑾峰彇褰撳墠鏃堕棿
@@ -285,25 +215,23 @@
this.headTime = `${y}-${m}-${d} ${hh}:${mm}:${ss} ${week}`
},
- headerCellStyle() {
- return {
- backgroundColor: 'transparent',
- padding: '10px 0',
- textAlign: 'center',
- color: '#07acc2',
- border: 'none',
- fontSize: '18px'
+
+ // 涓や釜鏁扮粍鍋氬姣�
+ compareArrays(arr1, arr2) {
+ const set1 = new Set(arr1)
+ const set2 = new Set(arr2)
+
+ if (set1.size !== set2.size) {
+ return false
}
- },
- cellStyle() {
- return {
- padding: '7px 0',
- textAlign: 'center',
- backgroundColor: 'transparent',
- color: '#fff',
- border: 'none',
- fontSize: '18px'
+
+ for (const value of set1) {
+ if (!set2.has(value)) {
+ return false
+ }
}
+
+ return true
}
}
@@ -312,129 +240,13 @@
</script>
<style lang="scss" scoped>
-$main_color: #09d8f2;
-$color01: #00FFFF;
-.tableData {
- background: transparent;
+
+::v-deep .header-item {
+ font-size: 16px !important;
}
-.el-table::before {
- height: 0;
-}
-
-.el-table__empty-text {
- color: $main_color;
-}
-
-.tableDataCell {
- ::v-deep .cell {
- padding: 0 2px;
- }
-}
-
-::v-deep .el-table__body-wrapper::-webkit-scrollbar {
- /* width: 0;瀹藉害涓�0鏆楄棌 */
- width: 0;
- background: transparent;
-}
-
-::v-deep .el-table__body-wrapper {
- background: transparent;
-}
-
-::v-deep .el-table th,
-::v-deep .el-table tr,
-::v-deep .el-table td {
- background-color: transparent;
-}
-
-::v-deep .gutter {
- display: none;
-}
-
-.all_block01 {
- width: 237px;
- height: 180px;
-}
-
-.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;
- }
+::v-deep .row-item {
+ font-size: 16px !important;
}
</style>
diff --git a/src/views/kanbanManager/ckgl.vue b/src/views/kanbanManager/ckgl.vue
index 59a2f13..5a99feb 100644
--- a/src/views/kanbanManager/ckgl.vue
+++ b/src/views/kanbanManager/ckgl.vue
@@ -98,14 +98,7 @@
data() {
return {
- onLine: navigator.onLine, // 鐩戝惉缃戠粶鏄惁鍦ㄧ嚎
-
headTime: '',
-
- tableTopTask: null,
- tableBottomTask: null,
- echartsRightTop: null,
- echartsRightBottom: null,
configTableTop: {
headerBGC: 'rgba(38, 68 ,139, 0.2)', // 琛ㄥご鑳屾櫙鑹�
@@ -202,11 +195,6 @@
}, 1000 * 60 * 120)
},
mounted() {
- // 鐩戝惉缃戠粶鏄惁鍦ㄧ嚎
- window.addEventListener('online', this.updateOnlineStatus)
- window.addEventListener('offline', this.updateOnlineStatus)
- this.updateOnlineStatus({ type: this.onLine ? 'online' : 'offline', isFirst: true })
-
this.getProcureOutsourcLeftTop()
setInterval(() => {
this.getProcureOutsourcLeftTop()
@@ -219,33 +207,8 @@
this.getEcharts()
},
- beforeDestroy() {
- window.removeEventListener('online', this.updateOnlineStatus)
- window.removeEventListener('offline', this.updateOnlineStatus)
- },
+
methods: {
- // 鏇存柊缃戠粶鐘舵��
- updateOnlineStatus(e) {
- if (e.isFirst) {
- // console.log('x')
- } else {
- const loading = this.$loading({
- lock: true,
- text: '鏂綉浜嗭紝姝e湪鎷煎懡鑱旂綉涓紝璇锋鏌ョ綉缁滄槸鍚︽甯�...',
- spinner: 'el-icon-loading',
- customClass: 'osloading',
- background: 'rgba(0, 0, 0, 0.7)'
- })
- const { type } = e
- this.onLine = type === 'online'
- if (this.onLine) {
- loading.close()
- this.$message.success('缃戠粶杩炴帴鎴愬姛锛�')
- } else {
- this.$message.error('缃戠粶鎺夌嚎锛岃鍏虫敞缃戠粶鐘舵�侊紒')
- }
- }
- },
// 鑾峰彇宸︿笂table鏁版嵁
getProcureOutsourcLeftTop() {
ProcureOutsourcLeftTop().then(res => {
@@ -299,13 +262,13 @@
loadEcharts('bar04', bar02(res.data.filter(i => i.qty > 0).map(i => i.qty), res.data.filter(i => i.qty > 0).map(i => i.materiel_name)))
})
- this.echartsRightTop = setInterval(() => {
+ setInterval(() => {
ProcureOutsourcRightTop().then(res => {
loadEcharts('bar03', bar02(res.data.filter(i => i.qty > 0).map(i => i.qty), res.data.filter(i => i.qty > 0).map(i => i.materiel_name)))
})
}, 1000 * 25)
- this.echartsRightBottom = setInterval(() => {
+ setInterval(() => {
ProductionStockedInRightBottom().then(res => {
loadEcharts('bar04', bar02(res.data.filter(i => i.qty > 0).map(i => i.qty), res.data.filter(i => i.qty > 0).map(i => i.materiel_name)))
})
--
Gitblit v1.9.3