生产大屏

This commit is contained in:
打豆豆 2024-02-18 14:01:15 +08:00
parent 798b3bdc10
commit 3c72f61c9d
11 changed files with 1313 additions and 6 deletions

BIN
src/assets/images/scjk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

View File

@ -74,7 +74,7 @@
<el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/> <el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/> <el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" /> <el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="工单数量" align="center" prop="quantity" /> <el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="客户编码" align="center" prop="clientCode" /> <el-table-column label="客户编码" align="center" prop="clientCode" />
<el-table-column label="客户名称" align="center" prop="clientName" :show-overflow-tooltip="true"/> <el-table-column label="客户名称" align="center" prop="clientName" :show-overflow-tooltip="true"/>
<el-table-column label="需求日期" align="center" prop="requestDate" width="180"> <el-table-column label="需求日期" align="center" prop="requestDate" width="180">

View File

@ -0,0 +1,162 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="AGVrate" style="width: 100%; height: 150px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("AGVrate"));
let value = "10%";
let title = "设备在线率";
var option = {
title: [
{
text: "{a|" + value + "}\n{c|" + title + "}",
x: "center",
top: "35%",
textStyle: {
rich: {
a: {
fontSize: 15,
color: "#ffffff",
},
c: {
fontSize: 10,
color: "#ffffff",
padding: [5, 0],
},
},
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["70%", "95%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [10],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,153 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="fault" style="width: 100%; height: 70px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("fault"));
var option = {
title: [
{
text: "1%",
x: "center",
top: "35%",
textStyle: {
fontSize: "15",
color: "#FFFFFF",
fontFamily: "DINAlternate-Bold, DINAlternate",
foontWeight: "100",
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["75%", "90%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [1],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,153 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="offline" style="width: 100%; height: 70px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("offline"));
var option = {
title: [
{
text: "5%",
x: "center",
top: "35%",
textStyle: {
fontSize: "15",
color: "#FFFFFF",
fontFamily: "DINAlternate-Bold, DINAlternate",
foontWeight: "100",
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["75%", "90%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [5],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,153 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 100%; height: 70px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("main"));
var option = {
title: [
{
text: "10%",
x: "center",
top: "35%",
textStyle: {
fontSize: "15",
color: "#FFFFFF",
fontFamily: "DINAlternate-Bold, DINAlternate",
foontWeight: "100",
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["75%", "90%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [10],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,162 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="onlineRate" style="width: 100%; height: 150px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("onlineRate"));
let value = "50%";
let title = "设备在线率";
var option = {
title: [
{
text: "{a|" + value + "}\n{c|" + title + "}",
x: "center",
top: "35%",
textStyle: {
rich: {
a: {
fontSize: 15,
color: "#ffffff",
},
c: {
fontSize: 10,
color: "#ffffff",
padding: [5, 0],
},
},
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["70%", "95%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [50],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,162 @@
<template>
<div class="app-container">
<!-- ECharts 准备一个定义了宽高的 DOM -->
<div id="roboticRate" style="width: 100%; height: 150px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { echarts, Treeselect },
props: ["message"], //
data() {
return {
echartData: [],
};
},
watch: {
message: {
immediate: true,
handler(val) {
// console.log(val,'=============');
this.echartData = val;
// val.forEach((item) => {
// this.getDataNum.push(Number(item.ytdUvNew))
// this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
// })
this.$nextTick(() => {
//
this.drawLine();
});
},
},
},
mounted() {
this.drawLine();
},
methods: {
drawLine() {
// domecharts
var myChart = echarts.init(document.getElementById("roboticRate"));
let value = "30%";
let title = "设备在线率";
var option = {
title: [
{
text: "{a|" + value + "}\n{c|" + title + "}",
x: "center",
top: "35%",
textStyle: {
rich: {
a: {
fontSize: 15,
color: "#ffffff",
},
c: {
fontSize: 10,
color: "#ffffff",
padding: [5, 0],
},
},
},
},
],
// backgroundColor: "#111",
polar: {
radius: ["70%", "95%"],
center: ["50%", "50%"],
},
angleAxis: {
max: 100,
show: false,
},
radiusAxis: {
type: "category",
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
},
series: [
{
name: "",
type: "bar",
roundCap: true,
barWidth: 90,
showBackground: true,
backgroundStyle: {
color: "rgba(66, 66, 66, .3)",
},
data: [30],
coordinateSystem: "polar",
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
{
offset: 0,
color: "#717171",
},
{
offset: 1,
color: "#717171",
},
]),
},
},
},
// {
// name: '',
// type: 'pie',
// startAngle: 80,
// radius: ['6%'],
// hoverAnimation: false,
// center: ['50%', '50%'],
// itemStyle: {
// color: 'rgba(66, 66, 66, .1)',
// borderWidth: 1,
// borderColor: '#5269EE',
// },
// data: [100],
// },
{
name: "",
type: "pie",
startAngle: 80,
radius: ["100%"],
hoverAnimation: false,
center: ["50%", "50%"],
itemStyle: {
color: "rgba(66, 66, 66, .1)",
borderWidth: 1,
borderColor: "#5269EE",
},
data: [100],
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
padding: 0px !important;
min-height: calc(0vh - 0px) !important;
}
</style>

View File

@ -0,0 +1,362 @@
<template>
<div class="shopping-classify">
<div class="right-menu" id="container">
<!-- -->
<div style="height: 10%">
<el-row type="flex" justify="space-between" style="height: 100%">
<el-col :span="10">
<div
class="grid-content bg-purple"
style="display: flex; flex-direction: row-reverse"
>
<!-- <svg-icon
:icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
style="
width: 20px;
height: 20px;
color: #f4deb0;
margin: 0% -70% 1% 0%;
"
@click="buttoncli"
/> -->
<img
@click="buttoncli"
style="height: 40px; margin: 5% 4.3% 0% 0%"
src="../../../../assets/images/return.png"
/></div
></el-col>
<el-col
:span="5"
style="
display: flex;
flex-direction: column;
justify-content: space-evenly;
align-items: center;
"
><div style="color: #fff; font-size: 30px; font-weight: 700">
{{ this.title }}
</div>
<div
style="color: rgb(9 207 255); font-size: 21px; margin-bottom: 4%"
>
2024.02.27 14:11:00
</div>
</el-col>
<el-col :span="10"
><div class="grid-content bg-purple" style="display: flex">
<img
style="height: 40px; margin: 5% 0% 0% 4%"
src="../../../../assets/images/biaotixiugai.png"
@click="handleChange"
/>
</div>
</el-col>
</el-row>
</div>
<!-- 第一部分 -->
<div style="height: 10%">
</div>
<!-- 第二部分 -->
<div style="height: 80%">
</div>
<!--标题修改-->
<el-dialog :visible.sync="titleVisible" append-to-body width="30%">
<el-form ref="installForm" :model="installForm" label-width="80px">
<el-form-item label="标题修改">
<el-input
maxlength="11"
show-word-limit
v-model="installForm.name"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="titleVisible = false">取消</el-button>
<el-button type="primary" @click="sumitInstall">确认</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
// import * as statisServer from "@/api/statistics";
// import { getInfo } from "@/api/user";
import screenfull from "screenfull";
import online from "./components/online.vue";
import offline from "./components/offline.vue";
import fault from "./components/fault.vue";
import onlineRate from "./components/onlineRate.vue";
import roboticRate from "./components/roboticRate.vue";
import AGVrate from "./components/AGVrate.vue";
export default {
components: { online, offline, fault, onlineRate, roboticRate, AGVrate },
data() {
return {
screenfull: false,
title: "生产监控分析",
titleVisible: false,
installForm: { name: "" },
taskForm: {
total_num: 0, // /
completed_num: 0,
incompleted_num: 0,
},
lineChartData: {},
totalarr: 0, //
month: "", //
Contracts: "",
barquantity: [],
offlineData: [],
faultData: [],
onlineRateData: [],
roboticRateData: [],
AGVrateData: [],
signarr: [],
detection: [],
reports: "",
issue: "1",
accumulation: true,
thisYear: false,
isFullscreen: false,
radio1: 1,
radio2: 1,
radio3: 1,
};
},
created() {
//
window.addEventListener("resize", this.onresize);
this.getList();
this.findTasks();
this.findContactList();
this.findSampleClass();
this.findvalid();
this.findSortContNumList();
this.NumberReports();
this.factorNumber();
},
// beforeDestroy() {
// //
// window.removeEventListener("resize", this.onresize);
// },
methods: {
//
onresize(event) {
// windowIE
let winFlag = window.innerHeight === window.screen.height;
// window -- IE
let isFull = window.fullScreen || document.webkitIsFullScreen;
if (isFull === undefined) {
this.isFullscreen = winFlag;
} else {
this.isFullscreen = winFlag || isFull;
}
// console.log(winFlag); // true false
},
buttoncli() {
const element = document.getElementById("container");
if (!screenfull) {
this.$message({
message: "浏览器不能全屏,安装其他版本试试",
type: "warning",
});
return false;
}
screenfull.toggle(element);
this.findSampleClass();
this.findSortContNumList();
this.factorNumber();
},
buttoncliArr() {
const element = document.getElementById("container");
if (!screenfull) {
this.$message({
message: "浏览器不能全屏,安装其他版本试试",
type: "warning",
});
return false;
}
screenfull.toggle(element);
},
getList() {
// getInfo().then(res => {
// this.title = res.result.screenName;
// });
},
//
findTasks() {
// statisServer.findCompleteTask({ type: 1 }).then(res => {
// if (res.code === 200) {
// const taskForm = res.result.find(i => i.name === "");
// this.taskForm.total_num = taskForm.totalCnt;
// this.taskForm.completed_num = Number(
// taskForm.totalCnt - taskForm.completeCnt
// ).toFixed(0);
// this.taskForm.incompleted_num = taskForm.completeCnt;
// }
// });
},
//
findContactList() {
// statisServer.findValidContractsForPass11Month().then(res => {
// if (res.code === 200) {
// this.lineChartData = res.result || [];
// //
// this.lineChartData.contactNum.forEach(item => {
// this.totalarr += item;
// });
// //
// this.month = this.lineChartData.contactNum.pop();
// }
// });
},
//
findSampleClass() {
// statisServer.findStoredSampleClassificationCnt({ limit: 6 }).then(res => {
// if (res.code === 200) {
// var arr = [];
// var barData = res.result.xNameData;
// var barquantity = res.result.xValData;
// //
// barData.forEach((item, i) => {
// arr.push({
// name: item,
// value: barquantity[i]
// });
// });
// this.barquantity = arr;
// }
// });
},
findvalid() {
// statisServer.findValidContracts({ type: 0 }).then(res => {
// if (res.code === 200) {
// this.Contracts = res.result.cusSum;
// }
// });
},
//
findSortContNumList() {
// statisServer.findSortContNum({ type: 1, limit: 5 }).then(res => {
// if (res.code === 200) {
// var arr = [];
// var barData = res.result.xNameData;
// var barquantity = res.result.xValData;
// //
// barData.forEach((item, i) => {
// arr.push({
// code: item,
// fundPost: barquantity[i]
// });
// });
// arr.sort((a, b) => {
// return b.fundPost - a.fundPost;
// }); //
// this.signarr = arr.slice(0, 10);
// }
// });
},
//
NumberReports() {
// statisServer.getReport({ type: this.issue }).then(res => {
// if (res.code === 200) {
// this.reports = res.result;
// }
// });
},
//
factorNumber() {
// statisServer.detectorFactor().then(res => {
// if (res.code === 200) {
// var arr = res.result;
// arr.sort((a, b) => {
// return b.value - a.value;
// }); //
// this.detection = arr.slice(0, 10);
// }
// });
},
handleChange() {
this.titleVisible = true;
},
//
sumitInstall() {
// statisServer.updateName(this.installForm).then(res => {
// if (res.code === 200) {
// this.$notify({
// title: "",
// message: res.message,
// type: "success"
// });
// this.titleVisible = false;
// this.getList();
// }
// });
},
accumulationClick() {
this.issue = 2;
this.accumulation = false;
this.thisYear = true;
this.NumberReports();
},
thisYearClick() {
this.issue = 1;
this.accumulation = true;
this.thisYear = false;
this.NumberReports();
},
},
};
</script>
<style lang="scss" scoped>
#container {
display: flex;
flex-direction: column;
width: 100%;
height: 100vh;
background: url("../../../../assets/images/scjk.png") center center
no-repeat;
background-size: 100% 100%;
}
.row-bg-1 {
height: 70px;
color: #fff;
text-align: center;
}
.row-bg-3 {
height: 100%;
text-align: center;
color: #fff;
font-size: 20px;
font-weight: 700;
}
.row-bg-4 {
color: #8bdbe6;
font-size: 25px;
margin-top: 27%;
font-weight: 500;
}
.row-bg-5 {
height: 365px;
text-align: center;
color: #fff;
font-size: 20px;
font-weight: 700;
}
</style>

View File

@ -109,7 +109,7 @@
<el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/> <el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/> <el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" /> <el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="工单数量" align="center" prop="quantity" /> <el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="调整数量" align="center" prop="quantityChanged" /> <el-table-column label="调整数量" align="center" prop="quantityChanged" />
<el-table-column label="已生产数量" align="center" width="100px" prop="quantityProduced" /> <el-table-column label="已生产数量" align="center" width="100px" prop="quantityProduced" />
<el-table-column label="客户编码" align="center" prop="clientCode" /> <el-table-column label="客户编码" align="center" prop="clientCode" />
@ -218,7 +218,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工单数量" prop="quantity"> <el-form-item label="计划数量" prop="quantity">
<el-input v-model="form.quantity" readonly="readonly" /> <el-input v-model="form.quantity" readonly="readonly" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -160,7 +160,7 @@
<el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/> <el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/> <el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" /> <el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="工单数量" align="center" prop="quantity" /> <el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="调整数量" align="center" prop="quantityChanged" /> <el-table-column label="调整数量" align="center" prop="quantityChanged" />
<el-table-column label="已生产数量" align="center" width="100px" prop="quantityProduced" /> <el-table-column label="已生产数量" align="center" width="100px" prop="quantityProduced" />
<el-table-column label="批次号" align="center" width="100px" prop="batchCode" /> <el-table-column label="批次号" align="center" width="100px" prop="batchCode" />
@ -323,8 +323,8 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="工单数量" prop="quantity"> <el-form-item label="计划数量" prop="quantity">
<el-input-number :min="1" v-model="form.quantity" placeholder="请输入生产数量" /> <el-input-number :min="1" v-model="form.quantity" placeholder="请输入计划数量" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">