Kaynağa Gözat

feat: 样式调整

Eason-87 6 gün önce
ebeveyn
işleme
ce8908b8a0

+ 6 - 0
README.md

@@ -1 +1,7 @@
 # kerui-portal
+
+# 0.0.1
+
+功能新增
+
+- 门户静态页面

+ 1 - 0
package.json

@@ -16,6 +16,7 @@
   "dependencies": {
     "@iconify/iconify": "^3.1.1",
     "@iconify/vue": "^5.0.0",
+    "@kjgl77/datav-vue3": "^1.7.4",
     "axios": "^1.13.1",
     "element-plus": "^2.11.7",
     "pinia": "^3.0.3",

+ 95 - 3
pnpm-lock.yaml

@@ -14,6 +14,9 @@ importers:
       '@iconify/vue':
         specifier: ^5.0.0
         version: 5.0.0(vue@3.5.22(typescript@5.9.3))
+      '@kjgl77/datav-vue3':
+        specifier: ^1.7.4
+        version: 1.7.4(vue@3.5.22(typescript@5.9.3))
       axios:
         specifier: ^1.13.1
         version: 1.13.1
@@ -62,7 +65,7 @@ importers:
         version: 5.9.3
       unplugin-auto-import:
         specifier: ^20.2.0
-        version: 20.2.0(@vueuse/core@9.13.0(vue@3.5.22(typescript@5.9.3)))
+        version: 20.2.0(@vueuse/core@10.11.1(vue@3.5.22(typescript@5.9.3)))
       unplugin-vue-components:
         specifier: ^30.0.0
         version: 30.0.0(@babel/parser@7.28.5)(vue@3.5.22(typescript@5.9.3))
@@ -206,6 +209,10 @@ packages:
     peerDependencies:
       '@babel/core': ^7.0.0-0
 
+  '@babel/runtime@7.28.4':
+    resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
+    engines: {node: '>=6.9.0'}
+
   '@babel/template@7.27.2':
     resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
     engines: {node: '>=6.9.0'}
@@ -404,6 +411,21 @@ packages:
     peerDependencies:
       vue: '>=3'
 
+  '@jiaminghi/bezier-curve@0.0.9':
+    resolution: {integrity: sha512-u9xJPOEl6Dri2E9FfmJoGxYQY7vYJkURNX04Vj64tdi535tPrpkuf9Sm0lNr3QTKdHQh0DdNRsaa62FLQNQEEw==}
+
+  '@jiaminghi/c-render@0.4.3':
+    resolution: {integrity: sha512-FJfzj5hGj7MLqqqI2D7vEzHKbQ1Ynnn7PJKgzsjXaZpJzTqs2Yw5OSeZnm6l7Qj7jyPAP53lFvEQNH4o4j6s+Q==}
+
+  '@jiaminghi/charts@0.2.18':
+    resolution: {integrity: sha512-K+HXaOOeWG9OOY1VG6M4mBreeeIAPhb9X+khG651AbnwEwL6G2UtcAQ8GWCq6GzhczcLwwhIhuaHqRygwHC0sA==}
+
+  '@jiaminghi/color@1.1.3':
+    resolution: {integrity: sha512-ZY3hdorgODk4OSTbxyXBPxAxHPIVf9rPlKJyK1C1db46a50J0reFKpAvfZG8zMG3lvM60IR7Qawgcu4ZDO3+Hg==}
+
+  '@jiaminghi/transition@1.1.11':
+    resolution: {integrity: sha512-owBggipoHMikDHHDW5Gc7RZYlVuvxHADiU4bxfjBVkHDAmmck+fCkm46n2JzC3j33hWvP9nSCAeh37t6stgWeg==}
+
   '@jridgewell/gen-mapping@0.3.13':
     resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
 
@@ -420,6 +442,9 @@ packages:
   '@jridgewell/trace-mapping@0.3.31':
     resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
 
+  '@kjgl77/datav-vue3@1.7.4':
+    resolution: {integrity: sha512-zYVTVKkklUxwtiNKS1qPBilm4rTW+WItfp0zVpaRAI8wgXkLSPbDR9xPq2+UcU/Jft7/DVdMfBp709E2ResuPQ==}
+
   '@polka/url@1.0.0-next.29':
     resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
 
@@ -647,6 +672,9 @@ packages:
   '@types/web-bluetooth@0.0.16':
     resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
 
+  '@types/web-bluetooth@0.0.20':
+    resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+
   '@vitejs/plugin-vue@6.0.1':
     resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
     engines: {node: ^20.19.0 || >=22.12.0}
@@ -750,12 +778,21 @@ packages:
       vue:
         optional: true
 
+  '@vueuse/core@10.11.1':
+    resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
+
   '@vueuse/core@9.13.0':
     resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
 
+  '@vueuse/metadata@10.11.1':
+    resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
+
   '@vueuse/metadata@9.13.0':
     resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
 
+  '@vueuse/shared@10.11.1':
+    resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
+
   '@vueuse/shared@9.13.0':
     resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
 
@@ -1695,6 +1732,8 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/runtime@7.28.4': {}
+
   '@babel/template@7.27.2':
     dependencies:
       '@babel/code-frame': 7.27.1
@@ -1824,6 +1863,28 @@ snapshots:
       '@iconify/types': 2.0.0
       vue: 3.5.22(typescript@5.9.3)
 
+  '@jiaminghi/bezier-curve@0.0.9':
+    dependencies:
+      '@babel/runtime': 7.28.4
+
+  '@jiaminghi/c-render@0.4.3':
+    dependencies:
+      '@babel/runtime': 7.28.4
+      '@jiaminghi/bezier-curve': 0.0.9
+      '@jiaminghi/color': 1.1.3
+      '@jiaminghi/transition': 1.1.11
+
+  '@jiaminghi/charts@0.2.18':
+    dependencies:
+      '@babel/runtime': 7.28.4
+      '@jiaminghi/c-render': 0.4.3
+
+  '@jiaminghi/color@1.1.3': {}
+
+  '@jiaminghi/transition@1.1.11':
+    dependencies:
+      '@babel/runtime': 7.28.4
+
   '@jridgewell/gen-mapping@0.3.13':
     dependencies:
       '@jridgewell/sourcemap-codec': 1.5.5
@@ -1843,6 +1904,16 @@ snapshots:
       '@jridgewell/resolve-uri': 3.1.2
       '@jridgewell/sourcemap-codec': 1.5.5
 
+  '@kjgl77/datav-vue3@1.7.4(vue@3.5.22(typescript@5.9.3))':
+    dependencies:
+      '@jiaminghi/c-render': 0.4.3
+      '@jiaminghi/charts': 0.2.18
+      '@jiaminghi/color': 1.1.3
+      '@vueuse/core': 10.11.1(vue@3.5.22(typescript@5.9.3))
+    transitivePeerDependencies:
+      - '@vue/composition-api'
+      - vue
+
   '@polka/url@1.0.0-next.29': {}
 
   '@rolldown/pluginutils@1.0.0-beta.29': {}
@@ -1999,6 +2070,8 @@ snapshots:
 
   '@types/web-bluetooth@0.0.16': {}
 
+  '@types/web-bluetooth@0.0.20': {}
+
   '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.2))(vue@3.5.22(typescript@5.9.3))':
     dependencies:
       '@rolldown/pluginutils': 1.0.0-beta.29
@@ -2163,6 +2236,16 @@ snapshots:
       typescript: 5.9.3
       vue: 3.5.22(typescript@5.9.3)
 
+  '@vueuse/core@10.11.1(vue@3.5.22(typescript@5.9.3))':
+    dependencies:
+      '@types/web-bluetooth': 0.0.20
+      '@vueuse/metadata': 10.11.1
+      '@vueuse/shared': 10.11.1(vue@3.5.22(typescript@5.9.3))
+      vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3))
+    transitivePeerDependencies:
+      - '@vue/composition-api'
+      - vue
+
   '@vueuse/core@9.13.0(vue@3.5.22(typescript@5.9.3))':
     dependencies:
       '@types/web-bluetooth': 0.0.16
