huang
2025-10-23 b01723592cc0e6a9702dea57fb176a465c5ee45c
仓储设备图色块修改,element组件国际化语言添加
14个文件已修改
947 ■■■■ 已修改文件
UI-Project/package-lock.json 163 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/package.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/index.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/main.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/GlassStorage/rawfilmstorage2.vue 681 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/GlassStorage/rawhistory.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturnhistory.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/I18nConfig.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/AppRunnerConfig.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/package-lock.json
@@ -8,13 +8,14 @@
      "name": "northglass-mes",
      "version": "0.0.0",
      "dependencies": {
        "@element-plus/icons-vue": "^2.3.1",
        "@element-plus/icons-vue": "^2.3.2",
        "@vue-macros/reactivity-transform": "^0.3.23",
        "axios": "^1.6.8",
        "chart.js": "^4.4.3",
        "dayjs": "^1.11.13",
        "echarts": "^5.5.1",
        "element-plus": "^2.9.9",
        "element-plus": "^2.11.5",
        "i18n-jsautotranslate": "^3.18.77",
        "moment": "^2.30.1",
        "northglass-mes": "file:",
        "pinia": "^2.1.6",
@@ -103,9 +104,9 @@
      }
    },
    "node_modules/@element-plus/icons-vue": {
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
      "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
      "version": "2.3.2",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz",
      "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==",
      "peerDependencies": {
        "vue": "^3.2.0"
      }
@@ -280,14 +281,14 @@
      }
    },
    "node_modules/@types/lodash": {
      "version": "4.14.199",
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
      "version": "4.17.20",
      "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.20.tgz",
      "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA=="
    },
    "node_modules/@types/lodash-es": {
      "version": "4.17.9",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz",
      "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
      "version": "4.17.12",
      "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
      "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
      "dependencies": {
        "@types/lodash": "*"
      }
@@ -837,9 +838,9 @@
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "node_modules/dayjs": {
      "version": "1.11.13",
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
      "version": "1.11.18",
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.18.tgz",
      "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA=="
    },
    "node_modules/debug": {
      "version": "4.3.4",
@@ -894,23 +895,22 @@
      }
    },
    "node_modules/element-plus": {
      "version": "2.9.9",
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz",
      "integrity": "sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==",
      "version": "2.11.5",
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.11.5.tgz",
      "integrity": "sha512-O+bIVHQCjUDm4GiIznDXRoS8ar2TpWLwfOGnN/Aam0VXf5kbuc4SxdKKJdovWNxmxeqbcwjsSZPKgtXNcqys4A==",
      "dependencies": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.3.1",
        "@element-plus/icons-vue": "^2.3.2",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@types/lodash": "^4.17.20",
        "@types/lodash-es": "^4.17.12",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.13",
        "escape-html": "^1.0.3",
        "dayjs": "^1.11.18",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "lodash-unified": "^1.0.3",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      },
@@ -959,11 +959,6 @@
        "@esbuild/win32-ia32": "0.18.20",
        "@esbuild/win32-x64": "0.18.20"
      }
    },
    "node_modules/escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "node_modules/escape-string-regexp": {
      "version": "5.0.0",
@@ -1119,6 +1114,11 @@
      "engines": {
        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
      }
    },
    "node_modules/i18n-jsautotranslate": {
      "version": "3.18.77",
      "resolved": "https://registry.npmmirror.com/i18n-jsautotranslate/-/i18n-jsautotranslate-3.18.77.tgz",
      "integrity": "sha512-NvvA8sERc93sk7+tQ5hAS1O5rHEC3FOd7PdvROTiQRrbKONQIu/qVuxMKRzQChygJHTmkVhEBIt260uQIwe9VQ=="
    },
    "node_modules/is-binary-path": {
      "version": "2.1.0",
@@ -2282,9 +2282,9 @@
      "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA=="
    },
    "@element-plus/icons-vue": {
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
      "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
      "version": "2.3.2",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz",
      "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==",
      "requires": {}
    },
    "@esbuild/win32-ia32": {
@@ -2405,14 +2405,14 @@
      }
    },
    "@types/lodash": {
      "version": "4.14.199",
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
      "version": "4.17.20",
      "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.20.tgz",
      "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA=="
    },
    "@types/lodash-es": {
      "version": "4.17.9",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz",
      "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
      "version": "4.17.12",
      "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
      "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
      "requires": {
        "@types/lodash": "*"
      }
@@ -2828,9 +2828,9 @@
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "dayjs": {
      "version": "1.11.13",
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
      "version": "1.11.18",
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.18.tgz",
      "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA=="
    },
    "debug": {
      "version": "4.3.4",
@@ -2871,23 +2871,22 @@
      }
    },
    "element-plus": {
      "version": "2.9.9",
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz",
      "integrity": "sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==",
      "version": "2.11.5",
      "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.11.5.tgz",
      "integrity": "sha512-O+bIVHQCjUDm4GiIznDXRoS8ar2TpWLwfOGnN/Aam0VXf5kbuc4SxdKKJdovWNxmxeqbcwjsSZPKgtXNcqys4A==",
      "requires": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.3.1",
        "@element-plus/icons-vue": "^2.3.2",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@types/lodash": "^4.17.20",
        "@types/lodash-es": "^4.17.12",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.13",
        "escape-html": "^1.0.3",
        "dayjs": "^1.11.18",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "lodash-unified": "^1.0.3",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      }
