diff --git a/.env.development b/.env.development
index 0ebd414..ac7d406 100644
--- a/.env.development
+++ b/.env.development
@@ -4,7 +4,7 @@ NODE_ENV = 'development'
# 本地环境接口地址(/api/index.ts文件中使用)
# 后端本地
# VITE_API_URL = 'http://192.168.34.155:19111'
-# VITE_API_URL = 'http://192.168.34.221:9111' #雄哥本地
+VITE_API_URL = 'http://192.168.34.221:9111' #雄哥本地
# VITE_API_URL = 'http://182.90.224.237:51234' #雄哥远程
# VITE_API_URL = 'http://192.168.34.221:28889'
# VITE_API_URL = 'http://121.196.214.246/api'
diff --git a/src/api/modules/agjtOverviewApi.ts b/src/api/modules/agjtOverviewApi.ts
index 9794ec8..e2f5171 100644
--- a/src/api/modules/agjtOverviewApi.ts
+++ b/src/api/modules/agjtOverviewApi.ts
@@ -20,7 +20,21 @@ export const videoFullCountFullApi = (params: {}, showLoading: boolean) => {
export const getStatByStateApi = (params: {}, showLoading: boolean) => {
return http.get(BASEURL + `/xmgl/xzFlow/getStatByState`, params, { headers: { noLoading: showLoading } });
};
-
+// 审批数据汇总详情
export const getStatDetailByStateApi = (params: {}, showLoading: boolean) => {
return http.get(BASEURL + `/xmgl/xzFlow/getStatDetailByState`, params, { headers: { noLoading: showLoading } });
};
+
+// 获取企业数据统计
+export const getEnterpriseInfoListApi = (params: {}, showLoading: boolean) => {
+ return http.post(BASEURL + `/xmgl/enterpriseInfo/list`, params, { headers: { noLoading: showLoading } });
+};
+// 获取数据统计总数
+export const getStatsEnterpriseWeekApi = (params: {}, showLoading: boolean) => {
+ return http.post(BASEURL + `/xmgl/enterpriseInfo/statsEnterpriseWeek`, params, { headers: { noLoading: showLoading } });
+};
+
+// 区域人员数量分析
+export const getCountWorkerNumByRegionApi = (params: {}, showLoading: boolean) => {
+ return http.post(BASEURL + `/xmgl/safetyHatData/countWorkerNumByRegion`, params, { headers: { noLoading: showLoading } });
+};
diff --git a/src/routers/modules/staticRouter.ts b/src/routers/modules/staticRouter.ts
index de898ea..1ac7204 100644
--- a/src/routers/modules/staticRouter.ts
+++ b/src/routers/modules/staticRouter.ts
@@ -24,9 +24,9 @@ export const staticRouter: RouteRecordRaw[] = [
{
path: "/large",
name: "大屏",
- component: () => import("@/views/sevenLargeScreen/indexL.vue"), //七参数标准版
+ // component: () => import("@/views/sevenLargeScreen/indexL.vue"), //七参数标准版
// component: () => import("@/views/commandScreen/indexCommand.vue"), //指挥部大屏
- // component: () => import("@/views/agjtLiveScreen/indexLive.vue"), //鞍钢现场大屏
+ component: () => import("@/views/agjtLiveScreen/indexLive.vue"), //鞍钢现场大屏
// component: () => import("@/views/overviewScreen/indexCommand.vue"), //总览大屏
// component: () => import("@/views/agjtProjectKanban/indexL.vue"), //鞍钢集团项目看板大屏
// component: () => import("@/views/sevenLargeScreen/indexL_syhy.vue"), // 只有一级路由(盘锦、嘉兴、鄱湖美湾医疗项目需切换至该首页)
diff --git a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/centerBottom.vue b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/centerBottom.vue
index 25de491..726ba9c 100644
--- a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/centerBottom.vue
+++ b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/centerBottom.vue
@@ -9,23 +9,23 @@
未履职人员
- {{performanceAnalysisObj.notPerformNum || 0}}/{{performanceAnalysisObj.inServiceNum || 0}}
+ {{ performanceAnalysisObj.notPerformNum || 0 }}/{{ performanceAnalysisObj.inServiceNum || 0 }}
项目经理
- {{performanceAnalysisObj.xmjlNotPerformNum || 0}}/{{performanceAnalysisObj.xmjlInServiceNum || 0}}
+ {{ performanceAnalysisObj.xmjlNotPerformNum || 0 }}/{{ performanceAnalysisObj.xmjlInServiceNum || 0 }}
安全员
- {{performanceAnalysisObj.aqyNotPerformNum || 0}}/{{performanceAnalysisObj.aqyInServiceNum || 0}}
+ {{ performanceAnalysisObj.aqyNotPerformNum || 0 }}/{{ performanceAnalysisObj.aqyInServiceNum || 0 }}
质量员
- {{performanceAnalysisObj.zlyNotPerformNum || 0}}/{{performanceAnalysisObj.zlyInServiceNum || 0}}
+ {{ performanceAnalysisObj.zlyNotPerformNum || 0 }}/{{ performanceAnalysisObj.zlyInServiceNum || 0 }}
监理
- {{performanceAnalysisObj.jlNotPerformNum || 0}}/{{performanceAnalysisObj.jlInServiceNum || 0}}
+ {{ performanceAnalysisObj.jlNotPerformNum || 0 }}/{{ performanceAnalysisObj.jlInServiceNum || 0 }}
@@ -42,11 +42,11 @@
{{ item.enterpriseName || "" }}
-
{{item.notPerformNum || 0}}/{{item.inServiceNum || 0}}
-
{{item.xmjlNotPerformNum || 0}}/{{item.xmjlInServiceNum || 0}}
-
{{item.aqyNotPerformNum || 0}}/{{item.aqyInServiceNum || 0}}
-
{{item.zlyNotPerformNum || 0}}/{{item.zlyInServiceNum || 0}}
-
{{item.jlNotPerformNum || 0}}/{{item.jlInServiceNum || 0}}
+
{{ item.notPerformNum || 0 }}/{{ item.inServiceNum || 0 }}
+
{{ item.xmjlNotPerformNum || 0 }}/{{ item.xmjlInServiceNum || 0 }}
+
{{ item.aqyNotPerformNum || 0 }}/{{ item.aqyInServiceNum || 0 }}
+
{{ item.zlyNotPerformNum || 0 }}/{{ item.zlyInServiceNum || 0 }}
+
{{ item.jlNotPerformNum || 0 }}/{{ item.jlInServiceNum || 0 }}
@@ -60,15 +60,15 @@
-
+
+
@@ -26,16 +27,23 @@ import centerBottom from "./centerBottom.vue";
import rightTop from "./rightTop.vue";
import rightCenter from "./rightCenter.vue";
import rightBottom from "./rightBottom.vue";
+import dataDialog from "@/views/commandScreen/dialogCompnnents/data-dialog.vue";
import { GlobalStore } from "@/stores";
-const store = GlobalStore();
import { getWorkerStatisticsCountApi, getProjectDetail } from "@/api/modules/projectOverview";
-import { ref, onMounted, onBeforeUnmount,nextTick } from "vue";
+import { ref, onMounted, onBeforeUnmount, nextTick } from "vue";
+const store = GlobalStore();
const statisticsCount = ref(null as any);
-
+// 弹窗
+const partyBuildRef = ref();
+const openPeopleCountDialog = (index: any) => {
+ console.log("~~~~~~~~~~~~~~", index);
+ partyBuildRef.value.openDialog(index);
+ // console.log(partyBuildRef.value);
+};
const projectData = ref(null as any);
//获取项目信息
const getProjectInfo = async () => {
- const res = await getProjectDetail({ projectSn: store.sn });
+ const res = await getProjectDetail({ projectSn: store.sn }, false);
// console.log("获取项目信息", res);
// console.log("获取工程类别", projectTypeEnum);
projectData.value = res.result;
@@ -54,39 +62,39 @@ const rightTopRef = ref();
const rightCenterRef = ref();
const rightBottomRef = ref();
const callChildFn = async () => {
- nextTick( async ()=>{
- leftTopRef.value.projectTypeEnum()
- centerTopRef.value.getQueryBySnData()
- centerBottomRef.value.getProgressOption()
- rightTopRef.value.getSafeInfo()
- rightCenterRef.value.qualityInfo()
- rightBottomRef.value.getList()
- })
-}
+ nextTick(async () => {
+ leftTopRef.value.projectTypeEnum();
+ centerTopRef.value.getQueryBySnData();
+ centerBottomRef.value.getProgressOption();
+ rightTopRef.value.getSafeInfo();
+ rightCenterRef.value.qualityInfo();
+ rightBottomRef.value.getList();
+ });
+};
//定时器
const interval = ref(null as any);
//定时调用
const startInterval = async () => {
- interval.value= setInterval(() => {
+ interval.value = setInterval(() => {
getPersonDetail();
getProjectInfo();
callChildFn();
}, 30 * 1000);
-}
+};
// 在组件销毁时清除 interval
const destroyInterval = () => {
if (interval.value) {
clearInterval(interval.value);
- }
-}
+ }
+};
// 在组件销毁时调用 destroyInterval 方法清除 interval
onBeforeUnmount(() => {
destroyInterval();
-})
-window.onbeforeunload = (e) => {
+});
+window.onbeforeunload = () => {
destroyInterval();
-}
-onMounted( async () => {
+};
+onMounted(async () => {
getPersonDetail();
getProjectInfo();
// startInterval();
@@ -97,19 +105,24 @@ onMounted( async () => {
width: 100%;
height: 100%;
display: flex;
+
.left {
width: 26%;
+
.leftTop {
height: 32%;
}
+
.leftCenter {
height: 33%;
margin: 3% 0 3% 0;
}
+
.leftBottom {
height: 32%;
}
}
+
.center {
width: 46%;
margin: 0 1%;
@@ -118,20 +131,24 @@ onMounted( async () => {
height: 66%;
margin-bottom: 2.1%;
}
+
.centerBottom {
height: 32%;
}
}
+
.right {
width: 26%;
.rightTop {
height: 32%;
}
+
.rightCenter {
height: 33%;
margin: 3% 0 3% 0;
}
+
.rightBottom {
height: 32%;
}
diff --git a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/leftCenter.vue b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/leftCenter.vue
index eed70d2..9edbacf 100644
--- a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/leftCenter.vue
+++ b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/leftCenter.vue
@@ -234,7 +234,7 @@ const drawTwoEchart = () => {
top: "20%",
// bottom: "12%",
align: "left",
- itemGap: 10,
+ itemGap: 12,
itemWidth: 30, // 设置宽度
itemHeight: 9, // 设置高度
symbolKeepAspect: false,
diff --git a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightBottom.vue b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightBottom.vue
index 8395bc8..02cf778 100644
--- a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightBottom.vue
+++ b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightBottom.vue
@@ -3,7 +3,7 @@
-
+
{{ item.dangerItemContent }}
整改结果:
@@ -23,7 +23,7 @@
检查日期:
- {{item.inspectTime || ""}}
+ {{ item.inspectTime || "" }}
@@ -62,7 +62,8 @@ const getXzSecurityQualitylnspectionRecordlist = async (tip: any) => {
const res: any = await getXzSecurityQualitylnspectionRecordlistApi({
pageNo: tip == "search" ? 1 : pageNo.value,
pageSize: 10,
- projectSn: store.sn
+ projectSn: store.sn,
+ status: 60
});
if (tip == "more") {
const newResult = res.result.page.records.map((item: any) => {
diff --git a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightCenter.vue b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightCenter.vue
index 641e2e2..7ad7806 100644
--- a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightCenter.vue
+++ b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightCenter.vue
@@ -1,42 +1,44 @@
-
-
+
+
-
辽宁五寰科技有限公司{{ item }}
+
{{ item.enterpriseName }}
- 事故报警总数
-
0
-
{{ item }}
-
+
+
事故报警总数
+
+ {{ ele }}
+
+
- 入场人员总数
- 12/2500
+ 在场人员总数
+ {{ enterpriseInfo.dataInfo.highWorkerNumThisWeek }}/{{ enterpriseInfo.dataInfo.inServiceNum }}
企业安全分
- 85
+ {{ enterpriseInfo.dataInfo.safeScore }}
安全隐患总数
- 12
+ {{ enterpriseInfo.dataInfo.securityNum }}
质量隐患总数
- 12
+ {{ enterpriseInfo.dataInfo.qualityNum }}
特种作业数量
- 60
+ {{ enterpriseInfo.dataInfo.specialNum }}
培训未通过率
- 30%
+ {{ enterpriseInfo.dataInfo.trainNotPassRadio }}%
@@ -48,19 +50,66 @@
diff --git a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightTop.vue b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightTop.vue
index 199d9dc..24ea7c6 100644
--- a/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightTop.vue
+++ b/src/views/agjtProjectKanban/comprehensiveManage/projectOverview/rightTop.vue
@@ -2,32 +2,32 @@
-
+
质量重大隐患超期未整改{{ overdueMajorDangerCount }}个,占比{{ overdueMajorDangerRate }}%
-
+
安全重大隐患未销项{{ majorDangerCount }}个,占比{{ majorDangerRate }}%
-
+
状态统计(较昨日)
风险统计(较昨日)
@@ -46,10 +46,7 @@ import Card from "@/components/card.vue";
import { onMounted, ref, watch } from "vue";
import { GlobalStore } from "@/stores";
import * as echarts from "echarts";
-import {
- getCountDangerLevelApi,
- getInspectionSelectQualityApi
-} from "@/api/modules/projectOverview";
+import { getCountDangerLevelApi, getInspectionSelectQualityApi } from "@/api/modules/projectOverview";
const store = GlobalStore();
const dateRange = ref([] as any);
const echartsTest = ref();
@@ -59,6 +56,30 @@ const overdueMajorDangerCount = ref(0 as any);
const overdueMajorDangerRate = ref(0 as any);
const questionTotal = ref(0 as any);
const classColorList = ref(["#EC6266", "#6375C7", "#038cf5", "#01d6f4"]);
+const emits = defineEmits(["openDialog"]);
+const onEchartsSafeTab = (type: number) => {
+ const resultInfo = {
+ index: 7,
+ title: "超期未整改",
+ majorInfo: {
+ isOverdueRectification: 1,
+ isNotQualified: 0,
+ inspectStartTime: dateRange.value[0],
+ inspectEndTime: dateRange.value[1]
+ }
+ };
+ if (type == 1) {
+ resultInfo.title = "超期未整改";
+ resultInfo.majorInfo.isOverdueRectification = 1;
+ resultInfo.majorInfo.isNotQualified = 0;
+ emits("openDialog", resultInfo);
+ } else if (type == 2) {
+ resultInfo.title = "未销项";
+ resultInfo.majorInfo.isOverdueRectification = 0;
+ resultInfo.majorInfo.isNotQualified = 1;
+ emits("openDialog", resultInfo);
+ }
+};
let dataList = ref([
{
enumType: "",
@@ -266,13 +287,13 @@ const Pie = () => {
}
}
return dataArr;
-}
+};
const drawEchart = () => {
echartsTest.value = echarts.init(document.getElementById("echartsSafe"));
let option = {
animation: false, // 取消动画
tooltip: {
- trigger: "item",
+ trigger: "item"
// position: ['50%','50%']
},
title: {
@@ -599,7 +620,7 @@ const drawEchart = () => {
// }
// });
// });
-}
+};
watch(
dateRange,
() => {
@@ -728,11 +749,11 @@ onMounted(async () => {
position: relative;
}
:deep() {
- .el-input__wrapper{
+ .el-input__wrapper {
width: 80%;
height: 0%;
background: #0d2956;
- box-shadow: 0 0 0 1px #007AFF inset;
+ box-shadow: 0 0 0 1px #007aff inset;
}
.el-range-separator {
color: #ccc;
diff --git a/src/views/overviewScreen/commandCenter/centerTop.vue b/src/views/overviewScreen/commandCenter/centerTop.vue
index 71808fe..0dd068a 100644
--- a/src/views/overviewScreen/commandCenter/centerTop.vue
+++ b/src/views/overviewScreen/commandCenter/centerTop.vue
@@ -65,7 +65,7 @@ const configWeekVideoListFn = async (showLoading: boolean) => {
// 星期参数
const today = moment().format("d");
const weekParamsKey = ["sun", "mon", "tues", "wed", "thur", "fri", "sat"];
- projectData.value.videoUrl = res.result[0][weekParamsKey[+today]];
+ projectData.value.videoUrl = res.result.length > 0 && res.result[0][weekParamsKey[+today]];
}
};
diff --git a/src/views/overviewScreen/commandCenter/index.vue b/src/views/overviewScreen/commandCenter/index.vue
index 508b100..a75f1bb 100644
--- a/src/views/overviewScreen/commandCenter/index.vue
+++ b/src/views/overviewScreen/commandCenter/index.vue
@@ -2,11 +2,17 @@
-
+
+ 距离完工还有
+ 0
+ {{ item }}
+ 天
+
+
@@ -180,6 +186,27 @@ onMounted(() => {
});