@@ -2173,8 +2256,17 @@ snapshots:
       - '@vue/composition-api'
       - vue
 
+  '@vueuse/metadata@10.11.1': {}
+
   '@vueuse/metadata@9.13.0': {}
 
+  '@vueuse/shared@10.11.1(vue@3.5.22(typescript@5.9.3))':
+    dependencies:
+      vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3))
+    transitivePeerDependencies:
+      - '@vue/composition-api'
+      - vue
+
   '@vueuse/shared@9.13.0(vue@3.5.22(typescript@5.9.3))':
     dependencies:
       vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3))
@@ -2742,7 +2834,7 @@ snapshots:
       unplugin: 2.3.10
       unplugin-utils: 0.3.1
 
-  unplugin-auto-import@20.2.0(@vueuse/core@9.13.0(vue@3.5.22(typescript@5.9.3))):
+  unplugin-auto-import@20.2.0(@vueuse/core@10.11.1(vue@3.5.22(typescript@5.9.3))):
     dependencies:
       local-pkg: 1.1.2
       magic-string: 0.30.21
@@ -2751,7 +2843,7 @@ snapshots:
       unplugin: 2.3.10
       unplugin-utils: 0.3.1
     optionalDependencies:
-      '@vueuse/core': 9.13.0(vue@3.5.22(typescript@5.9.3))
+      '@vueuse/core': 10.11.1(vue@3.5.22(typescript@5.9.3))
 
   unplugin-utils@0.3.1:
     dependencies:

