Explorar o código

#318 代換授權管理頁語系檔資料

Louise Lin %!s(int64=4) %!d(string=hai) anos
pai
achega
b8be8ecd6b

+ 85 - 6
TEAMModelOS/ClientApp/src/locale/lang/en-US/serviceDriveAuth.js

@@ -1,8 +1,87 @@
 export default {
-  //授權管理服務清單
-  "AEGMCPLY":"AClass One",//AClass One 週期
-  'RYGVCPLY':'AClass One',//AClass One 無週期
-  IPALYEIY: '智慧教學服務空間',
-  '6BOPC6MD': '教與學大數據管理服務',
-  ON6MBDOP: '智慧學校大數據管理服務'
+  //ServiceList.vue
+  AEGMCPLY: 'AClass One',
+  RYGVCPLY: 'AClass One',
+  IPALYEIY: 'Smart Teaching Service Space',
+  '6BOPC6MD': 'Teaching and learning big data management services',
+  ON6MBDOP: 'Smart School Big Data Management Service',
+  服務授權列表: 'Service authorization list',
+  智慧教室授權管理: 'Smart classroom authorization management',
+  未購買: 'not purchased',
+  已購買: 'purchased',
+  '服務啟用 / 到期日:':'Service activation / expiration date:',
+  剩餘:'Remaining',
+  天:'days',
+  無週期授權數量:'No periodic authorization quantity',
+  有週期授權數量:'Periodic authorization quantity',
+  固定分配數:'Fixed allocation',
+  動態分配數:'Dynamic allocation number',
+  剩餘分配數: 'Remain allocation',
+  總使用率:'Total usage',
+  詳細服務內容:'Detailed service content',
+  管理AClassOne授權:'Manage AClassOne authorization',
+
+  //HiteachAuthList.vue
+  確定解除授權:'Confirm deauthorization',
+  當前您所選中的PC: 'The currently selected PC',
+  ',確定解除授權?': ', are you sure to deauthorize?',
+  '解除授權後,可在教室中的電腦再次進行綁定授權。': 'After the authorization is cancelled, the binding authorization can be performed again on the computer in the classroom.',
+  取消: 'Cancel',
+  確定: 'OK',
+  Hiteach序號數:'Hiteach serial number',
+  大量:'Multi',
+  單一:'Single',
+  授權:'Authorization',
+  可啟用裝置數:'Number of devices that can be activated',
+  已啟用裝置數:'Number of activated devices',
+  管理Hiteach教室:'Manage Hiteach classroom',
+  暂无数据:'No data',
+  序號到期日:'Serial number expiration date: ',
+  無到期日:'No expiration date',
+  已到期:'Expired',
+  序號使用狀況:'Serial number usage status: ',
+  未命名機台:'Unnamed machine',
+  解除授權:'Deauthorize',
+  顯示全部: 'Show all serial numbers',
+  '僅顯示HiTeach STD序號': 'Display HiTeach STD serial number only',
+  '僅顯示HiTeach PRO序號': 'Display HiTeach PRO serial number only',
+  '僅顯示HiTeach TBL序號': 'Display HiTeach TBL serial number only',
+  僅顯示已完成綁定的序號: 'Only display the serial number of the completed binding',
+  僅顯示已到期序號: 'Show only expired serial numbers',
+  已成功解除授權:'Successfully deauthorized',
+
+  //SpaceStatus.vue
+  智慧教學服務空間狀態: 'Space status',
+  分配教學空間: 'Allocate teaching space',
+  空間總數: 'Total space',
+  已使用空間總數: 'Total used space',
+  空間使用狀況: 'Space usage status',
+  未使用空間數: 'Unused space',
+  未使用空間比率: 'Ratio',
+  可使用空間數: 'Usable spaces',
+  可使用空間比率: 'Ratio',
+  當前空間到期日: 'Expiration date: ',
+  '基本 1GB 永久授權': 'Basic 1GB perpetual license',
+  '到期後將變更為IES基本空間,超出基本空間值將被收回': 'After the expiration, it will be changed to the IES basic space.',
+  購買記錄:'Purchase record',
+  醍摩豆智慧教學服務空間:'TeamModel Space',
+  訂單日期:'Order Date: ',
+  到期日:'Expiry date:',
+  添購其他服務:'Add other services',
+  '空間已到期,超過僅供檢視':'Space has expired, more than is only for viewing',
+
+  //SpaceChart.vue
+  文件:'File',
+  永久授權:'Permanent authorization',
+  影片:'Video',
+  圖片:'Image',
+  題目與試卷:'Questions and examinations',
+  其他:'Others',
+  學生使用:'Student use',
+  已分配至教師:'Assigned to teacher',
+  未使用:'Unused',
+  空間:' Space',
+  空間數:' Spaces',
+  空間比率:' Ratio'
+  
 }

+ 84 - 6
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/serviceDriveAuth.js

@@ -1,8 +1,86 @@
 export default {
-  //授權管理服務清單
-  AEGMCPLY: 'AClass One', //AClass One 週期
-  RYGVCPLY: 'AClass One', //AClass One 無週期
-  IPALYEIY: '智慧教學服務空間',
-  '6BOPC6MD': '教與學大數據管理服務',
-  ON6MBDOP: '智慧學校大數據管理服務'
+  //ServiceList.vue
+  AEGMCPLY: 'AClass One', //AClass One 周期
+  RYGVCPLY: 'AClass One', //AClass One 无周期
+  IPALYEIY: '智慧教学服务空间',
+  '6BOPC6MD': '教与学大数据管理服务',
+  ON6MBDOP: '智慧学校大数据管理服务',
+  服務授權列表: '服务授权列表',
+  智慧教室授權管理: '智慧教室授权管理',
+  未購買: '未购买',
+  已購買: '已购买',
+  '服務啟用 / 到期日:': '服务启用 / 到期日:',
+  剩餘: '剩余',
+  天: '天',
+  無週期授權數量: '无周期授权数量',
+  有週期授權數量: '有周期授权数量',
+  固定分配數: '固定分配数',
+  動態分配數: '动态分配数',
+  剩餘分配數: '剩餘分配數',
+  總使用率: '总使用率',
+  詳細服務內容: '详细服务内容',
+  管理AClassOne授權: '管理AClassOne授权',
+
+  //HiteachAuthList.vue
+  確定解除授權: '确定解除授权',
+  當前您所選中的PC: '当前您所选中的PC',
+  ',確定解除授權?': ',确定解除授权?',
+  '解除授權後,可在教室中的電腦再次進行綁定授權。': '解除授权后,可在教室中的电脑再次进行绑定授权。',
+  取消: '取消',
+  確定: '确定',
+  Hiteach序號數:'Hiteach序号数',
+  大量:'大量',
+  單一:'单一',
+  授權:'授权',
+  可啟用裝置數:'可启用装置数',
+  已啟用裝置數:'已启用装置数',
+  管理Hiteach教室:'管理Hiteach教室',
+  暂无数据:'暂无数据',
+  序號到期日:'序号到期日:',
+  無到期日:'无到期日',
+  已到期:'已到期',
+  序號使用狀況:'序号使用状况:',
+  未命名機台:'未命名机台',
+  解除授權:'解除授权',
+  顯示全部: '顯示全部',
+  '僅顯示HiTeach STD序號': '仅显示HiTeach STD序号',
+  '僅顯示HiTeach PRO序號': '仅显示HiTeach PRO序号',
+  '僅顯示HiTeach TBL序號': '仅显示HiTeach TBL序号',
+  僅顯示已完成綁定的序號: '仅显示已完成绑定的序号',
+  僅顯示已到期序號: '仅显示已到期序号',
+  已成功解除授權:'已成功解除授權',
+
+  //SpaceStatus.vue
+  智慧教學服務空間狀態: '智慧教学服务空间状态',
+  分配教學空間: '分配教学空间',
+  空間總數: '空间总数',
+  已使用空間總數: '已使用空间总数',
+  空間使用狀況: '空间使用状况',
+  未使用空間數: '未使用空间数',
+  未使用空間比率: '未使用空间比率',
+  可使用空間數: '可使用空间数',
+  可使用空間比率: '可使用空间比率',
+  當前空間到期日: '当前空间到期日',
+  '基本 1GB 永久授權': '基本 1GB 永久授权',
+  '到期後將變更為IES基本空間,超出基本空間值將被收回': '到期后将变更为IES基本空间,超出基本空间值将被收回',
+  購買記錄:'购买记录',
+  醍摩豆智慧教學服務空間:'醍摩豆智慧教学服务空间',
+  訂單日期:'订单日期:',
+  到期日:'到期日:',
+  添購其他服務:'添购其他服务',
+  '空間已到期,超過僅供檢視':'空間已到期,超過僅供檢視',
+
+  //SpaceChart.vue
+  文件:'文件',
+  永久授權:'永久授权',
+  影片:'影片',
+  圖片:'图片',
+  題目與試卷:'题目与试卷',
+  其他:'其他',
+  學生使用:'学生使用',
+  已分配至教師:'已分配至教师',
+  未使用:'未使用',
+  空間:'空間',
+  空間數:'空間數',
+  空間比率:'空間比率'
 }

+ 87 - 7
TEAMModelOS/ClientApp/src/locale/lang/zh-TW/serviceDriveAuth.js

@@ -1,8 +1,88 @@
 export default {
-//授權管理服務清單
-"AEGMCPLY":"AClass One",//AClass One 週期
-'RYGVCPLY':'AClass One',//AClass One 無週期
-'IPALYEIY':'智慧教學服務空間',
-'6BOPC6MD':'教與學大數據管理服務',
-'ON6MBDOP':'智慧學校大數據管理服務'
-}
+  //ServiceList.vue
+  AEGMCPLY: 'AClass One',
+  RYGVCPLY: 'AClass One',
+  IPALYEIY: '智慧教學服務空間',
+  '6BOPC6MD': '教與學大數據管理服務',
+  ON6MBDOP: '智慧學校大數據管理服務',
+  服務授權列表: '服務授權列表',
+  智慧教室授權管理: '智慧教室授權管理',
+  未購買: '未購買',
+  已購買: '已購買',
+  '服務啟用 / 到期日:': '服務啟用 / 到期日:',
+  剩餘: '剩餘',
+  天: '天',
+  無週期授權數量: '無週期授權數量',
+  有週期授權數量: '有週期授權數量',
+  固定分配數: '固定分配數',
+  動態分配數: '動態分配數',
+  剩餘分配數: '剩餘分配數',
+  總使用率: '總使用率',
+  詳細服務內容: '詳細服務內容',
+  管理AClassOne授權: '管理AClassOne授權',
+
+  //HiteachAuthList.vue
+  確定解除授權: '確定解除授權',
+  當前您所選中的PC: '當前您所選中的PC',
+  ',確定解除授權?': ',確定解除授權?',
+  '解除授權後,可在教室中的電腦再次進行綁定授權。': '解除授權後,可在教室中的電腦再次進行綁定授權。',
+  取消: '取消',
+  確定: '確定',
+  Hiteach序號數: 'Hiteach序號數',
+  大量: '大量',
+  單一: '單一',
+  授權: '授權',
+  可啟用裝置數: '可啟用裝置數',
+  已啟用裝置數: '已啟用裝置數',
+  管理Hiteach教室: '管理Hiteach教室',
+  暂无数据: '暂无数据',
+  序號到期日: '序號到期日:',
+  無到期日: '無到期日',
+  已到期: '已到期',
+  序號使用狀況: '序號使用狀況:',
+  未命名機台: '未命名機台',
+  解除授權: '解除授權',
+  顯示全部: '顯示全部',
+  '僅顯示HiTeach STD序號': '僅顯示HiTeach STD序號',
+  '僅顯示HiTeach PRO序號': '僅顯示HiTeach PRO序號',
+  '僅顯示HiTeach TBL序號': '僅顯示HiTeach TBL序號',
+  僅顯示已完成綁定的序號: '僅顯示已完成綁定的序號',
+  僅顯示已到期序號: '僅顯示已到期序號',
+  已成功解除授權: '已成功解除授權',
+
+  //SpaceStatus.vue
+  智慧教學服務空間狀態: '智慧教學服務空間狀態',
+  分配教學空間: '分配教學空間',
+  空間總數: '空間總數',
+  已使用空間總數: '已使用空間總數',
+  空間使用狀況: '空間使用狀況',
+  未使用空間數: '未使用空間數',
+  未使用空間比率: '未使用空間比率',
+  可使用空間數: '可使用空間數',
+  可使用空間比率: '可使用空間比率',
+  當前空間到期日: '當前空間到期日',
+  '基本 1GB 永久授權': '基本 1GB 永久授權',
+  '到期後將變更為IES基本空間,超出基本空間值將被收回': '到期後將變更為IES基本空間,超出基本空間值將被收回',
+  購買記錄:'購買記錄',
+  醍摩豆智慧教學服務空間:'醍摩豆智慧教學服務空間',
+  訂單日期:'訂單日期:',
+  到期日:'到期日:',
+  添購其他服務:'添購其他服務',
+  '空間已到期,超過僅供檢視':'空間已到期,超過僅供檢視',
+
+  //SpaceChart.vue
+  文件:'文件',
+  永久授權:'永久授權',
+  影片:'影片',
+  圖片:'圖片',
+  題目與試卷:'題目與試卷',
+  其他:'其他',
+  學生使用:'學生使用',
+  已分配至教師:'已分配至教師',
+  未使用:'未使用',
+  空間比率:'空間比率',
+  空間:'空間',
+  空間數:'空間數:',
+  空間比率:'空間比率:'
+
+}

+ 44 - 49
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/Index.vue

@@ -1,5 +1,5 @@
 <style lang="less" scoped>
-@import "./Index.less";
+@import './Index.less';
 </style>
 
 <template>
@@ -7,36 +7,35 @@
     <Loading v-if="isloading == true"></Loading>
     <Row>
       <i-col :xs="24" :sm="24" :md="24" :lg="18">
-        <ServiceList v-show="currentTab==0" :serviceList="serviceList" :windowWidth='windowWidth' :windowHeight='windowHeight' /> 
-         <HiteachAuthList v-show="currentTab==1" :hiteachAuthList="hiteachAuthList" :windowWidth='windowWidth' :windowHeight='windowHeight'/>
+        <ServiceList v-show="currentTab == 0" :serviceList="serviceList" :windowWidth="windowWidth" :windowHeight="windowHeight" />
+        <HiteachAuthList v-show="currentTab == 1" :hiteachAuthList="hiteachAuthList" :windowWidth="windowWidth" :windowHeight="windowHeight" />
       </i-col>
-      
+
       <i-col :xs="24" :sm="24" :md="24" :lg="6">
-        <SpaceStatus :spaceStatus="spaceStatus" :windowWidth='windowWidth' :windowHeight='windowHeight' :isloading='isloading'/>
+        <SpaceStatus :spaceStatus="spaceStatus" :windowWidth="windowWidth" :windowHeight="windowHeight" :isloading="isloading" />
       </i-col>
     </Row>
   </div>
 </template>
 
 <script>
-import { mapGetters, mapMutations } from "vuex";
-import apiTools from "@/api";
-import PersonalPhoto from "@/components/public/personalPhoto/Index.vue";
-import ServiceList from "./SubComponents/ServiceList.vue";
-import Spacebar from "./SubComponents/Spacebar.vue";
-import HiteachAuthList from "./SubComponents/HiteachAuthList.vue";
-import SpaceStatus from "./SubComponents/SpaceStatus.vue" ;
-import Loading from '@/common/Loading.vue';
+import { mapGetters, mapMutations } from 'vuex'
+import apiTools from '@/api'
+import PersonalPhoto from '@/components/public/personalPhoto/Index.vue'
+import ServiceList from './SubComponents/ServiceList.vue'
+import Spacebar from './SubComponents/Spacebar.vue'
+import HiteachAuthList from './SubComponents/HiteachAuthList.vue'
+import SpaceStatus from './SubComponents/SpaceStatus.vue'
+import Loading from '@/common/Loading.vue'
 export default {
-  name: "serviceDriveAuth",
+  name: 'serviceDriveAuth',
   components: {
     PersonalPhoto,
     ServiceList,
     Spacebar,
     HiteachAuthList,
     SpaceStatus,
-    Loading,
-  
+    Loading
   },
   watch: {},
 
@@ -44,33 +43,30 @@ export default {
     return {
       isloading: true,
       windowWidth: window.innerWidth,
-      windowHeight: window.innerHeight,
-    };
+      windowHeight: window.innerHeight
+    }
   },
 
   computed: {
     ...mapGetters({
-      serviceList: "serviceDriveAuth/getServiceList",
-      hiteachAuthList:"serviceDriveAuth/getHiteachAuthList",
-      spaceStatus:"serviceDriveAuth/getSpaceStatus",
-      currentTab:'serviceDriveAuth/getTab'
-    }),
+      serviceList: 'serviceDriveAuth/getServiceList',
+      hiteachAuthList: 'serviceDriveAuth/getHiteachAuthList',
+      spaceStatus: 'serviceDriveAuth/getSpaceStatus',
+      currentTab: 'serviceDriveAuth/getTab'
+    })
   },
 
-
-
   methods: {
-  
-    getSchoolProduct(schoolCode){
-      this.$store.dispatch("serviceDriveAuth/getSchoolProduct",schoolCode).then(
-        (res) => {
-          this.isloading=false
-          this.$Message.success("取得API資料");
+    getSchoolProduct(schoolCode) {
+      this.$store.dispatch('serviceDriveAuth/getSchoolProduct', schoolCode).then(
+        res => {
+          this.isloading = false
+          this.$Message.success('取得API資料')
         },
-        (err) => {
-          this.$Message.error("取得資料失敗");
+        err => {
+          this.$Message.error('取得資料失敗')
         }
-      );
+      )
     },
     /*getDataAsyc() {
       this.$store.dispatch("serviceDriveAuth/getServiceListDataAsyc").then(
@@ -82,26 +78,25 @@ export default {
         }
       );
     },*/
-     onResize() {
-      this.windowWidth = window.innerWidth;
-      this.windowHeight = window.innerHeight;
-    },
+    onResize() {
+      this.windowWidth = window.innerWidth
+      this.windowHeight = window.innerHeight
+    }
   },
   mounted() {
     //console.log(this.$store.state.user.schoolCode)
-   
-    this.getSchoolProduct(this.$store.state.user.schoolCode);
+
+    this.getSchoolProduct(this.$store.state.user.schoolCode)
     //this.getDataAsyc();
-     this.$nextTick(() => {
-      window.addEventListener("resize", this.onResize);
-    });
+    this.$nextTick(() => {
+      window.addEventListener('resize', this.onResize)
+    })
   },
   beforeDestroy() {
-    window.removeEventListener("resize", this.onResize);
-  },
-
-};
+    window.removeEventListener('resize', this.onResize)
+  }
+}
 </script>
