From c3bb7ee6f9dd25ae6a5262f3932eabe5a65b5b68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Tue, 8 Oct 2024 17:31:11 +0800 Subject: [PATCH] echarts --- package.json | 3 +- src/api/echarts/index.js | 12 + src/main.js | 6 +- src/router/index.js | 195 +++++---- .../KANBAN/charts/LineChart.vue | 106 +++++ .../KANBAN/charts/business/Top3缺陷零件.vue | 64 +++ .../KANBAN/charts/echarts/BarChart.vue | 89 ++++ .../KANBAN/charts/echarts/LineChart.vue | 97 +++++ .../KANBAN/charts/echarts/PieChart.vue | 81 ++++ .../KANBAN/charts/table/vxeTable.vue | 30 ++ .../KANBAN/charts/theme/dark.json | 404 ++++++++++++++++++ .../KANBAN/components/kbHeader.vue | 29 ++ .../KANBAN/components/kbNumBox01.vue | 73 ++++ .../KANBAN/components/kbNumBox02.vue | 73 ++++ .../KANBAN/components/kbTime.vue | 44 ++ .../KANBAN/components/kbTitle01.vue | 37 ++ .../KANBAN/components/kbTitle02.vue | 38 ++ .../KANBAN/components/kbTitle03.vue | 35 ++ .../KANBAN/images/header.png | Bin 0 -> 58093 bytes .../KANBAN/images/title1.png | Bin 0 -> 2345 bytes .../KANBAN/images/title2.png | Bin 0 -> 3545 bytes .../KANBAN/images/title3.png | Bin 0 -> 2023 bytes .../FqcQualityDataBoard/KANBAN/index.css | 69 +++ .../FqcQualityDataBoard/KANBAN/index.js | 179 ++++++++ .../FqcQualityDataBoard/KANBAN/index.vue | 116 +++++ .../FqcQualityDataBoard/index.vue | 32 ++ src/views/qualityManagement/FQC/againFQC.vue | 6 +- src/views/qualityManagement/FQC/firstFQC.vue | 6 +- .../FQC/qualityStatistics.vue | 2 +- src/views/qualityManagement/FQC/thirtyFQC.vue | 42 +- 30 files changed, 1727 insertions(+), 141 deletions(-) create mode 100644 src/api/echarts/index.js create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/LineChart.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/business/Top3缺陷零件.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/BarChart.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/LineChart.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/PieChart.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/table/vxeTable.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/theme/dark.json create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbHeader.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox01.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox02.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTime.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle01.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle02.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle03.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/header.png create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title1.png create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title2.png create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title3.png create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.css create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.js create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.vue create mode 100644 src/views/kanbanManagement/FqcQualityDataBoard/index.vue diff --git a/package.json b/package.json index 7ade74b..a468d93 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,8 @@ "vuex": "3.6.0", "vxe-table": "^3.7.8", "xe-utils": "^3.5.11", - "xlsx": "^0.18.5" + "xlsx": "^0.18.5", + "zradmin": "file:" }, "devDependencies": { "@vue/cli-plugin-babel": "4.4.4", diff --git a/src/api/echarts/index.js b/src/api/echarts/index.js new file mode 100644 index 0000000..63cc35d --- /dev/null +++ b/src/api/echarts/index.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' +/** +* 获取质量Echarts图表 +* @param data +*/ +export function GetFQCQualityOptions(data) { + return request({ + url: 'mes/echarts/fqc/getEchartsData', + method: 'post', + data: data, + }) +} diff --git a/src/main.js b/src/main.js index 857f82f..599adee 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,5 @@ import Vue from 'vue' - +import VueCompositionAPI from '@vue/composition-api' import Cookies from 'js-cookie' import Element from 'element-ui' @@ -42,7 +42,7 @@ import DictData from '@/components/DictData'; import VueQr from 'vue-qr' import printJS from 'print-js' // echarts相关插件引入 -import * as echarts from 'echarts'; +import * as echarts from 'echarts' import ECharts from 'vue-echarts' // VXE-Table相关组件 import VXETable from 'vxe-table'; @@ -74,6 +74,7 @@ Vue.prototype.handleTree = handleTree Vue.prototype.handleDict = handleDict Vue.prototype.downFile = downFile Vue.prototype.$dayjs = dayjs +Vue.prototype.$echarts = echarts Vue.prototype.msgSuccess = function (msg) { this.$message({ showClose: true, message: msg, type: "success" }); @@ -99,6 +100,7 @@ Vue.component('UploadFile', UploadFile) Vue.component('VueQr', VueQr) Vue.component('v-charts', ECharts) // Vue.use(printJS); +Vue.use(VueCompositionAPI) Vue.use(permission) Vue.use(plugins) Vue.use(Element, { diff --git a/src/router/index.js b/src/router/index.js index 9adc0e4..4659abb 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -17,106 +17,111 @@ import Layout from '@/layout' * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题 * meta : { - noCache: true // 如果设置为true,则不会被 缓存(默认 false) - title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 - icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg - breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 + noCache: true // 如果设置为true,则不会被 缓存(默认 false) + title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 + icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg + breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 } */ // 公共路由 export const constantRoutes = [{ - path: '/redirect', - component: Layout, - hidden: true, - children: [{ - path: '/redirect/:path(.*)', - component: (resolve) => require(['@/views/redirect'], resolve) - }] - }, - { - path: '/login', - component: (resolve) => require(['@/views/login'], resolve), - hidden: true - }, - { - path: '/register', - component: (resolve) => require(['@/views/register'], resolve), - hidden: true - }, - { - path: '/404', - component: (resolve) => require(['@/views/error/404'], resolve), - hidden: true - }, - { - path: '/401', - component: (resolve) => require(['@/views/error/401'], resolve), - hidden: true - }, - { - path: '', - component: Layout, - redirect: 'index', - children: [{ - path: 'index', - component: (resolve) => require(['@/views/index'], resolve), - name: 'Index', - meta: { title: '首页', icon: 'dashboard', affix: true } - }], - }, - { - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [{ - path: 'profile', - component: (resolve) => require(['@/views/system/user/profile/index'], resolve), - name: 'Profile', - meta: { title: '个人中心', icon: 'user' } - }] - }, - { - path: '/echarts', - component: (resolve) => require(['@/views/components/Echarts'], resolve), - hidden: true - }, { - path: '/icons', - component: (resolve) => require(['@/views/components/icons/index'], resolve), - hidden: true - }, - // 质量检验中的初次检验 - { - path: '/firstFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/firstFQC.vue'], resolve), - hidden: true - }, - { - path: '/againFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/againFQC.vue'], resolve), - hidden: true - }, - { - path: '/thirtyFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/thirtyFQC.vue'], resolve), - hidden: true - }, - { - path: '/polishManagement/WmPolishWorkOrder', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue'], resolve), - hidden: true - }, - { - path: '/polishManagement/PolishReport', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishReport.vue'], resolve), - hidden: true - }, - { - path: '/polishManagement/PolishFQC', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishFQC.vue'], resolve), - hidden: true - }, + path: '/redirect', + component: Layout, + hidden: true, + children: [{ + path: '/redirect/:path(.*)', + component: (resolve) => require(['@/views/redirect'], resolve) + }] +}, +{ + path: '/login', + component: (resolve) => require(['@/views/login'], resolve), + hidden: true +}, +{ + path: '/register', + component: (resolve) => require(['@/views/register'], resolve), + hidden: true +}, +{ + path: '/404', + component: (resolve) => require(['@/views/error/404'], resolve), + hidden: true +}, +{ + path: '/401', + component: (resolve) => require(['@/views/error/401'], resolve), + hidden: true +}, +{ + path: '', + component: Layout, + redirect: 'index', + children: [{ + path: 'index', + component: (resolve) => require(['@/views/index'], resolve), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true } + }], +}, +{ + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [{ + path: 'profile', + component: (resolve) => require(['@/views/system/user/profile/index'], resolve), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } + }] +}, +{ + path: '/echarts', + component: (resolve) => require(['@/views/components/Echarts'], resolve), + hidden: true +}, { + path: '/icons', + component: (resolve) => require(['@/views/components/icons/index'], resolve), + hidden: true +}, +// 质量检验中的初次检验 +{ + path: '/firstFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/firstFQC.vue'], resolve), + hidden: true +}, +{ + path: '/againFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/againFQC.vue'], resolve), + hidden: true +}, +{ + path: '/thirtyFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/thirtyFQC.vue'], resolve), + hidden: true +}, +{ + path: '/polishManagement/WmPolishWorkOrder', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue'], resolve), + hidden: true +}, +{ + path: '/polishManagement/PolishReport', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishReport.vue'], resolve), + hidden: true +}, +{ + path: '/polishManagement/PolishFQC', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishFQC.vue'], resolve), + hidden: true +}, +{ + path: '/kanbanManagement/FqcQualityDataBoard', + component: (resolve) => require(['@/views/kanbanManagement/FqcQualityDataBoard/index.vue'], resolve), + hidden: true +}, // { // path: '/qualityManagement/FQC/qualityStatistics', // component: (resolve) => require(['@/views/qualityManagement/FQC/qualityStatistics.vue'], resolve), diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/LineChart.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/LineChart.vue new file mode 100644 index 0000000..8c15b17 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/LineChart.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/business/Top3缺陷零件.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/business/Top3缺陷零件.vue new file mode 100644 index 0000000..1001a5d --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/business/Top3缺陷零件.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/BarChart.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/BarChart.vue new file mode 100644 index 0000000..d4a7cf5 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/BarChart.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/LineChart.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/LineChart.vue new file mode 100644 index 0000000..a6c64f1 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/LineChart.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/PieChart.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/PieChart.vue new file mode 100644 index 0000000..6efa8d2 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/echarts/PieChart.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/table/vxeTable.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/table/vxeTable.vue new file mode 100644 index 0000000..f160684 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/table/vxeTable.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/theme/dark.json b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/theme/dark.json new file mode 100644 index 0000000..0a4c1f7 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/charts/theme/dark.json @@ -0,0 +1,404 @@ +{ + "color": [ + "#dd6b66", + "#759aa0", + "#e69d87", + "#8dc1a9", + "#ea7e53", + "#eedd78", + "#73a373", + "#73b9bc", + "#7289ab", + "#91ca8c", + "#f49f42" + ], + "backgroundColor": "transparent", + "textStyle": {}, + "title": { + "textStyle": { + "color": "#ffffff" + }, + "subtextStyle": { + "color": "#9e9e9e" + } + }, + "line": { + "itemStyle": { + "borderWidth": 1 + }, + "lineStyle": { + "width": 2 + }, + "symbolSize": 4, + "symbol": "circle", + "smooth": false + }, + "radar": { + "itemStyle": { + "borderWidth": 1 + }, + "lineStyle": { + "width": 2 + }, + "symbolSize": 4, + "symbol": "circle", + "smooth": false + }, + "bar": { + "itemStyle": { + "barBorderWidth": 0, + "barBorderColor": "#ccc" + } + }, + "pie": { + "label": { + "show": true, + "color": "#ffffff", + "fontSize": "16", + "overflow": "break" + }, + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "scatter": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "boxplot": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "parallel": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "sankey": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "funnel": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "gauge": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "candlestick": { + "itemStyle": { + "color": "#fd1050", + "color0": "#0cf49b", + "borderColor": "#fd1050", + "borderColor0": "#0cf49b", + "borderWidth": 1 + } + }, + "graph": { + "itemStyle": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "lineStyle": { + "width": 1, + "color": "#aaaaaa" + }, + "symbolSize": 4, + "symbol": "circle", + "smooth": false, + "color": [ + "#dd6b66", + "#759aa0", + "#e69d87", + "#8dc1a9", + "#ea7e53", + "#eedd78", + "#73a373", + "#73b9bc", + "#7289ab", + "#91ca8c", + "#f49f42" + ], + "label": { + "color": "#eeeeee" + } + }, + "map": { + "itemStyle": { + "areaColor": "#eee", + "borderColor": "#444", + "borderWidth": 0.5 + }, + "label": { + "color": "#000" + }, + "emphasis": { + "itemStyle": { + "areaColor": "rgba(255,215,0,0.8)", + "borderColor": "#444", + "borderWidth": 1 + }, + "label": { + "color": "rgb(100,0,0)" + } + } + }, + "geo": { + "itemStyle": { + "areaColor": "#eee", + "borderColor": "#444", + "borderWidth": 0.5 + }, + "label": { + "color": "#000" + }, + "emphasis": { + "itemStyle": { + "areaColor": "rgba(255,215,0,0.8)", + "borderColor": "#444", + "borderWidth": 1 + }, + "label": { + "color": "rgb(100,0,0)" + } + } + }, + "categoryAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisLabel": { + "show": true, + "color": "#eeeeee" + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#aaaaaa" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "#eeeeee" + ] + } + } + }, + "valueAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisLabel": { + "show": true, + "color": "#eeeeee" + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#aaaaaa" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "#eeeeee" + ] + } + } + }, + "logAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisLabel": { + "show": true, + "color": "#eeeeee" + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#aaaaaa" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "#eeeeee" + ] + } + } + }, + "timeAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisTick": { + "show": true, + "lineStyle": { + "color": "#eeeeee" + } + }, + "axisLabel": { + "show": true, + "color": "#eeeeee" + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#aaaaaa" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "#eeeeee" + ] + } + } + }, + "toolbox": { + "iconStyle": { + "borderColor": "#999999" + }, + "emphasis": { + "iconStyle": { + "borderColor": "#666666" + } + } + }, + "legend": { + "textStyle": { + "color": "#eeeeee" + } + }, + "tooltip": { + "axisPointer": { + "lineStyle": { + "color": "#eeeeee", + "width": "1" + }, + "crossStyle": { + "color": "#eeeeee", + "width": "1" + } + } + }, + "timeline": { + "lineStyle": { + "color": "#eeeeee", + "width": 1 + }, + "itemStyle": { + "color": "#dd6b66", + "borderWidth": 1 + }, + "controlStyle": { + "color": "#eeeeee", + "borderColor": "#eeeeee", + "borderWidth": 0.5 + }, + "checkpointStyle": { + "color": "#e43c59", + "borderColor": "#c23531" + }, + "label": { + "color": "#eeeeee" + }, + "emphasis": { + "itemStyle": { + "color": "#a9334c" + }, + "controlStyle": { + "color": "#eeeeee", + "borderColor": "#eeeeee", + "borderWidth": 0.5 + }, + "label": { + "color": "#eeeeee" + } + } + }, + "visualMap": { + "color": [ + "#bf444c", + "#d88273", + "#f6efa6" + ] + }, + "dataZoom": { + "backgroundColor": "rgba(47,69,84,0)", + "dataBackgroundColor": "rgba(255,255,255,0.3)", + "fillerColor": "rgba(167,183,204,0.4)", + "handleColor": "#a7b7cc", + "handleSize": "100%", + "textStyle": { + "color": "#eeeeee" + } + }, + "markPoint": { + "label": { + "color": "#eeeeee" + }, + "emphasis": { + "label": { + "color": "#eeeeee" + } + } + } +} \ No newline at end of file diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbHeader.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbHeader.vue new file mode 100644 index 0000000..5b1214b --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbHeader.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox01.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox01.vue new file mode 100644 index 0000000..6544f0e --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox01.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox02.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox02.vue new file mode 100644 index 0000000..c53e201 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbNumBox02.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTime.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTime.vue new file mode 100644 index 0000000..8009244 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTime.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle01.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle01.vue new file mode 100644 index 0000000..5363ebf --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle01.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle02.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle02.vue new file mode 100644 index 0000000..29221f8 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle02.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle03.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle03.vue new file mode 100644 index 0000000..5b8f5d5 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/components/kbTitle03.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/header.png b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/header.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c841133be38dd16c4dcd2a3d5d9c5137f737ff GIT binary patch literal 58093 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 literal 0 HcmV?d00001 diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title1.png b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title1.png new file mode 100644 index 0000000000000000000000000000000000000000..2382310c76c7b3465bc0e4861bd4edef76ce2cf5 GIT binary patch literal 2345 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 TLm%Z+00000NkvXXu0mjfTm=ca literal 0 HcmV?d00001 diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title3.png b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/images/title3.png new file mode 100644 index 0000000000000000000000000000000000000000..b29b62d3626c725a93bafa8d1f9aa74fa048af8f GIT binary patch literal 2023 zcmaJ?X;czu7sg3bTuRDO8#5Xu%UoJ4oZQID+;V9X6~ja$M;VtKcL>WZf+97eLUXd* zLJT!RGbt4!$H65R3Q|&1b3ri`+#P1l`Of*y_v3qiyzjlwJ@=mHdG3#w;Op(Gqxq92 z007W&cRO(g08oii#=A5&DsPm>hP%o~CGL#tF+f%O_AzCm8h6b7oQCpXHNtKH0O~pJ zC!EhE6-W!c$i{F`R*@ZUn&kSkHwuMPGr6ln4AW_tBwTDd2vajpt8}vr_-^5U=P(Tu zuoEJ8wwzSGV=S^Ej6PZJX)A6Yo7%Ry`3dkot;e*VHa>fLzHh9%q^rDxq_Q0=qq3l) z#$de#!c+S+q599)%&ooL4icSumLLr1ZZyz_dwzMSxnPQohwR_#h6`JW(atz^JG3@f z->baC_nU4xlM2N96;+NQBmIXpI0a_ncBbbbUalW2+ckB>k@lHBY<(}@pL{m_j(ZYu zezML@g%}x3?=OiRvZ1}IJ2^V?VtMyj&PHrLxbMoe!enkSlRc}b5ohBp?RjVL|BBv>%4>;OYg6|Q8R8tyZjt#6X^m@TePOrH4%$DJ@8v(3Oo&}4qlPdrG4w#DPFj< zyWMjk>#V!{K0KjrzBm)2Ogmf;EQ}HLbCj_IOl`9LKjE;8mRl~wz3Qa?l(J-Os+E`v zX}z73Y44sJ#(Upf2yw3o4IA{%g?u^yg>PGt!o`*>|C(^HG8Cg$*8=k23gB1#m^s7|&z9IWYX-6kgj(3DrBntv^R@Le{r7@u?KK zF?h$7m9H|psXQfV&pPBFJ2|gtbqP+9<5mV;1L~CUn%38eG-ap#|5Fw;LC=-69Cuoi zJ;948%30Xepyx5L)7;-5BrwJE{@dl67$rJs_^*Zp(!X~7kA!NKg+Vf2wfSh)DYuQf`@(s)ozk@` z`ATlW?-h+5#?$eh($%Pp5h#zr-P~C~D-(bAQ=+fg<|SGtylF zwX$pr^aCJ#;>3G+tK8JZD!fhYLC-rYp(DzAy1FA0ateC6BK|`l%DnIC;#){wtLR}M z#L^%qks_G=Cfwg@O!Bus(%5ms+VWs{s!5;g%hwcfckN5r>OKAh%tzlU%M$96XAPh* zZ2+3aHM(7bcgx9X$?F=_=!f@8Ua)_WLSNJ+xgFS=Q(9SQBTE>0i$N;p+am^ASkw%A z{Z!{Dv(HUJEUR<)iy42p9f2YGPwl8jgcFlTB_v*<0gC0KHpth=--K=J(cANCPZT2+kp{4aSI9 z)_L|${?Mt*UGSHiOfN$YQ%J(J|m%qalnq`Mc}KbTMtSM?YhDD^T1?9 z!O5e54Eu=H+0yAuhC%4_a_#2G&)zp9jKrSmQ~m_Je)Q;w75jpPI5Wwx5e0qUm<99Y zKEBR8uy@9nn;wJ)>zS8kn#H`n&YWQ`O}2PgaC-?wg>#nUm@4$F`vpZ^Y@dc8k^wyEg5Z$tV9&mJ}@DWmGTcOjG)w@t@ z825w!w$K#@h=-f3`(6$5AzxljVuMc~O%~#KE-YzM?e|zaQLv7PLB9QmD2*=<`RJ3f zj9f5c2fmAvqZ=Fs1RHj6xQsWG6#gyr`i7UwLvh6)+gJAi*ZL;YOK{T&B2EUMDZ4uJ n{lgCKwj_8A%eHE%WzE3H4`IA^S(~o>tO4#W-Y2S#UA+D`q!|I) literal 0 HcmV?d00001 diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.css b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.css new file mode 100644 index 0000000..678fc79 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.css @@ -0,0 +1,69 @@ +/* 主色板记录,复制粘贴使用 */ +.theme-color { + --primary-100: #0085ff; + --primary-200: #69b4ff; + --primary-300: #e0ffff; + --accent-100: #006fff; + --accent-200: #e1ffff; + --text-100: #FFFFFF; + --text-200: #9e9e9e; + --bg-100: #1E1E1E; + --bg-200: #2d2d2d; + --bg-300: #454545; +} + +/* =============== */ +.row { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.column { + display: flex; + flex-direction: column; +} + +.KANBAN-background { + width: 1920px; + height: 1080px; + margin: 0; + padding: 0; + background-color: #1E1E1E; +} + +.KANBAN-header { + width: 100%; + /* background-color: #0055ff; */ +} + +.KANBAN-main { + width: 100%; + /* background-color: #aaaaff; */ + display: flex; + flex-direction: column; +} + +.Kanban-description { + width: 100%; + margin-bottom: 20px; + height: 60px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.card-1 { + padding-top: 50px; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 20px; + width: 33%; + height: 400px; +} + +.card-2 { + width: 66%; + height: 400px; +} \ No newline at end of file diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.js b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.js new file mode 100644 index 0000000..da481eb --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.js @@ -0,0 +1,179 @@ +/// ===================== 大屏宽高自定义(百度搜索结果) ============================ +import { + getCurrentInstance, + onMounted, + onUnmounted, + ref, + watch +} from 'vue'; +const { + proxy +} = getCurrentInstance() +const screenWidth = ref(null) +const screenHeight = ref(null) +onMounted(() => { + proxy.$nextTick(() => { + // 监控屏幕尺寸变化 + var bodyStyle = document.createElement('style') + // 这里根据具体的设计稿尺寸来定 + bodyStyle.innerHTML = `body{width:1920px; height:1080px!important;}` + document.documentElement.firstElementChild.appendChild(bodyStyle) + screenWidth.value = document.body.clientWidth + screenHeight.value = document.body.clientHeight + window.onresize = () => { + return (() => { + screenWidth.value = document.documentElement.clientWidth + screenHeight.value = document.documentElement.clientHeight + })() + } + document.addEventListener('keydown', (e) => { + if (e.code == 'F11') { + screenWidth.value = document.documentElement.clientWidth + screenHeight.value = document.documentElement.clientHeight + } + }) + }) +}) +watch( + screenWidth, + (newValue, oldValue) => { + // console.log("val", val); + let docWidth = document.documentElement.clientWidth + let docHeight = document.documentElement.clientHeight + var designWidth = 1920, // 这里根据具体的设计稿尺寸来定 + designHeight = 1080, // 这里根据具体的设计稿尺寸来定 + widthRatio = docWidth / designWidth, + heightRatio = docHeight / designHeight + document.body.style = + `transform:scale(${widthRatio},${heightRatio});transform-origin:left top;overflow: hidden;` + // 应对浏览器全屏切换前后窗口因短暂滚动条问题出现未占满情况 + setTimeout(function() { + var lateWidth = document.documentElement.clientWidth, + lateHeight = document.documentElement.clientHeight + if (lateWidth === docWidth) return + + widthRatio = lateWidth / designWidth + heightRatio = lateHeight / designHeight + document.body.style = 'transform:scale(' + widthRatio + ',' + heightRatio + + ');transform-origin:left top;overflow: hidden;' + }, 0) + }, { + immediate: true, + deep: true + } +) +watch( + screenHeight, + (newValue, oldValue) => { + // console.log("val", val); + let docWidth = document.documentElement.clientWidth + let docHeight = document.documentElement.clientHeight + var designWidth = 1920, // 这里根据具体的设计稿尺寸来定 + designHeight = 1080, // 这里根据具体的设计稿尺寸来定 + widthRatio = docWidth / designWidth, + heightRatio = docHeight / designHeight + document.body.style = + `transform:scale(${widthRatio},${heightRatio});transform-origin:left top;overflow: hidden;` + // 应对浏览器全屏切换前后窗口因短暂滚动条问题出现未占满情况 + setTimeout(function() { + var lateWidth = document.documentElement.clientWidth, + lateHeight = document.documentElement.clientHeight + if (lateWidth === docWidth) return + + widthRatio = lateWidth / designWidth + heightRatio = lateHeight / designHeight + document.body.style = 'transform:scale(' + widthRatio + ',' + heightRatio + + ');transform-origin:left top;overflow: hidden;' + }, 0) + }, { + immediate: true, + deep: true + } +) +window.addEventListener('resize', () => { + window.location.reload() +}) +/// ================================================================ + + + + + + +/// ===================== AI智能优化自适应结果(1.0) =========================== +import { + getCurrentInstance, + onMounted, + onUnmounted, + ref +} from 'vue'; +const { + proxy +} = getCurrentInstance(); +const screenWidth = ref(null); +const screenHeight = ref(null); +const resizeObserver = new ResizeObserver((entries) => { + if (entries.length > 0) { + const { + width, + height + } = entries[0].contentRect; + // 更新屏幕尺寸 + screenWidth.value = width; + screenHeight.value = height; + + // 调用debounce函数 + updateStyleDebounced(); + } +}); +// debounce函数 +const resizeTimeout = ref(null); + +function debounce(func, wait) { + return function() { + clearTimeout(resizeTimeout.value); + resizeTimeout.value = setTimeout(func, wait); + }; +} +// 用于更新页面的transform样式 +function updateStyle() { + const docWidth = document.documentElement.clientWidth; + const docHeight = document.documentElement.clientHeight; + const designWidth = 1920; // 设计稿宽度 + const designHeight = 1080; // 设计稿高度 + const widthRatio = docWidth / designWidth; + const heightRatio = docHeight / designHeight; + document.body.style.transform = `scale(${widthRatio},${heightRatio})`; + document.body.style.transformOrigin = 'left top'; + document.body.style.overflow = 'hidden'; + // 处理浏览器全屏切换前后窗口因短暂滚动条问题出现未占满情况 + setTimeout(function() { + const lateWidth = document.documentElement.clientWidth; + const lateHeight = document.documentElement.clientHeight; + if (lateWidth !== docWidth) { + const lateWidthRatio = lateWidth / designWidth; + const lateHeightRatio = lateHeight / designHeight; + document.body.style.transform = `scale(${lateWidthRatio},${lateHeightRatio})`; + } + }, 10); +} +const updateStyleDebounced = debounce(updateStyle, 150); +onMounted(() => { + proxy.$nextTick(() => { + // 监控屏幕尺寸变化 + resizeObserver.observe(document.documentElement); + + // 初始化屏幕尺寸 + screenWidth.value = document.documentElement.clientWidth; + screenHeight.value = document.documentElement.clientHeight; + }); +}); +onUnmounted(() => { + // 清除监听 + resizeObserver.disconnect(); + // 清除debounce函数中设置的timeout + clearTimeout(resizeTimeout.value); + // resizeObserver.unobserve(document.documentElement); +}); + +/// =============================================================== \ No newline at end of file diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.vue b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.vue new file mode 100644 index 0000000..2aa0c84 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/KANBAN/index.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/src/views/kanbanManagement/FqcQualityDataBoard/index.vue b/src/views/kanbanManagement/FqcQualityDataBoard/index.vue new file mode 100644 index 0000000..8985406 --- /dev/null +++ b/src/views/kanbanManagement/FqcQualityDataBoard/index.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/views/qualityManagement/FQC/againFQC.vue b/src/views/qualityManagement/FQC/againFQC.vue index 05f5700..cb0f870 100644 --- a/src/views/qualityManagement/FQC/againFQC.vue +++ b/src/views/qualityManagement/FQC/againFQC.vue @@ -363,7 +363,7 @@