Commit 8ef228094b590cf2deb67defbce41e0b4313f9ce

Authored by 梁保满
1 parent 53424e83

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

src/api/apis/apis.js
... ... @@ -1468,4 +1468,12 @@ export default {
1468 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 380 studentClassLogs: "/api_html/school/manager/studentClassLogs",
381 381 //修改科目
382 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 43 const SetUpTeacher = () => import("@/views/standard/setUp/teacher")
44 44 const SetUpStudent = () => import("@/views/standard/setUp/student")
45 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 48 const PersonalAsk = () => import("@/views/personal/ask/index")
50 49 const PersonalAskAnalysis = () => import("@/views/personal/ask/analysis")
... ... @@ -63,6 +62,13 @@ const AdminAccount = () => import("@/views/admin/account/index")
63 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 72 * 重写路由的push方法
67 73 */
68 74 const routerPush = Router.prototype.push
... ... @@ -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 126 path: "/userInfo",
106 127 iconCls: "fa fa-user", // 图标样式class
107 128 name: "个人信息",
... ... @@ -830,7 +851,7 @@ const addroutersPersonal = [
830 851 name: "随堂已归档问报表分析",
831 852 component: PersonalArchiving,
832 853 parent: "ask",
833   - hidden:true,
  854 + hidden: true,
834 855 children: []
835 856 }
836 857 ]
... ... @@ -866,7 +887,7 @@ const addroutersPersonal = [
866 887 name: "即时已归档测报表分析",
867 888 component: PersonalTestArchiving,
868 889 parent: "test",
869   - hidden:true,
  890 + hidden: true,
870 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 109 \ No newline at end of file
... ...
src/views/standard/device/index.vue
... ... @@ -48,6 +48,11 @@
48 48 <el-radio-button :label="3">授课端管理</el-radio-button>
49 49 </el-radio-group>
50 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 56 <div class="content">
52 57 <div v-show="type == 1">
53 58 <div class="chart-box" v-if="count">
... ... @@ -1257,6 +1262,9 @@ export default {
1257 1262 .down {
1258 1263 padding: 0 0 16px 20px;
1259 1264 }
  1265 +.error-tips{
  1266 + margin-bottom:12px;
  1267 +}
1260 1268 .content {
1261 1269 background: #f8f8f8;
1262 1270 border: 1px solid #e2e2e2;
... ... @@ -1308,7 +1316,7 @@ export default {
1308 1316 .answer-header {
1309 1317 padding: 0;
1310 1318 margin-bottom: 12px;
1311   - .upgrade-all{
  1319 + .upgrade-all {
1312 1320 display: flex;
1313 1321 align-items: center;
1314 1322 }
... ...
src/views/standard/down/index.vue
... ... @@ -8,7 +8,7 @@
8 8 <div class="page-content">
9 9 <div class="down-item">
10 10 <p class="txt">
11   - K12公私立学校、高等院校、教育培训机构的课堂互动教学、即时课堂测验
  11 + K12公私立学校、高等院校、教育培训机构的课堂互动教学、即时课堂测验
12 12 </p>
13 13 <el-button plan round @click="links">授课端下载</el-button>
14 14 </div>
... ... @@ -19,7 +19,10 @@
19 19 <el-button plan round @click="downCard">发卡软件下载</el-button>
20 20 </div>
21 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 26 <el-button plan round @click="downNet">.Net环境下载</el-button>
24 27 </div>
25 28 </div>
... ... @@ -65,12 +68,12 @@ export default {
65 68 async downNet() {
66 69 if (this.loadingNet == true) return;
67 70 this.loadingNet = true;
68   - const { data, status, info } = await this.$request.latestClickersApp();
  71 + const { data, status, info } = await this.$request.runtimeEnvFileUrl();
69 72 this.loadingNet = false;
70 73 if (status == 0) {
71 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 77 document.body.appendChild(a);
75 78 a.click();
76 79 a.remove();
... ...
src/views/standard/setUp/school.vue
... ... @@ -63,9 +63,9 @@
63 63 <div class="grade-box">
64 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 67 年级升级<i class="fa fa-level-up"></i>
68   - </span> -->
  68 + </span>
69 69 </p>
70 70 <ul class="grade-info">
71 71 <li
... ...