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: {}) => {
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>
</el-tooltip>
</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">
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.title" placement="top-start">
<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>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleDetailTab">
<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>序号</div>
<div>姓名</div>
@ -136,7 +144,7 @@
<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>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div>
@ -162,7 +170,11 @@
</div>
</el-tab-pane>
<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>序号</div>
<div>姓名</div>
@ -177,14 +189,18 @@
<div>考得分</div>
<div style="width:140px">剩余重考次数</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>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div>
<div>{{ item.subjectName || '--' }}</div>
<div>
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.examPaperName" placement="top-start">
<span>{{ item.examPaperName || '--' }}</span>
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="eduPlanItem.subjectName" placement="top-start">
<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>
</div>
<div style="width:140px">
@ -208,7 +224,11 @@
</div>
</el-tab-pane>
<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>序号</div>
<div>姓名</div>
@ -217,7 +237,7 @@
<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>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div>
@ -242,7 +262,11 @@
</div>
</el-tab-pane>
<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>序号</div>
<div>姓名</div>
@ -251,7 +275,7 @@
<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>{{ index + 1 }}</div>
<div>{{ item.workerName || '--' }}</div>
@ -328,18 +352,21 @@ const handleOpenDetail = async(item: any) => {
const handleCloseDetail = async() => {
activeIndex.value = 0
activeName.value = 'first'
workerName.value = ''
isDetail.value = false
}
//tab
const handleDetailTab = async (tab: TabsPaneContext, event: Event) => {
if(tab.index == activeIndex.value) return;
activeIndex.value = tab.index
workerName.value = ''
getStudyExamData()
}
const getStudyExamData = async() => {
let data:any = {
projectSn: store.sn,
trainId: eduPlanItem.value.id
trainId: eduPlanItem.value.id,
workerName: workerName.value
}
if(activeIndex.value == 0){
data.number = 1;
@ -376,6 +403,7 @@ const getStudyExamData = async() => {
}
const eduPlanName = ref(''as any)
const workerName = ref(''as any)
const partyMemberList = ref({} as any);
//
const getMemberCountList = async (tip: any) => {
@ -420,6 +448,12 @@ const handleInput = async () => {
pageNo.value = 1
getMemberCountList('search')
}
//
const handleInput2 = async () => {
partyMemberList.value = []
pageNo.value = 1
getStudyExamData()
}
onMounted(async () => {
await getMemberCountList("search");
@ -442,6 +476,12 @@ onMounted(async () => {
display: flex;
align-items: center;
}
.searchInner{
color:#fff;
position: absolute;
top:0%;
left:0%;
}
.political-outlook {
height: 97%;
margin: 0 60px;

File diff suppressed because it is too large Load Diff

View File

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