diff --git a/hw-ui/package.json b/hw-ui/package.json index c0906e42..fd378f26 100644 --- a/hw-ui/package.json +++ b/hw-ui/package.json @@ -41,6 +41,7 @@ "axios": "0.24.0", "clipboard": "2.0.8", "core-js": "3.25.3", + "downloadjs": "^1.4.7", "echarts": "5.5.0", "echarts-liquidfill": "^3.1.0", "element-ui": "2.15.14", diff --git a/hw-ui/src/assets/board/center.png b/hw-ui/src/assets/board/center.png new file mode 100644 index 00000000..8947abfb Binary files /dev/null and b/hw-ui/src/assets/board/center.png differ diff --git a/hw-ui/src/assets/board/productionBg1_1.jpg b/hw-ui/src/assets/board/productionBg1_1.jpg new file mode 100644 index 00000000..cb1cba60 Binary files /dev/null and b/hw-ui/src/assets/board/productionBg1_1.jpg differ diff --git a/hw-ui/src/assets/board/productionBg1_4.jpg b/hw-ui/src/assets/board/productionBg1_4.jpg new file mode 100644 index 00000000..4f17728e Binary files /dev/null and b/hw-ui/src/assets/board/productionBg1_4.jpg differ diff --git a/hw-ui/src/views/board/production/secondFloor.vue b/hw-ui/src/views/board/production/secondFloor.vue index 68d3f1b4..31a958dc 100644 --- a/hw-ui/src/views/board/production/secondFloor.vue +++ b/hw-ui/src/views/board/production/secondFloor.vue @@ -1,83 +1,30 @@ @@ -129,16 +63,17 @@ export default { completeAmount: [0, 0, 0, 0], diff: [0, 0, 0, 0] }, + time: parseTime(new Date(), '{y}-{m}-{d} 星期{a} {h}:{i}:{s}'), title: [ - '工单计划', - '小时产量', + '工序生产进度', + '工序名称对比', '七日产量对比', - '粉尘数据走势', - '设备时长统计', - '计划数量:', - '完成数量:', - '差异值:', - '产线状态:' + ' ', + ' ', + ' ', + ' ', + ' ', + ' ' ], titlePosition: [ { @@ -150,7 +85,7 @@ export default { left: 75 }, { - top: 63, + top: 70.3, left: 5.5 }, { @@ -192,13 +127,14 @@ export default { } }, mounted() { + setInterval(() => { + this.time = parseTime(new Date(), '{y}-{m}-{d} 星期{a} {h}:{i}:{s}') + }, 1000) this.getData() window.onresize = () => { this.$refs.chart1.chart.resize() - this.$refs.chart2.chart.resize() this.$refs.chart3.chart.resize() - this.$refs.chart4.chart.resize() } }, methods: { @@ -215,242 +151,81 @@ export default { } }) }) - selectLatestWorkOrder().then(e => { - this.topData.planAmount = [...[0, 0, 0, 0], ...(e.data.planAmount || 0).toString().split('')].slice(-4) - this.topData.completeAmount = [...[0, 0, 0, 0], ...(e.data.completeAmount || 0).toString().split('')].slice(-4) - this.topData.diff = [...[0, 0, 0, 0], ...Math.abs((parseFloat(e.data.planAmount) - parseFloat(e.data.completeAmount)) || 0).toString().split('')].slice(-4) - }) - getLineStatus().then(e => { - this.LineStatus = e.msg === 'True' - }) - getHourProduction().then(e => { - this.$refs.chart1.setData({ - tooltip: { - trigger: 'axis', - axisPointer: { - // 坐标轴指示器,坐标轴触发有效 - type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' - } - }, - grid: { - left: '0', - right: '4%', - bottom: '0', - top: 20, - containLabel: true - }, - xAxis: { - type: 'category', - data: e.data.map(v => v.hour), - axisLine: { - lineStyle: { - color: 'white' + this.$refs.chart1.setData({ + tooltip: {}, + radar: { + indicator: [ + { name: '打磨', max: 6500 }, + { name: '折弯', max: 16000 }, + { name: '组装', max: 30000 }, + { name: '下料', max: 38000 }, + { name: '机加', max: 52000 }, + { name: '1', max: 25000 } + ] + }, + series: [ + { + name: '时间', + type: 'radar', + // areaStyle: {normal: {}}, + data: [ + { + value: [4300, 10000, 28000, 35000, 50000, 19000], + name: '时间' } - }, - axisLabel: { - // interval: 0, - // rotate: 40, - textStyle: { - fontFamily: 'Microsoft YaHei' - } - } - }, + ] + } + ] + }) + this.$refs.chart3.setData({ + grid: { + top: 30, + left: '2%', + right: '5%', + bottom: '2%', + containLabel: true + }, + legend: { + textStyle: { + color: '#fff' + } + }, - yAxis: { + tooltip: { + trigger: 'axis' + }, + xAxis: { + type: 'category', + data: [1, 2, 3], + axisLabel: { + margin: 10, + color: '#ffffff63' + }, + axisLine: { + show: false + }, + axisTick: { + show: true, + lineStyle: { + color: '#ffffff1f' + } + }, + splitLine: { + show: true, + lineStyle: { + type: 'dashed', + color: '#ffffff1f' + } + } + }, + yAxis: [ + { type: 'value', - axisLine: { - show: false, - lineStyle: { - color: 'white' - } - }, - splitLine: { - show: false - }, - axisLabel: {} - }, - series: [ - { - name: '数量', - label: { - normal: { - show: true, - position: 'top', - textStyle: { - color: '#a8aab0', - fontStyle: 'normal', - fontFamily: '微软雅黑', - fontSize: 0.75 * vw - } - } - }, - type: 'bar', - barWidth: '30%', - barMaxWidth: 50, - itemStyle: { - normal: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: '#39ffff' - }, - { - offset: 1, - color: '#5affa6' - } - ]) - } - }, - data: e.data.map(v => v.amount) - } - ] - }) - }) - getDayProduction().then(e => { - this.$refs.chart2.setData({ - grid: { - top: 30, - left: '2%', - right: '5%', - bottom: '2%', - containLabel: true - }, - xAxis: { - type: 'category', - boundaryGap: false, - data: e.data.map(v => v.day), axisLabel: { margin: 10, color: '#ffffff63' }, - axisLine: { - show: false - }, - axisTick: { - show: true, - lineStyle: { - color: '#ffffff1f' - } - }, - splitLine: { - show: false, - lineStyle: { - type: 'dashed', - color: '#ffffff1f' - } - } - }, - yAxis: [ - { - type: 'value', - axisLabel: { - margin: 10, - color: '#ffffff63' - }, - axisTick: { - show: true, - lineStyle: { - color: '#ffffff1f' - } - }, - splitLine: { - show: false, - lineStyle: { - type: 'dashed', - color: '#ffffff1f' - } - }, - axisLine: { - lineStyle: { - color: '#fff', - width: 2 - } - } - } - ], - series: [ - { - name: '产量', - type: 'line', - smooth: true, //是否平滑曲线显示 - showAllSymbol: true, - symbol: 'circle', - symbolSize: 6, - lineStyle: { - normal: { - color: '#fff' // 线条颜色 - } - }, - label: { - show: true, - position: 'top', - textStyle: { - color: '#fff' - } - }, - itemStyle: { - color: 'red', - borderColor: '#fff', - borderWidth: 3 - }, - tooltip: { - show: false - }, - areaStyle: { - normal: { - color: new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: '#eb64fb' - }, - { - offset: 1, - color: '#3fbbff0d' - } - ], - false - ) - } - }, - data: e.data.map(v => v.instock_amount) - } - ] - }) - }) - dustAnalysis().then(e => { - this.$refs.chart3.setData({ - grid: { - top: 30, - left: '2%', - right: '5%', - bottom: '2%', - containLabel: true - }, - legend: { - textStyle: { - color: '#fff' - } - }, - - tooltip: { - trigger: 'axis' - }, - xAxis: { - type: 'category', - data: e.data.map(v => parseTime(v.recodeTime)), - axisLabel: { - margin: 10, - color: '#ffffff63' - }, - axisLine: { - show: false - }, axisTick: { show: true, lineStyle: { @@ -463,246 +238,48 @@ export default { type: 'dashed', color: '#ffffff1f' } - } - }, - yAxis: [ - { - type: 'value', - axisLabel: { - margin: 10, - color: '#ffffff63' - }, - - axisTick: { - show: true, - lineStyle: { - color: '#ffffff1f' - } - }, - splitLine: { - show: true, - lineStyle: { - type: 'dashed', - color: '#ffffff1f' - } - }, - axisLine: { - lineStyle: { - color: '#fff', - width: 2 - } - } - } - ], - series: [ - { - name: 'pm1', - type: 'line', - smooth: true, //是否平滑曲线显示 - showAllSymbol: true, - symbol: 'circle', - symbolSize: 6, - lineStyle: { - normal: { - color: '#fff' // 线条颜色 - } - }, - label: { - show: true, - position: 'top', - textStyle: { - color: '#fff' - } - }, - itemStyle: { - color: 'red', - borderColor: '#fff', - borderWidth: 3 - }, - tooltip: { - // show: false, - }, - data: e.data.map(v => v.pm1) - }, - { - name: 'pm2', - type: 'line', - smooth: true, //是否平滑曲线显示 - showAllSymbol: true, - symbol: 'circle', - symbolSize: 6, - lineStyle: { - normal: { - color: '#f0f' // 线条颜色 - } - }, - label: { - show: true, - position: 'top', - textStyle: { - color: '#fff' - } - }, - itemStyle: { - color: 'red', - borderColor: '#fff', - borderWidth: 3 - }, - tooltip: { - // show: false, - }, - data: e.data.map(v => v.pm2) - }, - { - name: 'pm10', - type: 'line', - smooth: true, //是否平滑曲线显示 - showAllSymbol: true, - symbol: 'circle', - symbolSize: 6, - lineStyle: { - normal: { - color: '#ff0' // 线条颜色 - } - }, - label: { - show: true, - position: 'top', - textStyle: { - color: '#fff' - } - }, - itemStyle: { - color: 'red', - borderColor: '#fff', - borderWidth: 3 - }, - tooltip: { - // show: false, - }, - data: e.data.map(v => v.pm10) - } - ] - }) - }) - deviceTimeCount().then(e => { - console.log(e) - this.$refs.chart4.setData({ - grid: { - top: 30, - left: '2%', - right: '5%', - bottom: '2%', - containLabel: true - }, - xAxis: { - type: 'category', - boundaryGap: false, - data: e.data.map(v => parseTime(v.hour)), - axisLabel: { - margin: 10, - color: '#ffffff63' }, axisLine: { - show: false + lineStyle: { + color: '#fff', + width: 2 + } + } + } + ], + series: [ + { + name: '1', + type: 'line', + smooth: true, //是否平滑曲线显示 + showAllSymbol: true, + symbol: 'circle', + symbolSize: 6, + lineStyle: { + normal: { + color: '#fff' // 线条颜色 + } }, - axisTick: { + label: { show: true, - lineStyle: { - color: '#ffffff1f' + position: 'top', + textStyle: { + color: '#fff' } }, - splitLine: { - show: false, - lineStyle: { - type: 'dashed', - color: '#ffffff1f' - } - } - }, - yAxis: [ - { - type: 'value', - axisLabel: { - margin: 10, - color: '#ffffff63' - }, - - axisTick: { - show: true, - lineStyle: { - color: '#ffffff1f' - } - }, - splitLine: { - show: false, - lineStyle: { - type: 'dashed', - color: '#ffffff1f' - } - }, - axisLine: { - lineStyle: { - color: '#fff', - width: 2 - } - } - } - ], - series: [ - { - name: '产量', - type: 'line', - smooth: true, //是否平滑曲线显示 - showAllSymbol: true, - symbol: 'circle', - symbolSize: 6, - lineStyle: { - normal: { - color: '#fff' // 线条颜色 - } - }, - label: { - show: true, - position: 'top', - textStyle: { - color: '#fff' - } - }, - itemStyle: { - color: 'red', - borderColor: '#fff', - borderWidth: 3 - }, - tooltip: { - show: false - }, - areaStyle: { - normal: { - color: new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: '#eb64fb' - }, - { - offset: 1, - color: '#3fbbff0d' - } - ], - false - ) - } - }, - data: e.data.map(v => v.timeCount) - } - ] - }) + itemStyle: { + color: 'red', + borderColor: '#fff', + borderWidth: 3 + }, + tooltip: { + // show: false, + }, + data: [1, 2, 3] + } + ] }) + } } } @@ -710,7 +287,7 @@ export default { diff --git a/hw-ui/src/views/board/production/secondFloor_1.vue b/hw-ui/src/views/board/production/secondFloor_1.vue new file mode 100644 index 00000000..a77f31aa --- /dev/null +++ b/hw-ui/src/views/board/production/secondFloor_1.vue @@ -0,0 +1,439 @@ + + + + diff --git a/hw-ui/src/views/board/production/secondFloor_2.vue b/hw-ui/src/views/board/production/secondFloor_2.vue new file mode 100644 index 00000000..68d3f1b4 --- /dev/null +++ b/hw-ui/src/views/board/production/secondFloor_2.vue @@ -0,0 +1,810 @@ + + + + diff --git a/hw-ui/src/views/board/production/secondFloor_4.vue b/hw-ui/src/views/board/production/secondFloor_4.vue new file mode 100644 index 00000000..31a958dc --- /dev/null +++ b/hw-ui/src/views/board/production/secondFloor_4.vue @@ -0,0 +1,433 @@ + + + + diff --git a/hw-ui/src/views/board/warehouse/fifthFloor.vue b/hw-ui/src/views/board/warehouse/fifthFloor.vue index 5fe920f6..19c1c8a1 100644 --- a/hw-ui/src/views/board/warehouse/fifthFloor.vue +++ b/hw-ui/src/views/board/warehouse/fifthFloor.vue @@ -1,65 +1,13 @@ + + + diff --git a/hw-ui/src/views/board/warehouse/fifthFloor1.vue b/hw-ui/src/views/board/warehouse/fifthFloor1.vue new file mode 100644 index 00000000..5fe920f6 --- /dev/null +++ b/hw-ui/src/views/board/warehouse/fifthFloor1.vue @@ -0,0 +1,892 @@ + + + + diff --git a/hw-ui/src/views/board/warehouse/fifthFloor2.vue b/hw-ui/src/views/board/warehouse/fifthFloor2.vue deleted file mode 100644 index dd449e87..00000000 --- a/hw-ui/src/views/board/warehouse/fifthFloor2.vue +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - -