yanghao преди 2 дни
родител
ревизия
cb1703b482
променени са 28 файла, в които са добавени 194 реда и са изтрити 6 реда
  1. BIN
      src/assets/images/caiwu/财务pc_en.png
  2. BIN
      src/assets/images/caiwu/财务pc_ru.png
  3. BIN
      src/assets/images/caiwu/财务pc_white_en.png
  4. BIN
      src/assets/images/caiwu/财务pc_white_ru.png
  5. BIN
      src/assets/images/caiwu/财务驾驶舱_en.png
  6. BIN
      src/assets/images/caiwu/财务驾驶舱_ru.png
  7. BIN
      src/assets/images/caiwu/财务驾驶舱_white_en.png
  8. BIN
      src/assets/images/caiwu/财务驾驶舱_white_ru.png
  9. BIN
      src/assets/images/jingying/dr1_en.png
  10. BIN
      src/assets/images/jingying/dr1_ru.png
  11. BIN
      src/assets/images/jingying/dr1_white_en.png
  12. BIN
      src/assets/images/jingying/dr1_white_ru.png
  13. BIN
      src/assets/images/jingying/mobile_en.png
  14. BIN
      src/assets/images/jingying/mobile_ru.png
  15. BIN
      src/assets/images/jingying/mobile_white_en.png
  16. BIN
      src/assets/images/jingying/mobile_white_ru.png
  17. BIN
      src/assets/images/shengchan/生产pc_en.png
  18. BIN
      src/assets/images/shengchan/生产pc_ru.png
  19. BIN
      src/assets/images/shengchan/生产pc_white_en.png
  20. BIN
      src/assets/images/shengchan/生产pc_white_ru.png
  21. BIN
      src/assets/images/shengchan/生产驾驶舱_en.png
  22. BIN
      src/assets/images/shengchan/生产驾驶舱_ru.png
  23. BIN
      src/assets/images/shengchan/生产驾驶舱_white_en.png
  24. BIN
      src/assets/images/shengchan/生产驾驶舱_white_ru.png
  25. 1 1
      src/components/home/header.vue
  26. 20 2
      src/i18n/index.ts
  27. 171 1
      src/views/drive/index.vue
  28. 2 2
      src/views/login.vue

BIN
src/assets/images/caiwu/财务pc_en.png


BIN
src/assets/images/caiwu/财务pc_ru.png


BIN
src/assets/images/caiwu/财务pc_white_en.png


BIN
src/assets/images/caiwu/财务pc_white_ru.png


BIN
src/assets/images/caiwu/财务驾驶舱_en.png


BIN
src/assets/images/caiwu/财务驾驶舱_ru.png


BIN
src/assets/images/caiwu/财务驾驶舱_white_en.png


BIN
src/assets/images/caiwu/财务驾驶舱_white_ru.png


BIN
src/assets/images/jingying/dr1_en.png


BIN
src/assets/images/jingying/dr1_ru.png


BIN
src/assets/images/jingying/dr1_white_en.png


BIN
src/assets/images/jingying/dr1_white_ru.png


BIN
src/assets/images/jingying/mobile_en.png


BIN
src/assets/images/jingying/mobile_ru.png


BIN
src/assets/images/jingying/mobile_white_en.png


BIN
src/assets/images/jingying/mobile_white_ru.png


BIN
src/assets/images/shengchan/生产pc_en.png


BIN
src/assets/images/shengchan/生产pc_ru.png


BIN
src/assets/images/shengchan/生产pc_white_en.png


BIN
src/assets/images/shengchan/生产pc_white_ru.png


BIN
src/assets/images/shengchan/生产驾驶舱_en.png


BIN
src/assets/images/shengchan/生产驾驶舱_ru.png


BIN
src/assets/images/shengchan/生产驾驶舱_white_en.png


BIN
src/assets/images/shengchan/生产驾驶舱_white_ru.png


+ 1 - 1
src/components/home/header.vue

@@ -52,7 +52,7 @@
           </li>
 
           <!-- 驾驶舱门户 -->