@@ -2926,11 +2925,6 @@
        "@esbuild/win32-ia32": "0.18.20",
        "@esbuild/win32-x64": "0.18.20"
      }
    },
    "escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "escape-string-regexp": {
      "version": "5.0.0",
@@ -3045,6 +3039,11 @@
        "is-plain-obj": "^3.0.0",
        "micromatch": "^4.0.5"
      }
    },
    "i18n-jsautotranslate": {
      "version": "3.18.77",
      "resolved": "https://registry.npmmirror.com/i18n-jsautotranslate/-/i18n-jsautotranslate-3.18.77.tgz",
      "integrity": "sha512-NvvA8sERc93sk7+tQ5hAS1O5rHEC3FOd7PdvROTiQRrbKONQIu/qVuxMKRzQChygJHTmkVhEBIt260uQIwe9VQ=="
    },
    "is-binary-path": {
      "version": "2.1.0",
@@ -3218,7 +3217,7 @@
    "northglass-mes": {
      "version": "file:",
      "requires": {
        "@element-plus/icons-vue": "^2.3.1",
        "@element-plus/icons-vue": "^2.3.2",
        "@types/sortablejs": "^1.15.7",
        "@vitejs/plugin-vue": "^4.6.2",
        "@vue-macros/reactivity-transform": "^0.3.23",
@@ -3227,8 +3226,9 @@
        "chart.js": "^4.4.3",
        "dayjs": "^1.11.13",
        "echarts": "^5.5.1",
        "element-plus": "^2.9.9",
        "element-plus": "^2.11.5",
        "http-proxy-middleware": "^3.0.0",
        "i18n-jsautotranslate": "^3.18.77",
        "moment": "^2.30.1",
        "northglass-mes": "file:",
        "pinia": "^2.1.6",
@@ -3290,9 +3290,9 @@
          "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA=="
        },
        "@element-plus/icons-vue": {
          "version": "2.3.1",
          "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
          "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
          "version": "2.3.2",
          "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz",
          "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==",
          "requires": {}
        },
        "@esbuild/win32-ia32": {
@@ -3413,14 +3413,14 @@
          }
        },
        "@types/lodash": {
          "version": "4.14.199",
          "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
          "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
          "version": "4.17.20",
          "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.20.tgz",
          "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA=="
        },
        "@types/lodash-es": {
          "version": "4.17.9",
          "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz",
          "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
          "version": "4.17.12",
          "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
          "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
          "requires": {
            "@types/lodash": "*"
          }
@@ -3836,9 +3836,9 @@
          "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
        },
        "dayjs": {
          "version": "1.11.13",
          "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
          "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
          "version": "1.11.18",
          "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.18.tgz",
          "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA=="
        },
        "debug": {
          "version": "4.3.4",
@@ -3879,23 +3879,22 @@
          }
        },
        "element-plus": {
          "version": "2.9.9",
          "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz",
          "integrity": "sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==",
          "version": "2.11.5",
          "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.11.5.tgz",
          "integrity": "sha512-O+bIVHQCjUDm4GiIznDXRoS8ar2TpWLwfOGnN/Aam0VXf5kbuc4SxdKKJdovWNxmxeqbcwjsSZPKgtXNcqys4A==",
          "requires": {
            "@ctrl/tinycolor": "^3.4.1",
            "@element-plus/icons-vue": "^2.3.1",
            "@element-plus/icons-vue": "^2.3.2",
            "@floating-ui/dom": "^1.0.1",
            "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
            "@types/lodash": "^4.14.182",
            "@types/lodash-es": "^4.17.6",
            "@types/lodash": "^4.17.20",
            "@types/lodash-es": "^4.17.12",
            "@vueuse/core": "^9.1.0",
            "async-validator": "^4.2.5",
            "dayjs": "^1.11.13",
            "escape-html": "^1.0.3",
            "dayjs": "^1.11.18",
            "lodash": "^4.17.21",
            "lodash-es": "^4.17.21",
            "lodash-unified": "^1.0.2",
            "lodash-unified": "^1.0.3",
            "memoize-one": "^6.0.0",
            "normalize-wheel-es": "^1.2.0"
          }
@@ -3934,11 +3933,6 @@
            "@esbuild/win32-ia32": "0.18.20",
            "@esbuild/win32-x64": "0.18.20"
          }
        },
        "escape-html": {
          "version": "1.0.3",
          "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
          "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
        },
        "escape-string-regexp": {
          "version": "5.0.0",
@@ -4054,6 +4048,11 @@
            "micromatch": "^4.0.5"
          }
        },
        "i18n-jsautotranslate": {
          "version": "3.18.77",
          "resolved": "https://registry.npmmirror.com/i18n-jsautotranslate/-/i18n-jsautotranslate-3.18.77.tgz",
          "integrity": "sha512-NvvA8sERc93sk7+tQ5hAS1O5rHEC3FOd7PdvROTiQRrbKONQIu/qVuxMKRzQChygJHTmkVhEBIt260uQIwe9VQ=="
        },
        "is-binary-path": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
