diff --git a/src/views/3DOverview/components/DianChart.vue b/src/views/3DOverview/components/DianChart.vue index a8a0478..a4ec652 100644 --- a/src/views/3DOverview/components/DianChart.vue +++ b/src/views/3DOverview/components/DianChart.vue @@ -84,6 +84,15 @@ export default { left: 64, bottom: 28 }, + tooltip: { + show: true, + trigger: 'axis', + axisPointer: { + type: 'line', + axis: 'x' + }, + extraCssText: 'width: 152px !important; height: 100px !important;' + }, xAxis: [ { type: 'category', @@ -121,10 +130,11 @@ export default { fontSize: 10 }, splitLine: { - show: false - // lineStyle: { - // color: '#fff3' - // } + show: true, + lineStyle: { + color: '#fff1', + type: 'dotted' + } } }, { @@ -148,10 +158,11 @@ export default { fontSize: 10 }, splitLine: { - show: false - // lineStyle: { - // color: '#fff3' - // } + show: true, + lineStyle: { + color: '#fff1', + type: 'dotted' + } } }, { @@ -168,8 +179,10 @@ export default { type: 'value', splitNumber: 3, splitLine: { + show: true, lineStyle: { - color: '#fff3' + color: '#fff1', + type: 'dotted' } }, axisLabel: { diff --git a/src/views/3DOverview/components/FadianChart.vue b/src/views/3DOverview/components/FadianChart.vue index 699975a..22fa8a4 100644 --- a/src/views/3DOverview/components/FadianChart.vue +++ b/src/views/3DOverview/components/FadianChart.vue @@ -51,6 +51,15 @@ export default { bottom: 0, containLabel: true }, + tooltip: { + show: true, + trigger: 'axis', + axisPointer: { + type: 'line', + axis: 'x' + }, + extraCssText: 'width: 152px !important; height: 100px !important;' + }, xAxis: { type: 'category', boundaryGap: false, @@ -89,8 +98,10 @@ export default { }, axisTick: { show: false }, splitLine: { + show: true, lineStyle: { - color: '#fff3' + color: '#fff1', + type: 'dotted' } } }, diff --git a/src/views/3DOverview/components/LeftContentEquipmentCheck.vue b/src/views/3DOverview/components/LeftContentEquipmentCheck.vue index 5fae185..82e0b46 100644 --- a/src/views/3DOverview/components/LeftContentEquipmentCheck.vue +++ b/src/views/3DOverview/components/LeftContentEquipmentCheck.vue @@ -58,7 +58,7 @@ const tableProps = [ { prop: 'checkContent', label: '巡检内容', align: 'center', 'min-width': 120 } ] const tableData = [ - { eqName: '钢化', pl: 'A', priority: 4, checkContent: '表面检测光源和相机的卫生' }, + { eqName: '钢化', pl: 'A', priority: 1, checkContent: '表面检测光源和相机的卫生' }, { eqName: '一镀', pl: 'A', priority: 1, checkContent: '辊道下方的碎玻璃清理' }, { eqName: '钢化', pl: 'B', priority: 3, checkContent: '边角检测设备水平的校正' }, { eqName: '冷却', pl: 'B', priority: 2, checkContent: '表面检测光源和相机的卫生' }, @@ -66,7 +66,7 @@ const tableData = [ { eqName: '钢后清洗机', pl: 'B', priority: 3, checkContent: '检查每日不良是否存在误检' }, { eqName: '磨边', pl: 'B', priority: 3, checkContent: '设备表面的卫生' }, { eqName: '打孔', pl: 'B', priority: 2, checkContent: '边角检测光源和相机的卫生' }, - { eqName: '磨边后清洗机', pl: 'B', priority: 4, checkContent: '边角检测光源和相机的卫生' }, + { eqName: '磨边后清洗机', pl: 'B', priority: 1, checkContent: '边角检测光源和相机的卫生' }, { eqName: '冷却', pl: 'B', priority: 1, checkContent: '辊道下方的碎玻璃清理' }, { eqName: '丝印', pl: 'B', priority: 3, checkContent: '操作台保持整洁' }, { eqName: '丝印', pl: 'A', priority: 2, checkContent: '检查每日不良是否存在误检' }, @@ -74,7 +74,7 @@ const tableData = [ { eqName: '冷却', pl: 'A', priority: 2, checkContent: '辊道下方的碎玻璃清理' }, { eqName: '下片', pl: 'A', priority: 1, checkContent: '水冷机内水量充足并且清洁' }, { eqName: '钢化', pl: 'A', priority: 2, checkContent: '操作台保持整洁' }, - { eqName: '预热', pl: 'B', priority: 4, checkContent: '水冷机内水量充足并且清洁' }, + { eqName: '预热', pl: 'B', priority: 3, checkContent: '水冷机内水量充足并且清洁' }, { eqName: '磨边后清洗机', pl: 'A', priority: 2, checkContent: '水冷机内水量充足并且清洁' }, { eqName: '上片', pl: 'B', priority: 3, checkContent: '边角检测光源和相机的卫生' }, { eqName: '预热', pl: 'A', priority: 2, checkContent: '表面检测光源和相机的卫生' } @@ -130,7 +130,7 @@ export default { color: #fff9; border: 0; height: 100%; - overflow-y: auto; + /* overflow-y: auto; */ } .el-table-wrapper >>> .el-table th.is-leaf, diff --git a/src/views/3DOverview/components/LeftContentPublicConsume.vue b/src/views/3DOverview/components/LeftContentPublicConsume.vue index 48b8086..8a16050 100644 --- a/src/views/3DOverview/components/LeftContentPublicConsume.vue +++ b/src/views/3DOverview/components/LeftContentPublicConsume.vue @@ -67,7 +67,7 @@ -
+
dian @@ -79,7 +79,7 @@
-
+
fadian @@ -153,6 +153,7 @@ export default { .header-part > span { color: #fffc; font-size: calc(12px * var(--beilv)); + white-space: nowrap; } .content-part { diff --git a/src/views/3DOverview/components/RightContentAlert.vue b/src/views/3DOverview/components/RightContentAlert.vue index d4f5199..37bb346 100644 --- a/src/views/3DOverview/components/RightContentAlert.vue +++ b/src/views/3DOverview/components/RightContentAlert.vue @@ -60,13 +60,13 @@ const tableProps = [ ] const tableData = [ - { eqName: '磨边', plName: 'B', content: '表面检测光源和相机的卫生', priority: 4, duration: '30 min' }, - { eqName: '冷却', plName: 'A', content: '辊道下方的碎玻璃清理', priority: 4, duration: '1 min' }, + { eqName: '磨边', plName: 'B', content: '表面检测光源和相机的卫生', priority: 1, duration: '30 min' }, + { eqName: '冷却', plName: 'A', content: '辊道下方的碎玻璃清理', priority: 3, duration: '1 min' }, { eqName: '丝印', plName: 'A', content: '边角检测设备水平的校正', priority: 2, duration: '57 min' }, { eqName: '打孔后清洗机', plName: 'B', content: '设备表面的卫生', priority: 3, duration: '17 min' }, { eqName: '固化', plName: 'B', content: '操作台保持整洁', priority: 2, duration: '22 min' }, { eqName: '一镀', plName: 'B', content: '辊道下方的碎玻璃清理', priority: 3, duration: '2 min' }, - { eqName: '钢化', plName: 'A', content: '检查每日不良是否存在误检', priority: 4, duration: '23 min' }, + { eqName: '钢化', plName: 'A', content: '检查每日不良是否存在误检', priority: 2, duration: '23 min' }, { eqName: '磨边', plName: 'B', content: '水冷机内水量充足并且清洁', priority: 3, duration: '6 min' }, { eqName: '磨边', plName: 'B', content: '表面检测光源和相机的卫生', priority: 2, duration: '23 min' }, { @@ -78,8 +78,8 @@ const tableData = [ }, { eqName: '预热', plName: 'B', content: '米织类劳约相查个而美五千老。', priority: 3, duration: '24 min' }, { eqName: '打孔后清洗机', plName: 'A', content: '历红群色务口史验话备必工少光。', priority: 1, duration: '48 min' }, - { eqName: '磨边', plName: 'A', content: '三其由体管严能习使为已身月。', priority: 4, duration: '29 min' }, - { eqName: '钢后清洗机', plName: 'A', content: '什近率期开构产府收由制期周。', priority: 4, duration: '47 min' }, + { eqName: '磨边', plName: 'A', content: '三其由体管严能习使为已身月。', priority: 3, duration: '29 min' }, + { eqName: '钢后清洗机', plName: 'A', content: '什近率期开构产府收由制期周。', priority: 1, duration: '47 min' }, { eqName: '下片', plName: 'A', content: '花公建了办间话个做直志利更在于。', priority: 2, duration: '49 min' }, { eqName: '一镀', plName: 'B', content: '术任该石代并战面广西处面住王规从他算。', priority: 3, duration: '42 min' }, { eqName: '二镀', plName: 'A', content: '体才眼自造统六识进后历定因受国。', priority: 2, duration: '42 min' }, @@ -144,7 +144,7 @@ export default { color: #fff9; border: 0; height: 100%; - overflow-y: auto; + /* overflow-y: auto; */ } .el-table-wrapper >>> .el-table th.is-leaf, diff --git a/src/views/3DOverview/components/RightContentFaultAnalysis.vue b/src/views/3DOverview/components/RightContentFaultAnalysis.vue index 1eea1c5..4e7ef0d 100644 --- a/src/views/3DOverview/components/RightContentFaultAnalysis.vue +++ b/src/views/3DOverview/components/RightContentFaultAnalysis.vue @@ -1,6 +1,11 @@ @@ -101,8 +106,8 @@ export default { configs: { title: { textAlign: 'center', - left: '63%', - top: '35%', + left: '64%', + top: '48%', text: demoData.reduce((prev, curr) => prev + curr.value, 0), textStyle: { color: '#fff', @@ -117,10 +122,11 @@ export default { fontWeight: 'lighter' } }, + legend: { top: 0, bottom: 0, - left: -15, + left: 0, orient: 'vertical', icon: 'none', itemGap: 8, @@ -204,8 +210,8 @@ export default { { name: 'PieForm', type: 'pie', - center: ['65%', '50%'], - radius: ['60%', '80%'], + center: ['65%', '60%'], + radius: ['42%', '60%'], avoidLabelOverlap: true, label: { formatter: params => { @@ -287,19 +293,21 @@ export default { const fs5 = this.calcFontsize(5 /** px*/) const fs8 = this.calcFontsize(8 /** px*/) const fs10 = this.calcFontsize(10 /** px*/) - const fs14 = this.calcFontsize(14 /** px*/) + const fs12 = this.calcFontsize(12 /** px*/) const fs16 = this.calcFontsize(16 /** px*/) + const titleSize = this.calcFontsize(22 /** px*/) + const subtitleSize = this.calcFontsize(14 /** px*/) - this.configs.title.textStyle.fontSize = fs14 - this.configs.title.subtextStyle.fontSize = fs10 + this.configs.title.textStyle.fontSize = titleSize + this.configs.title.subtextStyle.fontSize = subtitleSize - this.configs.legend.top = '10%' - this.configs.legend.itemGap = 0 + this.configs.legend.top = '24%' + this.configs.legend.itemGap = fs8 this.configs.legend.itemWidth = fs8 - this.configs.legend.textStyle.rich.a.fontSize = fs10 + this.configs.legend.textStyle.rich.a.fontSize = fs12 this.configs.legend.textStyle.rich.a.lineHeight = fs16 - this.configs.legend.textStyle.rich.b.fontSize = fs10 + this.configs.legend.textStyle.rich.b.fontSize = fs12 // this.configs.legend.textStyle.rich.b.lineHeight = fs16 this.configs.legend.textStyle.rich.c.width = fs8 this.configs.legend.textStyle.rich.c.height = fs8 @@ -317,11 +325,11 @@ export default { this.configs.legend.textStyle.rich.g.height = fs8 this.configs.legend.textStyle.rich.g.borderRadius = fs5 - this.configs.series[0].label.rich.first.fontSize = fs10 - this.configs.series[0].label.rich.second.fontSize = fs10 - this.configs.series[0].label.rich.third.fontSize = fs10 - this.configs.series[0].label.rich.fourth.fontSize = fs10 - this.configs.series[0].label.rich.fifth.fontSize = fs10 + this.configs.series[0].label.rich.first.fontSize = fs12 + this.configs.series[0].label.rich.second.fontSize = fs12 + this.configs.series[0].label.rich.third.fontSize = fs12 + this.configs.series[0].label.rich.fourth.fontSize = fs12 + this.configs.series[0].label.rich.fifth.fontSize = fs12 this.chart.setOption(this.configs) } @@ -330,9 +338,9 @@ export default { diff --git a/src/views/3DOverview/components/TechyContainer.vue b/src/views/3DOverview/components/TechyContainer.vue index 17be035..b33fbf1 100644 --- a/src/views/3DOverview/components/TechyContainer.vue +++ b/src/views/3DOverview/components/TechyContainer.vue @@ -78,7 +78,7 @@ export default { border-image: linear-gradient(90deg, rgba(82, 255, 241, 0.6), rgba(95, 190, 249, 0), rgba(82, 255, 241, 0.6)) 2 2; display: inline-block; position: relative; - padding: calc(24px * var(--beilv)); + padding: calc(20px * var(--beilv)); width: 100%; height: 100%; box-shadow: inset 0px 0px 20px 0px rgba(255, 255, 255, 0.15); diff --git a/src/views/3DOverview/components/TechyHeader.vue b/src/views/3DOverview/components/TechyHeader.vue index 8926be7..e65f97a 100644 --- a/src/views/3DOverview/components/TechyHeader.vue +++ b/src/views/3DOverview/components/TechyHeader.vue @@ -3,8 +3,8 @@ cnbm {{ headTitle }} -
2022.10.14
-
20:12:24
+
{{ now.format('yyyy.MM.DD') }}
+
{{ now.format('HH:mm:ss') }}
@@ -16,6 +16,7 @@ + + diff --git a/src/views/QualityManager/components/charts/bottom.png b/src/views/QualityManager/components/charts/bottom.png new file mode 100644 index 0000000..df6f59f Binary files /dev/null and b/src/views/QualityManager/components/charts/bottom.png differ diff --git a/src/views/QualityManager/components/charts/newBar.vue b/src/views/QualityManager/components/charts/newBar.vue deleted file mode 100644 index 5fbdacf..0000000 --- a/src/views/QualityManager/components/charts/newBar.vue +++ /dev/null @@ -1,398 +0,0 @@ - - - - diff --git a/src/views/QualityManager/components/charts/newLineStack.vue b/src/views/QualityManager/components/charts/newLineStack.vue index fd4126a..b9531bf 100644 --- a/src/views/QualityManager/components/charts/newLineStack.vue +++ b/src/views/QualityManager/components/charts/newLineStack.vue @@ -10,6 +10,11 @@ export default { name: 'PlFaultAnalysisPieChart', mixins: [resize], props: { + mode: { + type: String, + default: '', + validator: val => ['month', 'day'].indexOf(val) !== -1 + }, dataUpdateToken: { type: String, default: 'default-token' @@ -19,7 +24,7 @@ export default { return { chart: null, configs: { - color: ['#FB418C', '#DDB112', '#1A99FF', '#A691FF', '#49FBD6'], + color: ['#DDB112', '#1A99FF', '#FB418C', '#A691FF', '#49FBD6'], tooltip: { trigger: 'axis', extraCssText: 'width: 180px !important; ', @@ -31,41 +36,45 @@ export default { } }, grid: { - top: '25%', + top: 56, left: '2%', right: '5%', bottom: '5%', containLabel: true }, - xAxis: [ - { - type: 'category', - boundaryGap: false, - axisLine: { - lineStyle: { - color: '#ffffff66' - } + xAxis: { + type: 'category', + boundaryGap: false, + axisLine: { + lineStyle: { + color: '#ffffff66' + } + }, + axisTick: { show: false }, + axisLabel: { + textStyle: { + fontSize: 10, + color: '#fff8' // }, - axisTick: { show: false }, - axisLabel: { - textStyle: { - color: 'rgba(255,255,255,1)' // - }, - margin: 12 - }, - data: ['A', 'B', 'C', 'D', 'E', 'F', 'G'] - } - ], + margin: 12 + }, + data: + this.mode === 'month' + ? [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] + : ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] + }, + yAxis: [ { - name: '成品率', + name: '成品率 ', type: 'value', min: 'dataMin', splitNumber: 4, nameTextStyle: { color: 'rgba(255,255,255,0.7)', - fontSize: 12, - align: 'right' + fontSize: 10, + align: 'left', + verticalAlign: 'bottom' }, axisLine: { lineStyle: { @@ -120,13 +129,24 @@ export default { emphasis: { focus: 'series' }, - data: [11, 199, 140, 63, 185, 5, 78].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) + data: + this.mode === 'month' + ? Array(30) + .fill(1) + .map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) + : [11, 199, 140, 63, 185, 5, 78].map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) }, { name: '磨边机', @@ -157,129 +177,173 @@ export default { emphasis: { focus: 'series' }, - data: [151, 57, 31, 7, 77, 88, 119].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) - }, - { - name: '镀膜机', - type: 'line', - symbol: 'none', - - areaStyle: { - // color: 'rgba(50,145,152,0.5)' - color: { - type: 'linear', - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: '#1A99FF66' // 0% 处的颜色 - }, - { - offset: 1, - color: 'transparent' // 100% 处的颜色 - } - ], - global: false // 缺省为 false - } - }, - emphasis: { - focus: 'series' - }, - data: [58, 3, 67, 100, 42, 96, 124].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) - }, - { - name: '包装纸', - type: 'line', - symbol: 'none', - - areaStyle: { - // color: 'rgba(50,145,152,0.5)' - color: { - type: 'linear', - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: '#A691FF66' // 0% 处的颜色 - }, - { - offset: 1, - color: 'transparent' // 100% 处的颜色 - } - ], - global: false // 缺省为 false - } - }, - emphasis: { - focus: 'series' - }, - data: [92, 88, 122, 169, 108, 130, 147].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) - }, - { - name: '丝印', - type: 'line', - symbol: 'none', - - label: { - show: true, - position: 'top' - }, - areaStyle: { - // color: 'rgba(50,145,152,0.5)' - color: { - type: 'linear', - x: 0, - y: 0, - x2: 0, - y2: 1, - colorStops: [ - { - offset: 0, - color: '#49FBD666' // 0% 处的颜色 - }, - { - offset: 1, - color: 'transparent' // 100% 处的颜色 - } - ], - global: false // 缺省为 false - } - }, - emphasis: { - focus: 'series' - }, - data: [44, 40, 118, 197, 123, 95, 96].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) + data: + this.mode === 'month' + ? Array(30) + .fill(1) + .map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) + : [11, 199, 140, 63, 185, 5, 78].map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) } + // { + // name: '镀膜机', + // type: 'line', + // symbol: 'none', + + // areaStyle: { + // // color: 'rgba(50,145,152,0.5)' + // color: { + // type: 'linear', + // x: 0, + // y: 0, + // x2: 0, + // y2: 1, + // colorStops: [ + // { + // offset: 0, + // color: '#1A99FF66' // 0% 处的颜色 + // }, + // { + // offset: 1, + // color: 'transparent' // 100% 处的颜色 + // } + // ], + // global: false // 缺省为 false + // } + // }, + // emphasis: { + // focus: 'series' + // }, + // data: + // this.mode === 'month' + // ? Array(30) + // .fill(1) + // .map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // : [11, 199, 140, 63, 185, 5, 78].map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // }, + // { + // name: '包装纸', + // type: 'line', + // symbol: 'none', + + // areaStyle: { + // // color: 'rgba(50,145,152,0.5)' + // color: { + // type: 'linear', + // x: 0, + // y: 0, + // x2: 0, + // y2: 1, + // colorStops: [ + // { + // offset: 0, + // color: '#A691FF66' // 0% 处的颜色 + // }, + // { + // offset: 1, + // color: 'transparent' // 100% 处的颜色 + // } + // ], + // global: false // 缺省为 false + // } + // }, + // emphasis: { + // focus: 'series' + // }, + // data: + // this.mode === 'month' + // ? Array(30) + // .fill(1) + // .map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // : [11, 199, 140, 63, 185, 5, 78].map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // }, + // { + // name: '丝印', + // type: 'line', + // symbol: 'none', + + // label: { + // show: true, + // position: 'top' + // }, + // areaStyle: { + // // color: 'rgba(50,145,152,0.5)' + // color: { + // type: 'linear', + // x: 0, + // y: 0, + // x2: 0, + // y2: 1, + // colorStops: [ + // { + // offset: 0, + // color: '#49FBD666' // 0% 处的颜色 + // }, + // { + // offset: 1, + // color: 'transparent' // 100% 处的颜色 + // } + // ], + // global: false // 缺省为 false + // } + // }, + // emphasis: { + // focus: 'series' + // }, + // data: + // this.mode === 'month' + // ? Array(30) + // .fill(1) + // .map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // : [11, 199, 140, 63, 185, 5, 78].map(_ => { + // let v = Math.floor(Math.random() * 100) + // while (v < 80) { + // v = Math.floor(Math.random() * 100) + // } + // return v + // }) + // } ] } } @@ -308,15 +372,34 @@ export default { }, methods: { refreshData() { + // update xaxis + this.configs.xAxis.data = + this.mode === 'month' + ? [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] + : ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] + + // update series this.configs.series.forEach(item => { - item.data = [44, 40, 118, 197, 123, 95, 96].map(_ => { - let v = Math.floor(Math.random() * 100) - while (v < 80) { - v = Math.floor(Math.random() * 100) - } - return v - }) + item.data = + this.mode === 'month' + ? Array(30) + .fill(1) + .map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) + : [11, 199, 140, 63, 185, 5, 78].map(_ => { + let v = Math.floor(Math.random() * 100) + while (v < 80) { + v = Math.floor(Math.random() * 100) + } + return v + }) }) + if (this.chart) this.chart.setOption(this.configs) } } diff --git a/src/views/QualityManager/retrospect/equipment/parameter-test.vue b/src/views/QualityManager/retrospect/equipment/parameter-test.vue index bf6a33a..eb0cf79 100644 --- a/src/views/QualityManager/retrospect/equipment/parameter-test.vue +++ b/src/views/QualityManager/retrospect/equipment/parameter-test.vue @@ -1,19 +1,47 @@