diff --git a/src/api/modules/agjtCommandApi.ts b/src/api/modules/agjtCommandApi.ts index 406bddd..65e544f 100644 --- a/src/api/modules/agjtCommandApi.ts +++ b/src/api/modules/agjtCommandApi.ts @@ -63,6 +63,20 @@ export const getSpecialSideStationApi = (params: {}) => { export const getSafeEducationDataApi = (params: {}) => { return http.post(BASEURL + `/xmgl/xzWorkerInfoAuditRecord/selectWorkerInfoAuditList`, params, { headers: { noLoading: true } }); }; +export const getEduPlanDataApi = (params: {}) => { + return http.post(BASEURL + `/exam/train/page`, params, { headers: { noLoading: true } }); +}; +//培训详情 +//(未)学习记录 +export const getStudyDataApi = (params: {}) => { + // return http.post(BASEURL + `/exam/courseRecord/page`, params, { headers: { noLoading: true } }); + return http.post(BASEURL + `/exam/courseRecord/list`, params, { headers: { noLoading: true } }); +}; +//(未)考试记录 +export const getExamDataApi = (params: {}) => { + // return http.post(BASEURL + `/exam/trainRecord/examRecordPage`, params, { headers: { noLoading: true } }); + return http.post(BASEURL + `/exam/trainRecord/list`, params, { headers: { noLoading: true } }); +}; // 天气弹窗 // 顶部数据 @@ -152,8 +166,8 @@ export const queryAttendanceOfEachCompanyApi = (params: {}, showLoading: boolean }; // 进度情况分析 // 项目总进度/项目剩余天数 -export const getCountTaskProgressApi = (params: {}, showLoading: boolean) => { - return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: showLoading } }); +export const getCountTaskProgressApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: true } }); }; // 总包进度列表 export const queryCountEnterpriseApi = (params: {}, showLoading: boolean) => { @@ -204,3 +218,17 @@ export const getRiskTrendByProjectApi = (params: {}, showLoading: boolean) => { export const getRiskTrendByMainEnterpriseApi = (params: {}, showLoading: boolean) => { return http.post(BASEURL + `/xmgl/xzRiskPrediction/riskTrendByMainEnterprise`, params, { headers: { noLoading: showLoading } }); }; + +// 甘特图接口开始位置 +export const getQualityRegionListApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/qualityRegion/list`, params, { headers: { noLoading: true } }); +}; +export const selectHierarchyEnterpriseListApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/enterpriseInfo/selectHierarchyEnterpriseList`, params, { headers: { noLoading: true } }); +}; +export const getXzParentChildTaskListApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/xzTaskProgress/getParentChildList`, params, { headers: { noLoading: true } }); +}; + + +// 甘特图接口结束位置 diff --git a/src/assets/images/notoDataImg.png b/src/assets/images/notoDataImg.png new file mode 100644 index 0000000..ced6690 Binary files /dev/null and b/src/assets/images/notoDataImg.png differ diff --git a/src/views/commandScreen/commandCenter/centerTop.vue b/src/views/commandScreen/commandCenter/centerTop.vue index de1fe6f..3775cae 100644 --- a/src/views/commandScreen/commandCenter/centerTop.vue +++ b/src/views/commandScreen/commandCenter/centerTop.vue @@ -86,10 +86,10 @@
危险特殊作业 {{ statsDirectorateBigScreen.dangerousEngineeringRecordNum }}
-
+
安全教育 {{ statsDirectorateBigScreen.workerInfoAuditRecordNum }}
-
+
影响进度计划因素 {{ statsDirectorateBigScreen.taskProgressContentNum }}
@@ -104,7 +104,7 @@
质量管理 {{ statsDirectorateBigScreen.securityQualityInspectionRecordNum }}质量管理 {{ statsDirectorateBigScreen.qualityInspectionRecordNum }}
@@ -917,6 +917,7 @@ onMounted(async () => { // padding: 0 5px; span { + cursor: pointer; margin-top: 10px; } } diff --git a/src/views/commandScreen/dialogCompnnents/safe-info.vue b/src/views/commandScreen/dialogCompnnents/safe-info.vue index 8745b0d..3be6de7 100644 --- a/src/views/commandScreen/dialogCompnnents/safe-info.vue +++ b/src/views/commandScreen/dialogCompnnents/safe-info.vue @@ -1,50 +1,15 @@ + + diff --git a/src/views/commandScreen/dialogCompnnents/weather-info.vue b/src/views/commandScreen/dialogCompnnents/weather-info.vue index a9c2cb8..1fa9b19 100644 --- a/src/views/commandScreen/dialogCompnnents/weather-info.vue +++ b/src/views/commandScreen/dialogCompnnents/weather-info.vue @@ -1,6 +1,17 @@ @@ -198,6 +1411,40 @@ onMounted(async () => { .political-outlook { height: 97%; margin: 0 60px; + .tabBox{ + position: absolute; + top: 6%; + left: 3.5%; + width:350px; + height:50px; + // background-color: #fff; + color: gray; + font-weight: bold; + font-size: 20px; + font-style: italic; + display: flex; + justify-content: space-around; + align-items: center; + .danger{ + width:50%; + height:100%; + display: flex; + justify-content: space-around; + align-items: center; + cursor: pointer; + } + .special{ + width:50%; + height:100%; + display: flex; + justify-content: space-around; + align-items: center; + cursor: pointer; + } + .active{ + color:#fff + } + } .content { height: 95%; width: 100%; @@ -205,6 +1452,12 @@ onMounted(async () => { // background: url("@/assets/images/cardImg.png") no-repeat; background-size: 100% 100%; padding: 20px 15px; + .searchLine{ + color:#fff; + position: absolute; + top:14%; + left:7.5%; + } .top-statistics { display: grid; grid-template-columns: repeat(3, 1fr); @@ -432,6 +1685,408 @@ onMounted(async () => { color: var(--el-color-primary); } } + + + + .gantt-box { + box-sizing: border-box; + min-width: 1120px; + width: 100%; + height: 100%; + padding: 18px; + // background: #ffffff; + border-radius: 8px; + .top-count { + color: #fff; + font-size: 16px; + position: absolute; + left: 25%; + top: 16.5%; + span { + margin-right: 50px; + } + } + .header { + display: flex; + justify-content: space-between; + width: 100%; + height: 60px; + + .left-content { + display: flex; + width: 65%; + height: 105%; + transform: translateX(-10px); + .item { + display: flex; + align-items: center; + // width: calc(100% / 4); + margin-right: 50px; + .color-block { + margin-right: 10px; + width: 12px; + height: 12px; + border-radius: 2px; + } + + .label { + color: #fff; + font-size: 14px; + margin-left: 10px; + } + } + } + + .right-content { + font-size: 16px; + line-height: 60px; + color: #cccccc; + } + } + .gantt-chart { + height: calc(90% - 45px); + transform: translateX(-10px); + overflow: hidden; + .table { + position: relative; + height: 100%; + overflow-x: auto; + + &::-webkit-scrollbar { + width: 6px; + height: 6px; + cursor: pointer; + } + + &::-webkit-scrollbar-thumb { + border-radius: 10px; + background-color: #d3d3d3; + } + + .thead { + width: max-content; + // background-color: rgba(64, 94, 151, 1); + // height: 12%; + // border-left: 1px solid #0a769a; + + .row { + display: flex; + position: relative; + .fixed_1, + .fixed_2, + .fixed_3 { + width: 200px; + position: relative; + z-index: 10; + // background: #e2ebff; + } + .fixed_1 { + border-left: 1px solid #3e5a8d; + left: 0; + } + .fixed_2 { + left: 0px; + } + .fixed_3 { + left: 0px; + } + .td { + flex-shrink: 0; + box-sizing: border-box; + height: 42px; + line-height: 42px; + background-color: #1e3862; + color: #fff; + font-size: 16px; + border-top: 1px solid #3e5a8d; + .date { + line-height: 21px; + border-left: 1px solid #3e5a8d; + + .month { + border-bottom: 1px solid #3e5a8d; + } + + .days { + display: flex; + + .day { + flex: 1; + } + } + } + + &:nth-child(1) { + padding-left: 30px; + width: 200px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + &:not(:nth-child(1)) { + width: 100px; + text-align: center; + } + + &:nth-child(n + 4) { + width: 400px; + } + } + } + } + + .tbody { + width: max-content; + // border-left: 1px solid #0a769a; + + .row-groups { + position: relative; + height: 42px; + // &::before { + // content: ""; + // position: absolute; + // left: 26px; + // top: 16px; + // width: 0; + // height: 0; + // border-top: 4px solid transparent; + // border-right: 4px solid transparent; + // border-bottom: 4px solid transparent; + // border-left: 4px solid #5be1f4; + // z-index: 99; + // } + + &.open { + height: unset; + + // &::before { + // border-left-color: transparent; + // border-top-color: #5be1f4; + // } + } + + > .row .td:first-child { + user-select: none; + cursor: pointer; + } + + .row { + position: relative; + display: flex; + border-top: 1px solid #3e5a8d; + .fixed_1, + .fixed_2, + .fixed_3 { + width: 200px; + position: relative; + background: #11306a; + z-index: 10; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .fixed_1 { + left: 0; + border-left: 1px solid #3e5a8d; + } + .fixed_2 { + left: 0px; + } + .fixed_3 { + left: 0px; + } + .td { + flex-shrink: 0; + box-sizing: border-box; + height: 42px; + line-height: 42px; + // background-color: #fff; + border-right: 1px solid #3e5a8d; + border-bottom: 1px solid #3e5a8d; + border-top: 1px solid #3e5a8d; + color: #fff; + font-size: 16px; + + .grids { + height: 100%; + display: flex; + + .grid { + position: relative; + flex: 1; + height: 100%; + + &:not(:last-child) { + border-right: 1px solid #3e5a8d; + } + } + } + + &:nth-child(1) { + padding-left: 40px; + width: 200px; + } + + &:not(:nth-child(1)) { + width: 100px; + font-size: 14px; + text-align: center; + } + + &:nth-child(n + 4) { + width: 400px; + } + } + + .progress { + flex-shrink: 0; + position: absolute; + top: calc(50% - 7px); + width: 20px; + height: 14px; + cursor: pointer; + background: #557dee; + } + } + + .children { + .td { + height: 38px; + line-height: 38px; + font-size: 14px; + } + // .row { + // position: relative; + // display: flex; + // border-top: 1px solid #3e5a8d; + // .fixed_1, + // .fixed_2, + // .fixed_3 { + // width: 200px; + // position: relative; + // background: #11306a; + // z-index: 10; + // overflow: hidden; + // white-space: nowrap; + // text-overflow: ellipsis; + // } + // .fixed_1 { + // left: 0; + // border-left: 1px solid #3e5a8d; + // } + // .fixed_2 { + // left: 0px; + // } + // .fixed_3 { + // left: 0px; + // } + // .td { + // flex-shrink: 0; + // box-sizing: border-box; + // height: 42px; + // line-height: 42px; + // // background-color: #fff; + // border-right: 1px solid #3e5a8d; + // border-bottom: 1px solid #3e5a8d; + // border-top: 1px solid #3e5a8d; + // color: #fff; + // font-size: 16px; + + // .grids { + // height: 100%; + // display: flex; + + // .grid { + // position: relative; + // flex: 1; + // height: 100%; + + // &:not(:last-child) { + // border-right: 1px solid #3e5a8d; + // } + // } + // } + + // &:nth-child(1) { + // padding-left: 40px; + // width: 200px; + // } + + // &:not(:nth-child(1)) { + // width: 100px; + // font-size: 14px; + // text-align: center; + // } + + // &:nth-child(n + 4) { + // width: 400px; + // } + // } + + // .progress { + // flex-shrink: 0; + // position: absolute; + // top: calc(50% - 7px); + // width: 20px; + // height: 14px; + // cursor: pointer; + // background: #557dee; + // } + // } + } + } + } + + .tooltips { + position: absolute; + box-sizing: border-box; + padding: 10px; + width: 160px; + height: 65px; + border-radius: 8px; + // background-color: #50a6b3; + box-shadow: 1px 1px 10px #ccc; + // background-color: white; + .status { + // display: inline-block; + margin-bottom: 6px; + height: 20px; + width: 100px; + line-height: 20px; + font-size: 14px; + border-radius: 10px; + // background-color: #ff6c7f; + background-color: #e83030; + color: white; + text-align: center; + margin: 0 auto; + } + .charger { + color: #fff; + text-align: center; + } + } + } + } + .no-data { + height: calc(100% - 145px); + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + color: #fff; + font-size: 16px; + img{ + height: 33%; + width: 10%; + } + } + } + + + } } .notoDta { @@ -467,6 +2122,11 @@ onMounted(async () => { color: white; border-color: transparent; } + .el-tree-node__label{ + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; + } } // ::v-deep .el-select .el-input .el-select__caret { // color: #fff;