diff --git a/.env.development b/.env.development index 74915dd..69ce185 100644 --- a/.env.development +++ b/.env.development @@ -13,9 +13,9 @@ NODE_ENV = 'development' # 沈阳合盈线上 # VITE_API_URL = "http://101.43.164.214:45022" # 演示平台 -# VITE_API_URL = 'http://jxj.zhgdyun.com:9809' +VITE_API_URL = 'http://jxj.zhgdyun.com:9809' # 百色七参数线上地址 -VITE_API_URL = 'http://101.43.164.214:11111' +# VITE_API_URL = 'http://101.43.164.214:11111' # 七参数标准版(测试平台) # VITE_API_URL = 'http://jxj.zhgdyun.com:15551' # 七参数标准版(测试平台) diff --git a/src/config/config.ts b/src/config/config.ts index 0a4fb6c..f2bf641 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -24,11 +24,11 @@ export const BASE_IMAGE_URL = import.meta.env.VITE_BASE_IMAGE_URL; // 项目环境标识配置 部署时需更改对应的项目 // export const COMPANY: string = ""; //标准版 -export const COMPANY: string = "zhzrf"; //中海·臻如府 +// export const COMPANY: string = "zhzrf"; //中海·臻如府 // export const COMPANY: string = "zsbf"; //中水北方 // export const COMPANY: string = "as"; //鞍山项目 // export const COMPANY: string = "agjt"; //鞍钢集团 -// export const COMPANY: string = "agjtCommand"; //鞍钢集团指挥部大屏 +export const COMPANY: string = "agjtCommand"; //鞍钢集团指挥部大屏 // export const COMPANY: string = "slx"; //苏立信项目 // export const COMPANY: string = "hfqc"; //合肥启程项目 // export const COMPANY: string = "jsyc"; // 江苏盐城项目 diff --git a/src/routers/modules/staticRouter.ts b/src/routers/modules/staticRouter.ts index 93a541c..617fd45 100644 --- a/src/routers/modules/staticRouter.ts +++ b/src/routers/modules/staticRouter.ts @@ -24,8 +24,8 @@ export const staticRouter: RouteRecordRaw[] = [ { path: "/large", name: "大屏", - component: () => import("@/views/sevenLargeScreen/indexL.vue"), //七参数标准版 - // component: () => import("@/views/commandScreen/indexCommand.vue"), //指挥部大屏 + // component: () => import("@/views/sevenLargeScreen/indexL.vue"), //七参数标准版 + component: () => import("@/views/commandScreen/indexCommand.vue"), //指挥部大屏 // component: () => import("@/views/sevenLargeScreen/indexL_syhy.vue"), // 只有一级路由(盘锦、嘉兴、鄱湖美湾医疗项目需切换至该首页) children: [ { diff --git a/src/views/commandScreen/commandCenter/centerBottom.vue b/src/views/commandScreen/commandCenter/centerBottom.vue index 6b643ed..ff557f0 100644 --- a/src/views/commandScreen/commandCenter/centerBottom.vue +++ b/src/views/commandScreen/commandCenter/centerBottom.vue @@ -1,6 +1,35 @@ @@ -10,85 +39,24 @@ import { ref, watch, onMounted } from "vue"; import { getStageOption } from "@/api/modules/projectOverview"; import { GlobalStore } from "@/stores"; const store = GlobalStore(); -const progressList = ref([ - // { - // name: "施工证获取", - // status: 0 - // }, - // { - // name: "土方开挖", - // status: 0 - // }, - // { - // name: "桩基", - // status: 0 - // }, - // { - // name: "支护开始", - // status: 0 - // }, - // { - // name: "垫层完成", - // status: 0 - // }, - // { - // name: "正负零", - // status: 0 - // }, - // { - // name: "工程达到预售条件", - // status: 0 - // } -] as any); -// ts -type Props = { - projectData?: any; // 传入项目信息 -}; -// withDefaults 定义默认值(传入的数据类型同默认值) -const props = withDefaults(defineProps(), { - projectData: {} -}); -// 项目信息 -const projectData = ref({} as any); -watch( - () => props.projectData, - newVal => { - // console.log(newVal, "newVal"); - if (newVal) { - // props.xData = newVal; - projectData.value = newVal; - console.log("当前阶段", projectData.value.constructionStage); - if (progressList.value.length > 0) { - progressList.value[projectData.value.constructionStage - 1].status = 1; - } - } - } -); +let listData = ref([ + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控胜多负少v现场v在时代广场彼此相伴',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在sdasdasdasdasdasdasdasczxczxcz作前,应对吊装设备进行安全把控',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在sdasdasdasdasdasdasdasczxczxcz作前,应对吊装设备进行安全把控',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在sdasdasdasdasdasdasdasczxczxcz作前,应对吊装设备进行安全把控',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在sdasdasdasdasdasdasdasczxczxcz作前,应对吊装设备进行安全把控',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在sdasdasdasdasdasdasdasczxczxcz作前,应对吊装设备进行安全把控',startTime: '2024-04-01',endTime:"2024-04-20"}, + {header: '硬件警报',type: 3,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设sdasdasdasdasdasdasdasczxczxcz之间的衔接进行全面检查,以防止',startTime: '2024-04-01',endTime:"2024-04-20"}, +]) -//获取里程碑option -const getProgressOption = async () => { - const res: any = await getStageOption({ dictionaryEncoding: "project_construction_stage", projectSn: store.sn }); - if (res.result.length > 0) { - let newArray = res.result.map((item: any) => { - return { - name: item.name, - status: 0 - }; - }); - progressList.value = newArray; - console.log(projectData.value, "里程碑option", res); - if (projectData.value.constructionStage) { - progressList.value[projectData.value.constructionStage - 1].status = 1; - } - } -}; -//将方法暴露给父组件 -defineExpose({ - getProgressOption -}) onMounted( async () => { - getProgressOption(); + }); @@ -97,5 +65,98 @@ onMounted( async () => { background: url("@/assets/images/commandScreen/card-center-bottom.png") no-repeat; // background: #fff; background-size: 100% 100%; + // width: 100%; + // height: 60%; + // background-color: #fff; + padding: 10px 20px; + position: relative; + // padding-top: 15px; + .cbHeader{ + width:100%; + height: 40px; + // background-color: darkred; + .cbHeaderInfo{ + color: #fff; + display: flex; + justify-content: flex-start; + align-items: center; + .cubeIcon{ + width: 36px; + height: 36px; + // background-color: #fff; + background: url("@/assets/images/commandScreen/head-cube.png") no-repeat; + background-size: 100% 100%; + // margin-left: -5px; + margin: 0 3px 0 -5px; + } + } + .cbHeaderLine{ + height: 4px; + width: 100%; + // background-color: darkblue; + background: url("@/assets/images/commandScreen/head-line.png") no-repeat; + background-size: 100% 100%; + } + } + .cbContent{ + width: 100%; + height: calc(100% - 40px); + // background: #fff; + .item{ + width: 100%; + line-height: 130%; + display: flex; + align-items: center; + // justify-content: flex-start; + justify-content: space-between; + // background-color: green; + color: #fff; + .itemHead{ + white-space: nowrap; + display: flex; + justify-content: center; + align-items: center; + font-size: 16px; + width: 75%; + .itemHeadInner{ + border: 1px solid #f77c7d; + box-shadow: 0 0 0 1px #f77c7d; + background: rgba(247,124,125, 0.4); + border-radius: 3px; + padding: 0 15px; + margin: 9px 0; + margin-left: 2px; + } + .itemHeadInner2{ + font-size: 16px; + border: 1px solid #0db027; + box-shadow: 0 0 0 1px #0db027; + background: rgba(13,176,39, 0.4); + border-radius: 3px; + padding: 0 15px; + margin: 9px 0; + margin-left: 2px; + } + .itemContent{ + margin-left: 10px; + font-size: 15px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + } + } + .itemTime{ + // background-color: #fff; + width: 25%; + font-size: 16px; + .timeInfo{ + display: flex; + justify-content: flex-end; + margin-right: 10px; + } + } + } + } } diff --git a/src/views/commandScreen/commandCenter/index.vue b/src/views/commandScreen/commandCenter/index.vue index f613cc6..3553a18 100644 --- a/src/views/commandScreen/commandCenter/index.vue +++ b/src/views/commandScreen/commandCenter/index.vue @@ -10,8 +10,6 @@
- -
@@ -51,11 +49,11 @@ const projectData = ref(null as any); margin: 0 1%; .centerTop { - height: 55%; + height: 53.8%; // margin-bottom: 3%; } .centerBottom { - height: 45%; + height: 44.2%; margin: 2% 0 0 0; } } diff --git a/src/views/commandScreen/commandCenter/leftBottom.vue b/src/views/commandScreen/commandCenter/leftBottom.vue index 185d60e..e63bbab 100644 --- a/src/views/commandScreen/commandCenter/leftBottom.vue +++ b/src/views/commandScreen/commandCenter/leftBottom.vue @@ -12,24 +12,19 @@
-
教育智能提示
+
隐患智能分析
- +
{{item.header}}
{{item.header}}
- + {{item.content}}
@@ -437,7 +432,7 @@ onMounted( async () => { // background: #fff; .item{ width: 100%; - line-height: 160%; + line-height: 130%; display: flex; align-items: center; justify-content: flex-start; diff --git a/src/views/commandScreen/commandCenter/rightAll.vue b/src/views/commandScreen/commandCenter/rightAll.vue index 73c5edf..5e1fbb1 100644 --- a/src/views/commandScreen/commandCenter/rightAll.vue +++ b/src/views/commandScreen/commandCenter/rightAll.vue @@ -1,8 +1,57 @@ @@ -16,6 +65,32 @@ import * as echarts from "echarts"; const echartsTest = ref(); let questionTotal = ref(0 as any); +let majorDangerCount = ref(20 as any); +let majorDangerRate = ref(50 as any); +let overdueMajorDangerCount = ref(20 as any); +let overdueMajorDangerRate = ref(50 as any); + +let listData = ref([ + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, + {header: '重大风险',type: 1,content: '正处于吊装施工重大风险作业阶段,请注意在操作前,应对吊装设备进行安全把控'}, + {header: '特种作业人员教育',type: 2,content: '1#塔吊报警频次较上周增长60%,塔吊间各个设备之间的衔接进行全面检查,以防止'}, +]) + let dataList = ref([ { value: 30, @@ -362,6 +437,153 @@ onMounted(async () => { background-size: 100% 100%; width: 100%; height: 102.1%; + .header{ + // width: 100%; + // height: 100%; + display: flex; + // align-items: center; + justify-content: space-between; + padding: 20px 20px; + border-bottom: 1px solid #0059ff; + .hLeft{ + width: 50%; + color: white; + } + .hRight{ + width: 50%; + } + } + .content{ + padding: 0 20px; + height: 100%; + .contentTop{ + margin-top: 10px; + width: 100%; + height: 25%; + background-color: darkblue; + .ctHead{ + padding-bottom: 5px; + color: #fff; + height: 20%; + font-size: 16px; + display: flex; + justify-content: center; + align-items: flex-end; + text{ + font-size: 24px; + color: #fc4c4c; + } + } + .ctContent{ + height: 80%; + background-color: darkred; + } + } + .contentMiddle{ + width: 100%; + height: 25%; + background-color: darkblue; + .cmHead{ + padding-bottom: 5px; + color: #fff; + height: 20%; + font-size: 16px; + display: flex; + justify-content: center; + align-items: flex-end; + text{ + font-size: 24px; + color: #0db027; + } + } + .cmContent{ + height: 80%; + background-color: darkred; + } + } + .contentBottom{ + // width: 100%; + height: 42.5%; + // background-color: darkred; + + // width: 100%; + // background-color: #fff; + // padding: 0 20px; + position: relative; + .cbHeader{ + width:100%; + height: 40px; + // background-color: darkred; + .cbHeaderInfo{ + color: #fff; + display: flex; + justify-content: flex-start; + align-items: center; + .cubeIcon{ + width: 36px; + height: 36px; + // background-color: #fff; + background: url("@/assets/images/commandScreen/head-cube.png") no-repeat; + background-size: 100% 100%; + // margin-left: -5px; + margin: 0 3px 0 -5px; + } + } + .cbHeaderLine{ + height: 4px; + width: 100%; + // background-color: darkblue; + background: url("@/assets/images/commandScreen/head-line.png") no-repeat; + background-size: 100% 100%; + } + } + .cbContent{ + width: 100%; + height: calc(100% - 40px); + // background: #fff; + .item{ + // width: 100%; + line-height: 130%; + display: flex; + align-items: center; + justify-content: flex-start; + // background-color: green; + color: #fff; + .itemHead{ + white-space: nowrap; + .itemHeadInner{ + font-size: 16px; + border: 1px solid #f77c7d; + box-shadow: 0 0 0 1px #f77c7d; + background: rgba(247,124,125, 0.4); + border-radius: 3px; + padding: 0 15px; + margin: 9px 0; + margin-left: 2px; + } + .itemHeadInner2{ + font-size: 16px; + border: 1px solid #56a8f8; + box-shadow: 0 0 0 1px #56a8f8; + background: rgba(86,168,248, 0.4); + border-radius: 3px; + padding: 0 15px; + margin: 9px 0; + margin-left: 2px; + } + } + .itemContent{ + margin-left: 10px; + font-size: 15px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + } + } + } + } + } } ::v-deep .h-card .content { height: 80%;