Commit aeac66d4fb3caf29c2e84b36b06502efc29c625f

Authored by 阿宝
1 parent a37317f4

飞书测试bug

src/assets/css/base.css
... ... @@ -20,6 +20,15 @@ a {
20 20 text-decoration: none;
21 21 }
22 22  
  23 +input[type="number"] {
  24 + -moz-appearance: textfield;
  25 +}
  26 +input[type="number"]::-webkit-inner-spin-button,
  27 +input[type="number"]::-webkit-outer-spin-button {
  28 + -webkit-appearance: none;
  29 + margin: 0;
  30 +}
  31 +
23 32 /* element-style */
24 33 .el-button--default {
25 34 color: #667ffd;
... ... @@ -31,7 +40,7 @@ a {
31 40 border-color: #667ffd;
32 41 }
33 42  
34   -.el-radio__input.is-checked+.el-radio__label {
  43 +.el-radio__input.is-checked + .el-radio__label {
35 44 color: #667ffd;
36 45 }
37 46  
... ... @@ -41,5 +50,5 @@ a {
41 50 }
42 51  
43 52 .el-message-box .el-button--default {
44   - color: #fff
  53 + color: #fff;
45 54 }
... ...
src/store/index.js
... ... @@ -4,6 +4,7 @@ import Cookies from "js-cookie";
4 4 import layoutStore from "./modules/layout/index";
5 5 import { defaultRouter } from "@/router/index";
6 6 import { encryptLoginPassword } from "@/utils";
  7 +import { Message } from "element-ui";
7 8  
8 9 import request from "@/api/index";
9 10 import router from "@/router/index";
... ... @@ -69,25 +70,41 @@ const store = new Vuex.Store({
69 70 let response = res;
70 71 if (response.status == 0) {
71 72 const userInfo = { ...response.data };
72   - userInfo.showRoleName = response.data.permissions[0]?.roleName;
73   - commit("setToken", "isLogin");
74   - commit("setInfo", { ...userInfo });
75   - commit("setRouters", [...userInfo.permissions[0]?.authorityRouter]);
76   - state.addRouters.forEach((res) => {
77   - router.addRoute(res);
78   - });
79   - router.addRoute({
80   - path: "*",
81   - redirect: "/404",
82   - hidden: true,
83   - children: [],
84   - });
85   - console.log(Cookies.get("ZT_YIJIAO_TOKEN"));
86   - if (params.url) {
87   - window.location.href = params.url;
  73 + if (userInfo.permissions && userInfo.permissions.length) {
  74 + userInfo.showRoleName = response.data.permissions[0]?.roleName;
  75 + commit("setToken", "isLogin");
  76 + commit("setInfo", { ...userInfo });
  77 + commit("setRouters", [
  78 + ...userInfo.permissions[0]?.authorityRouter,
  79 + ]);
  80 + state.addRouters.forEach((res) => {
  81 + router.addRoute(res);
  82 + });
  83 + router.addRoute({
  84 + path: "*",
  85 + redirect: "/404",
  86 + hidden: true,
  87 + children: [],
  88 + });
  89 + console.log(Cookies.get("ZT_YIJIAO_TOKEN"));
  90 + if (params.url) {
  91 + window.location.href = params.url;
  92 + } else {
  93 + router.push({ path: "/" });
  94 + }
88 95 } else {
89   - router.push({ path: "/" });
  96 + Message({
  97 + message: "该账号暂无权限,请联系管理员~",
  98 + type: "error",
  99 + duration: 3 * 1000,
  100 + });
90 101 }
  102 + } else {
  103 + Message({
  104 + message: response.info,
  105 + type: "error",
  106 + duration: 3 * 1000,
  107 + });
91 108 }
92 109 })
93 110 .catch(() => {});
... ... @@ -98,7 +115,7 @@ const store = new Vuex.Store({
98 115 let authorityRouterObj = userInfo.permissions.filter((item) => {
99 116 return item.role == role;
100 117 });
101   - userInfo.showRoleName = authorityRouterObj[0]?.roleName
  118 + userInfo.showRoleName = authorityRouterObj[0]?.roleName;
102 119 commit("setInfo", userInfo);
103 120 commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
104 121 state.addRouters.forEach((res) => {
... ...
src/views/down/client.vue
... ... @@ -56,7 +56,7 @@
56 56 </div>
57 57 </div>
58 58 <div class="form-box">
59   - <el-form :model="formData" :rules="ruleForm" label-width="180px">
  59 + <el-form :model="formData" label-width="180px">
60 60 <el-form-item label="主菜单设置:" prop="configName" v-if="type == 1">
61 61 <el-col :span="12">
62 62 <el-input
... ... @@ -153,13 +153,14 @@
153 153 <el-radio :label="2">老师选择</el-radio>
154 154 </el-radio-group>
155 155 <el-input-number
  156 + v-show="formData.viesAnswerSet != 2"
156 157 size="small"
157 158 class="count-down"
158 159 v-model="formData.countdown"
159 160 :step="1"
160 161 :step-strictly="true"
161 162 ></el-input-number
162   - >
  163 + > <span v-show="formData.viesAnswerSet != 2">秒</span>
163 164 </el-form-item>
164 165 <el-form-item label="抽答设置:" prop="ballotAnswerSet">
165 166 <el-radio-group v-model="formData.ballotAnswerSet">
... ... @@ -179,11 +180,11 @@
179 180 ></el-input-number
180 181 >个
181 182 </el-form-item>
182   - <el-form-item label="多选题选项默认个数:" prop="countdown">
  183 + <el-form-item label="多选题选项默认个数:" prop="multipleChoiceNum">
183 184 <el-input-number
184 185 size="small"
185 186 class="count-down count-down2"
186   - v-model="formData.countdown"
  187 + v-model="formData.multipleChoiceNum"
187 188 :min="2"
188 189 :max="7"
189 190 :step="1"
... ... @@ -196,8 +197,8 @@
196 197 size="small"
197 198 class="count-down count-down2"
198 199 v-model="formData.singleTypeNum"
199   - :min="1"
200   - :max="100"
  200 + :min="2"
  201 + :max="25"
201 202 :step="1"
202 203 :step-strictly="true"
203 204 ></el-input-number
... ... @@ -275,7 +276,7 @@ const defaultForm = {
275 276 ballotAnswerSet: 0,
276 277 singleChoiceNum: 4,
277 278 multipleChoiceNum: 4,
278   - singleTypeNum: 20,
  279 + singleTypeNum: 25,
279 280 askCountdown: 30,
280 281 examsDuration: 5400,
281 282 displayModel: 0,
... ... @@ -325,7 +326,7 @@ export default {
325 326 ballotAnswerSet: 0,
326 327 singleChoiceNum: 4,
327 328 multipleChoiceNum: 4,
328   - singleTypeNum: 20,
  329 + singleTypeNum: 25,
329 330 askCountdown: 30,
330 331 examsDuration: 90,
331 332 displayModel: 0,
... ...
src/views/examinationPaper/add.vue
... ... @@ -159,7 +159,7 @@
159 159 <div class="qs-num">题号</div>
160 160 <div class="qs-type">题型</div>
161 161 <div class="qs-score">分数</div>
162   - <div class="qs-partScore">部分分值</div>
  162 + <div class="qs-partScore">漏选得分</div>
163 163 <div class="qs-options">选项设置</div>
164 164 <div class="qs-set">操作</div>
165 165 </li>
... ... @@ -172,7 +172,7 @@
172 172 <div class="qs-type">
173 173 <el-select
174 174 v-model="subQuestions.questionType"
175   - placeholder="选择答题卡类型"
  175 + placeholder="选择题目类型"
176 176 @change="changeSubQuestions($event, subQuestions)"
177 177 >
178 178 <el-option label="单选题" :value="2"></el-option>
... ... @@ -203,7 +203,7 @@
203 203 :max="subQuestions.score"
204 204 :step="0.5"
205 205 v-model="subQuestions.partScore"
206   - label="部分分值"
  206 + label="漏选得分"
207 207 ></el-input-number>
208 208 </div>
209 209 <div class="qs-options">
... ... @@ -260,7 +260,7 @@
260 260 <div class="qs-type">
261 261 <el-select
262 262 v-model="addSubQuestionsType"
263   - placeholder="选择答题卡类型"
  263 + placeholder="选择题目类型"
264 264 @change="changeAddSubQuestions($event, question)"
265 265 >
266 266 <el-option label="单选题" :value="2"></el-option>
... ... @@ -365,6 +365,7 @@
365 365 <div class="qs-num">题号</div>
366 366 <div class="qs-type">题型</div>
367 367 <div class="qs-score">分数</div>
  368 + <div class="qs-partScore">漏选得分</div>
368 369 <div class="qs-options qs-options2">选项设置</div>
369 370 </li>
370 371 <li
... ... @@ -387,6 +388,20 @@
387 388 label="单题分值"
388 389 ></el-input-number>
389 390 </div>
  391 + <div class="qs-partScore">
  392 + <p v-if="subQuestions.questionType != 3">--</p>
  393 + <el-input-number
  394 + class="number-ipt"
  395 + v-else
  396 + size="medium"
  397 + :min="0"
  398 + :precision="2"
  399 + :max="subQuestions.score"
  400 + :step="0.5"
  401 + v-model="subQuestions.partScore"
  402 + label="漏选得分"
  403 + ></el-input-number>
  404 + </div>
390 405 <div class="qs-options qs-options2">
391 406 <p v-if="subQuestions.questionType == 5">--</p>
392 407 <p v-if="subQuestions.questionType == 4" class="answer-box">
... ... @@ -509,7 +524,7 @@ export default {
509 524 gradeName: "",
510 525 subjectName: "",
511 526 examsDuration: 90,
512   - sharingType: 1,
  527 + sharingType: 0,
513 528 questionList: [],
514 529 },
515 530 formRules: {
... ... @@ -801,7 +816,8 @@ export default {
801 816 tag: this.answerTypeName,
802 817 });
803 818 if (status == 0) {
804   - this._TypeList();
  819 + await this._TypeList();
  820 + this.form.tagId = data || "";
805 821 this.dialogVisible = false;
806 822 this.answerTypeName = "";
807 823 this.$message.success("添加成功");
... ... @@ -853,7 +869,7 @@ export default {
853 869 };
854 870 }) || [];
855 871 if (this.type != 2) {
856   - this.form.tagId = this.answerTypeList[0].id || "";
  872 + this.form.tagId = this.answerTypeList[0]?.id || "";
857 873 }
858 874 } else {
859 875 this.$message.error(info);
... ...
src/views/examinationPaper/index.vue
... ... @@ -5,15 +5,9 @@
5 5 <span>备题组卷</span>
6 6 </template>
7 7 <template slot="btns">
8   - <el-tooltip effect="dark" content="创建答题卡" placement="left">
9   - <el-button
10   - type="primary"
11   - icon="el-icon-plus"
12   - plain
13   - circle
14   - @click="toAdd({})"
15   - ></el-button>
16   - </el-tooltip>
  8 + <el-button type="primary" size="mini" icon="el-icon-plus" plain @click="toAdd({})">
  9 + 添加答题卡</el-button
  10 + >
17 11 </template>
18 12 </back-box>
19 13  
... ... @@ -255,9 +249,9 @@ export default {
255 249 break;
256 250 }
257 251 },
258   - changePage(page){
259   - this.page = page
260   - this._QueryData(this.query.title)
  252 + changePage(page) {
  253 + this.page = page;
  254 + this._QueryData(this.query.title);
261 255 },
262 256 async saveShare() {
263 257 //修改分享范围
... ... @@ -270,6 +264,7 @@ export default {
270 264 this.shareForm.sharingType = 1;
271 265 this.dialogVisible = false;
272 266 this.$message.success(info);
  267 + this._QueryData(this.query.title == "");
273 268 } else {
274 269 this.$message.error(info);
275 270 }
... ...
src/views/setUp/account.vue
... ... @@ -84,7 +84,7 @@
84 84 </el-table-column>
85 85 <el-table-column prop="available" label="状态" align="center"
86 86 ><template slot-scope="scoped">{{
87   - `${scoped.row.available == 0 ? "可用" : "不可用"}`
  87 + `${scoped.row.available == 0 ? "正常" : "禁用"}`
88 88 }}</template></el-table-column
89 89 >
90 90 <el-table-column
... ... @@ -143,7 +143,7 @@
143 143 :image-size="100"
144 144 ></el-empty>
145 145 </div>
146   - <el-dialog title="修改年级信息" :visible.sync="diaCount" width="400">
  146 + <el-dialog title="修改账号信息" :visible.sync="diaCount" width="400">
147 147 <el-form
148 148 class="form-box"
149 149 :model="formCount"
... ...
src/views/setUp/student.vue
... ... @@ -126,12 +126,12 @@
126 126 </el-form-item>
127 127 <el-form-item label="长学号:" prop="studentCode">
128 128 <el-col :span="10">
129   - <el-input maxlength="30" v-model.trim="formStu.studentCode" />
  129 + <el-input maxlength="12" v-model.trim="formStu.studentCode" />
130 130 </el-col>
131 131 </el-form-item>
132 132 <el-form-item label="短学号:">
133 133 <el-col :span="10">
134   - <el-input maxlength="30" v-model.trim="formStu.shortNumber" />
  134 + <el-input maxlength="12" v-model.trim="formStu.shortNumber" />
135 135 </el-col>
136 136 </el-form-item>
137 137 <el-form-item label="性别:">
... ... @@ -142,7 +142,7 @@
142 142 </el-form-item>
143 143 <el-form-item label="答题器编码:">
144 144 <el-col :span="10">
145   - <el-input maxlength="30" v-model.trim="formStu.clickerSn" />
  145 + <el-input maxlength="8" v-model.trim="formStu.clickerSn" />
146 146 </el-col>
147 147 </el-form-item>
148 148 </el-form>
... ... @@ -296,6 +296,7 @@ export default {
296 296 if (status === 0) {
297 297 this.$message.success("删除成功");
298 298 this.studentList.splice(index, 1);
  299 + this._QueryClass()
299 300 } else {
300 301 this.$message.error(info);
301 302 }
... ... @@ -322,6 +323,7 @@ export default {
322 323 if (status === 0) {
323 324 this.$message.success(info);
324 325 this.diaStu = false;
  326 + this._QueryClass()
325 327 this._QueryData();
326 328 } else {
327 329 this.$message.error(info);
... ... @@ -340,6 +342,8 @@ export default {
340 342 } else if (type == 3) {
341 343 this.query.studentName = "";
342 344 this.query.studentCode = "";
  345 + }else{
  346 + query = this.query
343 347 }
344 348 this.loading = true;
345 349 const { data, status, info } = await this.$request.studentList({
... ...
src/views/setUp/teacher.vue
... ... @@ -48,6 +48,7 @@
48 48 placeholder="请输入老师姓名"
49 49 v-model="query.teacherName"
50 50 class="input-with-select"
  51 + maxlength="30"
51 52 @keyup.enter.native="_QueryData(2)"
52 53 >
53 54 <el-button
... ... @@ -60,6 +61,7 @@
60 61 type="number"
61 62 placeholder="请输入老师手机号"
62 63 v-model="query.phone"
  64 + maxlength="11"
63 65 class="input-with-select"
64 66 @keyup.enter.native="_QueryData(3)"
65 67 >
... ... @@ -578,13 +580,22 @@ export default {
578 580 this.query.teacherName = "";
579 581 this.query.phone = "";
580 582 } else if (type == 2) {
  583 + if(this.query.teacherName == ""){
  584 + this.$message.warning('请输入老师姓名')
  585 + return
  586 + }
581 587 query.teacherName = this.query.teacherName;
582 588 this.query.gradeName = "";
583 589 this.query.phone = "";
584 590 } else if (type == 3) {
  591 + if(this.query.phone == ""){
  592 + this.$message.warning('请输入老师手机')
  593 + return
  594 + }
585 595 query.phone = this.query.phone;
586 596 this.query.teacherName = "";
587 597 this.query.gradeName = "";
  598 +
588 599 } else if (type == 10) {
589 600 query = { ...this.query };
590 601 }
... ...