Compare commits

...

8 Commits

Author SHA1 Message Date
zwq
10e7ec7268 更新驾驶舱 2022-11-24 16:19:58 +08:00
dfa7206e41 Merge pull request '11.23修改' (#17) from 11-wms-zjl into master
Reviewed-on: #17
2022-11-24 08:41:15 +08:00
d027ff4d64 11.23修改 2022-11-24 08:40:39 +08:00
57159bec8d Merge pull request '11-wms-zjl' (#16) from 11-wms-zjl into master
Reviewed-on: #16
2022-11-18 11:09:49 +08:00
93ea975af5 数据修改 2022-11-18 11:08:23 +08:00
0cd98e9e40 merge master 2022-11-18 09:01:03 +08:00
6f5607a841 Merge pull request '更新驾驶舱' (#15) from zwq into master
Reviewed-on: #15
2022-11-17 16:41:53 +08:00
fcd63d5059 wms数据 2022-11-17 10:37:59 +08:00
19 changed files with 407 additions and 254 deletions

View File

@ -1,3 +1,10 @@
<!--
* @Author: zwq
* @Date: 2022-10-20 09:22:39
* @LastEditors: zwq
* @LastEditTime: 2022-11-24 10:37:57
* @Description:
-->
<template>
<div id="app">
<router-view />
@ -7,7 +14,18 @@
<script>
export default {
name: 'App',
data() {
return {
beilv: 1
}
},
mounted() {
this.beilv = document.body.offsetWidth / 1920
document.documentElement.style.setProperty('--beilv', this.beilv)
window.addEventListener('resize', () => {
this.beilv = document.body.offsetWidth / 1920
document.documentElement.style.setProperty('--beilv', this.beilv)
})
}
}
</script>

View File

@ -230,7 +230,7 @@ export const routes = [
path: 'goodsData',
name: 'goodsData',
meta: {
title: '物数据',
title: '物数据',
icon: 'form'
},
component: () => import('@/views/wmsBasicData/goodsData.vue')

View File

@ -27,17 +27,15 @@ export function getCustomerCodeList() {
// 成品规格List
export function getProductSpecList() {
const list = ['50*50mm', '70*50mm', '70*70mm', '100*50mm', '100*70mm', '100*100mm', '100*120mm', '120*120mm']
const list = ['2.0-1128*1716', '2.0-1128*2251', '2.0-1128*2272', '3.2-1128*1716', '3.2-1128*1718', '3.2-1032*1747', '3.2-1033*2089']
const spec = list[parseInt(Math.random() * (list.length))]
return spec
}
// 批次List
export function getBatchList() {
let batch = '2022'
for (let i = 0; i < 8; i++) {
batch += parseInt(Math.random() * 89 + 10)
}
const sj = parseInt(Math.random() * 100 + 1)
const batch = moment().subtract(sj, 'days').format('YYYYMMDD')
return batch
}
@ -94,7 +92,7 @@ export function getOperationCode2List() {
}
// 仓库
const storeList = ['1号立体库', '2号立体库', '3号立体库', '4号立体库', '5号立体库', '6号立体库', '7号立体库', '8号立体库']
const storeList = ['成品库A', '成品库B', '成品库C', '成品库D', '备件库', '辅材库']
export function getStoreList() {
let store = ''
store += storeList[parseInt(Math.random() * storeList.length)]
@ -102,7 +100,7 @@ export function getStoreList() {
}
// 库区
const KQList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N']
const KQList = ['A', 'B', 'C', 'D']
export function getKQList() {
let KQ = ''
KQ += KQList[parseInt(Math.random() * KQList.length)]
@ -153,10 +151,8 @@ export function getTimeArr() {
// 物料编码List
export function getMaterialCodeList() {
let materialCode = 'WL'
for (let i = 0; i < 4; i++) {
materialCode += parseInt(Math.random() * 89 + 10)
}
const sj = parseInt(Math.random() * 365)
const materialCode = 'M' + (sj % 2 ? 'G' : 'F') + moment().subtract(sj, 'days').subtract(sj, 'hour').subtract(sj, 'minutes').subtract(sj, 'seconds').format('YYYYMMDDhhmmss')
return materialCode
}
@ -169,7 +165,7 @@ export function getNameList() {
}
// 客户数据
const compList = ['台玻', 'FUYAO福耀', 'SG南玻', 'XYG信义玻璃', '耀皮', '福莱特玻璃', 'CLFG洛玻', 'SHABO沙玻', 'KIBING旗滨', '金晶玻璃', '济南金昊', '东莞佳美特', '汇中矿产', '文盛新材料', '西点化学', '开源塑胶', '奥驰商贸', '竹中科技', '程龙玻璃']
const compList = ['隆基绿能科技股份有限公司', '天合光能股份有限公司', '晶澳太阳能科技股份有限公司', '晶科能源股份有限公司', '阿特斯阳光电力集团', '东方日升新能源股份有限公司', '尚德集团', '浙江正泰新能源开发有限公司', '环晟光伏(江苏)有限公司', '江苏赛拉弗光伏系统有限公司', '唐山海泰新能科技股份有限公司', '阳光能源控股有限公司', '横店集团东磁股份有限公司', '常州亿晶光电科技有限公司', '协鑫集成科技股份有限公司', '苏州中来光伏新材股份有限公司', '中节能太阳能科技(镇江)有限公司', '苏州腾晖光伏技术有限公司', '英利绿色能源控股有限公司', '湖南红太阳新能源科技有限公司']
export function getCompTyleList() {
let comp = ''
comp = compList[parseInt(Math.random() * (compList.length))]

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2022-01-21 14:43:06
* @LastEditors: zwq
* @LastEditTime: 2022-11-17 16:35:33
* @LastEditTime: 2022-11-24 16:17:09
* @Description:
-->
<template>
@ -171,7 +171,6 @@ export default {
},
// series
series: {
center: ['50%', '55%'],
radius: ['50%', '70%'],
silent: true,
avoidLabelOverlap: false,
@ -196,8 +195,18 @@ export default {
}
},
mounted() {
window.addEventListener('resize', () => {
if (this.chart) {
this.chart.resize()
this.$nextTick(() => {
//
this.initChart()
})
}
})
this.$nextTick(() => {
this.initChart()
this.chart.resize()
})
},
beforeDestroy() {
@ -213,23 +222,24 @@ export default {
this.chart.setOption({
title: this.showCenterTitle
? {
text: this.seriesData.reduce((pre, cur) => pre + cur.value, 0),
subtext: '总共',
top: '48%',
left: '49%',
text: `${this.seriesData.reduce((pre, cur) => pre + cur.value, 0)}\n{name|总共}`,
top: 'center',
left: '48%',
textAlign: 'center',
itemGap: 5,
textStyle: {
color: '#fff',
fontSize: 26 * this.beilv,
fontWeight: 400,
lineHeight: 15
},
subtextStyle: {
color: 'rgba(255, 255, 255, 0.7)',
fontWeight: 400,
fontSize: 14 * this.beilv,
lineHeight: 20
lineHeight: 15 * this.beilv,
rich: {
name: {
color: 'rgba(255, 255, 255, 0.7)',
fontWeight: 400,
textAlign: 'center',
fontSize: 14 * this.beilv,
lineHeight: 20 * this.beilv
}
}
}
}
: {},
@ -262,7 +272,8 @@ export default {
normal: {
label: {
show: true,
fontSize: 14 * this.beilv,
fontSize: 15 * this.beilv,
lineHeight: 18,
formatter: '{d}%\n{name|{b}}',
rich: {
name: {

View File

@ -2,13 +2,18 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-11-17 16:39:20
* @LastEditTime: 2022-11-24 15:47:14
* @Description:
-->
<template>
<div class="container">
<div>
<div v-for="i in areaArr" :key="i.title" :style="{ height: 145 * beilv + 'px', width: 730 * beilv + 'px' }" class="box">
<div
v-for="i in areaArr"
:key="i.title"
:style="{ height: 145 * beilv + 'px', width: 730 * beilv + 'px' }"
class="box"
>
<div
:style="{ fontSize: 22 * beilv + 'px', width: 40 * beilv + 'px' }"
class="box-name title"
@ -25,10 +30,10 @@
{{ i.subtitle }}
</div>
<div class="locationFlex">
<div v-for="j in 4" :key="j+'div1'" class="finished">
<div v-for="j in 4" :key="j + 'div1'" class="finished">
<div
v-for="(l,index) in 19"
:key="l+'box1'"
v-for="(l, index) in 19"
:key="l + 'box1'"
:class="l > Math.round(Math.random() * 80) ? 'waring' : ''"
:style="{
marginRight: 2 * beilv + 'px',
@ -40,7 +45,7 @@
}"
class="location"
>
{{ j + 4*index }}
{{ j + 4 * index }}
</div>
</div>
</div>
@ -50,22 +55,19 @@
<!-- 辅材库 -->
<div
v-for="i in areaArr1"
:key="i+'div2'"
:style="{ height: 135 * beilv + 'px', width: 730 * beilv + 'px',marginTop: 13 * beilv + 'px', }"
:key="i + 'div2'"
:style="{ width: 730 * beilv + 'px', padding: 9 * beilv + 'px' + ' 0' }"
class="box2"
>
<div
:style="{ fontSize: 22 * beilv + 'px', width: 40 * beilv + 'px',color: '#fff' }"
class="box-name title"
>
<div :style="{ fontSize: 22 * beilv + 'px', width: 40 * beilv + 'px', color: '#fff' }" class="box-name title">
{{ i }}
</div>
<div v-if="i==='辅材库'" class="locationFlex" style="margin-left:0">
<div v-for="j in 4" :key="j+'div3'" class="Auxiliary">
<div v-if="i === '辅材库'" class="locationFlex" style="margin-left:0">
<div v-for="j in 4" :key="j + 'div3'" class="Auxiliary">
<div
v-for="(l,index) in 19"
:key="l+'box5'"
:class="[num.indexOf(j + 4*index)>0 ? 'waring' : '',l===10? 'interlayer' : '']"
v-for="(l, index) in 19"
:key="l + 'box5'"
:class="[num.indexOf(j + 4 * index) > 0 ? 'waring' : '', l === 10 ? 'interlayer' : '']"
:style="{
marginRight: 2 * beilv + 'px',
marginTop: 2 * beilv + 'px',
@ -75,16 +77,16 @@
}"
class="location"
>
{{ j + 4*index }}
{{ j + 4 * index }}
</div>
</div>
</div>
<div v-else class="locationFlex" style="margin-left:0">
<div v-for="j in [3,2,1]" :key="j+'div4'">
<div v-for="j in [3, 2, 1]" :key="j + 'div4'">
<div
v-for="l in 20"
:key="l+'box9'"
:class="num.indexOf(l + 4*j)>0 ? 'waring' : ''"
:key="l + 'box9'"
:class="num.indexOf(l + 4 * j) > 0 ? 'waring' : ''"
:style="{
marginRight: 2 * beilv + 'px',
marginTop: 2 * beilv + 'px',
@ -152,12 +154,23 @@ export default {
}
}
},
methods: {
}
methods: {}
}
</script>
<style scoped>
.container {
display: flex;
flex-flow: row wrap;
align-content: space-between;
margin: calc(16px * var(--beilv));
gap: calc(16px * var(--beilv));
position: absolute;
height: 95%;
top: 0;
left: 0;
overflow:hidden;
}
.box {
border: 1px dotted rgba(94, 195, 216, 0.6);
display: flex;
@ -221,7 +234,7 @@ export default {
.waring {
background: #ff5d6b;
}
.box2{
.box2 {
background-image: linear-gradient(to right, rgba(48, 112, 125, 0.6), transparent);
background-size: 100% 100%;
border: 1px dotted rgba(94, 195, 216, 0.6);
@ -230,13 +243,13 @@ export default {
align-items: center;
justify-content: left;
}
.finished:nth-child(2){
.finished:nth-child(2) {
margin-bottom: 8px;
}
.Auxiliary:nth-child(2){
.Auxiliary:nth-child(2) {
margin-bottom: 8px;
}
.interlayer{
.interlayer {
margin-left: 8px;
}
</style>

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2021-07-19 15:18:30
* @LastEditors: zwq
* @LastEditTime: 2022-11-17 16:04:14
* @LastEditTime: 2022-11-24 16:01:46
* @Description:
-->
<template>
@ -20,7 +20,7 @@
<el-button
type="text"
class="title-button"
:style="{ right: 9 * beilv + 'px', top: 37 * beilv + 'px',fontSize: 35 * beilv + 'px' }"
:style="{ right: 9 * beilv + 'px', top: 37 * beilv + 'px', fontSize: 35 * beilv + 'px' }"
@click="changeFullScreen"
>
<svg-icon v-if="isFullScreen" icon-class="unFullScreenView" />
@ -29,77 +29,150 @@
</el-row>
<el-row class="container-main">
<el-row :style="{ padding: '0 ' + 9 * beilv + 'px' }" :gutter="9 * beilv">
<el-row :style="{ padding: '0 ' + 9 * beilv + 'px' }" :gutter="16 * beilv">
<el-col :span="8">
<el-row type="flex" class="h-full flex-col">
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv" :height="190" :title="'成品入库作业'" :title-icon="'入库管理'">
<div :style="{ fontSize: 13 * beilv + 'px' }">
<el-row :style="{ marginBottom: 15 * beilv + 'px'}">
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">时间:</span><span class="rightText">2022.12.12 13:12:45</span></div></el-col>
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">成品编码:</span><span class="rightText">34394233442</span></div></el-col>
</el-row>
<el-row :style="{ marginBottom: 15 * beilv + 'px'}">
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">入库作业号:</span><span class="rightText">347384734</span></div></el-col>
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">成品规格:</span><span class="rightText">234*345*34</span></div></el-col>
</el-row>
<el-row>
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">执行叉车:</span><span class="rightText">叉车</span></div></el-col>
<el-col :span="12"><div class="inTest" :style="{ padding: 9 * beilv + 'px'}"><span class="leftText">库位:</span><span class="rightText">A区34货位3层</span></div></el-col>
</el-row>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<!-- 成品入库列队 -->
<base-container :beilv="beilv" :height="190" :title="'成品入库列队'" :title-icon="'编组'">
<div style="background:rgba(14, 32, 62, 1);border-radius:5px">
<base-table
:limit="10"
:beilv="beilv"
:show-index="false"
:table-config="inAndOutOfEachLine.tableProps"
:table-data="inAndOutOfEachLine.list"
/>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv" :height="190" :title="'成品出库作业'" :title-icon="'出库管理'">
<div :style="{ fontSize: 13 * beilv + 'px' }">
<el-row :style="{ marginBottom: 10 * beilv + 'px'}">
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">时间:</span><span class="rightText">2022.12.12 13:12:45</span></div></el-col>
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">ERP订单:</span><span class="rightText">34394233442</span></div></el-col>
</el-row>
<el-row :style="{ marginBottom: 10 * beilv + 'px'}">
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">成品编码:</span><span class="rightText">34394233442</span></div></el-col>
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">出库作业号:</span><span class="rightText">347384734</span></div></el-col>
</el-row>
<el-row :style="{ marginBottom: 10 * beilv + 'px'}">
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">成品规格:</span><span class="rightText">234*345*34</span></div></el-col>
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">执行叉车:</span><span class="rightText">叉车</span></div></el-col>
</el-row>
<el-row>
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">库位:</span><span class="rightText">A区34货位3层</span></div></el-col>
<el-col :span="12"><div class="outTest" :style="{ padding: 7 * beilv + 'px'}"><span class="leftText">库位前置区:</span><span class="rightText">A区34货位3层</span></div></el-col>
</el-row>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<!-- 成品出库列队 -->
<base-container :beilv="beilv" :height="190" :title="'成品出库列队'" :title-icon="'编组备份 2'">
<div style="background:rgba(14, 32, 62, 1);border-radius:5px">
<base-table
:limit="10"
:beilv="beilv"
:show-index="false"
:table-config="OutOfEachLine.tableProps"
:table-data="OutOfEachLine.list"
/>
</div>
</base-container>
</el-col>
<div class="div-box-left">
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv" :height="190" :title="'成品入库作业'" :title-icon="'入库管理'">
<div :style="{ fontSize: 13 * beilv + 'px' }">
<el-row :style="{ marginBottom: 15 * beilv + 'px' }">
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">时间:</span>
<span class="rightText">2022.12.12 13:12:45</span>
</div>
</el-col>
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">成品编码:</span>
<span class="rightText">CP5651696250</span>
</div>
</el-col>
</el-row>
<el-row :style="{ marginBottom: 15 * beilv + 'px' }">
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">入库作业号:</span>
<span class="rightText">RQ5055348160</span>
</div>
</el-col>
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">成品规格:</span>
<span class="rightText">3.2-1033*2089</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">执行叉车:</span>
<span class="rightText">叉车</span>
</div>
</el-col>
<el-col :span="12">
<div class="inTest" :style="{ padding: 9 * beilv + 'px' }">
<span class="leftText">库位:</span>
<span class="rightText">成品库D-D区-14</span>
</div>
</el-col>
</el-row>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<!-- 成品入库列队 -->
<base-container :beilv="beilv" :height="190" :title="'成品入库列队'" :title-icon="'编组'">
<div style="background:rgba(14, 32, 62, 1);border-radius:5px;opacity: 0.8;">
<base-table
:limit="10"
:beilv="beilv"
:show-index="false"
:table-config="inAndOutOfEachLine.tableProps"
:table-data="inAndOutOfEachLine.list"
/>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv" :height="190" :title="'成品出库作业'" :title-icon="'出库管理'">
<div :style="{ fontSize: 13 * beilv + 'px' }">
<el-row :style="{ marginBottom: 10 * beilv + 'px' }">
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">时间:</span>
<span class="rightText">2022.12.12 13:12:45</span>
</div>
</el-col>
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">ERP订单:</span>
<span class="rightText">TCP203</span>
</div>
</el-col>
</el-row>
<el-row :style="{ marginBottom: 10 * beilv + 'px' }">
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">成品编码:</span>
<span class="rightText">CP3212128221</span>
</div>
</el-col>
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">出库作业号:</span>
<span class="rightText">CQ3727367699</span>
</div>
</el-col>
</el-row>
<el-row :style="{ marginBottom: 10 * beilv + 'px' }">
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">成品规格:</span>
<span class="rightText">3.2-1128*1716</span>
</div>
</el-col>
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">执行叉车:</span>
<span class="rightText">叉车</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">库位:</span>
<span class="rightText">成品库C-C区-1</span>
</div>
</el-col>
<el-col :span="12">
<div class="outTest" :style="{ padding: 7 * beilv + 'px' }">
<span class="leftText">库位前置区:</span>
<span class="rightText">A区34货位3层</span>
</div>
</el-col>
</el-row>
</div>
</base-container>
</el-col>
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<!-- 成品出库列队 -->
<base-container :beilv="beilv" :height="190" :title="'成品出库列队'" :title-icon="'编组备份 2'">
<div style="background:rgba(14, 32, 62, 1);border-radius:5px;opacity: 0.8;">
<base-table
:limit="10"
:beilv="beilv"
:show-index="false"
:table-config="OutOfEachLine.tableProps"
:table-data="OutOfEachLine.list"
/>
</div>
</base-container>
</el-col>
</div>
</el-row>
</el-col>
@ -107,7 +180,7 @@
<!-- 中间栏 -->
<el-row type="flex" class="h-full flex-col">
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv">
<base-container :beilv="beilv" :height="958">
<storage-cockpit-area :beilv="beilv" />
</base-container>
</el-col>
@ -118,58 +191,77 @@
<!-- 右边栏 设备工单管理 -->
<el-row type="flex" class="h-full flex-col">
<el-col :style="{ margin: 8 * beilv + 'px' + ' 0' }" :span="24">
<base-container :beilv="beilv" :title="'设备工单管理'" :title-icon="'编组(1)'">
<div class="div-box" :style="{textAlign: 'center', padding: 8 * beilv + 'px', paddingTop: 15 * beilv + 'px',marginBottom: 12 * beilv + 'px'}">
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
成品库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart1'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData1"
:beilv="beilv"
:height="226"
/>
</div>
<div class="div-box" :style="{textAlign: 'center', padding: 8 * beilv + 'px', paddingTop: 15 * beilv + 'px', marginBottom: 12 * beilv + 'px'}">
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
辅材库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart2'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData2"
:beilv="beilv"
:height="226"
/>
<!-- <new-bar
<base-container :beilv="beilv" :title="'库存总览'" :title-icon="'编组(1)'">
<div class="div-box-main">
<div
class="div-box"
:style="{
textAlign: 'center',
padding: 8 * beilv + 'px',
paddingTop: 15 * beilv + 'px',
}"
>
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
成品库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart1'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData1"
:beilv="beilv"
:height="226"
/>
</div>
<div
class="div-box"
:style="{
textAlign: 'center',
padding: 8 * beilv + 'px',
paddingTop: 15 * beilv + 'px',
}"
>
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
辅材库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart2'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData2"
:beilv="beilv"
:height="226"
/>
<!-- <new-bar
:name-list="clNameList"
:data-list="clDataList"
:height="226"
:beilv="beilv"
/>
<div class="barDiv" :style="{width: 355* beilv + 'px'}" /> -->
</div>
<div class="div-box" :style="{textAlign: 'center', padding: 8 * beilv + 'px', paddingTop: 15 * beilv + 'px'}">
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
备件库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart3'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData3"
:beilv="beilv"
:height="226"
/>
</div>
<div
class="div-box"
:style="{ textAlign: 'center', padding: 8 * beilv + 'px', paddingTop: 15 * beilv + 'px' }"
>
<span v-html="titleLeftSVG" />
<span style="color: #01CFCC; line-height: 18px;" :style="{ fontSize: 15 * beilv + 'px' }">
备件库存一览
</span>
<div style="transform: rotateY(180deg); display: inline-block;" v-html="titleLeftSVG" />
<new-pie
:id="'pie-chart3'"
:show-center-title="true"
:legend-config="{ left: '0%', top: '30%', itemGap: 5 }"
:series-data="legendData3"
:beilv="beilv"
:height="226"
/>
</div>
</div>
</base-container>
</el-col>
@ -368,22 +460,22 @@ export default {
test1: 'RQ5055348178',
test2: 'D4288603319',
test3: 'CP5651696263',
test4: '100*50mm',
test5: 'A区'
test4: '3.2-1033*2089',
test5: '成品库D-D区-15'
},
{
test1: 'RQ3722771932',
test2: 'D3732827773',
test3: 'CP4140258231',
test4: '100*100mm',
test5: 'K区'
test4: '2.0-1128*2272',
test5: '成品库B-A区-13'
},
{
test1: 'RQ1342208728',
test2: 'D6178738555',
test3: 'CP5284407553',
test4: '70*50mm',
test5: 'G区'
test4: '2.0-1128*1716',
test5: '成品库A-B区-9'
}
]
},
@ -401,22 +493,22 @@ export default {
test1: 'CQ3727367714',
test2: 'TCP231',
test3: 'CP3212128336',
test4: '50*50mm',
test5: 'H区'
test4: '3.2-1128*1716',
test5: '成品库C-C区-4'
},
{
test1: 'CQ7080508785',
test2: 'TCP186',
test3: 'CP2760242729',
test4: '100*120mm',
test5: 'B区'
test4: '3.2-1128*1718',
test5: '成品库D-D区-1'
},
{
test1: 'CQ8843212447',
test2: 'TCP67',
test3: 'CP1569191519',
test4: '120*120mm',
test5: 'A区'
test4: '3.2-1032*1747',
test5: '成品库C-B区-12'
}
]
},
@ -691,7 +783,7 @@ export default {
}
}
.container-main {
padding: 16px;
padding: 16px 8px;
}
}
.inTest {
@ -702,18 +794,44 @@ export default {
background: url('../../assets/img/OperationalOverview/矩形@2x(1).png') no-repeat;
background-size: 100% 100%;
}
.leftText{
.leftText {
display: inline-block;
width: 40%;
text-align: right;
}
.rightText{
color:rgba(255, 255, 255, 0.6)
.rightText {
color: rgba(255, 255, 255, 0.6);
}
.div-box-left{
display: flex;
flex-flow: row wrap;
align-content: space-between;
position: absolute;
height: 100%;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow:hidden;
}
.div-box-main {
display: flex;
flex-flow: row wrap;
align-content: space-between;
margin: calc(16px * var(--beilv));
gap: calc(16px * var(--beilv));
padding-top: 4em;
position: absolute;
height: 95%;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow:hidden;
}
.div-box {
background: transparent;
box-shadow: inset 0 0 16px 1px rgba(255, 255, 255, 0.2);
display: inline-block;
width: 100%;
border-radius: 4px;
}
@ -722,7 +840,7 @@ export default {
opacity: 0.5;
position: absolute;
bottom: 40px;
left:55px;
left: 55px;
transform: skewX(-30deg);
background: linear-gradient(180deg, rgba(59, 76, 118, 0) 0%, #49fbd6 100%);
}
@ -797,7 +915,7 @@ export default {
<style lang="scss" scoped>
.h-full {
height: calc(100vh - 150px);
height: calc(100vh - 110px * var(--beilv));
}
.flex-col {

View File

@ -43,7 +43,7 @@ import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import i18n from '@/lang'
import { getHWList } from '@/utils/wmsDic'
import { getStoreList, getKQList } from '@/utils/wmsDic'
import moment from 'moment'
/**
* 表格表头配置项 TypeScript接口注释
@ -201,8 +201,9 @@ export default {
const obj = {}
const sj = Math.floor(Math.random() * 720 + 10)
obj.createTime = moment().subtract(sj, 'days').subtract(sj, 'hour').subtract(sj, 'minutes').subtract(sj, 'seconds').format('YYYY-MM-DD hh:mm:ss')
obj.name2 = getHWList()
obj.name1 = obj.name2[2] + '区'
obj.store = getStoreList()
obj.name1 = (obj.store === '辅材库' || obj.store === '备件库') ? '' : getKQList() + '区'
obj.name2 = obj.store + (obj.name1 ? '-' + obj.name1 : '') + '-' + (obj.store === '备件库' ? (parseInt(Math.random() * 19 + 1) + '-' + parseInt(Math.random() * 2 + 1)) : parseInt(Math.random() * 16))
obj.name3 = obj.name2
obj.name4 = parseInt(Math.random() * 2) ? '有货' : '无货'
obj.name5 = parseInt(Math.random() * 2) ? 'Y' : 'N'

View File

@ -179,7 +179,7 @@ export default {
const sj = Math.floor(Math.random() * 720 + 10)
obj.createTime = moment().subtract(sj, 'days').subtract(sj, 'hour').subtract(sj, 'minutes').subtract(sj, 'seconds').format('YYYY-MM-DD hh:mm:ss')
obj.name1 = getStoreList()
obj.name2 = getKQList() + '区'
obj.name2 = (obj.name1 === '辅材库' || obj.name1 === '备件库') ? '' : getKQList() + '区'
obj.name3 = '成品仓'
obj.name4 = 'TCP' + sj
temp.push(obj)

View File

@ -50,7 +50,7 @@ const tableProps = [
},
{
prop: 'internalControlCode',
label: '成品内控码'
label: '成品内控码/商品条码'
},
{
prop: 'customerCode',
@ -67,10 +67,6 @@ const tableProps = [
{
prop: 'batch',
label: '批次'
},
{
prop: 'packCode',
label: '包装机号'
}
]
const tableBtn = [
@ -92,7 +88,7 @@ export default {
{
type: 'input',
label: '关键字',
placeholder: '托盘号或成品内控码',
placeholder: '托盘号或成品内控码/商品条码',
param: 'name',
width: 300
},
@ -133,8 +129,8 @@ export default {
obj.trayID = getTrayList()
obj.internalControlCode = getProductList()
obj.customerCode = getCustomerCodeList()
obj.num = parseInt(Math.random() * 1000)
obj.productDpec = getProductSpecList()
obj.num = obj.productDpec.substring(0, 1) === '3' ? parseInt(Math.random() * 100 + 100) : parseInt(Math.random() * 100 + 200)
obj.batch = getBatchList()
obj.packCode = getPackList()
temp.push(obj)

View File

@ -5,11 +5,11 @@
:visible.sync="dialogVisible"
width="50%"
>
<el-form ref="formList" label-position="right" label-width="80px" :model="formList">
<el-form ref="formList" label-position="right" label-width="140px" :model="formList">
<el-form-item label="托盘号" prop="trayID">
<el-input v-model="formList.trayID" />
</el-form-item>
<el-form-item label="成品内控码" prop="internalControlCode">
<el-form-item label="成品内控码/商品条码" prop="internalControlCode">
<el-input v-model="formList.internalControlCode" />
</el-form-item>
<el-form-item label="客户标签号" prop="customerCode">
@ -24,9 +24,6 @@
<el-form-item label="批次" prop="batch">
<el-input v-model="formList.batch" />
</el-form-item>
<el-form-item label="包装机号" prop="packCode">
<el-input v-model="formList.packCode" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="resetForm('formList')"> </el-button>
@ -53,8 +50,7 @@ export default {
customerCode: '',
productDpec: '',
num: '',
batch: '',
packCode: ''
batch: ''
}
}
},
@ -70,7 +66,6 @@ export default {
this.formList.productDpec = val.productDpec
this.formList.num = val.num
this.formList.batch = val.batch
this.formList.packCode = val.packCode
})
}
this.dialogVisible = true

View File

@ -5,14 +5,14 @@
:visible.sync="dialogVisible"
width="50%"
>
<el-form ref="formList" label-position="right" label-width="80px" :model="formList">
<el-form ref="formList" label-position="right" label-width="140px" :model="formList">
<el-form-item label="入库单号" prop="receiptNo">
<el-input v-model="formList.receiptNo" />
</el-form-item>
<el-form-item label="托盘号" prop="trayID">
<el-input v-model="formList.trayID" />
</el-form-item>
<el-form-item label="成品内控码" prop="internalControlCode">
<el-form-item label="成品内控码/商品条码" prop="internalControlCode">
<el-input v-model="formList.internalControlCode" />
</el-form-item>
<el-form-item label="客户标签号" prop="customerCode">
@ -27,9 +27,6 @@
<el-form-item label="批次" prop="batch">
<el-input v-model="formList.batch" />
</el-form-item>
<el-form-item label="包装机号" prop="packCode">
<el-input v-model="formList.packCode" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="resetForm('formList')"> </el-button>
@ -57,8 +54,7 @@ export default {
customerCode: '',
productDpec: '',
num: '',
batch: '',
packCode: ''
batch: ''
}
}
},
@ -75,7 +71,6 @@ export default {
this.formList.productDpec = val.productDpec
this.formList.num = val.num
this.formList.batch = val.batch
this.formList.packCode = val.packCode
})
}
this.dialogVisible = true

View File

@ -52,9 +52,13 @@ const tableProps = [
prop: 'trayID',
label: '托盘号'
},
{
prop: 'type',
label: '类型'
},
{
prop: 'internalControlCode',
label: '成品内控码'
label: '成品内控码/商品条码'
},
{
prop: 'customerCode',
@ -71,10 +75,6 @@ const tableProps = [
{
prop: 'batch',
label: '批次'
},
{
prop: 'packCode',
label: '包装机号'
}
]
const tableBtn = [
@ -96,7 +96,7 @@ export default {
{
type: 'input',
label: '关键字',
placeholder: '入库单号,托盘号或成品内控码',
placeholder: '入库单号,托盘号或成品内控码/商品条码',
param: 'name',
width: 300
},
@ -132,13 +132,17 @@ export default {
getList() {
const temp = []
const num = 20
const typeList = ['成品', '辅料', '备件']
for (let i = 0; i < num; i++) {
const obj = {}
const sj = parseInt(Math.random() * 3 + 1)
console.log(sj)
obj.receiptNo = getReceiptNoList()
obj.trayID = getTrayList()
obj.internalControlCode = getProductList()
obj.type = typeList[sj - 1]
obj.internalControlCode = sj === 1 ? getProductList() : ''
obj.customerCode = getCustomerCodeList()
obj.num = parseInt(Math.random() * 1000)
obj.num = parseInt(Math.random() * 180 + 100)
obj.productDpec = getProductSpecList()
obj.batch = getBatchList()
obj.packCode = getPackList()

View File

@ -26,7 +26,7 @@ import { getMaterialCodeList, getKQList, getProductSpecList, getGoodsList } from
const tableProps = [
{
prop: 'productName',
label: '品名'
label: '盖板玻璃或背板玻璃'
},
{
prop: 'spec',
@ -54,7 +54,7 @@ export default {
{
type: 'input',
label: '关键字',
placeholder: '品名,物料编码,库区',
placeholder: '盖板玻璃或背板玻璃,物料编码,库区',
param: 'name',
width: 250
},

View File

@ -27,7 +27,7 @@ import moment from 'moment'
const tableProps = [
{
prop: 'productName',
label: '品名'
label: '盖板玻璃或背板玻璃'
},
{
prop: 'spec',

View File

@ -33,7 +33,7 @@ const tableProps = [
},
{
prop: 'productName',
label: '品名'
label: '盖板玻璃或背板玻璃'
},
{
prop: 'spec',
@ -73,7 +73,7 @@ export default {
{
type: 'input',
label: '关键字',
placeholder: '盘点单号,品名,物料编码',
placeholder: '盘点单号,盖板玻璃或背板玻璃,物料编码',
param: 'name',
width: 250
},

View File

@ -134,7 +134,7 @@ export default {
obj.outboundOrderNo = getOutboundNoList()
obj.customerName = getCompTyleList()
obj.shipmentCacheArea = getHCQList()
obj.num = parseInt(Math.random() * 1000)
obj.num = parseInt(Math.random() * 40 + 20) + '(箱)'
obj.spec = getProductSpecList()
const sj = Math.floor(Math.random() * 100)
obj.deliveryTime = moment().add(sj, 'days').add(sj, 'hour').add(sj, 'minutes').add(sj, 'seconds').format('YYYY-MM-DD hh:mm:ss')

View File

@ -34,7 +34,7 @@ import Pagination from '@/components/Pagination'
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { tableHeight } from '@/utils/index'
import outStoreDocumentsAdd from './components/outStoreDocumentsAdd.vue'
import { getOperationCode2List, getOutboundNoList, getHWList, getHCQList, getTimeArr, getDriverCodeList } from '@/utils/wmsDic'
import { getOperationCode2List, getOutboundNoList, getStoreList, getTimeArr, getDriverCodeList } from '@/utils/wmsDic'
const tableProps = [
{
prop: 'operationCode',
@ -110,7 +110,7 @@ export default {
current: 1,
size: 20
},
tableH: tableHeight(275),
tableH: tableHeight(290),
tableProps,
list: [],
listLoading: false,
@ -122,29 +122,45 @@ export default {
},
mounted() {
window.addEventListener('resize', () => {
this.tableH = tableHeight(275)
this.tableH = tableHeight(290)
})
this.getList()
},
methods: {
getList() {
const temp = []
const num = 20
const temp2 = []
const num = 17
for (let i = 0; i < num; i++) {
const obj = {}
const timeArrList = getTimeArr()
obj.operationCode = getOperationCode2List()
obj.operationCode = 'CQ1510433590'
obj.outboundOrderNo = getOutboundNoList()
obj.goodsArea = getHWList()
obj.shipmentCacheArea = getHCQList()
obj.store = getStoreList()
obj.goodsArea = '成品库C-C区-' + (i + 8)
obj.shipmentCacheArea = 'HCQC' + (2631 - i)
obj.startTime = timeArrList[0]
obj.endTime = timeArrList[1]
obj.driverCode = getDriverCodeList()
temp.push(obj)
}
this.list = temp
const arr = ['备件库-13-2', '辅材库-14', '备件库-13-4']
for (let i = 0; i < 3; i++) {
const obj = {}
const timeArrList = getTimeArr()
obj.operationCode = getOperationCode2List()
obj.outboundOrderNo = getOutboundNoList()
obj.store = getStoreList()
obj.goodsArea = arr[i]
obj.shipmentCacheArea = 'HCQC' + (2897 - i)
obj.startTime = timeArrList[0]
obj.endTime = timeArrList[1]
obj.driverCode = getDriverCodeList()
temp2.push(obj)
}
this.list = temp.concat(temp2)
console.log(this.list)
this.total = num
this.total = 20
},
btnClick(val) {
console.log(val)

View File

@ -26,7 +26,7 @@ import HeadForm from '@/components/basicData/HeadForm'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination'
import { tableHeight } from '@/utils/index'
import { getReceiptNoList, getProductSpecList, getMaterialCodeList, getGoodsList } from '@/utils/wmsDic'
import { getReceiptNoList, getProductSpecList, getMaterialCodeList } from '@/utils/wmsDic'
import moment from 'moment'
const tableProps = [
{
@ -37,10 +37,6 @@ const tableProps = [
prop: 'type',
label: '类型'
},
{
prop: 'productName',
label: '品名'
},
{
prop: 'spec',
label: '规格'
@ -115,7 +111,6 @@ export default {
const obj = {}
obj.orderCode = getReceiptNoList()
obj.type = '深加工玻璃'
obj.productName = getGoodsList()
const sj = Math.floor(Math.random() * 100)
obj.spec = getProductSpecList()
obj.materialCode = getMaterialCodeList()

View File

@ -34,7 +34,7 @@ import HeadForm from '@/components/basicData/HeadForm'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination'
import { tableHeight } from '@/utils/index'
import { getOutboundNoList, getProductSpecList, getMaterialCodeList, getGoodsList } from '@/utils/wmsDic'
import { getOutboundNoList, getProductSpecList, getMaterialCodeList } from '@/utils/wmsDic'
import moment from 'moment'
const tableProps = [
{
@ -45,10 +45,6 @@ const tableProps = [
prop: 'type',
label: '类型'
},
{
prop: 'productName',
label: '品名'
},
{
prop: 'spec',
label: '规格'
@ -123,7 +119,6 @@ export default {
const obj = {}
obj.orderCode = getOutboundNoList()
obj.type = '深加工玻璃'
obj.productName = getGoodsList()
const sj = Math.floor(Math.random() * 5)
obj.spec = getProductSpecList()
obj.materialCode = getMaterialCodeList()