-<style lang="less" >
-@import "./serviceDriveAuthIview.less";
+<style lang="less">
+@import './serviceDriveAuthIview.less';
 </style>

+ 6 - 6
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/AclassOneChart.vue

@@ -14,9 +14,9 @@ export default {
 
       mockdata: {
         pieNumData: [
-          { value: this.used, name: '固定分配數' },
-          { value: this.less, name: '動態分配數' },
-          { value: this.avaliable - this.less - this.used, name: '剩餘分配數' }
+          { value: this.used, name:  this.$t("serviceDriveAuth['固定分配數']")},
+          { value: this.less, name: this.$t("serviceDriveAuth['動態分配數']") },
+          { value: this.avaliable - this.less - this.used, name: this.$t("serviceDriveAuth['剩餘分配數']") }
         ]
       }
     }
@@ -29,9 +29,9 @@ export default {
       if (val !== 0) {
         this.mockdata = {
           pieNumData: [
-            { value: this.serviceList[0].staUsed, name: '固定分配數' },
-            { value: this.serviceList[0].dynUsed, name: '動態分配數' },
-            { value: this.serviceList[0].avaliable - this.serviceList[0].dynUsed - this.serviceList[0].staUsed, name: '剩餘分配數' }
+            { value: this.serviceList[0].staUsed, name: this.$t("serviceDriveAuth['固定分配數']") },
+            { value: this.serviceList[0].dynUsed, name: this.$t("serviceDriveAuth['動態分配數']") },
+            { value: this.serviceList[0].avaliable - this.serviceList[0].dynUsed - this.serviceList[0].staUsed, name: this.$t("serviceDriveAuth['剩餘分配數']") }
           ]
         }
         this.drawLine(this.mockdata.pieNumData)

+ 1 - 1
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/HiteachAuthList.less

@@ -32,7 +32,7 @@
     padding: 40px;
   }
   .ivu-select-dropdown {
-    margin-left: 80px;
+    margin-left: 15%;
     border-radius: 4px !important;
     width: auto;
     background: #000;

+ 56 - 49
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/HiteachAuthList.vue

@@ -3,38 +3,39 @@
     <!-- 新增知识点弹窗 -->
     <Modal
       id="hiteachAuth-modal"
-      v-model="isOpenRemove"
-      :title="'確定解除授權'"
       ref="pointRef"
+      v-model="isOpenRemove"
+      :title="title"
+      
     >
-      <p>當前您所選中的PC【{{ currentConfirmRemovePC }}】,確定解除授權?</p>
-      <p>解除授權後,可在教室中的電腦再次進行綁定授權。</p>
+      <p>{{$t("serviceDriveAuth['當前您所選中的PC']")}}【{{ currentConfirmRemovePC }}】{{$t("serviceDriveAuth[',確定解除授權?']")}}</p>
+      <p>{{$t("serviceDriveAuth['解除授權後,可在教室中的電腦再次進行綁定授權。']")}}</p>
 
       <div slot="footer">
-        <Button type="text" @click="isOpenRemove = false">取消</Button>
+        <Button type="text" @click="isOpenRemove = false">{{$t("serviceDriveAuth['取消']")}}</Button>
         <Button type="primary" @click="removeUserPC(currentConfirmRemovePC)"
-          >確定</Button
+          >{{$t("serviceDriveAuth['確定']")}}</Button
         >
       </div>
     </Modal>
     <Loading v-if="isloading == true"></Loading>
     <div class="service-list">
-      <div class="service-listTitle"><span class="title-item" @click="setTab(0)">服務授權列表</span> <span class="title-item" @click="setTab(1)" :class="{ 'title-checked': true }" >智慧教室授權管理<span class="title-checked-line"></span></span></div>
+      <div class="service-listTitle"><span class="title-item" @click="setTab(0)">{{$t("serviceDriveAuth['服務授權列表']")}}</span> <span class="title-item" @click="setTab(1)" :class="{ 'title-checked': true }" >{{$t("serviceDriveAuth['智慧教室授權管理']")}}<span class="title-checked-line"></span></span></div>
       <Row>
         <i-col :xs="24" :sm="24" :md="24" :lg="19">
           <Row>
             <i-col :xs="24" :sm="24" :md="24" :lg="13">
               <div class="hiteach-info">
-                <p class="nomal-text">Hiteach序號數</p>
+                <p class="nomal-text">{{$t("serviceDriveAuth['Hiteach序號數']")}}</p>
                 <Row>
                   <i-col :xs="24" :sm="24" :md="24" :lg="12">
-                    <p class="device-max">大量</p>
-                    &nbsp;<span class="nomal-text">授權</span>
+                    <p class="device-max">{{$t("serviceDriveAuth['大量']")}}</p>
+                    &nbsp;<span class="nomal-text">{{$t("serviceDriveAuth['授權']")}}</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>
-                    &nbsp;<span class="nomal-text">授權</span>
+                    <p class="device-max">{{$t("serviceDriveAuth['單一']")}}</p>
+                    &nbsp;<span class="nomal-text">{{$t("serviceDriveAuth['授權']")}}</span>
                     <p class="info-num-small">{{ serialInfo.singleAuthNum }}</p>
                   </i-col>
                 </Row>
@@ -44,7 +45,7 @@
             </i-col>
             <i-col :xs="24" :sm="24" :md="24" :lg="5">
               <div class="hiteach-info">
-                <p class="nomal-text">可啟用裝置數</p>
+                <p class="nomal-text">{{$t("serviceDriveAuth['可啟用裝置數']")}}</p>
                 <p class="info-num">
                   {{ serialInfo.couldActiveNum }}
                 </p>
@@ -52,7 +53,7 @@
             </i-col>
             <i-col :xs="24" :sm="24" :md="24" :lg="6">
               <div class="hiteach-info">
-                <p class="nomal-text">已啟用裝置數</p>
+                <p class="nomal-text">{{$t("serviceDriveAuth['已啟用裝置數']")}}</p>
                 <p class="info-num">
                   {{ serialInfo.activeNum }}
                 </p>
@@ -62,7 +63,7 @@
         >
         <i-col :xs="24" :sm="24" :md="24" :lg="5">
           <div class="action-btn" @click="gotoHiteachMgmt()">
-            管理Hiteach教室
+            {{$t("serviceDriveAuth['管理Hiteach教室']")}}
           </div>
         </i-col>
       </Row>
@@ -100,7 +101,7 @@
         class="no-data-text"
       >
         <img src="../../../assets/icon/no_data.png" width="120" />
-        <p style="color: #808080">暂无数据</p>
+        <p style="color: #808080">{{$t("serviceDriveAuth['暂无数据']")}}</p>
       </div>
 
 
@@ -144,7 +145,7 @@
               <span v-if="i.prodCode === '3222C6D2'" >HiTeach TBL </span>
               <span v-if="i.prodCode === 'J223IZAM'" >HiTeach PRO </span>
               <span class="device-max">{{
-                i.deviceMax == 1 ? "單一" : "大量"
+                i.deviceMax == 1 ? $t("serviceDriveAuth['單一']") : $t("serviceDriveAuth['大量']")
               }}</span>
             </p>
             <p
@@ -169,20 +170,20 @@
             <Row>
               <i-col :xs="24" :sm="24" :md="24" :lg="7">
                 <p class="nomal-text">
-                  序號到期日:<span
+                  {{$t("serviceDriveAuth['序號到期日']") }}<span
                     class="strong-text"
                     v-if="i.expireStatus == 'A' || i.expireStatus === ''"
-                    >{{ i.endDate == 0 ? "無到期日" : converTime(i.endDate) }}
+                    >{{ i.endDate == 0 ?  $t("serviceDriveAuth['無到期日']")  : converTime(i.endDate) }}
                   </span>
                   <!--span  class="strong-text" v-if="i.expireStatus === ''">(未啟用)</span-->
                   <span class="strong-text" v-if="i.expireStatus == 'F'"
-                    >已到期</span
+                    >{{$t("serviceDriveAuth['已到期']")}}</span
                   >
                 </p>
               </i-col>
               <i-col :xs="24" :sm="24" :md="24" :lg="17"
                 ><p class="nomal-text" style="margin-left: 4%">
-                  序號使用狀況:<span class="strong-text"
+                 {{$t("serviceDriveAuth['序號使用狀況']")}}<span class="strong-text"
                     >{{ i.deviceBound.length }} / {{ i.deviceMax }} ({{
                       (i.deviceBound.length > i.deviceMax
                         ? 100
@@ -211,7 +212,7 @@
             class="pclist-item"
           >
             <p class="pc-title">
-              {{ pc.pcname == null ? "未命名機台" : pc.pcname }}
+              {{ pc.pcname == null ? $t("serviceDriveAuth['未命名機台']") : pc.pcname }}
             </p>
             <p class="nomal-text" v-if="pc.ip!==null">
               {{ pc.ip }} | {{ pc.uuid != null ? pc.uuid : pc.uuid2 }}
@@ -228,7 +229,7 @@
               class="action-btn"
               @click="comfirmRemovePC(pc.uuid != null ? pc.uuid : pc.uuid2)"
             >
-              <Icon type="md-close" /> 解除授權
+              <Icon type="md-close" /> {{$t("serviceDriveAuth['解除授權']")}}
             </div>
           </li>
           <!--div v-if="i.deviceBound==0" class='pclist-empty' >尚未綁定任何機台</div-->
@@ -252,49 +253,55 @@ export default {
   },
   data() {
     return {
-      filterListItem: [
+     
+      tempRemovePCs: [], //暫存解綁的UserPC的Mac
+      hiteachListItemIsOpen: {},
+      filterType: "1",
+      currentConfirmRemovePC: "", //暫存讓使用者確認的UserPC
+      isOpenRemove: false,
+      isloading: false,
+    };
+  },
+  created() {
+    this.hiteachListItemIsOpen = this.hiteachListItemIsOpenVuex;
+  },
+  computed: {
+    ...mapGetters({
+      serialInfo: "serviceDriveAuth/getHiteachAuthListInfo",
+      aprules: "schoolBaseInfo/getAprules", //讀取周邊產品列表
+      hiteachListItemIsOpenVuex: "serviceDriveAuth/getHiteachListItemIsOpen",
+    }),
+    title:function(){
+      return this.$t('serviceDriveAuth["確定解除授權"]')
+    },
+    filterListItem:function(){
+      return [
         {
           name: 1,
-          text: "顯示全部",
+          text: this.$t('serviceDriveAuth["顯示全部"]'),
         },
         {
           name: 2,
-          text: "僅顯示HiTeach STD序號",
+          text: this.$t('serviceDriveAuth["僅顯示HiTeach STD序號"]'),
         },
         {
           name: 3,
-          text: "僅顯示HiTeach PRO序號",
+          text: this.$t('serviceDriveAuth["僅顯示HiTeach PRO序號"]'),
         },
         {
           name: 4,
-          text: "僅顯示HiTeach TBL序號",
+          text: this.$t('serviceDriveAuth["僅顯示HiTeach TBL序號"]'),
         },
         {
           name: 5,
-          text: "僅顯示已完成綁定的序號",
+          text: this.$t('serviceDriveAuth["僅顯示已完成綁定的序號"]'),
         },
         {
           name: 6,
-          text: "僅顯示已到期序號",
+          text: this.$t('serviceDriveAuth["僅顯示已到期序號"]'),
         },
-      ],
-      tempRemovePCs: [], //暫存解綁的UserPC的Mac
-      hiteachListItemIsOpen: {},
-      filterType: "1",
-      currentConfirmRemovePC: "", //暫存讓使用者確認的UserPC
-      isOpenRemove: false,
-      isloading: false,
-    };
-  },
-  created() {
-    this.hiteachListItemIsOpen = this.hiteachListItemIsOpenVuex;
-  },
-  computed: {
-    ...mapGetters({
-      serialInfo: "serviceDriveAuth/getHiteachAuthListInfo",
-      aprules: "schoolBaseInfo/getAprules", //讀取周邊產品列表
-      hiteachListItemIsOpenVuex: "serviceDriveAuth/getHiteachListItemIsOpen",
-    }),
+      ]
+    }
   },
   watch: {
     hiteachAuthList: function (value) {
@@ -333,7 +340,7 @@ export default {
       setTimeout(() => {
         document.getElementById(`PC${mac}`).style.display = "none";
 
-        this.$Message.success("已成功解除授權!");
+        this.$Message.success(this.$t('serviceDriveAuth["已成功解除授權"]'));
       }, 1800);
       this.isloading = true;
       setTimeout(() => {

+ 18 - 18
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/ServiceList.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="service-list">
-    <div class="service-listTitle listTitle-noMargin"><span class="title-item" :class="{ 'title-checked': true }" @click="setTab(0)">服務授權列表<span class="title-checked-line"></span></span> <span class="title-item" @click="setTab(1)">智慧教室授權管理</span></div>
+    <div class="service-listTitle listTitle-noMargin"><span class="title-item" :class="{ 'title-checked': true }" @click="setTab(0)">{{$t("serviceDriveAuth['服務授權列表']")}}<span class="title-checked-line"></span></span> <span class="title-item" @click="setTab(1)">{{$t("serviceDriveAuth['智慧教室授權管理']")}}</span></div>
     <div class="serviceList-wrap" :style="{ height: windowHeight - 116 + 'px' }">
       <div class="service-item" v-for="(item, index) in serviceList" :key="index" v-show="item.prodCode != 'AEGMCPLY'">
         <div class="detail-btn" @click="setIntroOpen(index)">
@@ -12,11 +12,11 @@
             {{ $t(`serviceDriveAuth['${proName}']`) }}
           </p>
         </div>
-        <p class="unbuy" v-if="item.hasOwnProperty('notbuy') == true">未購買</p>
-        <p class="isbuy" v-else>已購買</p>
+        <p class="unbuy" v-if="item.hasOwnProperty('notbuy') == true">{{$t("serviceDriveAuth['未購買']")}}</p>
+        <p class="isbuy" v-else>{{$t("serviceDriveAuth['已購買']")}}</p>
 
         <p class="nomal-text">
-          服務啟用 / 到期日:
+          {{$t("serviceDriveAuth['服務啟用 / 到期日:']")}}
           <span class="strong-text" v-if="item.startDate != 0 && item.prodCode != 'RYGVCPLY'">{{ converTime(item.startDate) }} - {{ converTime(item.endDate) }}</span>
           <span class="strong-text" v-if="item.startDate == 0 && item.prodCode != 'RYGVCPLY'">--</span>
           <span class="strong-text" v-if="item.prodCode == 'RYGVCPLY' && isNaN(aclassOneTimeLimitData.startDate) == false">{{ converTime(aclassOneTimeLimitData.startDate) }} - {{ converTime(aclassOneTimeLimitData.endDate) }}</span>
@@ -35,14 +35,14 @@
               ></div>
             </i-col>
             <i-col :xs="24" :sm="24" :md="24" :lg="4" v-if="item.startDate != 0">
-              <span class="remainDay">剩餘</span>
+              <span class="remainDay">{{$t("serviceDriveAuth['剩餘']")}}</span>
               <span
                 class="remainDay-text"
                 :style="{
                   color: colorPercent(converTime(item.startDate), converTime(item.endDate)) ? '#ad3435' : '#1cc0f3'
                 }"
                 >{{ dateRemain(today(), converTime(item.endDate)) }}</span
-              ><span class="remainDay">天</span>
+              ><span class="remainDay">{{$t("serviceDriveAuth['']")}}</span>
             </i-col>
           </Row>
           <Row class="time-bar-wrap" v-if="isNaN(aclassOneTimeLimitData.startDate) == false">
@@ -59,14 +59,14 @@
             </i-col>
 
             <i-col :xs="24" :sm="24" :md="24" :lg="4" v-if="item.prodCode == 'RYGVCPLY'">
-              <span class="remainDay">剩餘</span>
+              <span class="remainDay">{{$t("serviceDriveAuth['剩餘']")}}</span>
               <span
                 class="remainDay-text"
                 :style="{
                   color: colorPercent(converTime(aclassOneTimeLimitData.startDate), converTime(aclassOneTimeLimitData.endDate)) ? '#ad3435' : '#1cc0f3'
                 }"
                 >{{ dateRemain(today(), converTime(aclassOneTimeLimitData.endDate)) }}</span
-              ><span class="remainDay">天</span>
+              ><span class="remainDay">{{$t("serviceDriveAuth['']")}}</span>
             </i-col>
           </Row>
         </div>
@@ -75,12 +75,12 @@
           <Row>
             <i-col :xs="24" :sm="24" :md="24" :lg="10">
               <p class="nomal-text auth-num" v-if="item.hasOwnProperty('notbuy') == false">
-                無週期授權數量:<span class="strong-text">{{ item.avaliable }}</span>
+                {{$t("serviceDriveAuth['無週期授權數量']")}}:<span class="strong-text">{{ item.avaliable }}</span>
               </p>
             </i-col>
             <i-col :xs="24" :sm="24" :md="24" :lg="14">
               <p class="nomal-text auth-num" v-if="aclassOneTimeLimitData != ''">
-                有週期授權數量:<span class="strong-text">{{ aclassOneTimeLimitData.avaliable }}</span>
+                {{$t("serviceDriveAuth['有週期授權數量']")}}:<span class="strong-text">{{ aclassOneTimeLimitData.avaliable }}</span>
               </p></i-col
             >
           </Row>
@@ -88,17 +88,17 @@
             <i-col :xs="24" :sm="24" :md="24" :lg="10">
               <div class="title-rec"></div>
               <p class="nomal-text title-withRec">
-                固定分配數:<span class="strong-text">{{ item.staUsed }} ({{ ((item.staUsed / item.avaliable) * 100).toFixed(1) }}%)</span>
+                 {{$t("serviceDriveAuth['固定分配數']")}}:<span class="strong-text">{{ item.staUsed }} ({{ ((item.staUsed / item.avaliable) * 100).toFixed(1) }}%)</span>
               </p>
               <br />
               <div class="title-rec"></div>
               <p class="nomal-text title-withRec">
-                動態分配數:<span class="strong-text">{{ item.dynUsed }} ({{ ((item.dynUsed / item.avaliable) * 100).toFixed(1) }}%)</span>
+                 {{$t("serviceDriveAuth['動態分配數']")}}:<span class="strong-text">{{ item.dynUsed }} ({{ ((item.dynUsed / item.avaliable) * 100).toFixed(1) }}%)</span>
               </p></i-col
             >
             <i-col :xs="24" :sm="24" :md="24" :lg="7">
               <p class="nomal-text">
-                總使用率:<span class="strong-text"> {{ (((item.dynUsed + item.staUsed) / item.avaliable) * 100).toFixed(1) }}%</span>
+                 {{$t("serviceDriveAuth['總使用率']")}}:<span class="strong-text"> {{ (((item.dynUsed + item.staUsed) / item.avaliable) * 100).toFixed(1) }}%</span>
               </p></i-col
             >
             <i-col :xs="24" :sm="24" :md="24" :lg="7"> <AclassOneChart :less="item.dynUsed" :used="item.staUsed" :avaliable="item.avaliable"/></i-col>
@@ -110,23 +110,23 @@
               'margin-top': item.hasOwnProperty('notbuy') != true ? '0px' : '10px'
             }"
           >
-            詳細服務內容:
+            {{$t("serviceDriveAuth['詳細服務內容']")}}:
           </p>
           <Row v-if="item.hasOwnProperty('notbuy') == true">
-            <i-col :xs="24" :sm="24" :md="24" :lg="16"> <p class="intro-text">實際行銷簡介文本待提供</p></i-col>
+            <i-col :xs="24" :sm="24" :md="24" :lg="16"> <p class="intro-text">待提供</p></i-col>
           </Row>
           <div class="action-btn" @click="gotoStudentManagent()">
-            管理AClassOne授權
+            {{$t("serviceDriveAuth['管理AClassOne授權']")}}:
           </div>
         </div>
 
         <!--給其他產品-->
         <div class="detailinfo-block" v-if="index != 0 && serviceIntroIsOpen[index].isOpen == true">
           <p class="detail" :style="{ 'margin-top': item.hasOwnProperty('notbuy') != true ? '0px' : '10px' }">
-            詳細服務內容:
+            {{$t("serviceDriveAuth['詳細服務內容']")}}:
           </p>
           <Row>
-            <i-col :xs="24" :sm="24" :md="24" :lg="16"> <p class="intro-text">實際行銷簡介文本待提供</p></i-col>
+            <i-col :xs="24" :sm="24" :md="24" :lg="16"> <p class="intro-text">待提供</p></i-col>
           </Row>
         </div>
       </div>

+ 14 - 13
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/SpaceChart.vue

@@ -27,31 +27,31 @@ export default {
       (this.mockdata.pieNumData = [
         {
           value: value.doc,
-          name: "文件",
-          days: value.endDate == 0 ? "永久授權" : this.remainDays,
+          name: this.$t("serviceDriveAuth['文件']"),
+          days: value.endDate == 0 ? this.$t("serviceDriveAuth['永久授權']") : this.remainDays,
          
         },
-        { value: value.video, name: "影片", days: this.remainDays },
-        { value: value.image, name: "圖片", days: this.remainDays },
+        { value: value.video, name: this.$t("serviceDriveAuth['影片']"), days: this.remainDays },
+        { value: value.image, name: this.$t("serviceDriveAuth['圖片']"), days: this.remainDays },
         {
           value: value.item + value.paper,
-          name: "題目與試卷",
+          name: this.$t("serviceDriveAuth['題目與試卷']"),
           days: this.remainDays
         },
-        { value: value.other, name: "其他", days: this.remainDays },
+        { value: value.other, name: this.$t("serviceDriveAuth['其他']"), days: this.remainDays },
         {
           value: value.student,
-          name: "學生使用",
+          name: this.$t("serviceDriveAuth['學生使用']"),
           days: this.remainDays
         },
         {
           value: value.teacher,
-          name: "已分配至教師",
+          name: this.$t("serviceDriveAuth['已分配至教師']"),
           days: this.remainDays
         },
         {
           value: value.unUsed > 0?Math.abs(value.unUsed):0,
-          name: "未使用",
+          name: this.$t("serviceDriveAuth['未使用']"),
           days: this.remainDays
         },
       ]),
@@ -78,18 +78,18 @@ export default {
           formatter: function (v) {
             if (v.color != "#48474c") _this._data.currentColor = v.color;
             else _this._data.currentColor = "white";
-             console.log(this) 
+             //console.log(this) 
             return `
             <div class='chart-toolTip'> 
-             <p id='color-title'  >${v.data.name}空間</p>
-             <p class='title'>${v.data.name}空間數:<span class='value'>&nbsp;${
+             <p id='color-title'  >${v.data.name}${_this.$t("serviceDriveAuth['空間']")}</p>
+             <p class='title'>${v.data.name}${_this.$t("serviceDriveAuth['空間數']")}<span class='value'>&nbsp;${
               v.value / Math.pow(2, 20) < 1024
                 ? (v.value / Math.pow(2, 20)).toFixed(2) + "&nbspMB"
                 : (v.value / Math.pow(2, 30)).toFixed(2) + "&nbspGB"
             } </span></p>
              <p class='title'>${
                v.data.name
-             }空間比率:<span class='value'>&nbsp;${v.percent} %</span></p>
+             }${_this.$t("serviceDriveAuth['空間比率']")}<span class='value'>&nbsp;${v.percent} %</span></p>
 
              
             `;
@@ -251,6 +251,7 @@ export default {
 
 <style lang='less'>
 #space-chart {
+ 
   position: relative;
   height: 250px;
   margin-top: -20px;

+ 27 - 21
TEAMModelOS/ClientApp/src/view/serviceDriveAuth/SubComponents/SpaceStatus.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="space-status" :style="{ height: windowHeight - 68 + 'px' }">
     <div class="service-list">
-      <div class="service-listTitle">智慧教學服務空間狀態</div>
+      <div class="service-listTitle">{{$t("serviceDriveAuth['智慧教學服務空間狀態']")}}</div>
       <div class="action-btn" @click="gotoTeacherManagent()">
-        <Icon class="share-icon" type="md-share" /> 分配教學空間
+        <Icon class="share-icon" type="md-share" />{{$t("serviceDriveAuth['分配教學空間']")}} 
       </div>
     </div>
     <div
@@ -12,7 +12,7 @@
       style="margin-bottom: -50%"
     >
       <img src="../../../assets/icon/no_data.png" width="120" />
-      <p style="color: #808080">暂无数据</p>
+      <p style="color: #808080">{{$t("serviceDriveAuth['暂无数据']")}} </p>
     </div>
    
     <Row
@@ -20,18 +20,18 @@
       :style="{ visibility: isloading == true? 'hidden' : 'visible' }"
     >
       <i-col :xs="24" :sm="24" :md="24" :lg="12">
-        <p class="nomal-title">空間總數</p>
+        <p class="nomal-title">{{$t("serviceDriveAuth['空間總數']")}}</p>
         <p class="info-text">
           <span class="info-num">{{ totalavaliable }}</span>
           {{ totalavaliableText }}
         </p>
       </i-col>
       <i-col :xs="24" :sm="24" :md="24" :lg="12">
-        <p class="nomal-title">已使用空間總數</p>
+        <p class="nomal-title">{{$t("serviceDriveAuth['已使用空間總數']")}}</p>
         <p class="info-text" :class="{'over-used':totalused>totalavaliable}">
           <span class="info-num" >{{ totalused }}</span>
           {{ totalusedText }} 
-          <Tooltip transfer theme="light" content="空間已到期,超過僅供檢視"  placement="bottom" offset="-20">
+          <Tooltip transfer theme="light" :content="tooltipstext"  placement="bottom" offset="-20">
                         <Icon type="ios-alert-outline" color="#1cc0f3" size="20" v-if='totalused>totalavaliable'  style="position:absolute;top:-17px;margin-left:2px" />
                     </Tooltip>
         </p>
@@ -39,25 +39,25 @@
 
       <i-col :xs="24" :sm="24" :md="24" :lg="24">
         <div class="chart-wrap">
-          <p class="nomal-title">空間使用狀況</p>
+          <p class="nomal-title">{{$t("serviceDriveAuth['空間使用狀況']")}}</p>
           <SpaceChart :spaceStatus="spaceStatus" :remainDays="remainDays" />
           <!--放置餅圖剩下的空間狀態-->
           <div class="remail-data" v-if="totalavaliable>=totalused">
-            <p class="title">未使用空間數</p>
+            <p class="title">{{$t("serviceDriveAuth['未使用空間數']")}}</p>
             <p class="num">
               {{ unUsed }}<span class="small-text"> {{ unUsedText }}</span>
             </p>
-            <p class="title">未使用空間比率</p>
+            <p class="title">{{$t("serviceDriveAuth['未使用空間比率']")}}</p>
             <p class="num">
               {{ spaceStatus.unUsedPercent }}<span class="small-text"> %</span>
             </p>
           </div>
           <div class="remail-data" v-if="totalavaliable<totalused">
-            <p class="title">可使用空間數</p>
+            <p class="title">{{$t("serviceDriveAuth['可使用空間數']")}}</p>
             <p class="num">
                0 <span class="small-text"> GB</span>
             </p>
-            <p class="title">可使用空間比率</p>
+            <p class="title">{{$t("serviceDriveAuth['可使用空間比率']")}}</p>
             <p class="num">
               0<span class="small-text"> %</span>
             </p>
@@ -67,13 +67,13 @@
       </i-col>
       <i-col :xs="24" :sm="24" :md="24" :lg="24">
         <p class="deadline-title">
-          當前空間到期日:<span class="deadline-time" v-if="totalavaliable>=totalused"
-            >{{ converTime(spaceStatus.endDate) }} ({{ remainDays }} 天)</span
-          ><span v-else>基本 1GB 永久授權</span>
+          {{$t("serviceDriveAuth['當前空間到期日']")}}<span class="deadline-time" v-if="totalavaliable>=totalused"
+            >{{ converTime(spaceStatus.endDate) }} ({{ remainDays }} {{$t("serviceDriveAuth['']")}})</span
+          ><span v-else>{{$t("serviceDriveAuth['基本 1GB 永久授權']")}}</span>
         </p>
 
         <p class="note" v-if="totalavaliable>=totalused">
-          ( 到期後將變更為IES基本空間,超出基本空間值將被收回 )
+          ( {{$t("serviceDriveAuth['到期後將變更為IES基本空間,超出基本空間值將被收回']")}} )
         </p>
       </i-col>
     </Row>
@@ -82,7 +82,7 @@
       class="service-list buy-list"
       :style="{ visibility: isloading == true ? 'hidden' : 'visible' }"
     >
-      <div class="service-listTitle">購買記錄</div>
+      <div class="service-listTitle">{{$t("serviceDriveAuth['購買記錄']")}}</div>
 
       <div class="list-wrap">
         <!--無資料時-->
@@ -91,7 +91,7 @@
           class="no-data-text"
         >
           <img src="../../../assets/icon/no_data.png" width="120" />
-          <p style="color: #808080">暂无数据</p>
+          <p style="color: #808080">{{$t("serviceDriveAuth['暂无数据']")}}</p>
         </div>
         <!--有資料時-->
         <div
@@ -105,20 +105,20 @@
             ></i-col>
             <i-col :xs="24" :sm="24" :md="24" :lg="21"
               ><p class="title">
-                醍摩豆智慧教學服務空間
+                {{$t("serviceDriveAuth['醍摩豆智慧教學服務空間']")}}
                 {{ numberWithCommas(i.number) }} {{ i.unit }}
               </p>
               <Row s>
                 <i-col :xs="24" :sm="24" :md="24" :lg="12"
                   ><p class="nomal-text">
-                    訂單日期:<span class="strong-text">{{
+                    {{$t("serviceDriveAuth['訂單日期']")}}<span class="strong-text">{{
                       converTime(i.orderDate)
                     }}</span>
                   </p></i-col
                 >
                 <i-col :xs="24" :sm="24" :md="24" :lg="12"
                   ><p class="nomal-text">
-                    到期日:<span class="strong-text">{{
+                    {{$t("serviceDriveAuth['到期日']")}}<span class="strong-text">{{
                       converTime(i.endDate)
                     }}</span>
                   </p></i-col
@@ -128,7 +128,7 @@
           </Row>
         </div>
       </div>
-      <div class="buy-btn">添購其他服務</div>
+      <div class="buy-btn">{{$t("serviceDriveAuth['添購其他服務']")}}</div>
     </div>
   </div>
 </template>
@@ -153,6 +153,11 @@ export default {
       unUsedText: "",
     };
   },
+  computed:{
+    tooltipstext:function(){
+      return this.$t("serviceDriveAuth['空間已到期,超過僅供檢視']")
+    }
+  },
   watch: {
     spaceStatus: function (value) {
       console.log(value)
@@ -171,6 +176,7 @@ export default {
     },
   },
   methods: {
+    
     finalFormatNum(byte) {
       return this.numberWithCommas(this.formatBytes(byte)).substr(
         0,