Commit 8ef228094b590cf2deb67defbce41e0b4313f9ce
1 parent
53424e83
软件下载页面添加.net环境下载
Showing
7 changed files
with
162 additions
and
12 deletions
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 | + >点击查看>></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 |