From 16eb852d9dd9db471a378633900bef8c164f8ec4 Mon Sep 17 00:00:00 2001 From: ljx <15723110242@139.com> Date: Tue, 9 Sep 2025 15:26:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E5=AD=97=E5=8C=96=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 6 +- src/router/index.ts | 8 +- .../ProjectScreen/components/centerPage.vue | 0 .../ProjectScreen/components/header.vue | 0 .../ProjectScreen/components/leftPage.vue | 0 .../ProjectScreen/components/optionList.ts | 0 .../ProjectScreen/components/rightPage.vue | 0 .../ProjectScreen/components/title.vue | 0 .../ProjectScreen/index.vue | 7 +- .../components/centerPage.vue | 275 +++++++++++++++ .../components/header.vue | 327 ++++++++++++++++++ .../components/leftPage.vue | 326 +++++++++++++++++ .../components/optionList.ts | 153 ++++++++ .../components/rightPage.vue | 221 ++++++++++++ .../digitalizationScreen/components/title.vue | 45 +++ .../digitalizationScreen/index.vue | 107 ++++++ 16 files changed, 1467 insertions(+), 8 deletions(-) rename src/views/{ => projectLarge}/ProjectScreen/components/centerPage.vue (100%) rename src/views/{ => projectLarge}/ProjectScreen/components/header.vue (100%) rename src/views/{ => projectLarge}/ProjectScreen/components/leftPage.vue (100%) rename src/views/{ => projectLarge}/ProjectScreen/components/optionList.ts (100%) rename src/views/{ => projectLarge}/ProjectScreen/components/rightPage.vue (100%) rename src/views/{ => projectLarge}/ProjectScreen/components/title.vue (100%) rename src/views/{ => projectLarge}/ProjectScreen/index.vue (97%) create mode 100644 src/views/projectLarge/digitalizationScreen/components/centerPage.vue create mode 100644 src/views/projectLarge/digitalizationScreen/components/header.vue create mode 100644 src/views/projectLarge/digitalizationScreen/components/leftPage.vue create mode 100644 src/views/projectLarge/digitalizationScreen/components/optionList.ts create mode 100644 src/views/projectLarge/digitalizationScreen/components/rightPage.vue create mode 100644 src/views/projectLarge/digitalizationScreen/components/title.vue create mode 100644 src/views/projectLarge/digitalizationScreen/index.vue diff --git a/.env.development b/.env.development index 4a874b9..2ee1390 100644 --- a/.env.development +++ b/.env.development @@ -5,8 +5,8 @@ VITE_APP_TITLE = 煤科建管平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.149:8899' -# VITE_APP_BASE_API = 'http://192.168.110.209:8899' + +VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 李陈杰 209 # VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 曾涛 @@ -14,7 +14,7 @@ VITE_APP_BASE_API = 'http://192.168.110.149:8899' # 罗成 # VITE_APP_BASE_API = 'http://192.168.110.188:8899' # 朱银 -VITE_APP_BASE_API = 'http://192.168.110.149:8899' +# VITE_APP_BASE_API = 'http://192.168.110.149:8899' #曾涛 # VITE_APP_BASE_API = 'http://192.168.110.171:8899' diff --git a/src/router/index.ts b/src/router/index.ts index 083d2d1..87951e5 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -72,9 +72,15 @@ export const constantRoutes: RouteRecordRaw[] = [ component: () => import('@/views/error/401.vue'), hidden: true }, + { path: '/ProjectScreen', - component: () => import('@/views/ProjectScreen/index.vue'), + component: () => import('@/views/projectLarge/ProjectScreen/index.vue'), + hidden: true + }, + { + path: '/digitalizationScreen', + component: () => import('@/views/projectLarge/digitalizationScreen/index.vue'), hidden: true }, { diff --git a/src/views/ProjectScreen/components/centerPage.vue b/src/views/projectLarge/ProjectScreen/components/centerPage.vue similarity index 100% rename from src/views/ProjectScreen/components/centerPage.vue rename to src/views/projectLarge/ProjectScreen/components/centerPage.vue diff --git a/src/views/ProjectScreen/components/header.vue b/src/views/projectLarge/ProjectScreen/components/header.vue similarity index 100% rename from src/views/ProjectScreen/components/header.vue rename to src/views/projectLarge/ProjectScreen/components/header.vue diff --git a/src/views/ProjectScreen/components/leftPage.vue b/src/views/projectLarge/ProjectScreen/components/leftPage.vue similarity index 100% rename from src/views/ProjectScreen/components/leftPage.vue rename to src/views/projectLarge/ProjectScreen/components/leftPage.vue diff --git a/src/views/ProjectScreen/components/optionList.ts b/src/views/projectLarge/ProjectScreen/components/optionList.ts similarity index 100% rename from src/views/ProjectScreen/components/optionList.ts rename to src/views/projectLarge/ProjectScreen/components/optionList.ts diff --git a/src/views/ProjectScreen/components/rightPage.vue b/src/views/projectLarge/ProjectScreen/components/rightPage.vue similarity index 100% rename from src/views/ProjectScreen/components/rightPage.vue rename to src/views/projectLarge/ProjectScreen/components/rightPage.vue diff --git a/src/views/ProjectScreen/components/title.vue b/src/views/projectLarge/ProjectScreen/components/title.vue similarity index 100% rename from src/views/ProjectScreen/components/title.vue rename to src/views/projectLarge/ProjectScreen/components/title.vue diff --git a/src/views/ProjectScreen/index.vue b/src/views/projectLarge/ProjectScreen/index.vue similarity index 97% rename from src/views/ProjectScreen/index.vue rename to src/views/projectLarge/ProjectScreen/index.vue index f58a18f..fead15c 100644 --- a/src/views/ProjectScreen/index.vue +++ b/src/views/projectLarge/ProjectScreen/index.vue @@ -22,11 +22,10 @@ import leftPage from './components/leftPage.vue'; import centerPage from './components/centerPage.vue'; import rightPage from './components/rightPage.vue'; import { useUserStoreHook } from '@/store/modules/user'; - const userStore = useUserStoreHook(); const projectId = computed(() => userStore.selectedProject.id); -const isFull = ref(false) -const isHideOther = ref(false) +const isFull = ref(false); +const isHideOther = ref(false); /** * 切换中心页面全屏 @@ -41,7 +40,7 @@ const handleChangePage = () => { isFull.value = true; isHideOther.value = true; } -} +}; diff --git a/src/views/projectLarge/digitalizationScreen/components/header.vue b/src/views/projectLarge/digitalizationScreen/components/header.vue new file mode 100644 index 0000000..d911f88 --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/components/header.vue @@ -0,0 +1,327 @@ + + + + + + + 安全生产天数: + + {{ safetyDay }} + 天 + + + + 煤科建管-新能源项目数智化管理平台 + Coal Science Construction Management - New Energy Project Digital Intelligent Management Platform + + + + + + + + + {{ item.weather }}{{ item.tempMin }}°/{{ item.tempMax }}° + {{ item.week }}({{ item.date }}) + + + + + + + + + + + + 管理系统 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/projectLarge/digitalizationScreen/components/leftPage.vue b/src/views/projectLarge/digitalizationScreen/components/leftPage.vue new file mode 100644 index 0000000..b7e438b --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/components/leftPage.vue @@ -0,0 +1,326 @@ + + + + + + + + + {{ item.title }} + {{ item.id === newId ? '关闭' : '查看' }} + + + + + + + + + + + + + + + + + + + + + 出勤人 + + {{ attendanceCount }} + 人 + + + + + 在岗人 + + {{ peopleCount }} + 人 + + + + + 出勤率 + + {{ attendanceRate }} + % + + + + + + + + 在岗人数 + 出勤率 + 出勤时间 + + + {{ item.teamName }} + + {{ item.attendanceNumber }} 人/{{ item.allNumber }} + + {{ item.attendanceRate }} % + {{ item.attendanceTime }} + + + + + + + + + diff --git a/src/views/projectLarge/digitalizationScreen/components/optionList.ts b/src/views/projectLarge/digitalizationScreen/components/optionList.ts new file mode 100644 index 0000000..bcdf958 --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/components/optionList.ts @@ -0,0 +1,153 @@ +export let pieOption = { + // 定义中心文字 + graphic: [ + { + type: 'text', + left: 'center', + top: '40%', + style: { + // 需要从接口替换 + text: '70%', + fontSize: 24, + fontWeight: 'bold', + fill: '#fff' + } + }, + { + type: 'text', + left: 'center', + top: '50%', + style: { + text: '总进度', + fontSize: 14, + fill: '#fff' + } + }, + ], + legend: { + show: true, + type: 'plain', + bottom: 20, + itemWidth: 12, + itemHeight: 12, + textStyle: { + color: '#fff' + } + }, + series: { + type: 'pie', + data: [], + radius: [50, 80], + center: ['50%', '45%'], + itemStyle: { + borderColor: '#fff', + borderWidth: 1 + }, + label: { + alignTo: 'edge', + formatter: '{name|{b}}\n{percent|{c} %}', + minMargin: 10, + edgeDistance: 20, + lineHeight: 15, + rich: { + name: { + fontSize: 12, + color: '#fff' + }, + percent: { + fontSize: 12, + color: '#fff' + } + } + }, + legend: { + top: 'bottom' + }, + } +}; + +export let barOption = { + legend: { + icon: 'rect', + itemWidth: 12, + itemHeight: 12, + // 调整文字与图标间距 + data: ['计划流转面积', '已流转面积'], + top: 0, + right: 20, + textStyle: { + color: '#fff', + } + }, + xAxis: { + type: 'category', + data: ['地块1', '地块2', '地块3', '地块4', '地块5', '地块6'], + axisLabel: { + color: '#fff' + }, + axisLine: { + show: false + }, + splitLine: { + show: false + } + }, + yAxis: { + name: '单位:m²', + type: 'value', + axisLabel: { + formatter: '{value}' + } + }, + grid: { + bottom: 0, // 距离容器底部的距离 + containLabel: true // 确保坐标轴标签不被裁剪 + }, + series: [ + { + name: '计划流转面积', + type: 'bar', + data: [], + barWidth: '20%', + itemStyle: { + color: 'rgb(29, 253, 253)' + }, + }, + { + name: '已流转面积', + type: 'bar', + data: [], + barWidth: '20%', + itemStyle: { + color: 'rgb(25, 181, 251)' + }, + } + ] +}; + +export let mapOption = { + geo: { + map: 'ch', + roam: true, + aspectScale: Math.cos((47 * Math.PI) / 180), + }, + series: [ + { + type: 'graph', + coordinateSystem: 'geo', + data: [ + { name: 'a', value: [7.667821250000001, 46.791734269956265] }, + { name: 'b', value: [7.404848750000001, 46.516308805996054] }, + { name: 'c', value: [7.376673125000001, 46.24728858538375] }, + { name: 'd', value: [8.015320625000001, 46.39460918238572] }, + { name: 'e', value: [8.616400625, 46.7020608630855] }, + { name: 'f', value: [8.869981250000002, 46.37539345234199] }, + { name: 'g', value: [9.546196250000001, 46.58676648282309] }, + { name: 'h', value: [9.311399375, 47.182454114178896] }, + { name: 'i', value: [9.085994375000002, 47.55395822835779] }, + { name: 'j', value: [8.653968125000002, 47.47709530818285] }, + { name: 'k', value: [8.203158125000002, 47.44506909144329] } + ], + } + ] +}; diff --git a/src/views/projectLarge/digitalizationScreen/components/rightPage.vue b/src/views/projectLarge/digitalizationScreen/components/rightPage.vue new file mode 100644 index 0000000..0d08c08 --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/components/rightPage.vue @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/views/projectLarge/digitalizationScreen/components/title.vue b/src/views/projectLarge/digitalizationScreen/components/title.vue new file mode 100644 index 0000000..361f557 --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/components/title.vue @@ -0,0 +1,45 @@ + + + + + + + + + + {{ title }} + + + + + + diff --git a/src/views/projectLarge/digitalizationScreen/index.vue b/src/views/projectLarge/digitalizationScreen/index.vue new file mode 100644 index 0000000..fead15c --- /dev/null +++ b/src/views/projectLarge/digitalizationScreen/index.vue @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + +