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 @@
-
-
+
+
+ 入场前安全教育
+
+
+ 入场后培训计划
+
+
+
+
+
+
+
+
+ 培训计划名称
+
+
+
+
+
序号
+
培训计划名称
+
科目名称
+
教育主题
+
培训有效时限
+
教育人员
+
创建人
+
培训完成率
+
培训通过率
+
操作
+
+
+
+
{{ index + 1 }}
+
+
+ {{ item.name || '--' }}
+
+
+
{{ item.subjectName || '--' }}
+
+
+ {{ item.title || '--' }}
+
+
+
{{ item.trainBeginTime || '--'}} - {{item.trainEndTime || '--' }}
+
{{ item.workerNum || '--' }}
+
{{ item.createByName || '--' }}
+
{{ item.completeRadio ? item.completeRadio + '%' : '--' }}
+
{{ item.passRadio ? item.passRadio + '%' : '--' }}
+
查看培训详情
+
+
+

+
暂无数据
+
+
+
+
+
+
+
{{'<<'}}返回
+
+
+
+
+
序号
+
姓名
+
课程名称
+
身份证号
+
培训计划名称
+
开始学习时间
+
结束学习时间
+
+
+
+
{{ index + 1 }}
+
{{ item.workerName || '--' }}
+
{{ item.courseName || '--' }}
+
{{ item.workerCard || '--' }}
+
{{ eduPlanItem.name || '--' }}
+
{{ item.beginTime || '--' }}
+
{{ item.endTime || '--' }}
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
序号
+
姓名
+
科目名称
+
考试名称
+
培训计划名称
+
身份证号
+
开始考试时间
+
作答时长
+
考试结果
+
考试总分
+
考得分
+
剩余重考次数
+
+
+
+
{{ index + 1 }}
+
{{ item.workerName || '--' }}
+
{{ item.subjectName || '--' }}
+
{{ item.examPaperName || '--' }}
+
{{ eduPlanItem.name || '--' }}
+
{{ item.workerCard || '--' }}
+
{{ item.startExamTime || '--' }}
+
{{ item.duration || '--' }}
+
{{ item.isPass || '--' }}
+
{{ item.totalScore || '--' }}
+
{{ item.score || '--' }}
+
{{ item.examCount || '--' }}
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
序号
+
姓名
+
身份证号
+
培训计划名称
+
科目类型
+
课程名称
+
+
+
+
{{ index + 1 }}
+
{{ item.workerName || '--' }}
+
{{ item.workerCard || '--' }}
+
{{ eduPlanItem.name || '--' }}
+
{{ eduPlanItem.subjectName || '--' }}
+
{{ eduPlanItem.courseName || '--' }}
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
序号
+
姓名
+
身份证号
+
培训计划名称
+
科目类型
+
考试名称
+
+
+
+
{{ index + 1 }}
+
{{ item.workerName || '--' }}
+
{{ item.workerCard || '--' }}
+
{{ eduPlanItem.name || '--' }}
+
{{ eduPlanItem.subjectName || '--' }}
+
{{ eduPlanItem.paperName || '--' }}
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
+
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 @@
-
+
+
+
+ 影响进度计划因素
+
+
+ 项目总览
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 项目总进度:{{ progressData.projectTotalProgress || 0 }}%
+ 承包商进度:{{ progressData.enterpriseTotalProgress || 0 }}%
+ 项目总天数:{{ progressData.projectTotalDayNum || 0 }}天
+ 项目剩余天数:{{ progressData.projectSurplusDayNum || 0 }}天
+
+
+
+
+
+
+
分部分项工程名称
+
开始日期
+
完成日期
+
+
+
+
+
+
+
+
+
+
+ {{ p.taskName }}
+
+
+
{{ p.startDate }}
+
{{ p.finishDate }}
+
+
+
+
+
+
+
+
+
+
+ {{ child.taskName }}
+
+
+
{{ child.startDate }}
+
{{ child.finishDate }}
+
+
handleHover(e, child)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ second.taskName }}
+
+
+
+
{{ second.startDate }}
+
{{ second.finishDate }}
+
+
handleHover(e, second)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ third.taskName }}
+
+
+
+
{{ third.startDate }}
+
{{ third.finishDate }}
+
+
handleHover(e, third)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ fouth.taskName }}
+
+
+
+
{{ fouth.startDate }}
+
{{ fouth.finishDate }}
+
+
handleHover(e, fouth)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ fifth.taskName }}
+
+
+
{{ fifth.startDate }}
+
{{ fifth.finishDate }}
+
+
handleHover(e, fifth)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ sixth.taskName }}
+
+
+
{{ sixth.startDate }}
+
{{ sixth.finishDate }}
+
+
handleHover(e, sixth)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ seventh.taskName }}
+
+
+
{{ seventh.startDate }}
+
{{ seventh.finishDate }}
+
+
handleHover(e, seventh)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+ {{ eighth.taskName }}
+
+
+
{{ eighth.startDate }}
+
{{ eighth.finishDate }}
+
+
handleHover(e, eighth)"
+ @mouseleave="handleLeave"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tooltipContent.taskName }}
+
+ {{
+ tooltipContent.status == 0
+ ? "未开始"
+ : tooltipContent.status == 1
+ ? "进行中"
+ : tooltipContent.status == 2
+ ? "已完成"
+ : "已逾期"
+ }}
+
+
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
@@ -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;