From b46bc2dba51a3885a68e4c58316b41a31ea16bb2 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 14 二月 2023 13:35:03 +0800
Subject: [PATCH] 1.存货档案修改
---
src/views/kb/ckgl.vue | 278 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 187 insertions(+), 91 deletions(-)
diff --git a/src/views/kb/ckgl.vue b/src/views/kb/ckgl.vue
index 5fe2ad3..40e9ddd 100644
--- a/src/views/kb/ckgl.vue
+++ b/src/views/kb/ckgl.vue
@@ -14,14 +14,14 @@
:content="MarqueeTipsContent"
class="MarqueeTipsContentClass"
style="top:90px"
- :speed="300"
+ :speed="180"
/>
<div class="kb_content">
<div class="kb_left">
<!-- 1-->
<div class="kb_left_top kb_pd10">
<div class="kb_left_top_block" style="margin-top: 10px">
- <div class="headTitle kb_title_text">浜у搧寰呭叆搴�</div>
+ <div class="headTitle kb_title_text">浜у搧寰呭叆搴� <div style="margin-left: 30px">{{ number1 }} 鍗�</div></div>
<div class="content">
<el-table
ref="tableDataTopRef"
@@ -34,87 +34,99 @@
<el-table-column
prop="voucherdate"
label="鍗曟嵁鏃ユ湡"
- width="120"
+ width="140"
>
<template slot-scope="{row}">
- <div v-if=" row.voucherdate">{{ row.voucherdate.substring(0, 10) }}</div>
+ <div v-if="row.voucherdate" class="ellipsis">{{ row.voucherdate.substring(0, 10) }}</div>
<div v-else />
</template>
</el-table-column>
<el-table-column
prop="wo"
label="鍗曟嵁缂栧彿"
- width="159"
- />
+ width="189"
+ >
+ <template slot-scope="{row}">
+ <div class="ellipsis">{{ row.wo }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="wkshp_name"
label="鐢熶骇杞﹂棿"
width="105"
- />
+ >
+ <template slot-scope="{row}">
+ <div class="ellipsis">{{ row.wkshp_name }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="saleOrderCode"
label="閿�鍞鍗曞彿"
- width="180"
+ width="200"
>
<template slot-scope="{row}">
- <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
+ <div v-if="row.saleOrderCode" class="ellipsis">{{ row.saleOrderCode }}</div>
<div v-else>/</div>
</template>
</el-table-column>
<el-table-column
prop="materiel_code"
label="浜у搧缂栧彿"
- width="96"
- />
+ width="136"
+ >
+ <template slot-scope="{row}">
+ <div class="ellipsis">{{ row.materiel_code }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="materiel_name"
label="浜у搧鍚嶇О"
- width="160"
+ width="180"
>
<template slot-scope="{row}">
<div class="ellipsis">{{ row.materiel_name }}</div>
</template>
</el-table-column>
- <el-table-column
- prop="specification"
- label="瑙勬牸鍨嬪彿"
- width="128"
- >
- <template slot-scope="{row}">
- <div v-if="row.specification" class="ellipsis">{{ row.specification }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="specification"-->
+ <!-- label="瑙勬牸鍨嬪彿"-->
+ <!-- width="128"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.specification" class="ellipsis">{{ row.specification }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
prop="stck_name"
label="棰勫叆浠撳簱"
width="100"
>
<template slot-scope="{row}">
- <div v-if="row.stck_name">{{ row.stck_name }}</div>
+ <div v-if="row.stck_name" class="ellipsis">{{ row.stck_name }}</div>
<div v-else>/</div>
</template>
</el-table-column>
<el-table-column
prop="quantity"
label="鏁伴噺"
- width="55"
+ width="63"
/>
<el-table-column
prop="totalStockInQuantity"
label="宸插叆搴撴暟閲�"
- width="80"
+ width="100"
>
<template slot-scope="{row}">
<div v-if="row.totalStockInQuantity">{{ row.totalStockInQuantity }}</div>
<div v-else>0</div>
</template>
</el-table-column>
- <el-table-column
- prop="uomname"
- label="鍗曚綅"
- width="50"
- />
+ <!-- <el-table-column-->
+ <!-- prop="uomname"-->
+ <!-- label="鍗曚綅"-->
+ <!-- width="50"-->
+ <!-- />-->
<!-- <el-table-column-->
<!-- prop="preStartDate"-->
<!-- label="棰勮寮�宸�"-->
@@ -128,7 +140,7 @@
<el-table-column
prop="preFinishDate"
label="棰勮鍏ュ簱"
- width="120"
+ width="140"
>
<template slot-scope="{row}">
<div v-if="row.preFinishDate">{{ row.preFinishDate.substring(0, 10) }}</div>
@@ -139,7 +151,7 @@
</div>
</div>
<div class="kb_left_top_block" style="margin-top: 25px">
- <div class="headTitle kb_title_text">浜у搧寰呭彂璐�</div>
+ <div class="headTitle kb_title_text">浜у搧寰呭彂璐� <div style="margin-left: 30px">{{ number2 }} 鍗�</div></div>
<div class="content">
<el-table
ref="tableDataBottomRef"
@@ -152,18 +164,22 @@
<el-table-column
prop="voucherdate"
label="鍗曟嵁鏃ユ湡"
- width="110"
+ width="130"
>
<template slot-scope="{row}">
- <div v-if="row.voucherdate">{{ row.voucherdate.substring(0, 10) }}</div>
- <div v-else />
+ <div v-if="row.voucherdate" class="ellipsis">{{ row.voucherdate.substring(0, 10) }}</div>
+ <div v-else>/</div>
</template>
</el-table-column>
<el-table-column
prop="wo"
label="鍗曟嵁缂栧彿"
- width="145"
- />
+ width="195"
+ >
+ <template slot-scope="{row}">
+ <div class="ellipsis">{{ row.wo }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="customename"
label="瀹㈡埛"
@@ -171,73 +187,96 @@
>
<template slot-scope="{row}">
<div v-if="row.customename" class="ellipsis">{{ row.customename }}</div>
- <div v-else />
- </template>
- </el-table-column>
- <el-table-column
- prop="username"
- label="涓氬姟鍛�"
- width="65"
- />
- <el-table-column
- prop="SourceVoucherCode"
- label="鏉ユ簮鍗曞彿"
- width="145"
- >
- <template slot-scope="{row}">
- <div v-if="row.SourceVoucherCode">{{ row.SourceVoucherCode }}</div>
<div v-else>/</div>
</template>
</el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="username"-->
+ <!-- label="涓氬姟鍛�"-->
+ <!-- width="65"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.username" class="ellipsis">{{ row.username }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
- prop="materiel_code"
- label="浜у搧缂栧彿"
- width="96"
- />
+ prop="SourceVoucherCode"
+ label="鏉ユ簮鍗曞彿"
+ width="185"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.SourceVoucherCode" class="ellipsis">{{ row.SourceVoucherCode }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="materiel_code"-->
+ <!-- label="浜у搧缂栧彿"-->
+ <!-- width="96"-->
+ <!-- />-->
<el-table-column
prop="materiel_name"
label="浜у搧鍚嶇О"
width="170"
- />
- <el-table-column
- prop="specification"
- label="瑙勬牸鍨嬪彿"
- width="100"
>
<template slot-scope="{row}">
- <div v-if="row.specification" class="ellipsis">{{ row.specification }}</div>
- <div v-else>/</div>
+ <div v-if="row.materiel_name" class="ellipsis">{{ row.materiel_name }}</div>
</template>
</el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="specification"-->
+ <!-- label="瑙勬牸鍨嬪彿"-->
+ <!-- width="100"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.specification" class="ellipsis">{{ row.specification }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
prop="quantity"
label="鏁伴噺"
- width="47"
- />
+ width="87"
+ >
+ <template slot-scope="{row}">
+ <div class="ellipsis">{{ row.quantity }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="saleOutQuantity"
label="宸插彂璐ф暟閲�"
- width="80"
+ width="100"
>
<template slot-scope="{row}">
- <div v-if="row.saleOutQuantity">{{ row.saleOutQuantity }}</div>
+ <div v-if="row.saleOutQuantity" class="ellipsis">{{ row.saleOutQuantity }}</div>
<div v-else>0</div>
</template>
</el-table-column>
<el-table-column
prop="priuserdefnvc1"
label="妫�楠屾柟寮�"
- width="80"
- />
+ width="110"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.priuserdefnvc1">{{ row.priuserdefnvc1 }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="priuserdefnvc2"
label="妫�楠屼汉鍛�"
- width="80"
- />
+ width="110"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.priuserdefnvc2">{{ row.priuserdefnvc2 }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="deliveryDate"
label="棰勮浜よ揣鏃ユ湡"
- width="110"
+ width="141"
>
<template slot-scope="{row}">
<div v-if="row.deliveryDate">{{ row.deliveryDate.substring(0,10) }}</div>
@@ -252,11 +291,12 @@
<div class="kb_right kb_pd10">
<div class="kb_right_top kb_pd10">
<div class="kb_right_top_content">
- <div class="content_head kb_title_text" style="margin-top: 30px;">浜у搧搴撳瓨閲忔帓琛孴op5</div>
+ <div class="content_head kb_title_text" style="margin-top: 30px;">鍗婃垚鍝併�佷骇鍝佸簱瀛橀噺鎺掕Top5</div>
<div class="content_body" style="height:402px;">
<div id="bar03" style="width: 100%;height:100%" />
</div>
- <div class="content_head kb_title_text" style="margin-top: 12px">鍗婃垚鍝佸簱瀛橀噺鎺掕Top5</div>
+ <!-- <div class="content_head kb_title_text" style="margin-top: 12px">鍗婃垚鍝佸簱瀛橀噺鎺掕Top5</div>-->
+ <div class="content_head kb_title_text" style="margin-top: 12px">鍘熸潗鏂欏簱瀛橀噺鎺掕Top5</div>
<div class="content_body">
<div id="bar04" style="width: 100%;height:100%" />
</div>
@@ -287,26 +327,77 @@
},
data() {
return {
+ onLine: navigator.onLine, // 鐩戝惉缃戠粶鏄惁鍦ㄧ嚎
+
headTime: '',
tableDataTop: [],
tableDataBottom: [],
+ number1: '',
+ number2: '',
+
MarqueeTipsContent: '', // 鍏憡
- speed: 100// 鍏憡鎾斁鐨勯�熷害
+ speed: 100, // 鍏憡鎾斁鐨勯�熷害
+
+ tableTopTask: null,
+ tableBottomTask: null,
+ echartsRightTop: null,
+ echartsRightBottom: null
+
}
},
created() {
setInterval(this.getNowTime, 1000)
+
+ // 涓ゅ皬鏃剁湅鏉垮埛鏂颁竴娆�
+ setInterval(() => {
+ window.location.reload()
+ }, 1000 * 60 * 120)
},
mounted() {
- this.getWareHouseTopLeftData()
- this.getWareHouseTopBottomData()
- this.getEcharts()
-
- this.getMarqueeTipsContent()
+ window.addEventListener('online', this.updateOnlineStatus)
+ window.addEventListener('offline', this.updateOnlineStatus)
+ this.updateOnlineStatus({ type: this.onLine ? 'online' : 'offline', isFirst: true })
+ },
+ beforeDestroy() {
+ window.removeEventListener('online', this.updateOnlineStatus)
+ window.removeEventListener('offline', this.updateOnlineStatus)
},
methods: {
+ // 鏇存柊缃戠粶鐘舵��
+ updateOnlineStatus(e) {
+ if (e.isFirst) {
+ this.getWareHouseTopLeftData()
+ this.getWareHouseTopBottomData()
+ this.getEcharts()
+ // this.getMarqueeTipsContent()
+ } 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) {
+ this.getWareHouseTopLeftData()
+ this.getWareHouseTopBottomData()
+ this.getEcharts()
+ loading.close()
+ this.$message.success('缃戠粶杩炴帴鎴愬姛锛�')
+ } else {
+ clearInterval(this.tableTopTask)
+ clearInterval(this.tableBottomTask)
+ clearInterval(this.echartsRightTop)
+ clearInterval(this.echartsRightBottom)
+ this.$message.error('缃戠粶鎺夌嚎锛岃鍏虫敞缃戠粶鐘舵�侊紒')
+ }
+ }
+ },
+
// 鑾峰彇鍏憡
getMarqueeTipsContent() {
// this.MarqueeTipsContent = '鍚勪綅鍛樺伐浠細鏍规嵁涓婄骇鐨勯�氱煡锛岀粨鍚堟垜浼佸疄闄呮儏鍐碉紝鐜板皢20xx骞寸殑鍏冩棪鏀惧亣閫氱煡濡備笅锛氫竴銆�1鏈�1鏃ヨ嚦1鏈�3鏃ユ斁鍋囪皟浼戯紝鍏�3澶┿��1鏈�4鏃ユ寮忎笂鐝�備簩銆佽妭鍋囨棩鏈熼棿锛屽悇鐝粍瑕佷弗鏍艰惤瀹炰笂绾х殑閲嶈鎸囩ず绮剧锛屾寜鐓т笂绾х殑鍏蜂綋瑕佹眰锛岃鐪熸姄濂借惤瀹炶妭鏃ユ湡闂村�肩彮澶囧嫟宸ヤ綔锛岀‘淇濊妭鏃ユ湡闂翠紒涓氬悇椤瑰伐浣滄甯歌繍杞�倄x浼佷笟20xx骞�12鏈�28鏃�'
@@ -318,10 +409,10 @@
getWareHouseTopLeftData() {
WareHouseTopLeftData().then(res => {
this.tableDataTop = res.data
-
+ this.number1 = this.tableDataTop.length
const divData = this.$refs.tableDataTopRef.bodyWrapper
// 鎷垮埌鍏冪礌鍚庯紝瀵瑰厓绱犺繘琛屽畾鏃跺鍔犺窛绂婚《閮ㄨ窛绂伙紝瀹炵幇婊氬姩鏁堟灉(姝ら厤缃负姣�100姣绉诲姩1鍍忕礌)
- const task = setInterval(() => {
+ this.tableTopTask = setInterval(() => {
// 鍏冪礌鑷璺濈椤堕儴1鍍忕礌
divData.scrollTop += 1
// divData.scrollTop += divData.scrollHeight / this.tableData.length
@@ -331,8 +422,9 @@
divData.scrollTop = 0
WareHouseTopLeftData().then(res => {
this.tableDataTop = res.data
+ this.number1 = this.tableDataTop.length
if (this.tableDataTop.length > 9) {
- clearInterval(task)
+ clearInterval(this.tableTopTask)
this.getWareHouseTopLeftData()
}
})
@@ -344,10 +436,11 @@
getWareHouseTopBottomData() {
WareHouseTopBottomData().then(res => {
this.tableDataBottom = res.data
-
+ this.number2 = this.tableDataBottom.length
const divData = this.$refs.tableDataBottomRef.bodyWrapper
// 鎷垮埌鍏冪礌鍚庯紝瀵瑰厓绱犺繘琛屽畾鏃跺鍔犺窛绂婚《閮ㄨ窛绂伙紝瀹炵幇婊氬姩鏁堟灉(姝ら厤缃负姣�100姣绉诲姩1鍍忕礌)
- const task = setInterval(() => {
+ // const task = setInterval(() => {
+ this.tableBottomTask = setInterval(() => {
// 鍏冪礌鑷璺濈椤堕儴1鍍忕礌
divData.scrollTop += 1
// divData.scrollTop += divData.scrollHeight / this.tableData.length
@@ -357,9 +450,9 @@
divData.scrollTop = 0
WareHouseTopBottomData().then(res => {
this.tableDataBottom = res.data
-
+ this.number2 = this.tableDataBottom.length
if (this.tableDataBottom.length > 10) {
- clearInterval(task)
+ clearInterval(this.tableBottomTask)
this.getWareHouseTopBottomData()
}
})
@@ -378,13 +471,13 @@
loadEcharts('bar04', bar02(res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.CanuseBaseQuantity), res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.materiel_name)))
})
- setInterval(() => {
+ this.echartsRightTop = setInterval(() => {
WareHouseRightTopData().then(res => {
loadEcharts('bar03', bar02(res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.CanuseBaseQuantity), res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.materiel_name)))
})
}, 1000 * 15)
- setInterval(() => {
+ this.echartsRightBottom = setInterval(() => {
WareHouseRightBottomData().then(res => {
loadEcharts('bar04', bar02(res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.CanuseBaseQuantity), res.data.filter(i => i.CanuseBaseQuantity > 0).map(i => i.materiel_name)))
})
@@ -466,9 +559,10 @@
//text-align: center;
//font-size: 26px;
line-height: 20px;
- font-size: 18px;
+ //font-size: 18px;
margin-bottom: 10px;
margin-top: -10px;
+ display: flex;
color: #00ffff;
}
@@ -497,7 +591,7 @@
.content_head {
line-height: 20px;
- font-size: 18px;
+ //font-size: 18px;
margin-bottom: 10px;
margin-top: -10px;
color: #00ffff;
@@ -530,5 +624,7 @@
::v-deep .cell {
padding: 0 !important;
+ //font-size: 16px;
+ font-size: 18px;
}
</style>
--
Gitblit v1.9.3