-          <li v-hasPermi="['portal:dashboard:view']">
+          <li>
             <a
               class="cursor-pointer px-3 py-1.5 rounded-md transition-all duration-300"
               :class="

+ 20 - 2
src/i18n/index.ts

@@ -10,10 +10,27 @@ export type AppLocale = (typeof SUPPORTED_LOCALES)[number];
 const messages = {
   zh,
   en,
-  // 俄语
   ru,
 };
 
+const resolveBrowserLocale = (browserRaw: string): AppLocale => {
+  const browserLocale = browserRaw.toLowerCase();
+
+  if (browserLocale.startsWith("zh")) {
+    return "zh";
+  }
+
+  if (browserLocale.startsWith("ru")) {
+    return "ru";
+  }
+
+  if (browserLocale.startsWith("en")) {
+    return "en";
+  }
+
+  return "zh";
+};
+
 const getDefaultLocale = (): AppLocale => {
   if (typeof window === "undefined") {
     return "zh";
@@ -24,7 +41,8 @@ const getDefaultLocale = (): AppLocale => {
     return savedLocale as AppLocale;
   }
 
-  return navigator.language.toLowerCase().startsWith("zh") ? "zh" : "en";
+  const browserRaw = navigator.language;
+  return resolveBrowserLocale(browserRaw);
 };
 
 const locale = getDefaultLocale();

+ 171 - 1
src/views/drive/index.vue

@@ -102,6 +102,37 @@ import driveMobile4_white from "@/assets/images/供应链驾驶舱_white.png"; /
 import driveMobile5_white from "@/assets/images/市场驾驶舱_white.png"; // 生产驾驶舱移动端背景图
 import driveMobile6_white from "@/assets/images/QHSE驾驶舱_white.png"; // 生产驾驶舱移动端背景图
 
+// 经营驾驶舱
+import dr1_en from "@/assets/images/jingying/dr1_en.png";
+import dr1_white_en from "@/assets/images/jingying/dr1_white_en.png";
+import mobile_en from "@/assets/images/jingying/mobile_en.png";
+import mobile_white_en from "@/assets/images/jingying/mobile_white_en.png";
+import dr1_ru from "@/assets/images/jingying/dr1_ru.png";
+import dr1_white_ru from "@/assets/images/jingying/dr1_white_ru.png";
+import mobile_ru from "@/assets/images/jingying/mobile_ru.png";
+import mobile_white_ru from "@/assets/images/jingying/mobile_white_ru.png";
+
+// 生产驾驶舱
+import drivePc2_white_en from "@/assets/images/shengchan/生产pc_white_en.png";
+import drivePc2_en from "@/assets/images/shengchan/生产pc_en.png";
+import driveMobile2_white_en from "@/assets/images/shengchan/生产驾驶舱_white_en.png";
+import driveMobile2_en from "@/assets/images/shengchan/生产驾驶舱_en.png";
+import drivePc2_white_ru from "@/assets/images/shengchan/生产pc_white_ru.png";
+import drivePc2_ru from "@/assets/images/shengchan/生产pc_ru.png";
+import driveMobile2_white_ru from "@/assets/images/shengchan/生产驾驶舱_white_ru.png";
+import driveMobile2_ru from "@/assets/images/shengchan/生产驾驶舱_ru.png";
+
+// 财务驾驶舱
+import drivePc3_white_en from "@/assets/images/caiwu/财务pc_white_en.png";
+import drivePc3_en from "@/assets/images/caiwu/财务pc_en.png";
+import driveMobile3_white_en from "@/assets/images/caiwu/财务驾驶舱_white_en.png";
+import driveMobile3_en from "@/assets/images/caiwu/财务驾驶舱_en.png";
+
+import drivePc3_white_ru from "@/assets/images/caiwu/财务pc_white_ru.png";
+import drivePc3_ru from "@/assets/images/caiwu/财务pc_ru.png";
+import driveMobile3_white_ru from "@/assets/images/caiwu/财务驾驶舱_white_ru.png";
+import driveMobile3_ru from "@/assets/images/caiwu/财务驾驶舱_ru.png";
+
 import all from "@/assets/images/driveall.png";
 import jingying from "@/assets/images/jingying.png";
 import shengc from "@/assets/images/shengc.png";
@@ -165,7 +196,7 @@ watch(
           description: "查看财务分析、预算执行与经营数据表现。",
           url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
           mobileUrl:
-            "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
+            "https://report.deepoil.cc/webroot/decision/v10/entry/access/75e4a140-7d39-457d-a991-072ab1abc30c?preview=true&page_number=1",
           bgColor: "#ca8a04",
           pcBg: drivePc3_white,
           mobileBg: driveMobile3_white,
@@ -272,6 +303,7 @@ watch(
   },
 );
 
+// 中文
 const driveCards = ref([
   {
     title: "经营驾驶舱",
@@ -338,6 +370,144 @@ const driveCards = ref([
   },
 ]);
 
+// 英语
+const driveCards_en = ref([
+  {
+    title: "经营驾驶舱",
+    description: "查看经营分析、经营指标与执行情况。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/9fb42908-894a-4373-a6be-ce046a42851d?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/b15238fe-9a61-4beb-8220-da0114d1c4a1?preview=true&page_number=1",
+    bgColor: "#3876e0",
+    pcBg: themeStore.theme === "light" ? dr1_white_en : dr1_en,
+    mobileBg: themeStore.theme === "light" ? mobile_white_en : mobile_en,
+    category: "management", // 对应经营管理
+  },
+  {
+    title: "生产驾驶舱",
+    description: "查看生产运营态势、核心指标与执行情况。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/dbc9cf73-81ce-43f1-9923-45cdfa5d5d3a?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/1c87e03c-cd5c-42bb-aa7d-8b8034e5a453?preview=true&page_number=1",
+    bgColor: "#0f766e",
+    pcBg: themeStore.theme === "light" ? drivePc2_white_en : drivePc2_en,
+    mobileBg:
+      themeStore.theme === "light" ? driveMobile2_white_en : driveMobile2_en,
+    category: "production", // 对应生产运营
+  },
+  {
+    title: "财务驾驶舱",
+    description: "查看财务分析、预算执行与经营数据表现。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
+    bgColor: "#ca8a04",
+    pcBg: themeStore.theme === "light" ? drivePc3_white_en : drivePc3_en,
+    mobileBg:
+      themeStore.theme === "light" ? driveMobile3_white_en : driveMobile3_en,
+    category: "finance", // 对应财务管理
+  },
+  {
+    title: "供应链驾驶舱",
+    description: "查看供应链分析、物料需求与执行。",
+    url: "#",
+    mobileUrl: "",
+    bgColor: "#7c3aed",
+    pcBg: themeStore.theme === "light" ? drivePc4_white : drivePc4,
+    mobileBg: themeStore.theme === "light" ? driveMobile4_white : driveMobile4,
+    category: "supply", // 对应供应链管理
+  },
+  {
+    title: "市场驾驶舱",
+    description: "查看市场分析、销售数据与执行情况。",
+    url: "#",
+    mobileUrl: "",
+    bgColor: "#16a34a",
+    pcBg: themeStore.theme === "light" ? drivePc5_white : drivePc5,
+    mobileBg: themeStore.theme === "light" ? driveMobile5_white : driveMobile5,
+    category: "marketing", // 对应市场营销
+  },
+  {
+    title: "QHSE驾驶舱",
+    description: "查看安全、健康、环境与质量数据。",
+    url: `${import.meta.env.VITE_PMS_URL}/portalLogin?username=${userStore.getUser.username}&source=qhse`,
+    mobileUrl: `${import.meta.env.VITE_PMS_URL}/portalLogin?username=${userStore.getUser.username}&source=qhse`,
+    bgColor: "#dc2626",
+    pcBg: themeStore.theme === "light" ? drivePc6_white : drivePc6,
+    mobileBg: themeStore.theme === "light" ? driveMobile6_white : driveMobile6,
+    category: "qhse", // 对应 QHSE
+  },
+]);
+
+// 俄语
+const driveCards_ru = ref([
+  {
+    title: "经营驾驶舱",
+    description: "查看经营分析、经营指标与执行情况。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/9fb42908-894a-4373-a6be-ce046a42851d?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/b15238fe-9a61-4beb-8220-da0114d1c4a1?preview=true&page_number=1",
+    bgColor: "#3876e0",
+    pcBg: themeStore.theme === "light" ? dr1_white_ru : dr1_ru,
+    mobileBg: themeStore.theme === "light" ? mobile_white_ru : mobile_ru,
+    category: "management", // 对应经营管理
+  },
+  {
+    title: "生产驾驶舱",
+    description: "查看生产运营态势、核心指标与执行情况。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/dbc9cf73-81ce-43f1-9923-45cdfa5d5d3a?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/1c87e03c-cd5c-42bb-aa7d-8b8034e5a453?preview=true&page_number=1",
+    bgColor: "#0f766e",
+    pcBg: themeStore.theme === "light" ? drivePc2_white_ru : drivePc2_ru,
+    mobileBg:
+      themeStore.theme === "light" ? driveMobile2_white_ru : driveMobile2_ru,
+    category: "production", // 对应生产运营
+  },
+  {
+    title: "财务驾驶舱",
+    description: "查看财务分析、预算执行与经营数据表现。",
+    url: "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
+    mobileUrl:
+      "https://report.deepoil.cc/webroot/decision/v10/entry/access/e836fb5b-092c-4d64-a324-3beeb4fac0cc?preview=true&page_number=1",
+    bgColor: "#ca8a04",
+    pcBg: themeStore.theme === "light" ? drivePc3_white_ru : drivePc3_ru,
+    mobileBg:
+      themeStore.theme === "light" ? driveMobile3_white_ru : driveMobile3_ru,
+    category: "finance", // 对应财务管理
+  },
+  {
+    title: "供应链驾驶舱",
+    description: "查看供应链分析、物料需求与执行。",
+    url: "#",
+    mobileUrl: "",
+    bgColor: "#7c3aed",
+    pcBg: themeStore.theme === "light" ? drivePc4_white : drivePc4,
+    mobileBg: themeStore.theme === "light" ? driveMobile4_white : driveMobile4,
+    category: "supply", // 对应供应链管理
+  },
+  {
+    title: "市场驾驶舱",
+    description: "查看市场分析、销售数据与执行情况。",
+    url: "#",
+    mobileUrl: "",
+    bgColor: "#16a34a",
+    pcBg: themeStore.theme === "light" ? drivePc5_white : drivePc5,
+    mobileBg: themeStore.theme === "light" ? driveMobile5_white : driveMobile5,
+    category: "marketing", // 对应市场营销
+  },
+  {
+    title: "QHSE驾驶舱",
+    description: "查看安全、健康、环境与质量数据。",
+    url: `${import.meta.env.VITE_PMS_URL}/portalLogin?username=${userStore.getUser.username}&source=qhse`,
+    mobileUrl: `${import.meta.env.VITE_PMS_URL}/portalLogin?username=${userStore.getUser.username}&source=qhse`,
+    bgColor: "#dc2626",
+    pcBg: themeStore.theme === "light" ? drivePc6_white : drivePc6,
+    mobileBg: themeStore.theme === "light" ? driveMobile6_white : driveMobile6,
+    category: "qhse", // 对应 QHSE
+  },
+]);
+
 const filteredCards = computed(() => {
   if (activeTab.value === "all") {
     return driveCards.value;

+ 2 - 2
src/views/login.vue

@@ -23,7 +23,7 @@
         </h1>
 
         <!-- 用户名密码登陆 -->
-        <!-- <div>
+        <div>
           <el-form
             :model="form"
             :rules="rules"
@@ -64,7 +64,7 @@
               >
             </div>
           </div>
-        </div> -->
+        </div>
 
         <!-- 钉钉登陆 -->
         <div class="text-center">