diff --git a/src/router/index.js b/src/router/index.js index 9471dcd..5a2de95 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -26,103 +26,107 @@ import Layout from '@/layout' // 公共路由 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: '/redirect', + component: Layout, + hidden: true, + children: [{ + path: '/redirect/:path(.*)', + component: (resolve) => require(['@/views/redirect'], resolve) + }] + }, { - 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: '/login', + component: (resolve) => require(['@/views/login'], resolve), + hidden: true + }, { - 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: '/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: '/qualityManagement/FQC/qualityStatistics', + component: (resolve) => require(['@/views/qualityManagement/FQC/qualityStatistics.vue'], resolve), + hidden: true + }, ] export default new Router({ - base: process.env.VUE_APP_ROUTER_PREFIX, - mode: 'history', // 去掉url中的# - // scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes + base: process.env.VUE_APP_ROUTER_PREFIX, + mode: 'history', // 去掉url中的# + // scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes }) \ No newline at end of file diff --git a/src/views/qualityManagement/FQC/flex/index.js b/src/views/qualityManagement/FQC/flex/index.js new file mode 100644 index 0000000..da481eb --- /dev/null +++ b/src/views/qualityManagement/FQC/flex/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/qualityManagement/FQC/qualityStatistics-backup.vue b/src/views/qualityManagement/FQC/qualityStatistics-backup.vue new file mode 100644 index 0000000..6f970a3 --- /dev/null +++ b/src/views/qualityManagement/FQC/qualityStatistics-backup.vue @@ -0,0 +1,543 @@ + + + + + \ No newline at end of file diff --git a/src/views/qualityManagement/FQC/qualityStatistics.vue b/src/views/qualityManagement/FQC/qualityStatistics.vue index 6f970a3..2263fb4 100644 --- a/src/views/qualityManagement/FQC/qualityStatistics.vue +++ b/src/views/qualityManagement/FQC/qualityStatistics.vue @@ -4,11 +4,27 @@
- + - + @@ -20,28 +36,44 @@ - - - - - - - - - - - - - - 搜索 - 日生产报表导出 - 缺陷详情导出 - - +
+ + + + + + + + + + + + + + + + + + + + + + 搜索 + 日生产报表导出 + 缺陷详情导出 + + +
- +
@@ -49,24 +81,45 @@
- + + - - - - - - - - + + + + + + + + - - - + + + @@ -174,27 +227,25 @@ - - - \ No newline at end of file +