diff --git a/src/views/equipment/analysis/exception/index.vue b/src/views/equipment/analysis/exception/index.vue
index 7498d077..a7afb2df 100644
--- a/src/views/equipment/analysis/exception/index.vue
+++ b/src/views/equipment/analysis/exception/index.vue
@@ -50,36 +50,46 @@ export default {
data() {
return {
searchBarKeys: ['name', 'code'],
+ // tableBtn: [
+ // this.$auth.hasPermi('base:equipment-group:update')
+ // ? {
+ // type: 'edit',
+ // btnName: '修改',
+ // }
+ // : undefined,
+ // this.$auth.hasPermi('base:equipment-group:delete')
+ // ? {
+ // type: 'delete',
+ // btnName: '删除',
+ // }
+ // : undefined,
+ // ].filter((v) => v),
tableBtn: [
- this.$auth.hasPermi('base:equipment-group:update')
- ? {
- type: 'edit',
- btnName: '修改',
- }
- : undefined,
- this.$auth.hasPermi('base:equipment-group:delete')
- ? {
- type: 'delete',
- btnName: '删除',
- }
- : undefined,
- ].filter((v) => v),
+ {
+ type: 'edit',
+ btnName: '修改',
+ },
+ {
+ type: 'delete',
+ btnName: '删除',
+ },
+ ],
tableProps: [
{ prop: 'lineName', label: '产线' },
{ prop: 'sectionName', label: '工段' },
{ prop: 'equipmentName', label: '设备' },
{
- width: 188,
+ width: 240,
prop: 'mtbf',
label: '平均故障间隔时间[MTBF](h)',
},
{
- width: 180,
+ width: 240,
prop: 'mttr',
label: '平均维修时间[MTTR](h)',
},
- { prop: 'workTime', label: '工作时长(h)' },
- { prop: 'downTime', label: '故障时长(h)' },
+ { width: 128, prop: 'workTime', label: '工作时长(h)' },
+ { width: 128, prop: 'downTime', label: '故障时长(h)' },
{ prop: 'downCount', label: '故障次数' },
],
searchBarFormConfig: [
@@ -111,6 +121,8 @@ export default {
],
// 查询参数
queryParams: {
+ pageNo: 1,
+ pageSize: 10,
lineId: null,
factoryId: null,
recordTime: null,
diff --git a/src/views/equipment/analysis/quality/components/lineChart.vue b/src/views/equipment/analysis/quality/components/lineChart.vue
index f3a93bc8..d7722a93 100644
--- a/src/views/equipment/analysis/quality/components/lineChart.vue
+++ b/src/views/equipment/analysis/quality/components/lineChart.vue
@@ -15,27 +15,143 @@ import * as echarts from 'echarts';
export default {
name: 'LineChart',
components: {},
- props: ['config'],
+ props: ['config', 'list'],
data() {
return {
chart: null,
};
},
- computed: {},
+ // watch: {
+ // list: {
+ // handler(listdata) {
+ // if (listdata && listdata.length) {
+ // console.log('[linechart] list changed', listdata);
+ // const option = this.handleList(listdata);
+ // this.setOption(option);
+ // }
+ // },
+ // immediate: true,
+ // },
+ // },
+ computed: {
+ option() {
+ const opt = [];
+ this.list.map((eq) => {
+ /** [设备名, ok数量, 不ok数量] */
+ opt.push([eq.equipmentName, eq.okQuantity, eq.nokQuantity]);
+ });
+ return {
+ color: ['#8EF0AB', '#288AFF'],
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow',
+ },
+ },
+ legend: {
+ itemWidth: 12,
+ itemHeight: 12,
+ right: 0,
+ },
+ grid: {
+ left: '1%',
+ right: '1%',
+ top: '8%',
+ bottom: '3%',
+ containLabel: true,
+ },
+ // xAxis: [
+ // {
+ // type: 'category',
+ // data: ['设备1', '设备2', '设备3', '设备4', '设备5'],
+ // },
+ // ],
+ // yAxis: [
+ // {
+ // type: 'value',
+ // splitLine: {
+ // lineStyle: {
+ // color: '#0001',
+ // },
+ // },
+ // },
+ // ],
+ xAxis: {
+ type: 'category',
+ axisTick: { show: false },
+ data: opt.map((item) => item[0]),
+ },
+ yAxis: {
+ type: 'value',
+ splitLine: {
+ lineStyle: {
+ color: '#0001',
+ },
+ },
+ },
+ series: [
+ {
+ name: '不合格数量',
+ type: 'bar',
+ barWidth: 20,
+ stack: 's',
+ data: opt.map((item) => item[2]),
+ },
+ {
+ name: '合格数量',
+ type: 'bar',
+ barWidth: 20,
+ stack: 's',
+ data: opt.map((item) => item[1]),
+ },
+ ],
+ };
+ },
+ },
mounted() {
+ console.log('[linechart] mounted');
this.init();
},
beforeDestroy() {
if (this.chart) {
this.chart.dispose();
}
+ console.log('[linechart] destroyed');
},
methods: {
init() {
- console.log('thsi el', this.$el);
if (!this.chart) this.chart = echarts.init(this.$el);
- this.chart.setOption(this.config);
+ console.log('[linechart] initialized', this.$el);
+ this.$nextTick(() => {
+ this.setOption();
+ });
},
+
+ setOption() {
+ if (this.chart) this.chart.setOption(this.option);
+ console.log('[linechart] option settled');
+ },
+
+ // handleList(list) {
+ // /** 清空数据 */
+ // this.option.series[0].data.splice(0);
+ // this.option.series[1].data.splice(0);
+ // this.option.xAxis.data.splice(0);
+
+ // list.map((eq) => {
+ // this.option.xAxis.data.push(eq.equipmentName);
+ // this.option.series[0].data.push(eq.nokQuantity);
+ // this.option.series[1].data.push(eq.okQuantity);
+ // });
+
+ // this.setOption();
+
+ // // const pureList = list.map((eq) => ({
+ // // name: eq.equipmentName,
+ // // ok: eq.okQuantity,
+ // // nok: eq.nokQuantity,
+ // // }));
+ // },
},
};
@@ -43,7 +159,7 @@ export default {
diff --git a/src/views/equipment/analysis/quality/index.vue b/src/views/equipment/analysis/quality/index.vue
index 1a4adfa3..431b4eea 100644
--- a/src/views/equipment/analysis/quality/index.vue
+++ b/src/views/equipment/analysis/quality/index.vue
@@ -13,24 +13,30 @@
ref="search-bar"
@headBtnClick="handleSearchBarBtnClick" />
-
-