UI-Project/package.json
@@ -8,13 +8,14 @@
    "preview": "vite preview"
  },
  "dependencies": {
    "@element-plus/icons-vue": "^2.3.1",
    "@element-plus/icons-vue": "^2.3.2",
    "@vue-macros/reactivity-transform": "^0.3.23",
    "axios": "^1.6.8",
    "chart.js": "^4.4.3",
    "dayjs": "^1.11.13",
    "echarts": "^5.5.1",
    "element-plus": "^2.9.9",
    "element-plus": "^2.11.5",
    "i18n-jsautotranslate": "^3.18.77",
    "moment": "^2.30.1",
    "northglass-mes": "file:",
    "pinia": "^2.1.6",
UI-Project/src/lang/en.js
@@ -33,6 +33,11 @@
        titleLast: ' to use NorthGlass MES system!',
        quit: "Exit",
    },
    timeRange: {
        week: 'Last week',
        month: 'Last month',
        threeMonths: 'Last three months',
    },
    basicData: {
        untask: 'No task',
        tonumber: 'Total number of films uploaded',
@@ -658,7 +663,7 @@
        resetnumber: 'Shelf number',
        fail: 'fail',
        mes: 'Original film storage details',
        warehousing: 'store',
        warehousing: 'Original film information entry',
        pwarehousing: 'Inventory request',
        wareout: 'Original film outbound',
        information: 'Whether to release this information from the warehouse?',
UI-Project/src/lang/index.js
@@ -3,11 +3,14 @@
import zh from "./zh"
import py from "./py"
import en from "./en"
import { useLocale } from 'element-plus';
import enLocale from 'element-plus/es/locale/lang/en';
import zhLocale from 'element-plus/es/locale/lang/zh-cn';
let messages = {
    zh:zh,
    zh: {...zh, ...zhLocale},
    py:py,
    en: en
    en: {...en, ...enLocale}
}
const i18n = createI18n({
@@ -17,4 +20,29 @@
    messages
})
const syncElementLocale = () => {
  // 在方法内调用 useLocale(确保在 Vue 上下文内)
  const { locale } = useLocale();
  const currentLang = i18n.global.locale.value;
  // 根据当前语言切换 Element 组件的语言包
    if (currentLang === 'zh') {
    locale.value = { ...zhLocale }; // 中文内置文本
  } else {
    locale.value = { ...enLocale }; // 英文内置文本
  }
  // 额外触发一次 i18n 刷新(解决缓存问题)
  i18n.global.locale.value = currentLang;
};
// 初始化同步
syncElementLocale();
// 语言切换方法
export const switchLang = (lang) => {
  localStorage.setItem('lang', lang);
  i18n.global.locale.value = lang;
  syncElementLocale(); // 切换后同步
};
export { syncElementLocale };
export default i18n
UI-Project/src/lang/zh.js
@@ -33,6 +33,11 @@
          titleLast:' 使用北玻MES系统!',
          quit:"退出",
      },
      timeRange: {
          week: '最近一周',
          month: '最近一个月',
          threeMonths: '最近三个月',
      },
      basicData:{
          untask:'无任务',
          tonumber:'上片总数量',
UI-Project/src/main.js
@@ -9,7 +9,7 @@
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
import i18n from '@/lang'
import i18n, { syncElementLocale } from '@/lang';
// import Echarts from "vue-echarts"
// echarts.registerMap('china', china)
// Vue.prototype.$echarts = echarts
@@ -26,9 +26,10 @@
app.use(VXETable)
app.use(pinia)
app.use(router)
// app.use(ElementPlus)
app.use(ElementPlus,{
    locale: zhCn,
})
app.use(ElementPlus)
// app.use(ElementPlus,{
//     locale: zhCn,
// })
app.use(i18n)
syncElementLocale();
app.mount('#app')
UI-Project/src/views/GlassStorage/rawfilmstorage2.vue
@@ -23,56 +23,8 @@
const dialogFormVisiblee = ref(false)
const blindb = ref(false)
const Edit = ref(false)
const card1 = ref(false)
const card2 = ref(false)
const card3 = ref(false)
const card4 = ref(false)
const card5 = ref(false)
const card6 = ref(false)
const card7 = ref(false)
const card8 = ref(false)
const card9 = ref(false)
const card10 = ref(false)
const card11 = ref(false)
const card12 = ref(false)
const card13 = ref(false)
const card14 = ref(false)
const card15 = ref(false)
const card16 = ref(false)
const card17 = ref(false)
const card18 = ref(false)
const card19 = ref(false)
const card20 = ref(false)
const card21 = ref(false)
const card22 = ref(false)
const card23 = ref(false)
const card24 = ref(false)
const card25 = ref(false)
const card26 = ref(false)
const card27 = ref(false)
const card28 = ref(false)
const card31 = ref(false)
const card32 = ref(false)
const card33 = ref(false)
const card34 = ref(false)
const card35 = ref(false)
const card36 = ref(false)
const card37 = ref(false)
const card40 = ref(false)
const card41 = ref(false)
const card42 = ref(false)
const card43 = ref(false)
const card44 = ref(false)
const card45 = ref(false)
const card46 = ref(false)
const card47 = ref(false)
const card48 = ref(false)
const card49 = ref(false)
const card38 = ref(false)
const card101 = ref(false)
const cards = ref(Array(47).fill(false));
const timeRange = ref([])
const timeRangea = ref([])
@@ -141,152 +93,11 @@
  if (data.rawStationDetailsList != null) {
    loading.value = false
    tableDatab.value = data.rawStationDetailsList[0]
    if (data.rawStationDetailsList[0][0].patternThickness != null) {
      card1.value = true
    }
    if (data.rawStationDetailsList[0][1].patternThickness != null) {
      card2.value = true
    }
    if (data.rawStationDetailsList[0][2].patternThickness != null) {
      card3.value = true
    }
    if (data.rawStationDetailsList[0][3].patternThickness != null) {
      card4.value = true
    }
    if (data.rawStationDetailsList[0][4].patternThickness != null) {
      card5.value = true
    }
    if (data.rawStationDetailsList[0][5].patternThickness != null) {
      card6.value = true
    }
    if (data.rawStationDetailsList[0][6].patternThickness != null) {
      card7.value = true
    }
    if (data.rawStationDetailsList[0][7].patternThickness != null) {
      card8.value = true
    }
    if (data.rawStationDetailsList[0][8].patternThickness != null) {
      card9.value = true
    }
    if (data.rawStationDetailsList[0][9].patternThickness != null) {
      card10.value = true
    }
    if (data.rawStationDetailsList[0][10].patternThickness != null) {
      card11.value = true
    }
    if (data.rawStationDetailsList[0][11].patternThickness != null) {
      card12.value = true
    }
    if (data.rawStationDetailsList[0][12].patternThickness != null) {
      card13.value = true
    }
    if (data.rawStationDetailsList[0][13].patternThickness != null) {
      card14.value = true
    }
    if (data.rawStationDetailsList[0][14].patternThickness != null) {
      card15.value = true
    }
    if (data.rawStationDetailsList[0][15].patternThickness != null) {
      card16.value = true
    }
    if (data.rawStationDetailsList[0][16].patternThickness != null) {
      card17.value = true
    }
    if (data.rawStationDetailsList[0][17].patternThickness != null) {
      card18.value = true
    }
    if (data.rawStationDetailsList[0][18].patternThickness != null) {
      card19.value = true
    }
    if (data.rawStationDetailsList[0][19].patternThickness != null) {
      card20.value = true
    }
    if (data.rawStationDetailsList[0][20].patternThickness != null) {
      card21.value = true
    }
    if (data.rawStationDetailsList[0][21].patternThickness != null) {
      card22.value = true
    }
    if (data.rawStationDetailsList[0][22].patternThickness != null) {
      card23.value = true
    }
    if (data.rawStationDetailsList[0][23].patternThickness != null) {
      card24.value = true
    }
    if (data.rawStationDetailsList[0][24].patternThickness != null) {
      card25.value = true
    }
    if (data.rawStationDetailsList[0][25].patternThickness != null) {
      card26.value = true
    }
    if (data.rawStationDetailsList[0][26].patternThickness != null) {
      card27.value = true
    }
    if (data.rawStationDetailsList[0][27].patternThickness != null) {
      card28.value = true
    }
    if (data.rawStationDetailsList[0][28].patternThickness != null) {
      card31.value = true
    }
    if (data.rawStationDetailsList[0][29].patternThickness != null) {
      card32.value = true
    }
    if (data.rawStationDetailsList[0][30].patternThickness != null) {
      card33.value = true
    }
    if (data.rawStationDetailsList[0][31].patternThickness != null) {
      card34.value = true
    }
    if (data.rawStationDetailsList[0][32].patternThickness != null) {
      card35.value = true
    }
    if (data.rawStationDetailsList[0][33].patternThickness != null) {
      card36.value = true
    }
    if (data.rawStationDetailsList[0][34].patternThickness != null) {
      card37.value = true
    }
    if (data.rawStationDetailsList[0][35].patternThickness != null) {
      card40.value = true
    }
    if (data.rawStationDetailsList[0][36].patternThickness != null) {
      card41.value = true
    }
    if (data.rawStationDetailsList[0][37].patternThickness != null) {
      card42.value = true
    }
    if (data.rawStationDetailsList[0][38].patternThickness != null) {
      card43.value = true
    }
    if (data.rawStationDetailsList[0][39].patternThickness != null) {
      card44.value = true
    }
    if (data.rawStationDetailsList[0][40].patternThickness != null) {
      card45.value = true
    }
    if (data.rawStationDetailsList[0][41].patternThickness != null) {
      card46.value = true
    }
    if (data.rawStationDetailsList[0][42].patternThickness != null) {
      card47.value = true
    }
    if (data.rawStationDetailsList[0][43].patternThickness != null) {
      card48.value = true
    }
    if (data.rawStationDetailsList[0][44].patternThickness != null) {
      card49.value = true
    }
    if (data.rawStationDetailsList[0][45].patternThickness != null) {
      card38.value = true
    }
    if (data.rawStationDetailsList[0][46].patternThickness != null) {
      card101.value = true
    const stationList = data.rawStationDetailsList[0];
    for (let i = 0; i < 47; i++) {
      // stationList[i] 对应原 data.rawStationDetailsList[0][i]
      // cards[i] 对应原 card(i+1)
      cards.value[i] = stationList[i]?.patternThickness != null;
    }
  }
};
@@ -703,13 +514,15 @@
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange" format="YYYY/MM/DD HH:mm:ss"
        value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('film.starttime')"
        :end-placeholder="$t('film.endtime')" :default-time="defaultTime" />
      <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px; width: 200px;">
      <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')"
        style="margin-left: 10px; width: 200px;">
        <el-option :label="$t('film.built')" value="0"></el-option>
        <el-option :label="$t('film.execution')" value="1"></el-option>
        <el-option :label="$t('film.finish')" value="2"></el-option>
        <el-option :label="$t('film.fail')" value="3"></el-option>
      </el-select>
      <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px; width: 200px;">
      <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')"
        style="margin-left: 10px; width: 200px;">
        <el-option :label="$t('sorter.warehouseReturntasks')" value="1"></el-option>
        <el-option :label="$t('sorter.outputtasks')" value="2"></el-option>
        <el-option :label="$t('sorter.schedulingtasks')" value="3"></el-option>
@@ -727,7 +540,7 @@
          <el-table-column prop="startSlot" align="center" :label="$t('film.originateslot')" />
          <el-table-column prop="endSlot" align="center" :label="$t('film.endoriginateslot')" />
          <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')" />
          <el-table-column width="100" align="center" :label="$t('film.enabletype')" prop="taskType">
          <el-table-column width="150" align="center" :label="$t('film.enabletype')" prop="taskType">
            <template #default="scope">
              <el-tag :type="getStatusType1(scope.row.taskType)">
                {{ getStatusText1(scope.row.taskType) }}
@@ -757,60 +570,38 @@
      <div class="img-car1" style="z-index:999;top:250px;left:20px;position:absolute;"></div>
      <div class="glasscard1">
        <!-- <div class="img-car1" :style="'z-index:999;top:250px;left:' + 20 + 'px;position:absolute;'"></div> -->
        <div class="card1" v-show="card1" style="z-index:999;"></div>
        <div class="card2" v-show="card2" style="z-index:999;"></div>
        <div class="card3" v-show="card3" style="z-index:999;"></div>
        <div class="card4" v-show="card4" style="z-index:999;"></div>
        <div class="card5" v-show="card5" style="z-index:999;"></div>
        <div class="card6" v-show="card6" style="z-index:999;"></div>
        <div class="card7" v-show="card7" style="z-index:999;"></div>
        <div class="card8" v-show="card8" style="z-index:999;"></div>
        <div class="card9" v-show="card9" style="z-index:999;"></div>
        <div class="card10" v-show="card10" style="z-index:999;"></div>
        <div class="card11" v-show="card11" style="z-index:999;"></div>
        <div class="card12" v-show="card12" style="z-index:999;"></div>
        <div class="card13" v-show="card13" style="z-index:999;"></div>
        <div class="card14" v-show="card14" style="z-index:999;"></div>
        <div class="card15" v-show="card15" style="z-index:999;"></div>
        <div class="card16" v-show="card16" style="z-index:999;"></div>
        <div class="card17" v-show="card17" style="z-index:999;"></div>
        <div class="card18" v-show="card18" style="z-index:999;"></div>
        <div class="card19" v-show="card19" style="z-index:999;"></div>
        <div class="card20" v-show="card20" style="z-index:999;"></div>
        <div class="card21" v-show="card21" style="z-index:999;"></div>
        <div class="card22" v-show="card22" style="z-index:999;"></div>
        <div class="card23" v-show="card23" style="z-index:999;"></div>
        <div class="card24" v-show="card24" style="z-index:999;"></div>
        <div class="card25" v-show="card25" style="z-index:999;"></div>
        <div class="card26" v-show="card26" style="z-index:999;"></div>
        <div class="card27" v-show="card27" style="z-index:999;"></div>
        <div class="card28" v-show="card28" style="z-index:999;position:absolute;"></div>
        <!-- i 为 28个 -->
        <div v-for="i in 28" :key="'group1-' + i" :class="`card${i}`" :style="{
          left: `${-1 + (i - 1) * 27}px`, // 计算 left(第一个从 -1 开始)
          width: '18px',
          height: '128px',
          backgroundColor: '#911005',
          }" v-show="cards[i-1]">
      </div>
      <div class="glasscard2">
        <div class="card31" v-show="card31" style="z-index:999;"></div>
        <div class="card32" v-show="card32" style="z-index:999;"></div>
        <div class="card33" v-show="card33" style="z-index:999;"></div>
        <div class="card34" v-show="card34" style="z-index:999;"></div>
        <div class="card35" v-show="card35" style="z-index:999;"></div>
        <div class="card36" v-show="card36" style="z-index:999;"></div>
        <div class="card37" v-show="card37" style="z-index:999;"></div>
        <div class="card38" v-show="card38" style="z-index:999;"></div>
      </div>
      <div class="glasscard3">
        <div class="card40" v-show="card40" style="z-index:999;"></div>
        <div class="card41" v-show="card41" style="z-index:999;"></div>
        <div class="card42" v-show="card42" style="z-index:999;"></div>
        <div class="card43" v-show="card43" style="z-index:999;"></div>
        <div class="card44" v-show="card44" style="z-index:999;"></div>
        <div class="card45" v-show="card45" style="z-index:999;"></div>
        <div class="card46" v-show="card46" style="z-index:999;"></div>
        <div class="card47" v-show="card47" style="z-index:999;"></div>
        <div class="card48" v-show="card48" style="z-index:999;"></div>
        <div class="card49" v-show="card49" style="z-index:999;"></div>
      <div class="card101" :style="{
        position: 'absolute',
        zIndex: 999,
      }" v-show="cards[46]">
      </div>
      <div class="card101" v-show="card101" style="z-index:999;"></div>
      <div class="glasscard2">
        <!-- i 为 17个 -->
        <div v-for="i in 17" :key="'group2-' + i" :class="`card${28 + i}`" :style="{
          left: `${-1 + (i - 1) * 27}px`, // 计算 left(第一个从 -1 开始)
          width: '18px', // 每个卡片的宽度
          height: '128px', // 每个卡片的高度
          backgroundColor: '#911005', // 卡片的背景颜色
        }" v-show="cards[27 + i]">
        </div>
      </div>
      <div class="card99" :style="{
        position: 'absolute',
        zIndex: 999,
      }" v-show="cards[45]">
      </div>
    </div>
    <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%">
