Commit 8ef228094b590cf2deb67defbce41e0b4313f9ce

Authored by 梁保满
1 parent 53424e83

软件下载页面添加.net环境下载

src/api/apis/apis.js
@@ -1468,4 +1468,12 @@ export default { @@ -1468,4 +1468,12 @@ export default {
1468 data, 1468 data,
1469 }); 1469 });
1470 }, 1470 },
  1471 + //.net下载地址
  1472 + runtimeEnvFileUrl(data) {
  1473 + return service({
  1474 + url: setUpUrls.runtimeEnvFileUrl,
  1475 + method: "POST",
  1476 + data,
  1477 + });
  1478 + },
1471 }; 1479 };
src/api/urls/apis.js
@@ -380,4 +380,6 @@ export default { @@ -380,4 +380,6 @@ export default {
380 studentClassLogs: "/api_html/school/manager/studentClassLogs", 380 studentClassLogs: "/api_html/school/manager/studentClassLogs",
381 //修改科目 381 //修改科目
382 updateSubject: "/api_html/school/manager/updateSubject", 382 updateSubject: "/api_html/school/manager/updateSubject",
  383 + //.net下载地址
  384 + runtimeEnvFileUrl: "/api_html/school/manager/runtimeEnvFileUrl",
383 } 385 }
src/router/index.js
@@ -43,8 +43,7 @@ const SetUpSchool = () => import("@/views/standard/setUp/school") @@ -43,8 +43,7 @@ const SetUpSchool = () => import("@/views/standard/setUp/school")
43 const SetUpTeacher = () => import("@/views/standard/setUp/teacher") 43 const SetUpTeacher = () => import("@/views/standard/setUp/teacher")
44 const SetUpStudent = () => import("@/views/standard/setUp/student") 44 const SetUpStudent = () => import("@/views/standard/setUp/student")
45 const ArchivedClazz = () => import("@/views/standard/setUp/archivedClazz") 45 const ArchivedClazz = () => import("@/views/standard/setUp/archivedClazz")
46 -const SetUpClazz = () => import("@/views/standard/setUp/clazz")  
47 -const Archived = () => import("@/views/standard/setUp/archived") 46 +
48 47
49 const PersonalAsk = () => import("@/views/personal/ask/index") 48 const PersonalAsk = () => import("@/views/personal/ask/index")
50 const PersonalAskAnalysis = () => import("@/views/personal/ask/analysis") 49 const PersonalAskAnalysis = () => import("@/views/personal/ask/analysis")
@@ -63,6 +62,13 @@ const AdminAccount = () => import("@/views/admin/account/index") @@ -63,6 +62,13 @@ const AdminAccount = () => import("@/views/admin/account/index")
63 const AdminClientVersion = () => import("@/views/admin/clientVersion/index") 62 const AdminClientVersion = () => import("@/views/admin/clientVersion/index")
64 63
65 /** 64 /**
  65 + * v1.4
  66 + */
  67 +const SetUpClazz = () => import("@/views/standard/setUp/clazz")
  68 +const Archived = () => import("@/views/standard/setUp/archived")
  69 +const DeviceError = () => import("@/views/standard/device/error")
  70 +
  71 +/**
66 * 重写路由的push方法 72 * 重写路由的push方法
67 */ 73 */
68 const routerPush = Router.prototype.push 74 const routerPush = Router.prototype.push
@@ -102,6 +108,21 @@ let defaultRouter = [ @@ -102,6 +108,21 @@ let defaultRouter = [
102 ] 108 ]
103 }, 109 },
104 { 110 {
  111 + path: "/deviceError",
  112 + iconCls: "fa fa-home", // 图标样式class
  113 + name: "异常设备信息",
  114 + component: Layout,
  115 + hidden: true,
  116 + children: [
  117 + {
  118 + path: "/deviceError",
  119 + name: "异常设备信息",
  120 + component: DeviceError,
  121 + hidden: true
  122 + }
  123 + ]
  124 + },
  125 + {
105 path: "/userInfo", 126 path: "/userInfo",
106 iconCls: "fa fa-user", // 图标样式class 127 iconCls: "fa fa-user", // 图标样式class
107 name: "个人信息", 128 name: "个人信息",
@@ -830,7 +851,7 @@ const addroutersPersonal = [ @@ -830,7 +851,7 @@ const addroutersPersonal = [
830 name: "随堂已归档问报表分析", 851 name: "随堂已归档问报表分析",
831 component: PersonalArchiving, 852 component: PersonalArchiving,
832 parent: "ask", 853 parent: "ask",
833 - hidden:true, 854 + hidden: true,
834 children: [] 855 children: []
835 } 856 }
836 ] 857 ]
@@ -866,7 +887,7 @@ const addroutersPersonal = [ @@ -866,7 +887,7 @@ const addroutersPersonal = [
866 name: "即时已归档测报表分析", 887 name: "即时已归档测报表分析",
867 component: PersonalTestArchiving, 888 component: PersonalTestArchiving,
868 parent: "test", 889 parent: "test",
869 - hidden:true, 890 + hidden: true,
870 children: [] 891 children: []
871 } 892 }
872 893
src/views/standard/device/error.vue 0 → 100644
  1 +<template>
  2 + <div>
  3 + <back-box>
  4 + <template slot="title">
  5 + <span>异常设备信息</span>
  6 + </template>
  7 + </back-box>
  8 + <div class="page-content">
  9 + <el-table :data="tableData" border style="width: 100%">
  10 + <el-table-column
  11 + prop="sn"
  12 + label="设备编码"
  13 + align="center"
  14 + width="160"
  15 + ></el-table-column>
  16 + <el-table-column
  17 + prop="type"
  18 + label="设备类型"
  19 + align="center"
  20 + ></el-table-column>
  21 + <el-table-column
  22 + prop="operationTime"
  23 + label="异常类型"
  24 + align="center"
  25 + ></el-table-column>
  26 + <el-table-column
  27 + prop="operationTime"
  28 + label="最早发现时间"
  29 + align="center"
  30 + width="200"
  31 + ></el-table-column>
  32 + <el-table-column
  33 + prop="operationTime"
  34 + label="异常后答题次数"
  35 + align="center"
  36 + ></el-table-column>
  37 + <el-table-column
  38 + prop="operationTime"
  39 + label="状态"
  40 + align="center"
  41 + ></el-table-column>
  42 + <el-table-column label="操作" align="center" width="200"
  43 + ><template slot-scope="scoped">
  44 + <el-link>处理</el-link></template
  45 + ></el-table-column
  46 + >
  47 + </el-table>
  48 + <div class="pagination-box">
  49 + <el-pagination
  50 + small=""
  51 + layout="total,prev, pager, next"
  52 + :hide-on-single-page="true"
  53 + :total="total"
  54 + @current-change="changePage"
  55 + :current-page="page"
  56 + :page-size="size"
  57 + >
  58 + </el-pagination>
  59 + </div>
  60 + </div>
  61 + </div>
  62 +</template>
  63 +
  64 +<script>
  65 +export default {
  66 + data() {
  67 + return {
  68 + tableData: [],
  69 + total: 0,
  70 + page: 1,
  71 + size: 20,
  72 + };
  73 + },
  74 + created() {
  75 + this._QueryData()
  76 + },
  77 + methods: {
  78 + changePage(page) {
  79 + this.page = page;
  80 + this._QueryData();
  81 + },
  82 + async _QueryData() {
  83 + this.loading = true;
  84 + const {
  85 + data = {},
  86 + status,
  87 + info,
  88 + } = await this.$request.pDeviceLogList({
  89 + page: this.page,
  90 + size: this.size,
  91 + });
  92 + this.loading = false;
  93 + if (status === 0) {
  94 + this.tableData = (data?.list && [...data?.list]) || [];
  95 + this.total = data.count;
  96 + } else {
  97 + this.$message.error(info);
  98 + }
  99 + },
  100 + },
  101 +};
  102 +</script>
  103 +
  104 +<style lang="scss" scoped>
  105 +.page-content {
  106 + padding: 20px;
  107 +}
  108 +</style>
