diff --git a/src/api/smartScreen/QualityScreen/index.js b/src/api/smartScreen/QualityScreen/index.js index 9c10145..9081c37 100644 --- a/src/api/smartScreen/QualityScreen/index.js +++ b/src/api/smartScreen/QualityScreen/index.js @@ -1,120 +1,60 @@ import request from '@/utils/request' /** - * 获取今日IQC 缺陷饼图 + * 质量头部翻牌器数据 * @param {查询条件} data */ -export function getMoudle01(query) { +export function getTopData(query) { return request({ - url: 'mes/bigscreen/quality/get_moudle01', + url: 'mes/qualityManagement/QualitySmart/GetQualityScreenHead', method: 'get', params: query }) } /** - * 获取今日IpQC 缺陷饼图 + * 按周获取质量大屏数据 * @param {查询条件} data */ -export function getMoudle02(query) { +export function GetQualitySmartScreenForWeek(query) { return request({ - url: 'mes/bigscreen/quality/get_moudle02', + url: 'mes/qualityManagement/QualitySmart/GetQualitySmartScreenForWeek', method: 'get', params: query }) } /** - * 获取今日FQC 缺陷饼图 + * 按月获取质量大屏数据 * @param {查询条件} data */ -export function getMoudle03(query) { +export function GetQualitySmartScreenForMonth(query) { return request({ - url: 'mes/bigscreen/quality/get_moudle03', + url: 'mes/qualityManagement/QualitySmart/GetQualitySmartScreenForMonth', method: 'get', params: query }) } /** - * 获取近 七日 IQC 缺陷直方图 + * 按月获取质量大屏数据堆叠柱状图 * @param {查询条件} data */ -export function getMoudle04(query) { +export function GetQualitySmartScreenForBarChart(query) { return request({ - url: 'mes/bigscreen/quality/get_moudle04', + url: 'mes/qualityManagement/QualitySmart/GetQualitySmartScreenForBarChart', method: 'get', params: query }) } /** - * 获取近 七日 IPQC 缺陷直方图 + * 按月获取质量大屏数据堆叠柱状图 * @param {查询条件} data */ -export function getMoudle05(query) { +export function GetQualitySmartScreenForLineChart(query) { return request({ - url: 'mes/bigscreen/quality/get_moudle05', - method: 'get', - params: query - }) -} - -/** - * 获取近 七日 FQC 缺陷直方图 - * @param {查询条件} data - */ -export function getMoudle06(query) { - return request({ - url: 'mes/bigscreen/quality/get_moudle06', - method: 'get', - params: query - }) -} - -/** - * 获取近 七日 FQC 缺陷直方图 - * @param {查询条件} data - */ -export function getMoudle07(query) { - return request({ - url: 'mes/bigscreen/quality/get_moudle07', - method: 'get', - params: query - }) -} - -/** - * 获取近 七日 FQC 缺陷直方图 - * @param {查询条件} data - */ -export function getMoudle08(query) { - return request({ - url: 'mes/bigscreen/quality/get_moudle08', - method: 'get', - params: query - }) -} - -/** - * 获取近 七日 FQC 缺陷直方图 - * @param {查询条件} data - */ -export function getMoudle09(query) { - return request({ - url: 'mes/bigscreen/quality/get_moudle09', - method: 'get', - params: query - }) -} - -/** - * 获取近 七日 FQC 缺陷直方图 - * @param {查询条件} data - */ -export function getMoudle10(query) { - return request({ - url: 'mes/bigscreen/quality/get_moudle10', + url: 'mes/qualityManagement/QualitySmart/GetQualitySmartScreenForLineChart', method: 'get', params: query }) diff --git a/src/views/SmartScreen/OrderScreen/index.css b/src/views/SmartScreen/OrderScreen/index.css index 442c66f..dd34339 100644 --- a/src/views/SmartScreen/OrderScreen/index.css +++ b/src/views/SmartScreen/OrderScreen/index.css @@ -55,12 +55,12 @@ body { flex-direction: column; } .box { - min-height: 350px; + /* min-height: 350px; */ padding: 20px; } .top-box { margin: 20px; - height: 80px; + /* height: 40px; */ background-color: rgba(60, 232, 248, 0.1); border: 1px solid #a9aabc; } diff --git a/src/views/SmartScreen/OrderScreen/index.vue b/src/views/SmartScreen/OrderScreen/index.vue index c18686f..d288d56 100644 --- a/src/views/SmartScreen/OrderScreen/index.vue +++ b/src/views/SmartScreen/OrderScreen/index.vue @@ -7,14 +7,14 @@
- +
车间订单进度看板
-
+
@@ -53,12 +53,12 @@
-
+ -
+ -
+
@@ -69,9 +69,14 @@ import { getCurrentInstance } from 'vue' const { proxy } = getCurrentInstance() /// ================ 基础组件导入 ====================== -import kbHeader from './components/kbHeader.vue' -import kbTime from './components/kbTime.vue' -import logo from './components/logo.vue' +import kbGap from '../可视化素材包/components/kbGap.vue' +import kbHeader from '../可视化素材包/components/kbHeader.vue' +import kbTime from '../可视化素材包/components/kbTime.vue' +import kbLogo from '../可视化素材包/components/kbLogo.vue' +import kbChartBox from '../可视化素材包/components/kbChartBox.vue' +import kbCountBox from '../可视化素材包/components/kbCountBox.vue' +import kbNumBox from '../可视化素材包/components/kbNumBox.vue' +import kbTitle from '../可视化素材包/components/kbTitle.vue' /// ================================================ function back() { @@ -138,13 +143,14 @@ onUnmounted(() => { } .num-title { - font-size: 20px; + font-size: 24px; font-weight: bold; } .num-value { - font-size: 24px; + font-size: 36px; font-weight: 800; + background-clip: text; -webkit-background-clip: text; /* 仅将背景应用于文本 */ -webkit-text-fill-color: transparent; diff --git a/src/views/SmartScreen/QualityScreen/background/background.png b/src/views/SmartScreen/QualityScreen/background/background.png new file mode 100644 index 0000000..73a0978 Binary files /dev/null and b/src/views/SmartScreen/QualityScreen/background/background.png differ diff --git a/src/views/SmartScreen/QualityScreen/charts/chart1.vue b/src/views/SmartScreen/QualityScreen/charts/chart1.vue index c0ecb0a..a88a978 100644 --- a/src/views/SmartScreen/QualityScreen/charts/chart1.vue +++ b/src/views/SmartScreen/QualityScreen/charts/chart1.vue @@ -2,10 +2,18 @@ diff --git a/src/views/SmartScreen/QualityScreen/charts/chart10.vue b/src/views/SmartScreen/QualityScreen/charts/chart10.vue new file mode 100644 index 0000000..11ba23b --- /dev/null +++ b/src/views/SmartScreen/QualityScreen/charts/chart10.vue @@ -0,0 +1,128 @@ + + + diff --git a/src/views/SmartScreen/QualityScreen/charts/chart4.vue b/src/views/SmartScreen/QualityScreen/charts/chart4.vue index 1298d87..5620a74 100644 --- a/src/views/SmartScreen/QualityScreen/charts/chart4.vue +++ b/src/views/SmartScreen/QualityScreen/charts/chart4.vue @@ -18,7 +18,7 @@ const props = defineProps({ }, height: { type: String, - default: '350px' + default: '400px' } }) const options = { @@ -26,44 +26,36 @@ const options = { text: '', left: 'left' }, - legend: { - type: 'scroll', - orient: 'vertical', - bottom: 0, - left: 0, - height: 200, - textStyle: { - color: '#fff' - } - }, + // legend: { + // type: 'scroll', + // orient: 'vertical', + // bottom: 0, + // left: 0, + // height: 200, + // textStyle: { + // color: '#fff' + // } + // }, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, - grid: { - left: '3%', - right: '4%', - bottom: '3%', - containLabel: true - }, series: [ { name: '参数1', type: 'pie', - data: [ - { value: 1048, name: '模块1' }, - { value: 735, name: '模块2' }, - { value: 580, name: '模块3' }, - { value: 484, name: '模块4' }, - { value: 300, name: '模块5' } - ], + data: [], + radius: ['50%', '80%'], + avoidLabelOverlap: false, + padAngle: 5, label: { position: 'outside', - formatter: '{b}-{c}\n{d}%', + formatter: '{b}\n{d}%', textBorderColor: '#fff', textBorderWidth: 0, + fontSize: 24, color: '#fff' } } @@ -81,12 +73,12 @@ onMounted(() => { }) }) /// ============ 修改数据 =========== -import { getMoudle03 } from '@/api/smartScreen/QualityScreen/index.js' +import { GetQualitySmartScreenForWeek } from '@/api/smartScreen/QualityScreen/index.js' function updateData() { - getMoudle03().then((res) => { + GetQualitySmartScreenForWeek().then((res) => { if (res.code === 200) { - options.title = res.data.title - let _series = res.data.series + //options.title = res.data.title + let _series = res.data // _series.forEach((item) => { // item.label = { // // 设置label在扇区内部 @@ -95,9 +87,9 @@ function updateData() { // formatter: '{b}\n{d}%' // } // }) - options.series = _series + options.series[0].data = _series chart.value.setOption(options) - // console.log(res.data.title.text, res.data) + chart.value?.resize() } }) } diff --git a/src/views/SmartScreen/QualityScreen/charts/chart5.vue b/src/views/SmartScreen/QualityScreen/charts/chart5.vue index 09a24f3..c6fecaf 100644 --- a/src/views/SmartScreen/QualityScreen/charts/chart5.vue +++ b/src/views/SmartScreen/QualityScreen/charts/chart5.vue @@ -18,7 +18,7 @@ const props = defineProps({ }, height: { type: String, - default: '350px' + default: '400px' } }) const options = { @@ -26,44 +26,36 @@ const options = { text: '', left: 'left' }, - legend: { - type: 'scroll', - orient: 'vertical', - bottom: 0, - left: 0, - height: 200, - textStyle: { - color: '#fff' - } - }, + // legend: { + // type: 'scroll', + // orient: 'vertical', + // bottom: 0, + // left: 0, + // height: 200, + // textStyle: { + // color: '#fff' + // } + // }, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, - grid: { - left: '3%', - right: '4%', - bottom: '3%', - containLabel: true - }, series: [ { name: '参数1', type: 'pie', - data: [ - { value: 1048, name: '模块1' }, - { value: 735, name: '模块2' }, - { value: 580, name: '模块3' }, - { value: 484, name: '模块4' }, - { value: 300, name: '模块5' } - ], + data: [], + radius: ['50%', '80%'], + avoidLabelOverlap: false, + padAngle: 5, label: { position: 'outside', - formatter: '{b}-{c}\n{d}%', + formatter: '{b}\n{d}%', textBorderColor: '#fff', textBorderWidth: 0, + fontSize: 24, color: '#fff' } } @@ -81,12 +73,12 @@ onMounted(() => { }) }) /// ============ 修改数据 =========== -import { getMoudle06 } from '@/api/smartScreen/QualityScreen/index.js' +import { GetQualitySmartScreenForMonth } from '@/api/smartScreen/QualityScreen/index.js' function updateData() { - getMoudle06().then((res) => { + GetQualitySmartScreenForMonth().then((res) => { if (res.code === 200) { - options.title = res.data.title - let _series = res.data.series + //options.title = res.data.title + let _series = res.data // _series.forEach((item) => { // item.label = { // // 设置label在扇区内部 @@ -95,9 +87,9 @@ function updateData() { // formatter: '{b}\n{d}%' // } // }) - options.series = _series + options.series[0].data = _series chart.value.setOption(options) - // console.log(res.data.title.text, res.data) + chart.value?.resize() } }) } diff --git a/src/views/SmartScreen/QualityScreen/charts/chart9.vue b/src/views/SmartScreen/QualityScreen/charts/chart9.vue index ec84435..a06ab54 100644 --- a/src/views/SmartScreen/QualityScreen/charts/chart9.vue +++ b/src/views/SmartScreen/QualityScreen/charts/chart9.vue @@ -18,12 +18,12 @@ const props = defineProps({ }, height: { type: String, - default: '350px' + default: '400px' } }) let options = { title: { - text: '前7日IPQC缺陷数量直方图', + text: '', left: 'left' }, tooltip: { @@ -55,29 +55,21 @@ let options = { legend: { type: 'scroll', top: 'top', - width: '60%', - right: '0%' + width: '80%', + right: '5%' }, series: [ { name: '', - type: '', - data: [] + type: 'bar', + data: [1, 2, 3, 4, 5, 6, 7] } ] } -import { listQcDefectConfig } from '@/api/qualityManagement/FQC/qcdefectconfig.js' const chart = ref(null) function initChart() { chart.value = echarts.init(proxy.$refs.chartRef, 'theme') chart.value.setOption(options) - listQcDefectConfig({ pageNum: 1, pageSize: 100 }).then((res) => { - const { code, data } = res - if (code == 200) { - options.legend.data = data.result.map((item) => item.name) - chart.value.setOption(options) - } - }) } onMounted(() => { initChart() @@ -86,26 +78,28 @@ onMounted(() => { }) }) /// ============ 修改数据 =========== -import { getMoudle10 } from '@/api/smartScreen/QualityScreen/index.js' +import { GetQualitySmartScreenForBarChart } from '@/api/smartScreen/QualityScreen/index.js' function updateData() { - getMoudle10().then((res) => { + GetQualitySmartScreenForBarChart().then((res) => { if (res.code === 200) { - options.title = res.data.title + //options.title = res.data.title options.xAxis.data = res.data.xAxis.data let _series = res.data.series _series.forEach((item) => { item.stack = 'group' - item.label = { - show: true, - position: 'inside', - textBorderColor: '#fff', - textBorderWidth: 0, - formatter: '{c}', - color: '#fff' - } + item.emphasis = { focus: 'series' } + // item.label = { + // show: true, + // position: 'inside', + // textBorderColor: '#fff', + // textBorderWidth: 0, + // formatter: '{c}', + // color: '#fff' + // } }) options.series = _series - chart.value.setOption(options) + chart.value?.setOption(options) + chart.value?.resize() } }) } diff --git a/src/views/SmartScreen/QualityScreen/components/kbHeader.vue b/src/views/SmartScreen/QualityScreen/components/kbHeader.vue index 28b6622..b1dc2a4 100644 --- a/src/views/SmartScreen/QualityScreen/components/kbHeader.vue +++ b/src/views/SmartScreen/QualityScreen/components/kbHeader.vue @@ -18,9 +18,9 @@ justify-content: center; } .title { - font-size: 36px; + font-size: 48px; font-weight: 600; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; + background-clip: text; -webkit-background-clip: text; /* 仅将背景应用于文本 */ -webkit-text-fill-color: transparent; /* 设置文本颜色为透明 */ color: transparent; /* 兼容非WebKit浏览器 */ diff --git a/src/views/SmartScreen/QualityScreen/index.css b/src/views/SmartScreen/QualityScreen/index.css index 035257f..4a94087 100644 --- a/src/views/SmartScreen/QualityScreen/index.css +++ b/src/views/SmartScreen/QualityScreen/index.css @@ -1,6 +1,6 @@ -body{ - margin: 0; - padding: 0; +body { + margin: 0; + padding: 0; } .background { padding: 0; @@ -10,11 +10,11 @@ body{ top: 0px; width: 100%; height: 100%; - background-color: black; - /* background: url('./background/2.png') no-repeat; */ + /* background-color: black; */ + background: url('./background/background.png') no-repeat; background-size: 100% 100%; - -webkit-filter: brightness(0.1); - filter: brightness(0.1); + /* -webkit-filter: brightness(0.1); */ + /* filter: brightness(0.1); */ z-index: -1; } .border { @@ -23,18 +23,18 @@ body{ .screen { padding: 0; margin: 0; - width: 99%; + width: 100%; height: 100%; color: #eeeeee; - background-color: rgba(32, 163, 250, 0.2); + background-color: rgba(32, 163, 250, 0.2); } .screen .header { - width: 100%; + /* width: 100%; height: 100px; display: flex; flex-direction: row; align-items: center; - justify-content: center; + justify-content: center; */ } .screen .title { font-size: 30px; @@ -47,10 +47,10 @@ body{ top: 10px; color: #eeeeee; } -.body{ - display: flex; - flex-direction: column; +.body { + display: flex; + flex-direction: column; +} +.box { + padding: 20px; } -.box{ - padding: 20px; -} \ No newline at end of file diff --git a/src/views/SmartScreen/QualityScreen/index.vue b/src/views/SmartScreen/QualityScreen/index.vue index b4829e9..7f8645a 100644 --- a/src/views/SmartScreen/QualityScreen/index.vue +++ b/src/views/SmartScreen/QualityScreen/index.vue @@ -5,64 +5,22 @@
- +
- 质量看板 + 车间质量看板
- -
- - -
-
本周IQC
-
{{ numData.weekIQCquantity }} 个
-
-
- -
-
本月IQC
-
{{ numData.monthIQCquantity }} 个
-
-
- -
-
本周IPQC
-
{{ numData.weekIPQCquantity }} 个
-
-
- -
-
本月IPQC
-
{{ numData.monthIPQCquantity }} 个
-
-
- -
-
本周FQC
-
{{ numData.weekFQCquantity }} 个
-
-
- -
-
本月FQC
-
{{ numData.monthFQCquantity }} 个
-
-
-
-
-
- + + + + + + + + 本周异常分布比例饼图 + + + + + +
+ + + +
{{ topTitleOptions[index] }}
+
{{ value }}
+
+
+
+
+
+
+ + + 本月异常分布Top10比例饼图 + +
- - - -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- - + + + + + + + 本月异常柱状图 + + - -
- -
-
+ + + 本月合格率趋势图 + +
@@ -129,43 +100,43 @@ diff --git a/src/views/SmartScreen/index.vue b/src/views/SmartScreen/index.vue index 6ce44e6..f574d0b 100644 --- a/src/views/SmartScreen/index.vue +++ b/src/views/SmartScreen/index.vue @@ -3,15 +3,19 @@ - + + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbCountBox.vue b/src/views/SmartScreen/可视化素材包/components/kbCountBox.vue new file mode 100644 index 0000000..df80463 --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbCountBox.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbGap.vue b/src/views/SmartScreen/可视化素材包/components/kbGap.vue new file mode 100644 index 0000000..b40b8e8 --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbGap.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbHeader.vue b/src/views/SmartScreen/可视化素材包/components/kbHeader.vue new file mode 100644 index 0000000..c9d9bd6 --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbHeader.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbLogo.vue b/src/views/SmartScreen/可视化素材包/components/kbLogo.vue new file mode 100644 index 0000000..ec2d6cf --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbLogo.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbNumBox.vue b/src/views/SmartScreen/可视化素材包/components/kbNumBox.vue new file mode 100644 index 0000000..57539bb --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbNumBox.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbTime.vue b/src/views/SmartScreen/可视化素材包/components/kbTime.vue new file mode 100644 index 0000000..c4086fc --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbTime.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/views/SmartScreen/可视化素材包/components/kbTitle.vue b/src/views/SmartScreen/可视化素材包/components/kbTitle.vue new file mode 100644 index 0000000..d13c571 --- /dev/null +++ b/src/views/SmartScreen/可视化素材包/components/kbTitle.vue @@ -0,0 +1,38 @@ + + + + +