fix:修改指挥部大屏bug

This commit is contained in:
Vce 2024-07-05 21:01:33 +08:00
parent 337b754730
commit 26649347e0
4 changed files with 2431 additions and 36 deletions

View File

@ -229,6 +229,9 @@ export const selectHierarchyEnterpriseListApi = (params: {}) => {
export const getXzParentChildTaskListApi = (params: {}) => { export const getXzParentChildTaskListApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/xzTaskProgress/getParentChildList`, params, { headers: { noLoading: true } }); return http.post(BASEURL + `/xmgl/xzTaskProgress/getParentChildList`, params, { headers: { noLoading: true } });
}; };
export const getXzMilestoneListApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/xzMilestone/list`, params, { headers: { noLoading: true } });
};
// 甘特图接口结束位置 // 甘特图接口结束位置

View File

@ -101,7 +101,11 @@
<span>{{ item.name || '--' }}</span> <span>{{ item.name || '--' }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div>{{ item.subjectName || '--' }}</div> <div>
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.subjectName" placement="top-start">
<span>{{ item.subjectName || '--' }}</span>
</el-tooltip>
</div>
<div style="width:180px"> <div style="width:180px">
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.title" placement="top-start"> <el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.title" placement="top-start">
<span>{{ item.title || '--' }}</span> <span>{{ item.title || '--' }}</span>
@ -126,7 +130,11 @@
<div class="searchLine" style="font-size:14px;left:91.6%;top:18%;z-index:99;cursor:pointer" @click="handleCloseDetail">{{'<<'}}返回</div> <div class="searchLine" style="font-size:14px;left:91.6%;top:18%;z-index:99;cursor:pointer" @click="handleCloseDetail">{{'<<'}}返回</div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleDetailTab"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleDetailTab">
<el-tab-pane :label="'学习记录'" name="first"> <el-tab-pane :label="'学习记录'" name="first">
<div class="table-one" style="transform:translateY(-20px)"> <div class="searchInner">
<span style="margin-right:5px">姓名</span>
<el-input v-model="workerName" clearable size="small" style="width: 150px" @input="handleInput2" placeholder="请输入姓名" />
</div>
<div class="table-one" style="transform:translateY(10px)">
<div class="tabList" style="justify-content:space-around"> <div class="tabList" style="justify-content:space-around">
<div>序号</div> <div>序号</div>
<div>姓名</div> <div>姓名</div>
@ -136,7 +144,7 @@
<div>开始学习时间</div> <div>开始学习时间</div>
<div>结束学习时间</div> <div>结束学习时间</div>
</div> </div>
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px"> <el-scrollbar class="listBox" ref="refScrollbar" style="height:400px;">
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around"> <div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
<div>{{ index + 1 }}</div> <div>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div> <div>{{ item.workerName || '--' }}</div>
@ -162,7 +170,11 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="'考试记录'" name="second"> <el-tab-pane :label="'考试记录'" name="second">
<div class="table-one" style="transform:translateY(-20px)"> <div class="searchInner">
<span style="margin-right:5px">姓名</span>
<el-input v-model="workerName" clearable size="small" style="width: 150px" @input="handleInput2" placeholder="请输入姓名" />
</div>
<div class="table-one" style="transform:translateY(10px)">
<div class="tabList" style="justify-content:space-around"> <div class="tabList" style="justify-content:space-around">
<div>序号</div> <div>序号</div>
<div>姓名</div> <div>姓名</div>
@ -177,14 +189,18 @@
<div>考得分</div> <div>考得分</div>
<div style="width:140px">剩余重考次数</div> <div style="width:140px">剩余重考次数</div>
</div> </div>
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px"> <el-scrollbar class="listBox" ref="refScrollbar" style="height:400px">
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around"> <div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
<div>{{ index + 1 }}</div> <div>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div> <div>{{ item.workerName || '--' }}</div>
<div>{{ item.subjectName || '--' }}</div>
<div> <div>
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.examPaperName" placement="top-start"> <el-tooltip class="box-item" style="text-align:center" effect="dark" :content="eduPlanItem.subjectName" placement="top-start">
<span>{{ item.examPaperName || '--' }}</span> <span>{{ eduPlanItem.subjectName || '--' }}</span>
</el-tooltip>
</div>
<div>
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="eduPlanItem.paperName" placement="top-start">
<span>{{ eduPlanItem.paperName || '--' }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div style="width:140px"> <div style="width:140px">
@ -208,7 +224,11 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="'未学习记录'" name="third"> <el-tab-pane :label="'未学习记录'" name="third">
<div class="table-one" style="transform:translateY(-20px);"> <div class="searchInner">
<span style="margin-right:5px">姓名</span>
<el-input v-model="workerName" clearable size="small" style="width: 150px" @input="handleInput2" placeholder="请输入姓名" />
</div>
<div class="table-one" style="transform:translateY(10px);">
<div class="tabList" style="justify-content:space-around"> <div class="tabList" style="justify-content:space-around">
<div>序号</div> <div>序号</div>
<div>姓名</div> <div>姓名</div>
@ -217,7 +237,7 @@
<div>科目类型</div> <div>科目类型</div>
<div>课程名称</div> <div>课程名称</div>
</div> </div>
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px"> <el-scrollbar class="listBox" ref="refScrollbar" style="height:400px">
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around"> <div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
<div>{{ index + 1 }}</div> <div>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div> <div>{{ item.workerName || '--' }}</div>
@ -242,7 +262,11 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="'未考试记录'" name="four"> <el-tab-pane :label="'未考试记录'" name="four">
<div class="table-one" style="transform:translateY(-20px)"> <div class="searchInner">
<span style="margin-right:5px">姓名</span>
<el-input v-model="workerName" clearable size="small" style="width: 150px" @input="handleInput2" placeholder="请输入姓名" />
</div>
<div class="table-one" style="transform:translateY(10px)">
<div class="tabList" style="justify-content:space-around"> <div class="tabList" style="justify-content:space-around">
<div>序号</div> <div>序号</div>
<div>姓名</div> <div>姓名</div>
@ -251,7 +275,7 @@
<div>科目类型</div> <div>科目类型</div>
<div>考试名称</div> <div>考试名称</div>
</div> </div>
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px;"> <el-scrollbar class="listBox" ref="refScrollbar" style="height:400px;">
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around"> <div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
<div>{{ index + 1 }}</div> <div>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div> <div>{{ item.workerName || '--' }}</div>
@ -328,18 +352,21 @@ const handleOpenDetail = async(item: any) => {
const handleCloseDetail = async() => { const handleCloseDetail = async() => {
activeIndex.value = 0 activeIndex.value = 0
activeName.value = 'first' activeName.value = 'first'
workerName.value = ''
isDetail.value = false isDetail.value = false
} }
//tab //tab
const handleDetailTab = async (tab: TabsPaneContext, event: Event) => { const handleDetailTab = async (tab: TabsPaneContext, event: Event) => {
if(tab.index == activeIndex.value) return; if(tab.index == activeIndex.value) return;
activeIndex.value = tab.index activeIndex.value = tab.index
workerName.value = ''
getStudyExamData() getStudyExamData()
} }
const getStudyExamData = async() => { const getStudyExamData = async() => {
let data:any = { let data:any = {
projectSn: store.sn, projectSn: store.sn,
trainId: eduPlanItem.value.id trainId: eduPlanItem.value.id,
workerName: workerName.value
} }
if(activeIndex.value == 0){ if(activeIndex.value == 0){
data.number = 1; data.number = 1;
@ -376,6 +403,7 @@ const getStudyExamData = async() => {
} }
const eduPlanName = ref(''as any) const eduPlanName = ref(''as any)
const workerName = ref(''as any)
const partyMemberList = ref({} as any); const partyMemberList = ref({} as any);
// //
const getMemberCountList = async (tip: any) => { const getMemberCountList = async (tip: any) => {
@ -420,6 +448,12 @@ const handleInput = async () => {
pageNo.value = 1 pageNo.value = 1
getMemberCountList('search') getMemberCountList('search')
} }
//
const handleInput2 = async () => {
partyMemberList.value = []
pageNo.value = 1
getStudyExamData()
}
onMounted(async () => { onMounted(async () => {
await getMemberCountList("search"); await getMemberCountList("search");
@ -442,6 +476,12 @@ onMounted(async () => {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.searchInner{
color:#fff;
position: absolute;
top:0%;
left:0%;
}
.political-outlook { .political-outlook {
height: 97%; height: 97%;
margin: 0 60px; margin: 0 60px;

File diff suppressed because it is too large Load Diff

View File

@ -241,9 +241,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in child.gantts" v-for="(gantt, index) in child.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, child)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, child)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第三层 --> <!-- 第三层 -->
@ -293,9 +294,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in second.gantts" v-for="(gantt, index) in second.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, second)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, second)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第四层 --> <!-- 第四层 -->
@ -345,9 +347,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in third.gantts" v-for="(gantt, index) in third.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, third)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, third)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第五层 --> <!-- 第五层 -->
@ -397,9 +400,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in fouth.gantts" v-for="(gantt, index) in fouth.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, fouth)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, fouth)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第六层 --> <!-- 第六层 -->
@ -448,9 +452,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in fifth.gantts" v-for="(gantt, index) in fifth.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, fifth)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, fifth)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第七层 --> <!-- 第七层 -->
@ -499,9 +504,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in sixth.gantts" v-for="(gantt, index) in sixth.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, sixth)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, sixth)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第八层 --> <!-- 第八层 -->
@ -556,9 +562,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in seventh.gantts" v-for="(gantt, index) in seventh.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, seventh)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, seventh)"
@mouseleave="handleLeave" -->
</div> </div>
<!-- 第九层 --> <!-- 第九层 -->
@ -609,9 +616,10 @@
:style="gantt" :style="gantt"
v-for="(gantt, index) in eighth.gantts" v-for="(gantt, index) in eighth.gantts"
:key="index" :key="index"
@mouseenter="e => handleHover(e, eighth)" :title="child.taskName + ' ' + headerList[child.status].label"
@mouseleave="handleLeave"
></div> ></div>
<!-- @mouseenter="e => handleHover(e, eighth)"
@mouseleave="handleLeave" -->
</div> </div>
</div> </div>
</div> </div>
@ -683,9 +691,11 @@ function handleChangeTab(val: any){
partyMemberList.value = [] partyMemberList.value = []
pageNo.value = 1 pageNo.value = 1
}else{ }else{
treeData.value = ''
selectVal.value = '';
getHierarchyEnterpriseList() getHierarchyEnterpriseList()
getCountFn() // getCountFn()
getDataList() // getDataList()
} }
} }
@ -850,12 +860,11 @@ const getHierarchyEnterpriseList = async() => {
level1CompanyData.value = res.result; level1CompanyData.value = res.result;
if (level1CompanyData.value && level1CompanyData.value.length > 0) { if (level1CompanyData.value && level1CompanyData.value.length > 0) {
nextTick(() => { nextTick(() => {
treeData.value = level1CompanyData.value[0]; // treeData.value = level1CompanyData.value[0];
selectVal.value = level1CompanyData.value[0].enterpriseName // selectVal.value = level1CompanyData.value[0].enterpriseName
// tree.value.setCurrentKey(level1CompanyData.value[0].id);//tree // groupTree.value.setCurrentKey(level1CompanyData.value[0].id);
groupTree.value.setCurrentKey(level1CompanyData.value[0].id);
getDataList();//123 getDataList();//123
// getCountFn();//123 getCountFn();//123
}); });
} }
// this.enterpriseTreeData = res.result // this.enterpriseTreeData = res.result