BIN
src/assets/images/agent.png


BIN
src/assets/images/caiwu.png


BIN
src/assets/images/crm.png


BIN
src/assets/images/data.png


BIN
src/assets/images/drive.png


BIN
src/assets/images/ehr.png


BIN
src/assets/images/guifan.png


BIN
src/assets/images/jishu.png


BIN
src/assets/images/lianyou.png


BIN
src/assets/images/model.jpeg


BIN
src/assets/images/money.png


BIN
src/assets/images/pm.png


BIN
src/assets/images/pms.webp


BIN
src/assets/images/qhse.jpg


BIN
src/assets/images/srm.png


BIN
src/assets/images/yalie.png


BIN
src/assets/images/zhuqi.png


BIN
src/assets/images/zuanjing.png


+ 6 - 3
src/views/chatbi.vue

@@ -45,6 +45,9 @@ import Header from "@components/home/header.vue";
 import img1 from "@/assets/images/1.jpg";
 import img2 from "@/assets/images/2.jpg";
 import img3 from "@/assets/images/3.jpg";
+import agent from "@/assets/images/agent.png";
+import model from "@/assets/images/model.jpeg";
+import data from "@/assets/images/data.png";
 
 type GridItem = {
   id: string;
@@ -58,7 +61,7 @@ const items: GridItem[] = [
     id: "1",
     title: "全局数据治理 (数据中台)",
     desc: "企业数据驱动的核心基础设施",
-    bg: img1,
+    bg: data,
   },
   {
     id: "2",
@@ -70,13 +73,13 @@ const items: GridItem[] = [
     id: "3",
     title: "行业AI大模型",
     desc: "针对油气勘探开发领域训练的垂直大模型,它将成为推动整个行业迈向智能化、自动化的核心引擎",
-    bg: img3,
+    bg: model,
   },
   {
     id: "4",
     title: "AI智能体 (智能交互)",
     desc: "在行业AI大模型基础上构建的、具备感知、决策、执行和交互能力的智能实体",
-    bg: img1,
+    bg: agent,
   },
 ];
 </script>

+ 14 - 10
src/views/command.vue

@@ -42,9 +42,13 @@
 
 <script setup lang="ts">
 import Header from "@components/home/header.vue";
-import img1 from "@/assets/images/1.jpg";
-import img2 from "@/assets/images/2.jpg";
-import img3 from "@/assets/images/3.jpg";
+import zuanjing from "@/assets/images/zuanjing.png";
+import yalie from "@/assets/images/yalie.png";
+import pm from "@/assets/images/pm.png";
+import pms from "@/assets/images/pms.webp";
+import qhse from "@/assets/images/qhse.jpg";
+import lianyou from "@/assets/images/lianyou.png";
+import zhuqi from "@/assets/images/zhuqi.png";
 
 type GridItem = {
   id: string;
@@ -58,43 +62,43 @@ const items: GridItem[] = [
     id: "1",
     title: "智能钻井系统",
     desc: "基于传感器测量与计算机控制实现的无人化钻井系统",
-    bg: img1,
+    bg: zuanjing,
   },
   {
     id: "2",
     title: "智能压裂系统",
     desc: "通过智能化、高效化和绿色化升级,实现了压裂作业的重大突破",
-    bg: img2,
+    bg: yalie,
   },
   {
     id: "3",
     title: "智能注气系统",
     desc: "集成了物联网、大数据、人工智能和自动控制技术的综合性解决方案",
-    bg: img3,
+    bg: zhuqi,
   },
   {
     id: "4",
     title: "智能连油系统",
     desc: "集成了先进传感器、实时数据传输、井下控制工具和智能决策软件的综合性技术平台",
-    bg: img1,
+    bg: lianyou,
   },
   {
     id: "5",
     title: "QHSE (安全监控、应急指挥)",
     desc: "现代智能系统则构建了一个 “感、传、知、用” 的智能体",
-    bg: img2,
+    bg: qhse,
   },
   {
     id: "6",
     title: "设备管理系统 (PMS)",
     desc: "将信息化了设备技术信息与现代化管理相结合,是实现研究级管理信息化的先导",
-    bg: img3,
+    bg: pms,
   },
   {
     id: "7",
     title: "项目管理 (PM)",
     desc: "供应链全流程管理,优化库存和物流效率",
-    bg: img1,
+    bg: pm,
   },
 ];
 </script>

+ 16 - 9
src/views/management.vue

@@ -42,7 +42,14 @@
 import Header from "@components/home/header.vue";
 import img1 from "@/assets/images/1.jpg";
 import img2 from "@/assets/images/2.jpg";
-import img3 from "@/assets/images/3.jpg";
+import ehr from "@/assets/images/ehr.png";
+import crm from "@/assets/images/crm.png";
+import scm from "@/assets/images/srm.png";
+import money from "@/assets/images/money.png";
+import caiwu from "@/assets/images/caiwu.png";
+import technology from "@/assets/images/jishu.png";
+import guifan from "@/assets/images/guifan.png";
+import drive from "@/assets/images/drive.png";
 
 type GridItem = {
   id: string;
@@ -56,7 +63,7 @@ const items: GridItem[] = [
     id: "1",
     title: "经营驾驶舱",
     desc: "实时监控企业运营数据,提供全面的经营分析和决策支持",
-    bg: img1,
+    bg: drive,
   },
   {
     id: "2",
@@ -68,43 +75,43 @@ const items: GridItem[] = [
     id: "3",
     title: "财务管理",
     desc: "收入、成本、应收账款等财务数据的全面管理与分析",
-    bg: img3,
+    bg: caiwu,
   },
   {
     id: "4",
     title: "技术研发管理",
     desc: "研发项目管理、进度跟踪、资源配置和成果管理",
-    bg: img1,
+    bg: technology,
   },
   {
     id: "5",
     title: "客户管理(CRM)",
     desc: "客户关系管理,提升客户满意度和业务转化率",
-    bg: img2,
+    bg: crm,
   },
   {
     id: "6",
     title: "人力资源(EHR)",
     desc: "员工信息管理、招聘、培训、绩效和薪酬管理",
-    bg: img3,
+    bg: ehr,
   },
   {
     id: "7",
     title: "供应链管理(SCM)",
     desc: "供应链全流程管理,优化库存和物流效率",
-    bg: img1,
+    bg: scm,
   },
   {
     id: "8",
     title: "组织资产管理",
     desc: "企业资产全生命周期管理,提升资产利用率",
-    bg: img2,
+    bg: money,
   },
   {
     id: "9",
     title: "风控、合规管理",
     desc: "风险识别、评估和控制,确保企业合规经营",
-    bg: img3,
+    bg: guifan,
   },
 ];
 </script>