diff --git a/src/api/quality/qcTable.js b/src/api/quality/qcTable.js
index f9d8c6d..5e99d05 100644
--- a/src/api/quality/qcTable.js
+++ b/src/api/quality/qcTable.js
@@ -207,4 +207,93 @@ export function getTableCPKList(query) {
method: 'get',
params: query
});
-}
\ No newline at end of file
+}
+
+//白坯质量报表头部
+export function getMonthOfDateTitle(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfDateTitle',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getMonthOfData(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfData',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getMonthOfLine(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfLine',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getMonthOfDataRework(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfDataRework',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getMonthOfLineRework(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfLineRework',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getMonthOfDataDefect(query) {
+ return request({
+ url: '/quality/staticTable/getMonthOfDataDefect',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getDefectItemTitle(query) {
+ return request({
+ url: '/quality/staticTable/getDefectItemTitle',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getDefectItemData(query) {
+ return request({
+ url: '/quality/staticTable/getDefectItemData',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getDefectItemLine(query) {
+ return request({
+ url: '/quality/staticTable/getDefectItemLine',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getDefectItemDataPC(query) {
+ return request({
+ url: '/quality/staticTable/getDefectItemDataPC',
+ method: 'get',
+ params: query
+ });
+}
+
+export function getDefectItemLinePC(query) {
+ return request({
+ url: '/quality/staticTable/getDefectItemLinePC',
+ method: 'get',
+ params: query
+ });
+}
diff --git a/src/views/kanban/quality/kanban1.vue b/src/views/kanban/quality/kanban1.vue
index ebf2b2d..3437a80 100644
--- a/src/views/kanban/quality/kanban1.vue
+++ b/src/views/kanban/quality/kanban1.vue
@@ -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"
>
@@ -173,7 +174,7 @@
{{ n.projectName }}
- {{ n.checkManName }} {{ n.checkTime }}
+ {{ n.checkManName }} {{ n.checkTime }}|{{ n.className }}|{{ n.defectSubclass }}
@@ -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"
>
@@ -220,7 +222,7 @@
-
本年各日产品异常趋势
+
本月每日线体异常趋势
-
@@ -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鍊�
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}
${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}
{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,
diff --git a/src/views/quality/report/bpDefect/index.vue b/src/views/quality/report/bpDefect/index.vue
new file mode 100644
index 0000000..48d6ef4
--- /dev/null
+++ b/src/views/quality/report/bpDefect/index.vue
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 导出
+ 说明:空白处表示当日未生产。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/quality/report/bpDefectItem/index.vue b/src/views/quality/report/bpDefectItem/index.vue
new file mode 100644
index 0000000..abf5451
--- /dev/null
+++ b/src/views/quality/report/bpDefectItem/index.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 导出
+ 说明:空白处表示当日未生产。
+
+
+
+
+
+
+
+ {{form.column080090}} 年 {{form.column090100}} 月 份 白 坯 不 良 排 列 图
+
+
+
+ {{form.materialName}}
+ {{form.sampleQty}}
+
+ {{form.workCenter}}
+ {{form.noOkQty}}
+
+ {{form.noOkNumRate}}
+ {{form.okNumRate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/quality/report/bpDefectItemPC/index.vue b/src/views/quality/report/bpDefectItemPC/index.vue
new file mode 100644
index 0000000..a256178
--- /dev/null
+++ b/src/views/quality/report/bpDefectItemPC/index.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 导出
+ 说明:空白处表示当日未生产。
+
+
+
+
+
+
+
+ {{form.column080090}} 年 {{form.column090100}}月 黑蚊香白坯性能不良排列图
+
+
+
+ {{form.materialName}}
+ {{form.sampleQty}}
+
+ {{form.workCenter}}
+ {{form.noOkQty}}
+
+ {{form.noOkNumRate}}
+ {{form.okNumRate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/quality/report/bpNookRate/index.vue b/src/views/quality/report/bpNookRate/index.vue
new file mode 100644
index 0000000..2c1f9b6
--- /dev/null
+++ b/src/views/quality/report/bpNookRate/index.vue
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 导出
+ 说明:空白处表示当日未生产。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/quality/report/bpReworkRate/index.vue b/src/views/quality/report/bpReworkRate/index.vue
new file mode 100644
index 0000000..e6df143
--- /dev/null
+++ b/src/views/quality/report/bpReworkRate/index.vue
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 导出
+ 说明:空白处表示当日未生产。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+