|
|
|
@ -144,12 +144,13 @@
|
|
|
|
|
top: 28px;
|
|
|
|
|
font-size: 5px;
|
|
|
|
|
"
|
|
|
|
|
v-model="ymdArray"
|
|
|
|
|
v-model="ymdArray1"
|
|
|
|
|
type="daterange"
|
|
|
|
|
range-separator="至"
|
|
|
|
|
start-placeholder="开始日期"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
end-placeholder="结束日期"
|
|
|
|
|
@change="noOkTimeChange"
|
|
|
|
|
>
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</div>
|
|
|
|
@ -173,7 +174,7 @@
|
|
|
|
|
{{ n.projectName }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="itemname2">
|
|
|
|
|
{{ n.checkManName }} {{ n.checkTime }}
|
|
|
|
|
{{ n.checkManName }} {{ n.checkTime }}|{{ n.className }}|{{ n.defectSubclass }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -193,12 +194,13 @@
|
|
|
|
|
top: 28px;
|
|
|
|
|
font-size: 5px;
|
|
|
|
|
"
|
|
|
|
|
v-model="ymdArray"
|
|
|
|
|
v-model="ymdArray2"
|
|
|
|
|
type="daterange"
|
|
|
|
|
range-separator="至"
|
|
|
|
|
start-placeholder="开始日期"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
end-placeholder="结束日期"
|
|
|
|
|
@change="noOkRadioTimeChange"
|
|
|
|
|
>
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</div>
|
|
|
|
@ -220,7 +222,7 @@
|
|
|
|
|
<div class="itembottom">
|
|
|
|
|
<div class="item-table item-table1">
|
|
|
|
|
<div class="titlebox" style="margin-bottom: 14px">
|
|
|
|
|
<div class="titlename">本年各日产品异常趋势</div>
|
|
|
|
|
<div class="titlename">本月每日线体异常趋势</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
id="echart5"
|
|
|
|
@ -231,8 +233,7 @@
|
|
|
|
|
<div class="titlebox" style="margin-bottom: 14px">
|
|
|
|
|
<div class="titlename">产品不合格率同期对比</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
id="echart6"
|
|
|
|
|
<div id="echart6"
|
|
|
|
|
style="margin: auto; width: 900px; height: 304.15px"
|
|
|
|
|
></div>
|
|
|
|
|
</div>
|
|
|
|
@ -311,9 +312,12 @@ export default {
|
|
|
|
|
yearShow: false,
|
|
|
|
|
monthShow: true,
|
|
|
|
|
dateShow: false,
|
|
|
|
|
ymdArray: [],
|
|
|
|
|
ymdStart: null,
|
|
|
|
|
ymdEnd: null,
|
|
|
|
|
ymdArray1: [],
|
|
|
|
|
ymdStart1: null,
|
|
|
|
|
ymdEnd1: null,
|
|
|
|
|
ymdArray2: [],
|
|
|
|
|
ymdStart2: null,
|
|
|
|
|
ymdEnd2: null,
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
@ -333,17 +337,17 @@ export default {
|
|
|
|
|
getDate() {
|
|
|
|
|
let start = this.Fungetdate(0);
|
|
|
|
|
let end = this.Fungetdate(0);
|
|
|
|
|
this.ymdArray.push(start, end);
|
|
|
|
|
this.ymdArray1.push(start, end);
|
|
|
|
|
this.ymdArray2.push(start, end);
|
|
|
|
|
this.optionDatalist1 = [];
|
|
|
|
|
this.optionDatalist2 = [];
|
|
|
|
|
this.optionDatalist3 = [];
|
|
|
|
|
this.optionDatalist4 = [];
|
|
|
|
|
this.ymdStart = moment(this.ymdArray[0]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdEnd = moment(this.ymdArray[1]).format("YYYY-MM-DD");
|
|
|
|
|
this.getdatalist(
|
|
|
|
|
moment(this.ymdArray[0]).format("YYYY-MM-DD"),
|
|
|
|
|
moment(this.ymdArray[1]).format("YYYY-MM-DD")
|
|
|
|
|
);
|
|
|
|
|
this.ymdStart1 = moment(this.ymdArray1[0]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdEnd1 = moment(this.ymdArray1[1]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdStart2 = moment(this.ymdArray2[0]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdEnd2 = moment(this.ymdArray2[1]).format("YYYY-MM-DD");
|
|
|
|
|
this.getdatalist();
|
|
|
|
|
this.initChart1();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@ -381,11 +385,12 @@ export default {
|
|
|
|
|
getDeviceRefreshTime() {
|
|
|
|
|
const _this = this;
|
|
|
|
|
getDeviceRefreshTime().then((response) => {
|
|
|
|
|
|
|
|
|
|
if (response.data) {
|
|
|
|
|
// console.log(response.data)
|
|
|
|
|
this.RefreshTime = response.data;
|
|
|
|
|
this.time1 = setInterval(() => {
|
|
|
|
|
_this.getdatalist(_this.ymdStart, _this.ymdEnd);
|
|
|
|
|
_this.getdatalist();
|
|
|
|
|
_this.initChart1();
|
|
|
|
|
}, 1000 * 60 * this.RefreshTime);
|
|
|
|
|
}
|
|
|
|
@ -409,6 +414,45 @@ export default {
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
// },
|
|
|
|
|
noOkTimeChange(){
|
|
|
|
|
this.ymdStart1 = moment(this.ymdArray1[0]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdEnd1 = moment(this.ymdArray1[1]).format("YYYY-MM-DD");
|
|
|
|
|
//质量异常信息
|
|
|
|
|
getProduceNoOkList({
|
|
|
|
|
typeCode: "produce",
|
|
|
|
|
ymdType: this.selectxtclasses,
|
|
|
|
|
productDateStart: this.ymdStart1,
|
|
|
|
|
productDateEnd: this.ymdEnd1,
|
|
|
|
|
factoryCode: "ds_" + this.selectxt,
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response) {
|
|
|
|
|
this.Qualitylist = response;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
noOkRadioTimeChange(){
|
|
|
|
|
this.ymdStart2 = moment(this.ymdArray2[0]).format("YYYY-MM-DD");
|
|
|
|
|
this.ymdEnd2 = moment(this.ymdArray2[1]).format("YYYY-MM-DD");
|
|
|
|
|
//不良类型占比
|
|
|
|
|
getCheckProjectsPie({
|
|
|
|
|
typeCode: "produce",
|
|
|
|
|
ymdType: this.selectxtclasses,
|
|
|
|
|
productDateStart: this.ymdStart2,
|
|
|
|
|
productDateEnd: this.ymdEnd2,
|
|
|
|
|
factoryCode: "ds_" + this.selectxt,
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response) {
|
|
|
|
|
this.optionDatalist2 = [];
|
|
|
|
|
response.forEach((item) => {
|
|
|
|
|
let a = {};
|
|
|
|
|
a.name = item.projectName;
|
|
|
|
|
a.value = item.quality;
|
|
|
|
|
this.optionDatalist2.push(a);
|
|
|
|
|
});
|
|
|
|
|
this.initChart3();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getdatalist() {
|
|
|
|
|
const _this = this;
|
|
|
|
@ -428,8 +472,8 @@ export default {
|
|
|
|
|
getProduceNoOkList({
|
|
|
|
|
typeCode: "produce",
|
|
|
|
|
ymdType: _this.selectxtclasses,
|
|
|
|
|
productDateStart: this.ymdStart,
|
|
|
|
|
productDateEnd: this.ymdEnd,
|
|
|
|
|
productDateStart: this.ymdStart1,
|
|
|
|
|
productDateEnd: this.ymdEnd1,
|
|
|
|
|
factoryCode: "ds_" + _this.selectxt,
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response) {
|
|
|
|
@ -440,8 +484,8 @@ export default {
|
|
|
|
|
getCheckProjectsPie({
|
|
|
|
|
typeCode: "produce",
|
|
|
|
|
ymdType: _this.selectxtclasses,
|
|
|
|
|
productDateStart: this.ymdStart,
|
|
|
|
|
productDateEnd: this.ymdEnd,
|
|
|
|
|
productDateStart: this.ymdStart2,
|
|
|
|
|
productDateEnd: this.ymdEnd2,
|
|
|
|
|
factoryCode: "ds_" + _this.selectxt,
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response) {
|
|
|
|
@ -549,7 +593,7 @@ export default {
|
|
|
|
|
position: "right",
|
|
|
|
|
distance: 10, //
|
|
|
|
|
show: true,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data: [], // value鍊<EFBFBD>
|
|
|
|
|
tooltip: {
|
|
|
|
@ -662,6 +706,10 @@ export default {
|
|
|
|
|
tooltip: {
|
|
|
|
|
show: true,
|
|
|
|
|
trigger: "item",
|
|
|
|
|
formatter: function(params) {
|
|
|
|
|
const value = parseInt(params.value) || params.value;
|
|
|
|
|
return `${params.seriesName}<br/>${params.name}: ${value} PC`;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
show: true,
|
|
|
|
@ -802,7 +850,7 @@ export default {
|
|
|
|
|
crossStyle: {
|
|
|
|
|
color: "#999",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
show: true,
|
|
|
|
@ -906,9 +954,9 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: "不合格比例",
|
|
|
|
|
name: "去年不合格率(%)",
|
|
|
|
|
type: "line",
|
|
|
|
|
stack: "总量",
|
|
|
|
|
stack: "无",
|
|
|
|
|
symbol: "circle",
|
|
|
|
|
symbolSize: 8,
|
|
|
|
|
yAxisIndex: 1,
|
|
|
|
@ -921,17 +969,17 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true, // 开启显示
|
|
|
|
|
position: "top", // 显示位置,可以是'top', 'bottom', 'left', 'right'等
|
|
|
|
|
formatter: "{c}", // {c} 表示系列中的当前数据值
|
|
|
|
|
},
|
|
|
|
|
//label: {
|
|
|
|
|
// show: true, // 开启显示
|
|
|
|
|
// position: "top", // 显示位置,可以是'top', 'bottom', 'left', 'right'等
|
|
|
|
|
// formatter: "{c}", // {c} 表示系列中的当前数据值
|
|
|
|
|
//},
|
|
|
|
|
data: [],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "本年",
|
|
|
|
|
name: "本年不合格率(%)",
|
|
|
|
|
type: "line",
|
|
|
|
|
stack: "总量",
|
|
|
|
|
stack: "无",
|
|
|
|
|
symbol: "circle",
|
|
|
|
|
symbolSize: 8,
|
|
|
|
|
yAxisIndex: 1,
|
|
|
|
@ -944,12 +992,25 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
//label: {
|
|
|
|
|
// show: true, // 开启显示
|
|
|
|
|
// position: "bottom", // 显示位置,可以是'top', 'bottom', 'left', 'right'等
|
|
|
|
|
// formatter: "{c}", // {c} 表示系列中的当前数据值
|
|
|
|
|
//},
|
|
|
|
|
data: [],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "上年",
|
|
|
|
|
name: "去年不合格数量(PC)",
|
|
|
|
|
data: [],
|
|
|
|
|
type: "bar",
|
|
|
|
|
label: { // 在柱顶显示数值
|
|
|
|
|
show: true,
|
|
|
|
|
position: 'top', // 位置在柱顶
|
|
|
|
|
formatter: function(params) {// 显示数据值
|
|
|
|
|
const value = parseInt(params.value) || params.value;
|
|
|
|
|
return `${value} PC`;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
showBackground: true,
|
|
|
|
|
backgroundStyle: {
|
|
|
|
|
color: "rgba(180, 180, 180, 0.2)",
|
|
|
|
@ -965,9 +1026,17 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "不合格数量",
|
|
|
|
|
name: "本年不合格数量(PC)",
|
|
|
|
|
data: [],
|
|
|
|
|
type: "bar",
|
|
|
|
|
label: { // 在柱顶显示数值
|
|
|
|
|
show: true,
|
|
|
|
|
position: 'top', // 位置在柱顶
|
|
|
|
|
formatter: function(params) {// 显示数据值
|
|
|
|
|
const value = parseInt(params.value) || params.value;
|
|
|
|
|
return `${value} PC`;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
showBackground: true,
|
|
|
|
|
backgroundStyle: {
|
|
|
|
|
color: "rgba(180, 180, 180, 0.2)",
|
|
|
|
@ -1001,8 +1070,10 @@ export default {
|
|
|
|
|
let max4 = Math.max(...seriesdata4) + 5;
|
|
|
|
|
|
|
|
|
|
let legenddata = [];
|
|
|
|
|
legenddata.push("上年");
|
|
|
|
|
legenddata.push("本年");
|
|
|
|
|
legenddata.push("去年不合格数量(PC)");
|
|
|
|
|
legenddata.push("本年不合格数量(PC)");
|
|
|
|
|
legenddata.push("去年不合格率(%)");
|
|
|
|
|
legenddata.push("本年不合格率(%)");
|
|
|
|
|
let yAxismax1 = 0;
|
|
|
|
|
let yAxismax2 = 0;
|
|
|
|
|
if (max1 > max2) {
|
|
|
|
@ -1508,6 +1579,7 @@ export default {
|
|
|
|
|
//提示框组件。开发实际中去掉了指针,提示框可以不用设置。
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: "item",
|
|
|
|
|
formatter: "{a} <br/>{b} : {c}PC"
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
top: "60",
|
|
|
|
@ -1520,7 +1592,7 @@ export default {
|
|
|
|
|
rich: {
|
|
|
|
|
a: {
|
|
|
|
|
color: "#FFFFFF",
|
|
|
|
|
width: 30,
|
|
|
|
|
width: 70,
|
|
|
|
|
fontSize: 13,
|
|
|
|
|
},
|
|
|
|
|
b: {
|
|
|
|
@ -1542,7 +1614,7 @@ export default {
|
|
|
|
|
var index;
|
|
|
|
|
for (var i = 0, l = data.length; i < l; i++) {
|
|
|
|
|
if (data[i].name == name) {
|
|
|
|
|
target = data[i].value;
|
|
|
|
|
target = data[i].value+"PC";
|
|
|
|
|
title = data[i].label;
|
|
|
|
|
index = i < 6 ? i : 5;
|
|
|
|
|
}
|
|
|
|
@ -1633,16 +1705,19 @@ export default {
|
|
|
|
|
radius: ["44%", "63%"],
|
|
|
|
|
center: ["50%", "40%"],
|
|
|
|
|
roseType: "radius",
|
|
|
|
|
// itemStyle: {
|
|
|
|
|
// normal: {
|
|
|
|
|
// color: function (params) {
|
|
|
|
|
// return colorList[params.dataIndex]
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
//label: {
|
|
|
|
|
// formatter: function(params) {
|
|
|
|
|
// // params 包含数据项信息
|
|
|
|
|
// return `${params.name}: ${params.value}PC (${params.percent}%)`;
|
|
|
|
|
// }
|
|
|
|
|
//},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'item', // 触发类型,饼图使用'item'
|
|
|
|
|
formatter: '{b}: {c}PC ({d}%)' // 默认格式
|
|
|
|
|
},
|
|
|
|
|
emphasis: {
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|