|
@@ -21,33 +21,46 @@
|
|
|
<div class="service-list">
|
|
|
<div class="service-listTitle">智慧教室授權管理</div>
|
|
|
<Row>
|
|
|
- <i-col :xs="24" :sm="24" :md="24" :lg="16">
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="19">
|
|
|
<Row>
|
|
|
- <i-col :xs="24" :sm="24" :md="24" :lg="8">
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="13">
|
|
|
<div class="hiteach-info">
|
|
|
<p class="nomal-text">Hiteach序號數</p>
|
|
|
- <p class="info-num">{{ serialInfo.totalNum }}</p>
|
|
|
+ <Row>
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="12">
|
|
|
+ <p class="device-max">大量</p>
|
|
|
+ <span class="nomal-text">授權</span>
|
|
|
+ <p class="info-num-small">{{ serialInfo.multiAuthNum }}</p>
|
|
|
+ </i-col>
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="12">
|
|
|
+ <p class="device-max">單一</p>
|
|
|
+ <span class="nomal-text">授權</span>
|
|
|
+ <p class="info-num-small">{{ serialInfo.singleAuthNum }}</p>
|
|
|
+ </i-col>
|
|
|
+ </Row>
|
|
|
+
|
|
|
+ <!--p class="info-num">{{ serialInfo.totalNum }}</p-->
|
|
|
</div>
|
|
|
</i-col>
|
|
|
- <i-col :xs="24" :sm="24" :md="24" :lg="8">
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="5">
|
|
|
<div class="hiteach-info">
|
|
|
- <p class="nomal-text">可啟用Hiteach序號數</p>
|
|
|
+ <p class="nomal-text">可啟用裝置數</p>
|
|
|
<p class="info-num">
|
|
|
{{ serialInfo.couldActiveNum }}
|
|
|
</p>
|
|
|
</div>
|
|
|
</i-col>
|
|
|
- <i-col :xs="24" :sm="24" :md="24" :lg="8">
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="6">
|
|
|
<div class="hiteach-info">
|
|
|
- <p class="nomal-text">已啟用Hiteach數</p>
|
|
|
+ <p class="nomal-text">已啟用裝置數</p>
|
|
|
<p class="info-num">
|
|
|
- {{ serialInfo.activeNum }}
|
|
|
+ {{ serialInfo.activeNum }}
|
|
|
</p>
|
|
|
</div>
|
|
|
</i-col>
|
|
|
</Row></i-col
|
|
|
>
|
|
|
- <i-col :xs="24" :sm="24" :md="24" :lg="8">
|
|
|
+ <i-col :xs="24" :sm="24" :md="24" :lg="5">
|
|
|
<div class="action-btn" @click="gotoHiteachMgmt()">
|
|
|
管理Hiteach教室
|
|
|
</div>
|
|
@@ -77,8 +90,12 @@
|
|
|
</Dropdown>
|
|
|
</div>
|
|
|
<div class="hiteach-list" :style="{ height: windowHeight - 250 + 'px' }">
|
|
|
- <div class="hiteach-item" v-for="(i,index) in hiteachAuthList" :key="i.id" v-show='filterCondition(i)'>
|
|
|
-
|
|
|
+ <div
|
|
|
+ class="hiteach-item"
|
|
|
+ v-for="(i, index) in hiteachAuthList"
|
|
|
+ :key="i.id"
|
|
|
+ v-show="filterCondition(i)"
|
|
|
+ >
|
|
|
<div
|
|
|
class="detail-btn"
|
|
|
@click="setIntroOpen(index)"
|
|
@@ -86,11 +103,11 @@
|
|
|
>
|
|
|
<!--只要是單一就直接展開無需開關控件-->
|
|
|
<Icon
|
|
|
- v-show="hiteachListItemIsOpen[index].isOpen == false"
|
|
|
+ v-show="hiteachListItemIsOpen[index].isOpen == false"
|
|
|
type="ios-arrow-down"
|
|
|
/>
|
|
|
<Icon
|
|
|
- v-show="hiteachListItemIsOpen[index].isOpen == true"
|
|
|
+ v-show="hiteachListItemIsOpen[index].isOpen == true"
|
|
|
type="ios-arrow-up"
|
|
|
/>
|
|
|
</div>
|
|
@@ -119,48 +136,16 @@
|
|
|
>
|
|
|
{{ i.serial }}
|
|
|
</p>
|
|
|
+
|
|
|
<p class="app-group">
|
|
|
<span
|
|
|
+ v-for="(item, index) in aprules"
|
|
|
+ :key="index"
|
|
|
class="more-app"
|
|
|
:class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('sokapp') == true,
|
|
|
- }"
|
|
|
- >蘇格拉底議課</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="more-app"
|
|
|
- :class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('sokrpt') == true,
|
|
|
- }"
|
|
|
- >蘇格拉底報告</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="more-app"
|
|
|
- :class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('sokdesk') == true,
|
|
|
+ 'bought-app': i.aprule.hasOwnProperty(item) == true,
|
|
|
}"
|
|
|
- >蘇格拉底桌面</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="more-app"
|
|
|
- :class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('sokvdo') == true,
|
|
|
- }"
|
|
|
- >蘇格拉底影片</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="more-app"
|
|
|
- :class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('remotcls') == true,
|
|
|
- }"
|
|
|
- >遠距教室服務</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="more-app"
|
|
|
- :class="{
|
|
|
- 'bought-app': i.aprule.hasOwnProperty('ezs') == true,
|
|
|
- }"
|
|
|
- >錄播系統</span
|
|
|
+ >{{ $t("schoolBaseInfo." + item) }}</span
|
|
|
>
|
|
|
</p>
|
|
|
<Row>
|
|
@@ -168,7 +153,7 @@
|
|
|
<p class="nomal-text">
|
|
|
序號到期日:<span
|
|
|
class="strong-text"
|
|
|
- v-if="i.expireStatus == 'A'||i.expireStatus === ''"
|
|
|
+ v-if="i.expireStatus == 'A' || i.expireStatus === ''"
|
|
|
>{{ i.endDate == 0 ? "無到期日" : converTime(i.endDate) }}
|
|
|
</span>
|
|
|
<!--span class="strong-text" v-if="i.expireStatus === ''">(未啟用)</span-->
|
|
@@ -179,51 +164,54 @@
|
|
|
</i-col>
|
|
|
<i-col :xs="24" :sm="24" :md="24" :lg="17"
|
|
|
><p class="nomal-text" style="margin-left: 4%">
|
|
|
- 序號使用狀況:<span
|
|
|
- class="strong-text"
|
|
|
-
|
|
|
- >{{i.deviceBound.length
|
|
|
- }}
|
|
|
- / {{ i.deviceMax }} ({{
|
|
|
+ 序號使用狀況:<span class="strong-text"
|
|
|
+ >{{ i.deviceBound.length }} / {{ i.deviceMax }} ({{
|
|
|
(i.deviceBound.length > i.deviceMax
|
|
|
? 100
|
|
|
: (i.deviceBound.length / i.deviceMax) * 100
|
|
|
).toFixed(0) + "%"
|
|
|
}})</span
|
|
|
>
|
|
|
-
|
|
|
</p></i-col
|
|
|
>
|
|
|
</Row>
|
|
|
</i-col>
|
|
|
</Row>
|
|
|
- <!--只要是單一就直接展開無需開關控件-->
|
|
|
+ <!--只要是單一就直接展開無需開關控件-->
|
|
|
<ul
|
|
|
class="pclist"
|
|
|
v-if="
|
|
|
- i.endDate != 1 &&
|
|
|
- hiteachListItemIsOpen[index].isOpen == true ||
|
|
|
+ (i.endDate != 1 && hiteachListItemIsOpen[index].isOpen == true) ||
|
|
|
i.deviceMax == 1
|
|
|
"
|
|
|
>
|
|
|
<li
|
|
|
- :id="`PC${pc.uuid!=null?pc.uuid:pc.uuid2}`"
|
|
|
+ :id="`PC${pc.uuid != null ? pc.uuid : pc.uuid2}`"
|
|
|
v-for="(pc, index) in i.deviceBound"
|
|
|
:key="index + 'pc'"
|
|
|
v-show="i.deviceMax != 1 ? index < i.deviceMax : index < 1"
|
|
|
class="pclist-item"
|
|
|
>
|
|
|
- <p class="pc-title">{{ pc.pcname==null ?'未命名機台':pc.pcname }}</p>
|
|
|
- <p class="nomal-text">{{ pc.ip }} | {{ pc.uuid!=null?pc.uuid:pc.uuid2 }}</p>
|
|
|
- <p class="nomal-text">{{ pc.os }} {{ pc.cpu }} {{(pc.ram/1000).toFixed(1) }}G RAM</p>
|
|
|
- <div class="action-btn" @click="comfirmRemovePC(pc.uuid!=null?pc.uuid:pc.uuid2)">
|
|
|
+ <p class="pc-title">
|
|
|
+ {{ pc.pcname == null ? "未命名機台" : pc.pcname }}
|
|
|
+ </p>
|
|
|
+ <p class="nomal-text">
|
|
|
+ {{ pc.ip }} | {{ pc.uuid != null ? pc.uuid : pc.uuid2 }}
|
|
|
+ </p>
|
|
|
+ <p class="nomal-text">
|
|
|
+ {{ pc.os }} {{ pc.cpu }} {{
|
|
|
+ (pc.ram / 1000).toFixed(1)
|
|
|
+ }}G RAM
|
|
|
+ </p>
|
|
|
+ <div
|
|
|
+ class="action-btn"
|
|
|
+ @click="comfirmRemovePC(pc.uuid != null ? pc.uuid : pc.uuid2)"
|
|
|
+ >
|
|
|
<Icon type="md-close" /> 解除授權
|
|
|
</div>
|
|
|
</li>
|
|
|
<!--div v-if="i.deviceBound==0" class='pclist-empty' >尚未綁定任何機台</div-->
|
|
|
</ul>
|
|
|
-
|
|
|
-
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -256,8 +244,8 @@ export default {
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters({
|
|
|
- serialInfo:"serviceDriveAuth/getHiteachAuthListInfo",
|
|
|
-
|
|
|
+ serialInfo: "serviceDriveAuth/getHiteachAuthListInfo",
|
|
|
+ aprules: "schoolBaseInfo/getAprules", //讀取周邊產品列表
|
|
|
hiteachListItemIsOpenVuex: "serviceDriveAuth/getHiteachListItemIsOpen",
|
|
|
}),
|
|
|
},
|
|
@@ -265,14 +253,14 @@ export default {
|
|
|
hiteachAuthList: function (value) {
|
|
|
//根據服務的長度生出開關,只要服務數量變動就必須重置
|
|
|
let temp = [];
|
|
|
-
|
|
|
+
|
|
|
for (let i = 0; i < value.length; i++) {
|
|
|
temp.push({
|
|
|
index: i,
|
|
|
isOpen: false,
|
|
|
});
|
|
|
}
|
|
|
- console.log(value, temp );
|
|
|
+ console.log(value, temp);
|
|
|
this.hiteachListItemIsOpen = temp;
|
|
|
},
|
|
|
},
|
|
@@ -326,9 +314,9 @@ export default {
|
|
|
case "4":
|
|
|
return item.prodName === "TBL";
|
|
|
case "5":
|
|
|
- return item.deviceBound.length != 0 ;
|
|
|
+ return item.deviceBound.length != 0;
|
|
|
case "6":
|
|
|
- return item.expireStatus ==='F';
|
|
|
+ return item.expireStatus === "F";
|
|
|
|
|
|
default:
|
|
|
return true;
|