0 \ No newline at end of file 109 \ No newline at end of file
src/views/standard/device/index.vue
@@ -48,6 +48,11 @@ @@ -48,6 +48,11 @@
48 <el-radio-button :label="3">授课端管理</el-radio-button> 48 <el-radio-button :label="3">授课端管理</el-radio-button>
49 </el-radio-group> 49 </el-radio-group>
50 </div> 50 </div>
  51 + <p v-show="type == 1" class="error-tips">
  52 + 有{{}}条设备异常信息,<router-link to="/deviceError"
  53 + >点击查看&gt;&gt;</router-link
  54 + >
  55 + </p>
51 <div class="content"> 56 <div class="content">
52 <div v-show="type == 1"> 57 <div v-show="type == 1">
53 <div class="chart-box" v-if="count"> 58 <div class="chart-box" v-if="count">
@@ -1257,6 +1262,9 @@ export default { @@ -1257,6 +1262,9 @@ export default {
1257 .down { 1262 .down {
1258 padding: 0 0 16px 20px; 1263 padding: 0 0 16px 20px;
1259 } 1264 }
  1265 +.error-tips{
  1266 + margin-bottom:12px;
  1267 +}
1260 .content { 1268 .content {
1261 background: #f8f8f8; 1269 background: #f8f8f8;
1262 border: 1px solid #e2e2e2; 1270 border: 1px solid #e2e2e2;
@@ -1308,7 +1316,7 @@ export default { @@ -1308,7 +1316,7 @@ export default {
1308 .answer-header { 1316 .answer-header {
1309 padding: 0; 1317 padding: 0;
1310 margin-bottom: 12px; 1318 margin-bottom: 12px;
1311 - .upgrade-all{ 1319 + .upgrade-all {
1312 display: flex; 1320 display: flex;
1313 align-items: center; 1321 align-items: center;
1314 } 1322 }
src/views/standard/down/index.vue
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 <div class="page-content"> 8 <div class="page-content">
9 <div class="down-item"> 9 <div class="down-item">
10 <p class="txt"> 10 <p class="txt">
11 - K12公私立学校、高等院校、教育培训机构的课堂互动教学、即时课堂测验 11 + K12公私立学校、高等院校、教育培训机构的课堂互动教学、即时课堂测验
12 </p> 12 </p>
13 <el-button plan round @click="links">授课端下载</el-button> 13 <el-button plan round @click="links">授课端下载</el-button>
14 </div> 14 </div>
@@ -19,7 +19,10 @@ @@ -19,7 +19,10 @@
19 <el-button plan round @click="downCard">发卡软件下载</el-button> 19 <el-button plan round @click="downCard">发卡软件下载</el-button>
20 </div> 20 </div>
21 <div class="down-item" v-loading="loading"> 21 <div class="down-item" v-loading="loading">
22 - <p class="txt">。</p> 22 + <p class="txt">
  23 + 电脑缺少.NET Framework环境时,请下载安装.NET Framework
  24 + 4.5.2,以便于授课端可正常使用。
  25 + </p>
23 <el-button plan round @click="downNet">.Net环境下载</el-button> 26 <el-button plan round @click="downNet">.Net环境下载</el-button>
24 </div> 27 </div>
25 </div> 28 </div>
@@ -65,12 +68,12 @@ export default { @@ -65,12 +68,12 @@ export default {
65 async downNet() { 68 async downNet() {
66 if (this.loadingNet == true) return; 69 if (this.loadingNet == true) return;
67 this.loadingNet = true; 70 this.loadingNet = true;
68 - const { data, status, info } = await this.$request.latestClickersApp(); 71 + const { data, status, info } = await this.$request.runtimeEnvFileUrl();
69 this.loadingNet = false; 72 this.loadingNet = false;
70 if (status == 0) { 73 if (status == 0) {
71 const a = document.createElement("a"); 74 const a = document.createElement("a");
72 - a.href = data.downloadUrl;  
73 - a.download = data.appName; 75 + a.href = data;
  76 + // a.download = data.appName;
74 document.body.appendChild(a); 77 document.body.appendChild(a);
75 a.click(); 78 a.click();
76 a.remove(); 79 a.remove();
src/views/standard/setUp/school.vue
@@ -63,9 +63,9 @@ @@ -63,9 +63,9 @@
63 <div class="grade-box"> 63 <div class="grade-box">
64 <p class="h-title"> 64 <p class="h-title">
65 年级管理 65 年级管理
66 - <!-- <span v-if="!code" class="popconfirm-box" @click="diaUpgradeGrade = true"> 66 + <span v-if="!code" class="popconfirm-box" @click="diaUpgradeGrade = true">
67 年级升级<i class="fa fa-level-up"></i> 67 年级升级<i class="fa fa-level-up"></i>
68 - </span> --> 68 + </span>
69 </p> 69 </p>
70 <ul class="grade-info"> 70 <ul class="grade-info">
71 <li 71 <li