修改智慧教室

This commit is contained in:
yangjun 2024-02-27 14:30:45 +08:00
parent ff1b6caef0
commit 8dd626ab16
2 changed files with 83 additions and 25 deletions

View File

@ -35,10 +35,10 @@
</div>
</a-col>
<a-col :span="6">
<div class="numberBlob handleCss" @click="openDetail({ onLineClassType: ['green', 'yellow'] })">
<div class="numberBlob handleCss" @click="openDetail({ tjKftkzt:'1' })">
<!-- <div class="numberBlob handleCss" @click="openDetail({ sfyx: '0' })"> -->
<!-- <div class="numSpan orange">{{ getSysConfig().flag5 == 0?'否': leftList.filter(x => x.sfyx == 0).length || 0}}</div> -->
<div class="numSpan orange">{{ getSysConfig().flag5 == 0?'否': leftList.filter(x => ['green', 'yellow'].indexOf(x.onLineClassType) != -1).length || 0}}</div>
<div class="numSpan orange">{{ getSysConfig().flag5 == 0?'否': leftList.filter(x => x.tjKftkzt == 1).length || 0}}</div>
<div class="numberName">
<!-- <RiseOutlined class="orange"/> -->
开放听课
@ -110,7 +110,7 @@
<div v-show="twoShowType" class="" style="padding: 10px 10px 0 10px;">
<a-row :gutter="[16,16]">
<a-col :span="6" v-for="(item,index) of cardList" :key="index">
<a-card bordered hoverable @click="() => (currentCardIndex = index,searchReset())" :class="currentCardIndex == index?'active':''">
<a-card bordered hoverable @click="() => (currentCardIndex = index,queryParam.jxlName = item.jxlName,queryParam.jsmc = null,searchReset())" :class="currentCardIndex == index?'active':''">
<template #title>
<div class="fjdskf" style="float: left;font-size: 15px;font-weight: 600;margin-top: 5px;">{{ item.jxlName }}</div>
<div class="bgshua" style="float: right">
@ -121,12 +121,12 @@
<a-row style="margin-bottom: 10px;text-align: center;border-bottom: 1px #f0f0f0 solid ;padding-bottom: 10px;">
<a-col class="hover handleCss" :span="6" style="font-weight: 600;" @click="openDetail({ jxlName: item.jxlName, zbgn: undefined })"><span>{{ item.jsNum }}</span></a-col>
<a-col class="hover" :span="6" style="font-weight: 600;" @click="openDetail({ jxlName: item.jxlName })"><span>{{ item.child.filter(x => x.zbgn == '0').length || 0 }}</span></a-col>
<a-col class="hover" :span="6" style="font-weight: 600;" @click="openDetail({ jxlName: item.jxlName, sfyx: '0' })"><span>{{ item.child.filter(x => x.sfyx == 0).length || 0 }}</span></a-col>
<a-col class="hover" :span="6" style="font-weight: 600;" @click="openDetail({ jxlName: item.jxlName, sfyx: '0' })"><span>{{ item.child.filter(x => x.tjKftkzt == 1).length || 0 }}</span></a-col>
<a-col class="" :span="6" style="font-weight: 600;" v-if="!statusLogList.length"><span>未检测</span></a-col>
<a-col class="hover handleCss" :span="6" style="font-weight: 600;" @click="openDetail({ jxlName: item.jxlName, onLineClassType: ['red', 'yellow'] })" v-else><span>{{ statusLogList.filter(x => x.jxlName == item.jxlName && x.type != 'green' ).length }}</span></a-col>
<a-col class="hover" :span="6" @click="openDetail({ jxlName: item.jxlName, zbgn: undefined })"><span>总数</span></a-col>
<a-col class="hover" :span="6" @click="openDetail({ jxlName: item.jxlName })"><span>可直播</span></a-col>
<a-col class="hover" :span="6" @click="openDetail({ jxlName: item.jxlName, sfyx: '0' })"><span>开放听课</span></a-col>
<a-col class="hover" :span="6" @click="openDetail({ jxlName: item.jxlName, tjKftkzt:'1' })"><span>开放听课</span></a-col>
<a-col :span="6" @click="openDetail({ jxlName: item.jxlName, onLineClassType: ['red', 'yellow'] })">
<div>设备异常</div>
<!-- <div v-if="statusLogList.length" style="font-size: .5rem;">{{ statusLogList[0]?.createTime }}</div> -->
@ -198,7 +198,7 @@
<a-table-column title="开放听课" data-index="_">
<template #default="{ record }">
<span @click="openDetail({ jxlName: record.jxlName, sfyx: '0' })">
<span @click="openDetail({ jxlName: record.jxlName, tjKftkzt: '0' })">
{{ record.child.filter(x => x.sfyx == 0).length || 0 }}
</span>
</template>
@ -310,7 +310,7 @@
</a-form-item>
</a-col>
<a-col :lg="5" style="padding: 0 10px 0 0;">
<a-form-item label="开放听课">
<a-form-item label="前台展示">
<a-select placeholder="请选择" v-model:value="queryParam.sfyx">
<a-select-option :value="undefined">请选择</a-select-option>
<a-select-option value="0"></a-select-option>
@ -405,7 +405,7 @@
{{ text == 0?'是':'尚未接入' }}
</template>
</a-table-column>
<a-table-column title="开放听课" align="center" data-index="sfyx">
<a-table-column title="前台展示" align="center" data-index="sfyx">
<template #default="{ text, record }">
<template v-if="record.zbgn == 0">{{ text == 0?'':'' }}</template>
<template v-else>-</template>
@ -434,6 +434,12 @@
{{ record?.nextIsClass?'是':'否' }}
</template>
</a-table-column>
<a-table-column title="开放听课" align="center" data-index="sfyx">
<template #default="{ text, record }">
<template v-if="record.tjKftkzt == 1"></template>
<template v-else></template>
</template>
</a-table-column>
<a-table-column title="备注" data-index="bfStatusInfo"/>
<!-- <a-table-column title="教师近景" align="center" data-index="child_教师近景">
@ -473,7 +479,7 @@
</a-table-column> -->
<!-- <a-table-column title="数量" data-index="allIsOnLine"/> -->
<a-table-column width="210px" title="操作" data-index="action">
<a-table-column width="310px" title="操作" data-index="action">
<template #default="{ record }">
<template v-if="record.zbgn == 0">
<a-button type="link" style="padding: 0" :disabled="record.allIsOnLine == 0" @click="ylLiveNew(record)">预览 |</a-button>
@ -481,16 +487,22 @@
<a v-else @click="ylLiveNew(record)" >预览 |</a> -->
<a v-if="!record?.child['教师全景']?.isOnLine" @click="changeLive(record,true)">开启直播 |</a>
<a v-else @click="changeLive(record,false)">关闭直播 |</a>
<a v-if="record.sfyx == 1" @click="changeKt(record,true)">开放听课</a>
<a v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭听课</a>
<a v-if="record.sfyx == 1" @click="changeKt(record,true)">开放前台展示</a>
<a v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭前台展示</a>
<a v-if="record.tjKftkzt == 0" @click="changeKftk(record,'1')"> | 开放听课</a>
<a v-else-if="record.tjKftkzt == 1" @click="changeKftk(record,'0')"> | 关闭听课</a>
<a @click="changeSdjc(record)"> | 手动检测</a>
<!-- {{ record.id }} -->
</template>
<template v-else>
<a-button type="link" style="padding: 0" disabled @click="ylLiveNew(record)">预览 |</a-button>
<a-button type="link" style="padding: 0" disabled v-if="!record?.child['教师全景']?.isOnLine" @click="changeLive(record,true)">开启直播 |</a-button>
<a-button type="link" style="padding: 0" disabled v-else @click="changeLive(record,false)">关闭直播 |</a-button>
<a-button type="link" style="padding: 0" disabled v-if="record.sfyx == 1" @click="changeKt(record,true)">开放听课</a-button>
<a-button type="link" style="padding: 0" disabled v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭听课</a-button>
<a-button type="link" style="padding: 0" disabled v-if="record.sfyx == 1" @click="changeKt(record,true)">开放前台展示</a-button>
<a-button type="link" style="padding: 0" disabled v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭前台展示</a-button>
<a-button v-if="record.tjKftkzt == 0" @click="changeKftk(record,'1')"> | 开放听课</a-button>
<a-button v-else-if="record.tjKftkzt == 1" @click="changeKftk(record,'0')"> | 关闭听课</a-button>
<a-button @click="changeSdjc(record)"> | 手动检测</a-button>
</template>
</template>
</a-table-column>
@ -583,6 +595,8 @@ enum Api {
refreshLogs = '/jiaoshi/kcZhihuijiaoshi/refreshLogs',
getRedisKey = '/jiaoshi/kcZhihuijiaoshi/getRedisKey',
resettingRedisKeys = '/jiaoshi/kcZhihuijiaoshi/resettingRedisKeys',
updateTkzt = '/jiaoshi/kcZhihuijiaoshi/updateTkzt',
sdjc = '/jiaoshi/kcZhihuijiaoshi/sdjc',
}
/**
* 列表接口
@ -596,6 +610,8 @@ const refreshLogs = (params) => defHttp.get({ url: Api.refreshLogs, params,timeo
const getRefreshLogList = (params) => defHttp.get({ url: Api.getRefreshLogList, params,timeout: 9000000 });
const getRedisKey = (params) => defHttp.get({ url: Api.getRedisKey, params,timeout: 9000000 });
const resettingRedisKeys = (params) => defHttp.get({ url: Api.resettingRedisKeys, params,timeout: 9000000 });
const updateTkzt = (params) => defHttp.post({ url: Api.updateTkzt, params,timeout: 9000000 });
const sdjc = (params) => defHttp.get({ url: Api.sdjc, params,timeout: 9000000 });
const shangXianQuartz = ref<any>({});
@ -841,6 +857,21 @@ function refreshLogsFn(jxlName?){
}
/**
* 手动检测
*/
function changeSdjc(record?){
sdjc({ id:record.jsbh }).then(res => {
let list = (res?.records) ?? (res) ?? [];
console.log(`🚀 ----------------------------------------------------------🚀`);
console.log(`🚀 ~ file: index.vue:539 ~ refreshLogsFn ~ list:`, list);
console.log(`🚀 ----------------------------------------------------------🚀`);
statusLogList.value = list;
getJianceBtnStatus();
})
}
function getRefreshLogListFn(){
getRefreshLogList({ pageSize: -1 }).then(res => {
let list = (res?.records) ?? [];
@ -1013,6 +1044,17 @@ function ylLiveNew(record) {
window.open(routeData.href, '_blank');
}
//
function changeKftk(record,tjKftkzt){
// record.tjKftkzt = tjKftkzt;
updateTkzt({id:record.id,tjKftkzt}).then(res => {
loadData();
}).catch(e => {
console.error(e);
loading.value = false;
})
}
function changeLive(record, isEnable){
console.log('createInfoModal ->',createInfoModal);
loading.value = true;
@ -1145,9 +1187,9 @@ function searchQuery() {
* 重置
*/
function searchReset() {
queryParam.value = {
zbgn: '0'
};
// queryParam.value = {
// zbgn: '0'
// };
//
filterComputedDataSource.value = filterDataSource();
//loadData();

View File

@ -25,7 +25,7 @@
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item label="开放听课">
<a-form-item label="前台是否展示">
<a-select placeholder="请选择" v-model:value="queryParam.sfyx">
<a-select-option :value="undefined">请选择</a-select-option>
<a-select-option value="0"></a-select-option>
@ -61,15 +61,24 @@
</a-select>
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item label="开放听课">
<a-select placeholder="请选择" v-model:value="queryParam.tjKftkzt">
<a-select-option :value="undefined">请选择</a-select-option>
<a-select-option value="0"></a-select-option>
<a-select-option value="1"></a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :xl="24" :lg="24" :md="24" :sm="24">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchLiveOpen" style="margin-left: 8px">批量打开直播</a-button>
<!-- <a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchLiveOpen" style="margin-left: 8px">批量打开直播</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchLiveClose" style="margin-left: 8px">批量关闭直播</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchTingkeOpen" style="margin-left: 8px">批量打开听课</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchTingkeClose" style="margin-left: 8px">批量关闭听课</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" :loading="loading" @click="batchTingkeClose" style="margin-left: 8px">批量关闭听课</a-button> -->
</span>
</a-col>
</a-row>
@ -106,12 +115,18 @@
{{ text == 0?'是':'尚未接入' }}
</template>
</a-table-column>
<a-table-column title="开放听课" align="center" data-index="sfyx">
<a-table-column title="前台是否展示" align="center" data-index="sfyx">
<template #default="{ text, record }">
<template v-if="record.zbgn == 0">{{ text == 0?'':'' }}</template>
<template v-else>-</template>
</template>
</a-table-column>
<a-table-column title="开放听课" align="center" data-index="tjKftkzt">
<template #default="{ text, record }">
<template v-if="record.zbgn == 0">{{ text == 1?'':'' }}</template>
<template v-else>-</template>
</template>
</a-table-column>
<!-- 5.开放听课?? -->
<a-table-column title="直播状态" align="center" data-index="child_教师近景">
<template #default="{ record }">
@ -137,17 +152,14 @@
</a-table-column>
<a-table-column title="备注" data-index="bfStatusInfo"/>
<a-table-column width="210px" title="操作" data-index="action">
<!-- <a-table-column width="210px" title="操作" data-index="action">
<template #default="{ record }">
<template v-if="record.zbgn == 0">
<a-button type="link" style="padding: 0" :disabled="record.allIsOnLine == 0" @click="ylLiveNew(record)">预览 |</a-button>
<!-- <a v-if="record.allIsOnLine == 0" :disabled="true" @click="ylLiveNew(record)" >预览 |</a>
<a v-else @click="ylLiveNew(record)" >预览 |</a> -->
<a v-if="!record?.child['教师全景']?.isOnLine" @click="changeLive(record,true)">开启直播 |</a>
<a v-else @click="changeLive(record,false)">关闭直播 |</a>
<a v-if="record.sfyx == 1" @click="changeKt(record,true)">开放听课</a>
<a v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭听课</a>
<!-- {{ record.id }} -->
</template>
<template v-else>
<a-button type="link" style="padding: 0" disabled @click="ylLiveNew(record)">预览 |</a-button>
@ -157,7 +169,7 @@
<a-button type="link" style="padding: 0" disabled v-else-if="record.sfyx == 0" @click="changeKt(record,false)">关闭听课</a-button>
</template>
</template>
</a-table-column>
</a-table-column> -->
</a-table>
</div>
</a-modal>
@ -541,6 +553,9 @@ function filterDataSource() {
if(qw.zbgn){
if(isReturn) isReturn = x.zbgn == qw.zbgn;
}
if(qw.tjKftkzt){
if(isReturn) isReturn = x.tjKftkzt == qw.tjKftkzt;
}
if(qw.onLineClassType){
if(typeof qw.onLineClassType == 'object'){
let r = false;
@ -571,6 +586,7 @@ function filterDataSource() {
}
})
console.log(`🚀 ~ filterDataSource ~ dataSource:`, dataSource)
return dataSource;
}