|
@@ -68,23 +68,23 @@
|
|
|
<Row>
|
|
|
<Col :span="5" style="text-align: center;">
|
|
|
<span style="color: #94998a;">{{$t('schoolMgmt.block1Title1')}}</span>
|
|
|
- <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">4 <small>(36%)</small></h5>
|
|
|
+ <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">{{classCount.activeCount}} <small>({{classCount.activeCount/classCount.total | percentFormat(0)}}%)</small></h5>
|
|
|
</Col>
|
|
|
<Col :span="5" style="text-align: center;">
|
|
|
<span style="color: #94998a;">{{$t('schoolMgmt.block1Title2')}}</span>
|
|
|
- <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">1 <small>(9%)</small></h5>
|
|
|
+ <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">{{classCount.failCount}} <small>({{classCount.failCount/classCount.total | percentFormat(0)}}%)</small></h5>
|
|
|
</Col>
|
|
|
<Col :span="5" style="text-align: center;">
|
|
|
<span style="color: #94998a;">{{$t('schoolMgmt.block1Title3')}}</span>
|
|
|
- <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">3 <small>(27%)</small></h5>
|
|
|
+ <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">{{classCount.updateCount}} <small>({{classCount.updateCount/classCount.total | percentFormat(0)}}%)</small></h5>
|
|
|
</Col>
|
|
|
<Col :span="5" style="text-align: center;">
|
|
|
<span style="color: #94998a;">{{$t('schoolMgmt.block1Title4')}}</span>
|
|
|
- <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">18 <small>(77%)</small></h5>
|
|
|
+ <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">{{classCount.loginCount}} <small>({{classCount.loginCount/courseACT.today | percentFormat(0)}}%)</small></h5>
|
|
|
</Col>
|
|
|
<Col :span="4" style="text-align: center;">
|
|
|
<span style="color: #94998a;">{{$t('schoolMgmt.block1Title5')}}</span>
|
|
|
- <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">11</h5>
|
|
|
+ <h5 style="font-size: 2em;color: #FAFAFA;font-weight: 100;">{{classCount.total}}</h5>
|
|
|
</Col>
|
|
|
</Row>
|
|
|
</div>
|
|
@@ -92,20 +92,29 @@
|
|
|
</div>
|
|
|
<div style="height: 40%;width:100%;position: relative;overflow: auto;">
|
|
|
<div class="scrollstyle" style="position: absolute;right: 0px;left: 0;top: 0;bottom: 0;overflow-x: hidden;overflow-y: auto;">
|
|
|
- <div class="classInfo" v-for="(item, index) in classInfoData" :key="index">
|
|
|
+ <div class="classInfo" v-for="(item, index) in classInfo" :key="index">
|
|
|
<Row type="flex" justify="center" align="bottom" style="border-bottom: solid 1px #94998a;padding-bottom: 7px;">
|
|
|
<Col :span="15">
|
|
|
- <h5>{{ item.className }}</h5>
|
|
|
- <span class="ellipsis subtitle">{{ item.classProduct }} | {{ item.classDetail }}</span>
|
|
|
+ <h5>{{ item.groupNum ? item.groupNum : '———' }}, {{item.groupName != 'UnKnown' ? item.groupName : 'No Name'}}</h5>
|
|
|
+ <span class="ellipsis subtitle">{{ item.ver ? item.ver : '——————'}} | {{ $t('schoolMgmt.text2') }} {{item.serialExp ? item.serialExp : '0000-00-00'}}, {{ item.groupTotal ? item.groupTotal : 0 + $t('unit.text7') }}</span>
|
|
|
</Col>
|
|
|
<Col :span="9">
|
|
|
- <span class="ellipsis teacherName">{{ item.teacherName}}</span> <Icon class="teachIcon" :size="15" type="ios-information-circle" />
|
|
|
+ <Row>
|
|
|
+ <Col :span="12">
|
|
|
+ <img class="teachIcon" width="15" src="@/assets/icon/product_board.svg">
|
|
|
+ <img class="teachIcon" width="15" src="@/assets/icon/product_irs.svg">
|
|
|
+ <img class="teachIcon" width="15" src="@/assets/icon/product_ezstation.svg">
|
|
|
+ </Col>
|
|
|
+ <Col :span="12">
|
|
|
+ <Icon v-if="item.teacher.name" size="15" type="md-person" class="teachIcon" /><span class="ellipsis teacherName">{{item.teacher.name}}</span>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
<Row style="display: block;">
|
|
|
<Col :span="12" style="color: #48DBFC;">
|
|
|
- {{$t('schoolMgmt.hotclass')}} | {{item.classHot + $t('unit.text1')}}
|
|
|
+ {{$t('schoolMgmt.hotclass')}} | {{item.hot + $t('unit.text1')}}
|
|
|
</Col>
|
|
|
- <Col :span="12" :class="classModeClass(item.classMode)">
|
|
|
- {{ classModeStr(item.classMode) }} | {{item.classTime}}
|
|
|
+ <Col :span="12" :class="classModeClass(item.mode)">
|
|
|
+ {{ classModeStr(item.mode) }} | {{item.usetime}}
|
|
|
</Col>
|
|
|
</Row>
|
|
|
</Col>
|
|
@@ -128,25 +137,25 @@
|
|
|
<Col :span="9" class="info-col-main">
|
|
|
<div class="info-col-content">
|
|
|
<span>{{ $t('schoolMgmt.block2Title1')}}</span><br/><small>{{ $t('schoolMgmt.block2SubTitle1')}}</small>
|
|
|
- <h5>8<small>/9</small></h5>
|
|
|
+ <h5>{{hiTeachACT.today}}<small>/{{hiTeachACT.yesterday}}</small></h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle2')}}</small>
|
|
|
- <h5>8</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle6')}}</small>
|
|
|
+ <h5>{{hiTeachACT.weekAgo}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle3')}}</small>
|
|
|
- <h5>8</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle7')}}</small>
|
|
|
+ <h5>{{hiTeachACT.mounthAgo}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle4')}}</small>
|
|
|
- <h5>8</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle8')}}</small>
|
|
|
+ <h5>{{hiTeachACT.semester}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
</Row>
|
|
@@ -163,25 +172,25 @@
|
|
|
<Col :span="9" class="info-col-main">
|
|
|
<div class="info-col-content">
|
|
|
<span>{{ $t('schoolMgmt.block2Title2')}}</span><br/><small>{{ $t('schoolMgmt.block2SubTitle1')}}</small>
|
|
|
- <h5>54<small>/65</small></h5>
|
|
|
+ <h5>{{courseACT.today}}<small>/{{courseACT.yesterday}}</small></h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle2')}}</small>
|
|
|
- <h5>61.2</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle6')}}</small>
|
|
|
+ <h5>{{courseACT.weekAgo}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle3')}}</small>
|
|
|
- <h5>58.9</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle7')}}</small>
|
|
|
+ <h5>{{courseACT.mounthAgo}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content">
|
|
|
- <br/><small>{{ $t('schoolMgmt.block2SubTitle4')}}</small>
|
|
|
- <h5>53.1</h5>
|
|
|
+ <br/><small>{{ $t('schoolMgmt.block2SubTitle8')}}</small>
|
|
|
+ <h5>{{courseACT.semester}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
</Row>
|
|
@@ -198,25 +207,25 @@
|
|
|
<Col :span="9" class="info-col-main">
|
|
|
<div class="info-col-content">
|
|
|
<span>{{ $t('schoolMgmt.block2Title3')}}</span><br/><small>{{ $t('schoolMgmt.block2SubTitle1')}}</small>
|
|
|
- <h5>1,892<small>/2,863</small></h5>
|
|
|
+ <h5>{{participants.today}}<small>/{{participants.yesterday}}</small></h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
<br/><small>{{ $t('schoolMgmt.block2SubTitle2')}}</small>
|
|
|
- <h5>2,542</h5>
|
|
|
+ <h5>{{participants.weekAgoAVG ? participants.weekAgoAVG : 0}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content border-right">
|
|
|
<br/><small>{{ $t('schoolMgmt.block2SubTitle3')}}</small>
|
|
|
- <h5>2,301</h5>
|
|
|
+ <h5>{{participants.mounthAgoAVG ? participants.mounthAgoAVG : 0}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col :span="5" class="info-col-secondary">
|
|
|
<div class="info-col-content">
|
|
|
<br/><small>{{ $t('schoolMgmt.block2SubTitle4')}}</small>
|
|
|
- <h5>2,436</h5>
|
|
|
+ <h5>{{participants.semesterAVG ? participants.semesterAVG : 0}}</h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
</Row>
|
|
@@ -233,7 +242,7 @@
|
|
|
<h5 style="font-size: 1.25em;color:#E4E9DC;padding: 15px 0 15px 15px;font-weight: 100;">{{$t('schoolMgmt.block2Title4')}}</h5>
|
|
|
</div>
|
|
|
<div style="height: 80%;">
|
|
|
- <ClassLine :id="'classline1'"></ClassLine>
|
|
|
+ <ClassLine :time="immediateData.time" :data="immediateData.data" :id="'classline1'"></ClassLine>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="height: 1.5%"></div>
|
|
@@ -251,53 +260,25 @@
|
|
|
<Row type="flex" justify="center" align="middle" class="classPercent-row">
|
|
|
<Col class="left" :span="12" style="">
|
|
|
<div style="height: 100%;">
|
|
|
- <RingPie id="ringpie5'"></RingPie>
|
|
|
+ <RingPie ref="ringpie5" :pieData="gradeClassPer" :id="'ringpie5'"></RingPie>
|
|
|
</div>
|
|
|
</Col>
|
|
|
<Col class="right" :span="12">
|
|
|
- <Row>
|
|
|
+ <Row style="height: 15%;">
|
|
|
<Col>
|
|
|
- <div class="right-title">{{$t('schoolMgmt.text3')}} : <span>54</span> {{$t('unit.text1')}}</div>
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- <Row >
|
|
|
- <Col :span="12">
|
|
|
- <div class="right-detail">
|
|
|
- <span class="right-detail-title border-red">{{$t('schoolMgmt.text4')}}</span>
|
|
|
- <h5 class="right-detail-num">3 <small>(5.5%)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12">
|
|
|
- <div>
|
|
|
- <span class="right-detail-title border-green">{{$t('schoolMgmt.text5')}}</span>
|
|
|
- <h5 class="right-detail-num">13 <small>(24.1%)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12">
|
|
|
- <div>
|
|
|
- <span class="right-detail-title border-pink">{{$t('schoolMgmt.text6')}}</span>
|
|
|
- <h5 class="right-detail-num">4 <small>(7.4%)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12">
|
|
|
- <div>
|
|
|
- <span class="right-detail-title border-yellow">{{$t('schoolMgmt.text7')}}</span>
|
|
|
- <h5 class="right-detail-num">12 <small>(22.2%)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12">
|
|
|
- <div>
|
|
|
- <span class="right-detail-title border-blue">{{$t('schoolMgmt.text8')}}</span>
|
|
|
- <h5 class="right-detail-num">13 <small>(24.1%)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12">
|
|
|
- <div>
|
|
|
- <span class="right-detail-title border-orange">{{$t('schoolMgmt.text9')}}</span>
|
|
|
- <h5 class="right-detail-num">9 <small>(16.7%)</small></h5>
|
|
|
- </div>
|
|
|
+ <div class="right-title">{{$t('schoolMgmt.text3')}} : <span>{{gradeClassAccount}}</span> {{$t('unit.text1')}}</div>
|
|
|
</Col>
|
|
|
</Row>
|
|
|
+ <div style="height: 85%;width:100%;position: relative;overflow: auto;">
|
|
|
+ <Row class="scrollstyle" style="position: absolute;right: 0px;left: 0;top: 0;bottom: 0;overflow-x: hidden;overflow-y: auto;">
|
|
|
+ <Col v-for="(item, key, index) in gradeClassPer" :key="index" :span="12">
|
|
|
+ <div class="right-detail" @mouseleave="pieDownPlay('course', key)" @mouseenter="pieHeightLight('course', key)">
|
|
|
+ <span class="right-detail-title" :class="'border-letf-color-' + index">{{ $t('schoolMgmt.grade' + key)}}</span>
|
|
|
+ <h5 class="right-detail-num">{{item}} <small>({{item/gradeClassAccount | percentFormat(1)}}%)</small></h5>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
</Col>
|
|
|
</Row>
|
|
|
</div>
|
|
@@ -314,43 +295,15 @@
|
|
|
<div class="today-class-content">
|
|
|
<h5 class="today-class-content-title">{{$t('schoolMgmt.block3Title1')}}</h5>
|
|
|
<Row class="today-class-content-contents">
|
|
|
- <Col :span="12" class="chart"><RingPie :pieData="todayClassData" ref="ringpie1" :id="'ringPie1'"></RingPie></Col>
|
|
|
+ <Col :span="12" class="chart">
|
|
|
+ <RingPie :pieData="hiteachType" ref="ringpie1" :id="'ringPie1'"></RingPie>
|
|
|
+ </Col>
|
|
|
<Col :span="12" class="detail">
|
|
|
<Row class="detail-row">
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','新增档案')" @mouseenter="pieHeightLight('class','新增档案')">
|
|
|
- <span class="detail-title detail-title-border-red">{{$t('schoolMgmt.text10')}}</span>
|
|
|
- <h5 class="detail-amount">33% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','书面问答')" @mouseenter="pieHeightLight('class','书面问答')">
|
|
|
- <span class="detail-title detail-title-border-green">{{$t('schoolMgmt.text11')}}</span>
|
|
|
- <h5 class="detail-amount" >33% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','汇入.pptx')" @mouseenter="pieHeightLight('class','汇入.pptx')">
|
|
|
- <span class="detail-title detail-title-border-pink" >{{$t('schoolMgmt.text12')}}</span>
|
|
|
- <h5 class="detail-amount" >33% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','PowerClick')" @mouseenter="pieHeightLight('class','PowerClick')">
|
|
|
- <span class="detail-title detail-title-border-yellow" >{{$t('schoolMgmt.text13')}}</span>
|
|
|
- <h5 class="detail-amount" >33% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','开启.hte')" @mouseenter="pieHeightLight('class','开启.hte')">
|
|
|
- <span class="detail-title detail-title-border-blue" >{{$t('schoolMgmt.text14')}}</span>
|
|
|
- <h5 class="detail-amount" >33% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('class','其他')" @mouseenter="pieHeightLight('class','其他')">
|
|
|
- <span class="detail-title detail-title-border-orange" >{{$t('schoolMgmt.text15')}}</span>
|
|
|
- <h5 class="detail-amount" >33% <small>(168)</small></h5>
|
|
|
+ <Col v-for="(item, key, index) in hiteachType" :key="index" :span="12" class="detail-col">
|
|
|
+ <div @mouseleave="pieDownPlay('class', key)" @mouseenter="pieHeightLight('class', key)">
|
|
|
+ <span class="detail-title" :class="'border-letf-color-' + index">{{$t('schoolMgmt.' + key)}}</span>
|
|
|
+ <h5 class="detail-amount">{{item}} <small>({{item/hiteachTypeAccount | percentFormat(1)}}%)</small></h5>
|
|
|
</div>
|
|
|
</Col>
|
|
|
</Row>
|
|
@@ -369,45 +322,17 @@
|
|
|
<div class="today-class-content">
|
|
|
<h5 class="today-class-content-title">{{$t('schoolMgmt.block3Title2')}}</h5>
|
|
|
<Row class="today-class-content-contents">
|
|
|
- <Col :span="12" class="chart"><RingPie :pieData="todayClassVerData" ref="ringpie2" :id="'ringPie2'"></RingPie></Col>
|
|
|
+ <Col :span="12" class="chart">
|
|
|
+ <RingPie :pieData="hiteachStatus" ref="ringpie2" :id="'ringPie2'"></RingPie>
|
|
|
+ </Col>
|
|
|
<Col :span="12" class="detail">
|
|
|
<Row class="detail-row">
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','HiTeach STD')" @mouseenter="pieHeightLight('system','HiTeach STD')">
|
|
|
- <span class="detail-title detail-title-border-red">HiTeach STD</span>
|
|
|
- <h5 class="detail-amount">26% <small>(8)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','HiTeach PRE')" @mouseenter="pieHeightLight('system','HiTeach PRE')">
|
|
|
- <span class="detail-title detail-title-border-green">HiTeach PRE</span>
|
|
|
- <h5 class="detail-amount" >25% <small>(168)</small></h5>
|
|
|
+ <Col v-for="(item, key, index) in hiteachStatus" :key="index" :span="12" class="detail-col">
|
|
|
+ <div @mouseleave="pieDownPlay('system',key)" @mouseenter="pieHeightLight('system', key)">
|
|
|
+ <span class="detail-title" :class="'border-letf-color-' + index">{{ key == 'Other' ? $t('schoolMgmt.' + key) : key}}</span>
|
|
|
+ <h5 class="detail-amount">{{item}} <small>({{item/hiteachStatusAccount | percentFormat(1)}}%)</small></h5>
|
|
|
</div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','HiTeach PRO')" @mouseenter="pieHeightLight('system','HiTeach PRO')">
|
|
|
- <span class="detail-title detail-title-border-pink" >HiTeach PRO</span>
|
|
|
- <h5 class="detail-amount" >18% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','HiTeach Mobile')" @mouseenter="pieHeightLight('system','HiTeach Mobile')">
|
|
|
- <span class="detail-title detail-title-border-yellow" >HiTeach Mobile</span>
|
|
|
- <h5 class="detail-amount" >10% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','HiTeach TBL')" @mouseenter="pieHeightLight('system','HiTeach TBL')">
|
|
|
- <span class="detail-title detail-title-border-blue" >HiTeach TBL</span>
|
|
|
- <h5 class="detail-amount" >21% <small>(168)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
- <Col :span="12" class="detail-col">
|
|
|
- <div @mouseleave="pieDownPlay('system','其他')" @mouseenter="pieHeightLight('system','其他')">
|
|
|
- <span class="detail-title detail-title-border-orange" >{{$t('schoolMgmt.text15')}}</span>
|
|
|
- <h5 class="detail-amount" >0% <small>(0)</small></h5>
|
|
|
- </div>
|
|
|
- </Col>
|
|
|
+ </Col>
|
|
|
</Row>
|
|
|
</Col>
|
|
|
</Row>
|
|
@@ -426,7 +351,7 @@
|
|
|
<h5 style="font-size: 1.25em;color:#E4E9DC;font-weight: 100;">{{ $t('schoolMgmt.block3Title3')}}</h5>
|
|
|
</div>
|
|
|
<div style="height: 87%;border-bottom: 1px solid #94998a;">
|
|
|
- <ClassBar :id="'classbar1'"></ClassBar>
|
|
|
+ <ClassBar :todayData="gradeUseStatus.today" :lastWeekData="gradeUseStatus.lastWeek" :id="'classbar1'"></ClassBar>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -441,7 +366,7 @@
|
|
|
<!-- 边角设计 end-->
|
|
|
<div class="hours">
|
|
|
<span class="hours-title">{{$t('schoolMgmt.block4Title1')}}</span>
|
|
|
- <h5><span>4,234</span>h<span>43</span>m</h5>
|
|
|
+ <h5><span>{{ cumMin | minToHM('h')}}</span>h<span>{{cumMin | minToHM('m')}}</span>m</h5>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="height: 2.17%"></div>
|
|
@@ -455,7 +380,9 @@
|
|
|
<div style="height: 100%;">
|
|
|
<h5 style="height: 20%;font-size: 1.25em;color: #E4E9DC;padding: 10px 0 0 10px;font-weight: 100;">{{$t('schoolMgmt.block4Title2')}}</h5>
|
|
|
<Row type="flex" justify="center" align="middle" style="height: 80%;">
|
|
|
- <Col style="height: 100%;" :span="12"><RingPie :pieData="smartClassVersion" @highLightInfo="classVersionByPie" :defaultActive="true" :id="'ringPie3'"></RingPie></Col>
|
|
|
+ <Col style="height: 100%;" :span="12">
|
|
|
+ <RingPie :pieData="classVer" @highLightInfo="classVersionByPie" :defaultActive="true" :id="'ringPie3'"></RingPie>
|
|
|
+ </Col>
|
|
|
<Col :span="12" style="padding-left: 7px;color: #94998a;">
|
|
|
<span>{{ classVersion.name }}</span>
|
|
|
<h5 style="font-weight: 100;font-size: 2.2em;color: #fafafa;">{{ classVersion.percent +$t('unit.text2')}}</h5>
|
|
@@ -475,7 +402,9 @@
|
|
|
<div style="height: 100%;">
|
|
|
<h5 style="height: 20%;font-size: 1.25em;color: #E4E9DC;padding: 10px 0 0 10px;font-weight: 100;">{{$t('schoolMgmt.block4Title3')}}</h5>
|
|
|
<Row type="flex" justify="center" align="middle" style="height: 80%;">
|
|
|
- <Col style="height: 100%;" :span="12"><RingPie :pieData="operatingSystems" @highLightInfo="homeworkByPie" :defaultActive="true" :id="'ringPie4'"></RingPie></Col>
|
|
|
+ <Col style="height: 100%;" :span="12">
|
|
|
+ <RingPie :pieData="operatingSystems" @highLightInfo="homeworkByPie" :defaultActive="true" :id="'ringPie4'"></RingPie>
|
|
|
+ </Col>
|
|
|
<Col :span="12" style="padding-left: 7px;color: #94998a;">
|
|
|
<span>{{ homework.name }}</span>
|
|
|
<h5 style="font-weight: 100;font-size: 2.2em;color: #fafafa;">{{ homework.percent +$t('unit.text2')}}</h5>
|
|
@@ -545,80 +474,14 @@ import RingPie from '@/components/schoolMgmtDashboard/RingPie'
|
|
|
import LegendPie from '@/components/schoolMgmtDashboard/LegendPie'
|
|
|
import ClassLine from '@/components/schoolMgmtDashboard/ClassLine'
|
|
|
import ClassBar from '@/components/schoolMgmtDashboard/ClassBar'
|
|
|
-
|
|
|
+import { mapState } from 'vuex'
|
|
|
export default {
|
|
|
name:'smart-dashboard',
|
|
|
data () {
|
|
|
return {
|
|
|
- classInfoData:[
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'3',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Picc',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '00:45:03',
|
|
|
- 'classMode': 0
|
|
|
- },
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'5',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Dr.Liang',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '--:--:--',
|
|
|
- 'classMode': 1
|
|
|
- },
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'7',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Bruse',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '--:--:--',
|
|
|
- 'classMode': 2
|
|
|
- },
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'3',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Picc',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '00:45:03',
|
|
|
- 'classMode': 0
|
|
|
- },
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'5',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Willa',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '--:--:--',
|
|
|
- 'classMode': 1
|
|
|
- },
|
|
|
- {
|
|
|
- 'className': 'GE305, '+this.$t('schoolMgmt.text1')+'7',
|
|
|
- 'classProduct': 'Hiteach 3 TBL',
|
|
|
- 'classDetail': this.$t('schoolMgmt.text2')+' 2021-09-30, 50人, HBI082, RF05H',
|
|
|
- 'teacherName': 'Bruse',
|
|
|
- 'classHot': '7',
|
|
|
- 'classTime': '--:--:--',
|
|
|
- 'classMode': 2
|
|
|
- },
|
|
|
- ],
|
|
|
- scolBeg:{
|
|
|
- percent: '',
|
|
|
- today: '',
|
|
|
- lastWeek: '',
|
|
|
- todayData: [
|
|
|
- {value:9, name:'一年级'},
|
|
|
- {value:11, name:'二年级'},
|
|
|
- {value:16, name:'三年级'},
|
|
|
- {value:6, name:'四年级'},
|
|
|
- {value:13, name:'五年级'},
|
|
|
- {value:22, name:'六年级'},
|
|
|
- ]
|
|
|
- },
|
|
|
+ gradeClassAccount:0,
|
|
|
+ hiteachTypeAccount: 0,
|
|
|
+ hiteachStatusAccount: 0,
|
|
|
classVersion:{
|
|
|
percent: '',
|
|
|
name: '',
|
|
@@ -629,41 +492,63 @@ export default {
|
|
|
name: '',
|
|
|
val: 0
|
|
|
},
|
|
|
- todayClassData:[
|
|
|
- {value:335, name:'新增档案'},
|
|
|
- {value:234, name:'汇入.pptx'},
|
|
|
- {value:1548, name:'开启.hte'},
|
|
|
- {value:310, name:'书面问答'},
|
|
|
- {value:135, name:'PowerClick'},
|
|
|
- {value:123, name:'其他'},
|
|
|
- ],
|
|
|
- todayClassVerData:[
|
|
|
- {value:335, name:'HiTeach STD'},
|
|
|
- {value:234, name:'HiTeach PRO'},
|
|
|
- {value:1548, name:'HiTeach TBL'},
|
|
|
- {value:310, name:'HiTeach PRE'},
|
|
|
- {value:135, name:'HiTeach Mobile'},
|
|
|
- {value:123, name:'其他'},
|
|
|
- ],
|
|
|
- smartClassVersion:[
|
|
|
- {value:11, name:'HiTeach STD'},
|
|
|
- {value:3, name:'HiTeach PRO'},
|
|
|
- {value:16, name:'HiTeach TBL'},
|
|
|
- {value:6, name:'HiTeach PRE'},
|
|
|
- {value:2, name:'HiTeach Mobile'}
|
|
|
- ],
|
|
|
- operatingSystems:[
|
|
|
- {value:1183, name:'Windows 7'},
|
|
|
- {value:245, name:'Windows XP'},
|
|
|
- {value:473, name:'Windows 10'},
|
|
|
- ]
|
|
|
}
|
|
|
},
|
|
|
- components:{
|
|
|
- LegendPie,
|
|
|
- RingPie,
|
|
|
- ClassBar,
|
|
|
- ClassLine
|
|
|
+ computed:{
|
|
|
+ ...mapState({
|
|
|
+ schoolData: state => state.schoolMgmt.data,
|
|
|
+ }),
|
|
|
+ classCount(){ // 教室總數
|
|
|
+ return this.schoolData.classCount
|
|
|
+ },
|
|
|
+ classInfo(){ // 開啟教室資訊
|
|
|
+ return this.schoolData.classInfo
|
|
|
+ },
|
|
|
+ hiTeachACT(){ //教室開機數
|
|
|
+ return this.schoolData.hiTeachACT
|
|
|
+ },
|
|
|
+ courseACT(){ // 課堂開機數
|
|
|
+ return this.schoolData.courseACT
|
|
|
+ },
|
|
|
+ participants(){ //課堂參與人數
|
|
|
+ return this.schoolData.participants
|
|
|
+ },
|
|
|
+ immediateData(){ // 今日課堂數量變化
|
|
|
+ return this.schoolData.immediateData
|
|
|
+ },
|
|
|
+ gradeClassPer(){ // 今日各年級課堂百分比
|
|
|
+ this.gradeClassAccount = 0;
|
|
|
+ for (let g in this.schoolData.gradeClassPer){
|
|
|
+ this.gradeClassAccount += this.schoolData.gradeClassPer[g]
|
|
|
+ }
|
|
|
+ return this.schoolData.gradeClassPer
|
|
|
+ },
|
|
|
+ hiteachType(){ // 今日智慧教室啟用類型
|
|
|
+ this.hiteachTypeAccount = 0;
|
|
|
+ for (let g in this.schoolData.hiteachType){
|
|
|
+ this.hiteachTypeAccount += this.schoolData.hiteachType[g]
|
|
|
+ }
|
|
|
+ return this.schoolData.hiteachType
|
|
|
+ },
|
|
|
+ hiteachStatus(){ // 今日各版本教室開課狀態
|
|
|
+ this.hiteachStatusAccount = 0;
|
|
|
+ for (let g in this.schoolData.hiteachStatus){
|
|
|
+ this.hiteachStatusAccount += this.schoolData.hiteachStatus[g]
|
|
|
+ }
|
|
|
+ return this.schoolData.hiteachStatus
|
|
|
+ },
|
|
|
+ gradeUseStatus(){ // 各年級開課狀態
|
|
|
+ return this.schoolData.gradeUseStatus
|
|
|
+ },
|
|
|
+ cumMin(){ // 累計課堂時數
|
|
|
+ return this.schoolData.cumMin
|
|
|
+ },
|
|
|
+ classVer(){ // 智慧教室版本
|
|
|
+ return this.schoolData.classVer
|
|
|
+ },
|
|
|
+ operatingSystems(){ // 課堂作業系統
|
|
|
+ return this.schoolData.operatingSystems
|
|
|
+ }
|
|
|
},
|
|
|
methods:{
|
|
|
pieHeightLight: function(type, value) {
|
|
@@ -674,6 +559,9 @@ export default {
|
|
|
case 'system':
|
|
|
this.$refs.ringpie2.heightlight(value);
|
|
|
break;
|
|
|
+ case 'course':
|
|
|
+ this.$refs.ringpie5.heightlight(value);
|
|
|
+ break;
|
|
|
}
|
|
|
},
|
|
|
pieDownPlay: function(type, value) {
|
|
@@ -684,16 +572,11 @@ export default {
|
|
|
case 'system':
|
|
|
this.$refs.ringpie2.downplay(value);
|
|
|
break;
|
|
|
+ case 'course':
|
|
|
+ this.$refs.ringpie5.downplay(value);
|
|
|
+ break;
|
|
|
}
|
|
|
},
|
|
|
- scolBegInfoByPie: function(val){
|
|
|
- this.scolBeg.percent = val.percent
|
|
|
- },
|
|
|
- scolBegInfoByBar: function(val){
|
|
|
- this.scolBeg.today = val.today
|
|
|
- this.scolBeg.lastWeek = val.lastWeek
|
|
|
- this.$refs.ringpie5.heightlight(val.id);
|
|
|
- },
|
|
|
classVersionByPie: function(val){
|
|
|
this.classVersion.percent = val.percent
|
|
|
this.classVersion.name = val.name
|
|
@@ -707,10 +590,10 @@ export default {
|
|
|
classModeStr: function(val){
|
|
|
switch (val) {
|
|
|
case 0:
|
|
|
- return this.$t('schoolMgmt.runing')
|
|
|
+ return this.$t('schoolMgmt.notInitiated')
|
|
|
break;
|
|
|
case 1:
|
|
|
- return this.$t('schoolMgmt.notInitiated')
|
|
|
+ return this.$t('schoolMgmt.runing')
|
|
|
break;
|
|
|
case 2:
|
|
|
return this.$t('schoolMgmt.repair')
|
|
@@ -720,10 +603,10 @@ export default {
|
|
|
classModeClass: function(val){
|
|
|
switch (val) {
|
|
|
case 0:
|
|
|
- return 'processing'
|
|
|
+ return 'unopen'
|
|
|
break;
|
|
|
case 1:
|
|
|
- return 'unopen'
|
|
|
+ return 'processing'
|
|
|
break;
|
|
|
case 2:
|
|
|
return 'maintain'
|
|
@@ -731,8 +614,43 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ filters: {
|
|
|
+ commaFormat: function(value) { // 加上千分位符號
|
|
|
+ return value.toString().replace(/^(-?\d+?)((?:\d{3})+)(?=\.\d+$|$)/, function (all, pre, groupOf3Digital) {
|
|
|
+ return pre + groupOf3Digital.replace(/\d{3}/g, ',$&');
|
|
|
+ })
|
|
|
+ },
|
|
|
+ percentFormat: function(num, pos){
|
|
|
+ if(!num) return 0
|
|
|
+ return (num* 100).toFixed(pos)
|
|
|
+ },
|
|
|
+ percentFormat: function(num, pos){
|
|
|
+ if(!num) return 0
|
|
|
+ return (num* 100).toFixed(pos)
|
|
|
+ },
|
|
|
+ minToHM: function(min, type){
|
|
|
+ switch (type) {
|
|
|
+ case 'h':
|
|
|
+ return Math.floor(min / 60);
|
|
|
+ break;
|
|
|
+ case 'm':
|
|
|
+ return min%60;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ components:{
|
|
|
+ LegendPie,
|
|
|
+ RingPie,
|
|
|
+ ClassBar,
|
|
|
+ ClassLine
|
|
|
+ },
|
|
|
created(){
|
|
|
- this.$api.ClassMgmt.getTestData('234234');
|
|
|
+ let _this = this;
|
|
|
+ this.$api.SchoolMgmt.GetTestIoTData({}).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ _this.$store.state.schoolMgmt.data = res
|
|
|
+ })
|
|
|
},
|
|
|
mounted(){
|
|
|
var c=document.getElementById("floorplan");
|