diff --git a/.env.development b/.env.development index a2acb68..c77c6ea 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ NODE_ENV = 'development' # 后端本地 # VITE_API_URL = 'http://192.168.34.221:19111' # VITE_API_URL = 'http://192.168.34.221:9111' #雄哥本地 -VITE_API_URL = 'http://182.90.224.237:51234' #雄哥远程 +# 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' # VITE_API_URL = 'http://jxj.zhgdyun.com:100' @@ -24,7 +24,7 @@ VITE_API_URL = 'http://182.90.224.237:51234' #雄哥远程 # VITE_API_URL = 'http://182.90.224.237:15551' # agjt # VITE_API_URL = 'http://42.180.188.17:9809' #生产环境 -# VITE_API_URL = 'http://42.180.188.17:11211' #测试环境 +VITE_API_URL = 'http://42.180.188.17:11211' #测试环境 # VITE_API_URL = 'http://jxj.zhgdyun.com:19812' # 苏立信 # VITE_API_URL = 'http://101.43.164.214:11111' diff --git a/src/api/modules/agjtCommandApi.ts b/src/api/modules/agjtCommandApi.ts index e368eee..a71b007 100644 --- a/src/api/modules/agjtCommandApi.ts +++ b/src/api/modules/agjtCommandApi.ts @@ -97,3 +97,10 @@ export const getStatsDirectorateBigScreenApi = (params: {}) => { export const getStatScoreApi = (params: {}) => { return http.get(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/getStatScore`, params, { headers: { noLoading: true } }); }; + +// 项目人员考勤 +// 出勤人员/考勤日环比 +export const getPersonTypeAndEduStatisticsApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/workerInfo/selectPersonTypeAndEduStatistics`, params, { headers: { noLoading: true } }); +}; + diff --git a/src/assets/images/mountain-icon.png b/src/assets/images/mountain-icon.png new file mode 100644 index 0000000..7dadabe Binary files /dev/null and b/src/assets/images/mountain-icon.png differ diff --git a/src/views/commandScreen/commandCenter/index.vue b/src/views/commandScreen/commandCenter/index.vue index 9d7c2a2..0213fca 100644 --- a/src/views/commandScreen/commandCenter/index.vue +++ b/src/views/commandScreen/commandCenter/index.vue @@ -42,10 +42,11 @@ const openPeopleCountDialog = (index:any) => { height: 100%; display: flex; .left { - height: 100%; + height: 109.5%; width: 26%; + transform: translateY(-70px); .leftTop { - height: 35%; + height: 24.5%; } .leftBottom { height: 65%; diff --git a/src/views/commandScreen/commandCenter/leftBottom.vue b/src/views/commandScreen/commandCenter/leftBottom.vue index 1986a90..ffb2483 100644 --- a/src/views/commandScreen/commandCenter/leftBottom.vue +++ b/src/views/commandScreen/commandCenter/leftBottom.vue @@ -7,10 +7,20 @@
出勤人员总数: -
{{item}}
+ +
{{item}}
考勤日环比 -
0.22%
-
+
+
{{totalPersonRhbRatio}}%
+
+
+
+
{{totalPersonRhbRatio}}%
+
+
+
{{totalPersonRhbRatio}}%
+
+
总包出勤情况分析
@@ -64,7 +74,7 @@
- --> + @@ -73,8 +83,9 @@ import { onMounted, ref } from "vue"; import * as echarts from "echarts"; import { selectQualityStatisticsApi } from "@/api/modules/projectOverview"; -import { getMemberJobStatusApi, getInspectManStatusApi, getEnterpriseStatusApi } from "@/api/modules/agjtCommandApi"; -import { getPersonTypeAndEduStatisticsApi } from "@/api/modules/labor"; +import { getMemberJobStatusApi, getInspectManStatusApi, getEnterpriseStatusApi, + getPersonTypeAndEduStatisticsApi + } from "@/api/modules/agjtCommandApi"; import type { TabsPaneContext, ElMessageBox } from "element-plus"; import * as ElementPlusIconsVue from '@element-plus/icons-vue' import { GlobalStore } from "@/stores"; @@ -82,7 +93,27 @@ import { Vue3SeamlessScroll } from "vue3-seamless-scroll"; const store = GlobalStore(); const activeName = ref("总包出勤情况分析"); const activeIndex = ref("0" as any); - +//出勤人员数据 +let totalPerson = ref(""as any) +//考勤日环比 +let totalPersonRhbRatio = ref("" as any) +//获取出勤人员数据/考勤日环比 +const getPersonTypeAndEduStatistics = async () => { + const res: any = await getPersonTypeAndEduStatisticsApi({ + projectSn: store.sn + }); + if (res.result) { + console.log("出勤人员数据/考勤日环比", res); + totalPerson.value = res.result.personType.attendancePerson.totalPerson + if(totalPerson.value.length < 4){ + let temp = 4-totalPerson.value.length + for(let i = 0;i { activeIndex.value = val @@ -184,6 +215,7 @@ let listData = ref([ onMounted(async () => { drawBar() + getPersonTypeAndEduStatistics() }); @@ -327,7 +359,7 @@ onMounted(async () => { } .cbProcess{ padding-top: 5px; - height: calc(100% - 55px); + height: calc(100% - 65px); overflow: hidden; // background-color: #fff; .pItem{ @@ -423,7 +455,7 @@ onMounted(async () => { } .plBtnBgc2{ background: rgb(155,155,0); - background: linear-gradient(90deg, rgba(50,50,50,0.5) 10%, rgba(155,0,0,1) 100%); + background: linear-gradient(90deg, rgba(50,50,50,0.5) 10%, rgba(155,155,0,1) 100%); } .plBgc3{ background: rgb(0,0,139); diff --git a/src/views/commandScreen/commandCenter/leftTop.vue b/src/views/commandScreen/commandCenter/leftTop.vue index 52964b7..12aeef4 100644 --- a/src/views/commandScreen/commandCenter/leftTop.vue +++ b/src/views/commandScreen/commandCenter/leftTop.vue @@ -15,6 +15,51 @@
+ + +
+
+
+ 项目经理: + {{ projectData.projectManage || "" }} +
+
+ 联系电话: + {{ projectData.projectTel || "" }} +
+
+
+
+ 建筑面积: + {{ projectData.projectAcreage || "" }} {{ projectData.projectAcreage ? '㎡' : "" }} +
+
+ 开工日期: + {{ projectData.startWorkDate || "" }} +
+
+
+
+ 工程类别: + {{ projectData.projectType && projectTypeEnumList.length > 0 ? projectTypeEnumList[projectData.projectType - 1].name : "" }} +
+ +
+
+
+
+ + +
@@ -103,7 +148,7 @@ onMounted(async () => { display: flex; // align-items: center; justify-content: space-between; - padding: 20px 20px; + padding: 10px 20px; border-bottom: 1px solid #0059ff; .hLeft { width: 50%; @@ -123,7 +168,7 @@ onMounted(async () => { display: flex; flex-direction: column; margin-top: 10px; - margin-left: 20px; + margin-left: 10px; &-info:not(:first-child){ margin-top: 11px; }