|
@@ -19,8 +19,8 @@
|
|
|
<use :xlink:href="[item.correlation ? '#icon-zhengque3':'#icon-tishi2']"></use>
|
|
|
</svg>
|
|
|
</div>
|
|
|
- <el-button type="" size="small" v-show="item.key ==='school'&& !item.correlation" class="changebtn">更改</el-button>
|
|
|
- <el-button type="" size="small" v-show="item.key ==='local'">更改</el-button>
|
|
|
+ <!-- <el-button type="" size="small" v-show="item.key ==='school'&& !item.correlation" class="changebtn">更改</el-button> -->
|
|
|
+ <!-- <el-button type="" size="small" v-show="item.key ==='local'">更改</el-button> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -32,7 +32,7 @@
|
|
|
<p class="item-title">{{item.title}}</p>
|
|
|
<div class="item-content" v-show="item.state">
|
|
|
<div class="content-left">
|
|
|
- <span>上次登陆时间:{{item.subhead2Value}}</span>
|
|
|
+ <span>上次登陆时间:{{item.value}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="notenabled-title" v-show="!item.state">近期未使用</div>
|
|
@@ -50,7 +50,7 @@
|
|
|
<div class="hiteachboxdiv">
|
|
|
<div class="common-header-title">
|
|
|
<div>HiTeach</div>
|
|
|
- <div class="expire">到期日:XXXXX</div>
|
|
|
+ <!-- <div class="expire">到期日:XXXXX</div> -->
|
|
|
</div>
|
|
|
<el-divider />
|
|
|
<Hiteach></Hiteach>
|
|
@@ -58,7 +58,7 @@
|
|
|
<div class="hitadiv">
|
|
|
<div class="common-header-title">
|
|
|
<div>HiTA</div>
|
|
|
- <div class="expire">到期日:XXXXX</div>
|
|
|
+ <!-- <div class="expire">到期日:XXXXX</div> -->
|
|
|
</div>
|
|
|
<el-divider />
|
|
|
<HiTA></HiTA>
|
|
@@ -66,7 +66,7 @@
|
|
|
<div class="user-size">
|
|
|
<div class="common-header-title">
|
|
|
<div>空间与权益</div>
|
|
|
- <div class="expire">到期日:XXXXX</div>
|
|
|
+ <!-- <div class="expire">到期日:XXXXX</div> -->
|
|
|
</div>
|
|
|
<el-divider />
|
|
|
<div class="sizestate" v-if="sizeandequity ==='size'">
|
|
@@ -81,17 +81,39 @@
|
|
|
<commonGaugeVue :gaugeData="gaugedata"></commonGaugeVue>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!--权益-->
|
|
|
<div class="equitystate" v-else>
|
|
|
<div class="rightsbox">
|
|
|
- <p class="rightsbox-title">权益列表:</p>
|
|
|
<div class="rightsbox-content">
|
|
|
- <div class="rightsbox-item" v-for="item in rightsdata" :key="item.key">
|
|
|
- <div class="rightsbox-item-name">{{item.name}}</div>
|
|
|
- <div class="rightsbox-item-time">到期日:{{item.time}}</div>
|
|
|
- </div>
|
|
|
+ <el-carousel trigger="click" height="35vh" autoplay="false">
|
|
|
+ <el-carousel-item v-for="item in powerList" :key="item">
|
|
|
+ <div class="rightsbox-item">
|
|
|
+ <div class="rightsbox-item-title">
|
|
|
+ <p>ID授权 {{item.name}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="rightsbox-item-time">
|
|
|
+ <p>
|
|
|
+ <span>时间:</span>
|
|
|
+ <span class="rightsbox-item-time-num">{{item.startDateText}}~{{item.endDateText}}</span>
|
|
|
+ <span>共<span class="rightsbox-item-timenums">{{item.intervalTime}}</span>天</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div class="rightsbox-item-expansion">
|
|
|
+ <p class="expansion-title">产品扩充项</p>
|
|
|
+ <div v-for="iteml in item.apruleArr" :key="iteml.key">
|
|
|
+ -<span :class="[iteml.state ? 'start-title':'error-title' ]">
|
|
|
+ {{iteml.title}}
|
|
|
+ <span v-show="iteml.key ==='cligroup' || iteml.key ==='client_volume' || iteml.key ==='soknumber'">({{iteml.value}})</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-carousel-item>
|
|
|
+ </el-carousel>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!--权益 end-->
|
|
|
<div class="tab-state">
|
|
|
<div :class="[sizeandequity ==='size' ? 'opts':'','tab-state-btn']" @click="sizeandequity='size'">我的空间</div>
|
|
|
<div :class="[sizeandequity !=='size' ? 'opts':'','tab-state-btn']" @click="sizeandequity='equity'">我的权益</div>
|
|
@@ -157,7 +179,7 @@ let userdata = ref([
|
|
|
{ id: 2, icon: '#icon-shouji', value: '0', title: '',key:'phone',check:true,hint:'手机号码'},
|
|
|
{ id: 3, icon: '#icon-dibudaohanglan-', value: '', title: '',key:'school',correlation:false,check:true,hint:'学校'},
|
|
|
{ id: 4, icon: '#icon-youxiang', value: '', title: '', key: 'email', check: true, hint: '邮箱' },
|
|
|
- { id: 5, icon: '#icon-yuyan-shi', value: '中文(简体)', title: '',key:'local',check:false ,hint:'语系'},
|
|
|
+ { id: 5, icon: '#icon-weizhi', value: '', title: '',key:'local',check:false ,hint:'地区位置'},
|
|
|
{ id: 6, icon: '#icon-shijian2', value: '2023-04-23', title: '', key: 'time', check: false ,hint:'上次登录时间' },
|
|
|
])
|
|
|
let productdata = ref([
|
|
@@ -320,7 +342,7 @@ let gaugedata = ref({
|
|
|
x: 'center',
|
|
|
bottom:'33%',
|
|
|
textStyle: {
|
|
|
- fontSize: '14',
|
|
|
+ fontSize: '16',
|
|
|
color: '#313a5e',
|
|
|
foontWeight: '600',
|
|
|
},
|
|
@@ -328,7 +350,7 @@ let gaugedata = ref({
|
|
|
series: [
|
|
|
{
|
|
|
type: 'gauge',
|
|
|
- radius: '135%',
|
|
|
+ radius: '85%',
|
|
|
center: ['50%', '70%'],
|
|
|
startAngle: 180,
|
|
|
endAngle: 0,
|
|
@@ -388,7 +410,7 @@ let gaugedata = ref({
|
|
|
offsetCenter: [0, '0%'], // x, y,单位px
|
|
|
textStyle: {
|
|
|
color: '#313a5e',
|
|
|
- fontSize: 12
|
|
|
+ fontSize: 14
|
|
|
}
|
|
|
},
|
|
|
detail: {
|
|
@@ -430,34 +452,87 @@ let sokratesData=detailsData.value[0].sokrates
|
|
|
let pointsData=detailsData.value[0].points
|
|
|
console.log(props.searchdata, '传输的值')
|
|
|
console.log(detailsData.value, '最终数据')
|
|
|
+let powerExtension=ref([
|
|
|
+ {title:'USB錄影支援',key:'hdcam',state:false},
|
|
|
+ {title:'蘇格拉底議課APP',key:'sokapp',state:false},
|
|
|
+ {title:'蘇格拉底影片',key:'sokvdo',state:false},
|
|
|
+ {title:'AI智能終端',key:'ezs',state:false},
|
|
|
+ {title:'AI文句分析',key:'wordanls',state:false},
|
|
|
+ {title:'電子學生證',key:'dgistuid',state:false},
|
|
|
+ {title:'蘇格拉底小數據',key:'soksdata',state:false},
|
|
|
+ {title:'雲端診斷分析系統',key:'cloudas',state:false},
|
|
|
+ {title:'分組數',key:'cligroup',value:0,state:false},
|
|
|
+ {title:'IRS連線授權數',key:'client_volume',value:0,state:false},
|
|
|
+ {title:'議課人數',key:'soknumber',value:0,state:false},
|
|
|
+ {title:'IRS硬體遙控器',key:'irs',state:true},
|
|
|
+])
|
|
|
+let powerList=ref([])
|
|
|
const handleChildEvent = (payload) => {
|
|
|
userdetailState.value=false
|
|
|
-};
|
|
|
+}
|
|
|
function initdata() {
|
|
|
let transmitData = detailsData.value[0]
|
|
|
console.log(transmitData,'数据')
|
|
|
//header 基础信息
|
|
|
- let { name,id,mobile, mail, schoolCode, schoolCodeW, points } = transmitData
|
|
|
+ let { name,id,mobile, mail, schoolCode, schoolCodeW, points,country,province,city,} = transmitData
|
|
|
usernames.value=name
|
|
|
userdata.value[0].value = id
|
|
|
userdata.value[1].value = mobile
|
|
|
- userdata.value[2].value = 'XXXX'
|
|
|
+ userdata.value[2].value = schoolCodeW ? schoolCodeW : schoolCode ? schoolCode:'无'
|
|
|
+ schoolCodeW ? userdata.value[2].correlation=true:false
|
|
|
userdata.value[3].value = mail
|
|
|
- userdata.value[4].value = 'XXXX'
|
|
|
- userdata.value[5].value = 'XXXX-XX-XX'
|
|
|
+ userdata.value[4].value = country && province && city ? country+'-'+province+city:country+'-'+province
|
|
|
//产品使用及安装情况
|
|
|
let {login}=transmitData
|
|
|
+ let logintimes = login.length >0 ? login.sort(function(a,b){return b.time-a.time}):'无'
|
|
|
+ userdata.value[5].value=proxy.$common.timestampToTime(logintimes[0].time,'all')
|
|
|
if(login.length >0){
|
|
|
login.forEach(item => {
|
|
|
let typename=item.product
|
|
|
productdata.value.forEach(items=>{
|
|
|
- typename === items.key ? items.value === 0 ? (items.value=item.time,items.state=true): item.time > items.value ? (items.value=item.time,items.state=true):'':''
|
|
|
+ typename === items.key ? items.value === 0 ? (items.value=proxy.$common.timestampToTime(item.time,'all'),items.state=true): item.time > items.value ? (items.value=proxy.$common.timestampToTime(item.time,'all'),items.state=true):'':''
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
//空间与权益
|
|
|
let {usedSize,teachSize,totalSize,surplusSize}=transmitData.ies5
|
|
|
let usePercentum=parseInt(((Number(bytesToGB(usedSize))+Number(bytesToGB(teachSize)))/Number(bytesToGB(totalSize)))*100);let useGsize=proxy.$common.convertSize(usedSize)
|
|
|
+
|
|
|
+ //权益内容
|
|
|
+ let {prod}=transmitData
|
|
|
+ prod.forEach((item)=>{
|
|
|
+ //处理名字
|
|
|
+ item.name=item.prodCode ==='Z6ELB6EZ' ? 'HiTeach 5':item.prodCode ==='IPALB6EY' ? 'IES 5 個人空間':''
|
|
|
+ //处理扩展内容
|
|
|
+ let apruleItem=item.aprule
|
|
|
+ item.apruleArr=[]
|
|
|
+ if(apruleItem !==null && item.prodCode ==='Z6ELB6EZ'){
|
|
|
+ apruleItem.hdcam ? powerExtension.value[0].state=true:powerExtension.value[0].state=false
|
|
|
+ apruleItem.sokapp ? powerExtension.value[1].state=true:powerExtension.value[1].state=false
|
|
|
+ apruleItem.sokvdo ? powerExtension.value[2].state=true:powerExtension.value[2].state=false
|
|
|
+ apruleItem.ezs ? powerExtension.value[3].state=true:powerExtension.value[3].state=false
|
|
|
+ apruleItem.wordanls ? powerExtension.value[4].state=true:powerExtension.value[4].state=false
|
|
|
+ apruleItem.dgistuid ? powerExtension.value[5].state=true:powerExtension.value[5].state=false
|
|
|
+ apruleItem.soksdata ? powerExtension.value[6].state=true:powerExtension.value[6].state=false
|
|
|
+ apruleItem.cloudas ? powerExtension.value[7].state=true:powerExtension.value[7].state=false
|
|
|
+ apruleItem.cligroup !==0 ? (powerExtension.value[8].state=true,powerExtension.value[8].value=apruleItem.cligroup):powerExtension.value[8].state=false
|
|
|
+ apruleItem.client_volume !==0 ? (powerExtension.value[9].state=true,powerExtension.value[9].value=apruleItem.client_volume):powerExtension.value[9].state=false
|
|
|
+ apruleItem.soknumber !==0 ? (powerExtension.value[10].state=true,powerExtension.value[10].value=apruleItem.soknumber):powerExtension.value[10].state=false
|
|
|
+ apruleItem.hasOwnProperty('irs') ? powerExtension.value[11].state=false:powerExtension.value[11].state=true
|
|
|
+ item.apruleArr=powerExtension.value
|
|
|
+ }
|
|
|
+ //处理时间
|
|
|
+ let startDates=new Date(item.startDate);let endDates=new Date(item.endDate)
|
|
|
+ let timeDifference = endDates.getTime() - startDates.getTime();
|
|
|
+ console.log(timeDifference)
|
|
|
+ let days = Math.floor(timeDifference / (24 * 60 * 60 ));
|
|
|
+ console.log(days,'天数')
|
|
|
+ item.intervalTime=days
|
|
|
+ item.startDateText=proxy.$common.timestampToTime(item.startDate)
|
|
|
+ item.endDateText=proxy.$common.timestampToTime(item.endDate)
|
|
|
+ powerList.value.push(item)
|
|
|
+ })
|
|
|
+ console.log(powerList,'处理数据的结果')
|
|
|
//空间图表
|
|
|
gaugedata.value.series[0].data[0].value=usePercentum
|
|
|
gaugedata.value.title[0].text=useGsize+'G'
|
|
@@ -562,7 +637,7 @@ onMounted(() => {
|
|
|
.listbox-item{
|
|
|
width:18%;
|
|
|
line-height: 30px;
|
|
|
- padding: 0% 2%;
|
|
|
+ padding: 1%;
|
|
|
border-radius: 5px;
|
|
|
margin:0% 4%;
|
|
|
}
|
|
@@ -580,7 +655,7 @@ onMounted(() => {
|
|
|
}
|
|
|
.content-left,.content-right{
|
|
|
margin-top:5px;
|
|
|
- font-size:16px;
|
|
|
+ font-size:14px;
|
|
|
}
|
|
|
.content-left p,.content-right p{
|
|
|
margin-bottom: 0px;
|
|
@@ -588,7 +663,7 @@ onMounted(() => {
|
|
|
}
|
|
|
.content-left span,.content-right span{
|
|
|
color:#fff;
|
|
|
- font-size:16px;
|
|
|
+ font-size:14px;
|
|
|
}
|
|
|
.HiTeach{
|
|
|
background: linear-gradient(to top right, #7d82fe, #6fa5fe);
|
|
@@ -743,7 +818,7 @@ onMounted(() => {
|
|
|
}
|
|
|
.login-echart{
|
|
|
width:100%;
|
|
|
- height:15vh;
|
|
|
+ height:40vh;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
@@ -775,24 +850,53 @@ onMounted(() => {
|
|
|
padding: 1%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- height: 18vh;
|
|
|
+ /* height: 18vh; */
|
|
|
overflow: hidden;
|
|
|
overflow-y: auto;
|
|
|
}
|
|
|
.rightsbox-item{
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
+ text-align: left;
|
|
|
border-bottom: 1px solid #ccc;
|
|
|
-}
|
|
|
-.rightsbox-item{
|
|
|
font-size:14px;
|
|
|
+ padding: 1%;
|
|
|
+ line-height: 30px;
|
|
|
}
|
|
|
-.rightsbox-item-name{
|
|
|
- font-weight: bold;
|
|
|
+.rightsbox-item p{
|
|
|
+ margin-bottom: 5px;
|
|
|
+}
|
|
|
+.rightsbox-item-title{
|
|
|
+ width:100%;
|
|
|
+ font-size:16px;
|
|
|
+ font-weight: 700;
|
|
|
+ padding-left: 2px;
|
|
|
}
|
|
|
.rightsbox-item-time{
|
|
|
- color:#3ca1cd;
|
|
|
+ width:100%;
|
|
|
+ font-size:14px;
|
|
|
+ padding-left: 8px;
|
|
|
+}
|
|
|
+.rightsbox-item-expansion{
|
|
|
+ width:100%;
|
|
|
+ font-size:14px;
|
|
|
+ padding-left: 8px;
|
|
|
+}
|
|
|
+.rightsbox-item-expansion div{
|
|
|
+ line-height: 20px;
|
|
|
+ padding-left: 4px;
|
|
|
+}
|
|
|
+.rightsbox-item-time span:nth-child(3){
|
|
|
+ margin-left:5px;
|
|
|
+}
|
|
|
+.expansion-title{
|
|
|
+ font-size:14px;
|
|
|
+ line-height: 20px;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+.rightsbox-item-time-num,.rightsbox-item-timenums,.start-title{
|
|
|
+ color:#409EFF;
|
|
|
+}
|
|
|
+.error-title{
|
|
|
+ color:#909399;
|
|
|
}
|
|
|
.scorebox{
|
|
|
width: 23%;
|