@@ -1065,7 +856,7 @@
  min-height: 800px;
  width: 1070px;
  max-width: 100%;
  background-size: 980px 700px;
  background-size: 873px 628px;
  overflow: hidden;
  position: relative;
}
@@ -1087,397 +878,41 @@
}
.glasscard1 {
  height: 118px;
  height: 48px;
  position: relative;
  margin-top: 625px;
  margin-left: 493px;
  margin-top: 439px;
  margin-left: 57px;
}
.card1 {
  width: 8px;
  height: 95px;
  background-color: #911005;
.glasscard1 > [class^="card"] {
  position: absolute;
  left: 0;
}
.card2 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 19px;
}
.card3 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 38px;
}
.card4 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 57px;
}
.card5 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 76px;
}
.card6 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 95px;
}
.card7 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 114px;
}
.card8 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 133px;
}
.card9 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 152px;
}
.card10 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 171px;
}
.card11 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 190px;
}
.card12 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 209px;
}
.card13 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 228px;
}
.card14 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 247px;
}
.card15 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 266px;
}
.card16 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 285px;
}
.card17 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 304px;
}
.card18 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 323px;
}
.card19 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 342px;
}
.card20 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 361px;
}
.card21 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 380px;
}
.card22 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 399px;
}
.card23 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 418px;
}
.card24 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 437px;
}
.card25 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 456px;
}
.card26 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 475px;
}
.card27 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 494px;
}
.card28 {
  width: 8px;
  height: 95px;
  background-color: #911005;
  position: absolute;
  left: 513px;
  z-index: 999;
}
.glasscard2 {
  position: relative;
  margin-top: -420px;
  margin-left: 495px;
  margin-top: -425px;
  margin-left: 274px;
}
.card31 {
  width: 8px;
  height: 90px;
  background-color: #911005;
.glasscard2 > [class^="card"] {
  position: absolute;
  left: 0;
  z-index: 999;
}
.card32 {
  width: 8px;
  height: 90px;
.card99 {
  width: 19px;
  height: 128px;
  background-color: #911005;
  position: absolute;
  left: 19px;
}
.card33 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 38px;
}
.card34 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 57px;
}
.card35 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 76px;
}
.card36 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 95px;
}
.card37 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 114px;
}
.card38 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 136px;
}
.glasscard3 {
  position: relative;
  margin-left: 806px;
  margin-top: -90px;
}
.card40 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 0;
}
.card41 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 19px;
}
.card42 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 38px;
}
.card43 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 57px;
}
.card44 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 76px;
}
.card45 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 95px;
}
.card46 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 114px;
}
.card47 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 133px;
}
.card48 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 152px;
}
.card49 {
  width: 8px;
  height: 90px;
  background-color: #911005;
  position: absolute;
  left: 171px;
  top: 61px;
  left: 796px;
}
.card101 {
  width: 8px;
  height: 90px;
  width: 19px;
  height: 128px;
  background-color: #911005;
  position: absolute;
  left: 1023px;
  top: 66px;
  left: 48px;
}
</style>
UI-Project/src/views/GlassStorage/rawhistory.vue
@@ -301,7 +301,7 @@
}
const shortcuts = [
  {
    text: '最近一周',
    text: t('timeRange.week'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
@@ -312,7 +312,7 @@
    },
  },
  {
    text: '最近一个月',
    text: t('timeRange.month'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
@@ -323,7 +323,7 @@
    },
  },
  {
    text: '最近三个月',
    text: t('timeRange.threeMonths'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
UI-Project/src/views/Returns/upreturnhistory.vue
@@ -238,7 +238,7 @@
}
const shortcuts = [
  {
    text: '最近一周',
    text: t('timeRange.week'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
@@ -249,7 +249,7 @@
    },
  },
  {
    text: '最近一个月',
    text: t('timeRange.month'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
@@ -260,7 +260,7 @@
    },
  },
  {
    text: '最近三个月',
    text: t('timeRange.threeMonths'),
    value: () => {
      const backendTime = new Date(getglobalDate)
      const oneWeekAgo = new Date(getglobalDate)
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/I18nConfig.java
@@ -1,5 +1,6 @@
package com.mes.tools;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
@@ -18,11 +19,14 @@
    /**
     * 配置消息源:指定国际化文件路径和编码
     */
    @Value("${i18n.message-path}")
    private String i18nMessagePath;
    @Bean
    public ReloadableResourceBundleMessageSource  messageSource() {
        ReloadableResourceBundleMessageSource  messageSource = new ReloadableResourceBundleMessageSource();
        // 配置文件i18n目录下的messages开头文件
        messageSource.setBasename("file:D:/MES/i18n/messages");
        messageSource.setBasename(i18nMessagePath);
        messageSource.setDefaultEncoding("UTF-8");
        messageSource.setCacheSeconds(20);
        return messageSource;
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -1,6 +1,6 @@
package com.mes;
import com.mes.job.PlcStorageCageTask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
@@ -13,11 +13,11 @@
public class AppRunnerConfig implements ApplicationRunner {
    private final PlcStorageCageTask plcStorageCageTask;
    public AppRunnerConfig(PlcStorageCageTask plcStorageCageTask) {
        this.plcStorageCageTask = plcStorageCageTask;
    }
//    private final PlcStorageCageTask plcStorageCageTask;
//
//    public AppRunnerConfig(PlcStorageCageTask plcStorageCageTask) {
//        this.plcStorageCageTask = plcStorageCageTask;
//    }
    @Override
    public void run(ApplicationArguments args) throws Exception {
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
@@ -9,6 +9,9 @@
  liquibase:
    enabled: false
i18n:
  message-path: "file:D:/mes/aerjiliya/i18n/messages"
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
#  configuration:
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -268,10 +268,9 @@
        calendar.set(Calendar.MILLISECOND, 999);
        Date todayEnd = calendar.getTime();
        // 2. 构建查询条件:状态为“运行中” + 时间在当天范围内
        // 2. 构建查询条件: 时间在当天范围内
        Integer count = engineeringService.count(
                new LambdaQueryWrapper<Engineering>()
                        .eq(Engineering::getState, Const.ENGINEERING_RUNNING) // 原状态条件
                        // 核心:createTime 大于等于当天开始,小于等于当天结束
                        .ge(Engineering::getCreateTime, todayStart)
                        .le(Engineering::getCreateTime, todayEnd)
@@ -285,7 +284,7 @@
        Engineering engineering = new Engineering();
        engineering.setEngineerId(engineerId);
        engineering.setEngineerName(rawGlassStorageDetails.getFilmsId());
        engineering.setState(1);
        engineering.setState(Const.ENGINEERING_RUNNING);
        engineering.setStationCell(5);
        engineering.setPlanPatternTotal(slot);
        engineering.setFilmsId(rawGlassStorageDetails.getFilmsId());
@@ -299,7 +298,7 @@
            saveDetails.setHeight(rawGlassStorageDetails.getPatternHeight());
            saveDetails.setThickness(rawGlassStorageDetails.getPatternThickness());
            saveDetails.setLayoutSequence(i);
            saveDetails.setState(0);
            saveDetails.setState(Const.ENGINEERING_NEW);
            this.save(saveDetails);
        }
        return Boolean.TRUE;
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -11,3 +11,6 @@
  mapper-locations: classpath*:mapper/*.xml
#  configuration:
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
i18n:
  message-path: "file:D:/mes/aerjiliya/i18n/messages"