Commit 77da338a1cb46a0391105616642d1ab02a8e4f27

Authored by 梁保满
1 parent f9916d4c

自测问题修改

public/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff renamed to public/Temp/js/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff
No preview for this file type
public/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff renamed to public/Temp/js/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff
No preview for this file type
public/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff renamed to public/Temp/js/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff
No preview for this file type
public/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff renamed to public/Temp/js/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff
No preview for this file type
public/output/chtml/fonts/woff-v2/MathJax_Zero.woff renamed to public/Temp/js/output/chtml/fonts/woff-v2/MathJax_Zero.woff
No preview for this file type
public/index.html
... ... @@ -19,8 +19,8 @@
19 19 var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
20 20 link.type = 'image/x-icon';
21 21 link.rel = 'shortcut icon';
22   - var isZS = window.location.host.includes('ezquiz.sunvotecloud') || window.location.host.includes('121.40.127.171')
23   - link.href = isZS ? "./favicon.ico" : "./331icon.ico";
  22 + var isZS = window.location.host.includes('121.199.53.164')
  23 + link.href = isZS ? "./331icon.ico" : "./favicon.ico";
24 24 document.getElementsByTagName('head')[0].appendChild(link);
25 25 }
26 26 </script>
... ...
src/assets/css/index.scss
... ... @@ -198,8 +198,7 @@ ul {
198 198 }
199 199  
200 200 .screenshot-box {
201   - width: 400px;
202   -
  201 + width: 600px;
203 202 .screenshot {
204 203 width: 100%;
205 204 box-shadow: none;
... ...
src/views/basic/test/list.vue
... ... @@ -54,8 +54,8 @@
54 54 @current-change="changePage" :current-page="page" :page-size="size">
55 55 </el-pagination>
56 56 </div>
57   - <ScoreSet v-show="diaScoreSet" :role="role" :id="examId" :title="examTitlt" :examScore="examScore"
58   - @closeScoreSet="closeScoreSet" />
  57 + <ScoreSet v-show="diaScoreSet" :diaScoreSet="diaScoreSet" :role="role" :id="examId" :title="examTitlt"
  58 + :examScore="examScore" @closeScoreSet="closeScoreSet" />
59 59 </div>
60 60 <div v-else>
61 61 <el-table :data="tableData" :max-height="tableMaxHeight" border style="width: 100%">
... ... @@ -241,7 +241,7 @@ export default {
241 241 },
242 242 //打开答卷录分
243 243 openScoreSet(obj) {
244   - this.examId = obj.id;
  244 + this.examId = String(obj.id);
245 245 this.examTitlt = obj.title;
246 246 this.examScore = obj.examScore;
247 247 this.diaScoreSet = true;
... ...
src/views/examinationPaper/add.vue
... ... @@ -317,6 +317,10 @@
317 317 <span class="title-txt">{{ question.questionTitle }}</span>
318 318 <span class="m20">共:{{ setNums(question.subQuestions) }}题</span>
319 319 <span>共:{{ setScore(question) }} 分</span>
  320 + <el-popconfirm title="确定删除这道大题吗?" @confirm="form.questionList.splice(index, 1)">
  321 + <el-button slot="reference" class="delete" type="danger" size="mini" circle
  322 + icon="el-icon-delete"></el-button>
  323 + </el-popconfirm>
320 324 </p>
321 325 <ul class="questions-ul">
322 326 <li class="sub-questions">
... ... @@ -700,9 +704,15 @@ export default {
700 704 answerScreenshot: "", //题目解析图片地址
701 705 knowledge: [], //知识点
702 706 },
  707 +
  708 + //返回列表页参数记录
  709 + listType: 1,
  710 + listShare: 0,
703 711 };
704 712 },
705 713 async created() {
  714 + this.listType = this.$route.query.listType ? this.$route.query.listType : 1;
  715 + this.listShare = this.$route.query.listShare ? this.$route.query.listShare : 0;
706 716 this.type = this.$route.query.type ? this.$route.query.type : 1;
707 717 this.role =
708 718 this.$store.getters.info.showRole ||
... ... @@ -1230,6 +1240,9 @@ export default {
1230 1240 //删除小题
1231 1241 delTabData(subIndex, index) {
1232 1242 this.form.questionList[index].subQuestions.splice(subIndex, 1);
  1243 + if(this.form.questionList[index].subQuestions.length == 0){
  1244 + this.form.questionList.splice(index, 1)
  1245 + }
1233 1246 this.formateQuestion()
1234 1247 },
1235 1248 setScore(question) {
... ... @@ -1431,6 +1444,8 @@ export default {
1431 1444 if (status == 0) {
1432 1445 this.$router.push({
1433 1446 path: "/examinationPaper",
  1447 + type: this.listType,
  1448 + share: this.listShare,
1434 1449 });
1435 1450 } else {
1436 1451 this.$message.error(info);
... ... @@ -1531,11 +1546,14 @@ export default {
1531 1546 });
1532 1547 if (status == 0) {
1533 1548 this.form.title = data.title + "_副本";
1534   - this.form.tagId = data.tagId === 0 ? "" : data.tagId;
  1549 +
1535 1550 this.form.examsDuration = data.examsDuration;
1536 1551 if (this.role != "ROLE_PERSONAL") {
1537 1552 this.form.sharingType = data.sharingType;
1538 1553 }
  1554 + if (data.sharingType != 1) {
  1555 + this.form.tagId = data.tagId === 0 ? "" : data.tagId;
  1556 + }
1539 1557 this.formatData(data)
1540 1558 } else {
1541 1559 this.$message.error(info);
... ... @@ -1770,7 +1788,7 @@ export default {
1770 1788 }
1771 1789  
1772 1790 .delete {
1773   - margin-right: 8px;
  1791 + margin:0 8px;
1774 1792 }
1775 1793  
1776 1794 .title-txt {
... ... @@ -1932,7 +1950,8 @@ export default {
1932 1950 .stem-pic {
1933 1951 display: block;
1934 1952 margin: 0 auto 20px;
1935   - height: 200px;
  1953 + max-width: 100%;
  1954 + max-height: 200px;
1936 1955 object-fit: cover;
1937 1956 }
1938 1957 }
... ...
src/views/examinationPaper/addAsk.vue
... ... @@ -109,6 +109,14 @@
109 109 <span class="answer-s" v-for="option in subQuestions.answerOptions.split(',')" :class="subQuestions.correctAnswer == option ? 'active' : ''
110 110 " :key="option" @click="subQuestions.correctAnswer = option">{{ option }}</span>
111 111 </p>
  112 + <p v-if="subQuestions.questionType == 3 ||
  113 + subQuestions.questionType == 2
  114 + " class="answer-box answer-box2">
  115 + <el-button size="mini" type="primary" icon="el-icon-plus" circle
  116 + @click="addOptions(subQuestions)"></el-button>
  117 + <el-button size="mini" type="primary" icon="el-icon-minus" round circle
  118 + @click="removeOptions(subQuestions)"></el-button>
  119 + </p>
112 120 </div>
113 121  
114 122 <div class="qs-upload">
... ... @@ -609,6 +617,28 @@ export default {
609 617 };
610 618 }
611 619 },
  620 + //添加选项
  621 + addOptions(subQuestions) {
  622 + let length = subQuestions.answerOptions.split(",").length;
  623 + if (length > 9) return;
  624 + subQuestions.selectNum = length + 1;
  625 + subQuestions.answerOptions = this.rightOptions
  626 + .slice(0, subQuestions.selectNum)
  627 + .join(",");
  628 + },
  629 + //删除选项
  630 + removeOptions(subQuestions) {
  631 + let length = subQuestions.answerOptions.split(",").length;
  632 + if (length < 3) return;
  633 + subQuestions.selectNum = length - 1;
  634 + subQuestions.answerOptions = this.rightOptions
  635 + .slice(0, subQuestions.selectNum)
  636 + .join(",");
  637 + subQuestions.correctAnswer = subQuestions.correctAnswer.slice(
  638 + 0,
  639 + subQuestions.selectNum
  640 + );
  641 + },
612 642 //多选答案设置
613 643 setMultiple(obj, answer, type) {
614 644 let elements =
... ... @@ -1322,7 +1352,8 @@ export default {
1322 1352 .stem-pic {
1323 1353 display: block;
1324 1354 margin: 0 auto 20px;
1325   - height: 200px;
  1355 + max-width: 100%;
  1356 + max-height: 200px;
1326 1357 object-fit: cover;
1327 1358 }
1328 1359 }
... ...
src/views/examinationPaper/edit.vue
... ... @@ -23,8 +23,8 @@
23 23 <p class="totals">卷面总分:{{ allScore }}分</p>
24 24 </div>
25 25 <div class="question-box">
26   - <div class="questions-ul" :class="form.examType == 1 ? 'questions-ul2' : ''" v-if="form.examType == 1">
27   - <div class="sub-questions">
  26 + <ul class="questions-ul questions-ul2" v-if="!questionList[0]?.subQuestions">
  27 + <li class="sub-questions">
28 28 <div class="qs-num">题号</div>
29 29 <div class="qs-type">题型</div>
30 30 <div class="qs-score">分数</div>
... ... @@ -33,19 +33,96 @@
33 33 <div class="qs-set">题干</div>
34 34 <div class="qs-set">题目解析</div>
35 35 <div class="qs-set">知识点</div>
36   - </div>
37   - </div>
38   - <template v-for="(question, index) in questionList">
39   - <template v-if="form.examType == 2">
  36 + </li>
  37 + <li v-for="(subQuestions, indexs) in questionList" :key="indexs">
  38 + <p class="set-ans-btn" v-if="subQuestions.qusType &&
  39 + subQuestions.subNum &&
  40 + subQuestions.subNum > 4
  41 + ">
  42 + <el-button type="primary" @click="setFormAns(indexs)">批量设置答案</el-button>
  43 + </p>
  44 + <div v-else class="sub-questions">
  45 + <div class="qs-num">{{ subQuestions.questionIndex }}</div>
  46 + <div class="qs-type">
  47 + {{ setSubPro(subQuestions.questionType) }}
  48 + </div>
  49 + <div class="qs-score">
  50 + {{ subQuestions.score }}
  51 + </div>
  52 + <div class="qs-partScore">
  53 + <p v-if="subQuestions.questionType != 3">--</p>
  54 + <el-input-number class="number-ipt" v-else size="medium" :min="0" :precision="2" :max="subQuestions.score"
  55 + :step="0.5" v-model="subQuestions.partScore" label="漏选得分"></el-input-number>
  56 + </div>
  57 + <div class="qs-options qs-options2">
  58 + <p v-if="subQuestions.questionType == 5">--</p>
  59 + <p v-if="subQuestions.questionType == 4" class="answer-box">
  60 + <span class="answer-s" :class="subQuestions.correctAnswer == 1 ? 'active' : ''"
  61 + @click="subQuestions.correctAnswer = 1">✓</span>
  62 + <span class="answer-s" :class="subQuestions.correctAnswer == 2 ? 'active' : ''"
  63 + @click="subQuestions.correctAnswer = 2">✗</span>
  64 + </p>
  65 + <p v-if="subQuestions.questionType == 3" class="answer-box">
  66 + <template v-for="option in subQuestions.answerOptions.split(',')">
  67 + <span v-if="option" class="answer-s" :class="subQuestions.correctAnswer.includes(option)
  68 + ? 'active'
  69 + : ''
  70 + " :key="option" @click="changAnswer(subQuestions, option)">{{ option }}</span>
  71 + </template>
  72 + </p>
  73 + <p v-if="subQuestions.questionType == 2" class="answer-box">
  74 + <template v-for="option in subQuestions.answerOptions.split(',')">
  75 + <span class="answer-s" v-if="option" :class="subQuestions.correctAnswer == option ? 'active' : ''
  76 + " :key="option" @click="subQuestions.correctAnswer = option">{{ option }}</span>
  77 + </template>
  78 + </p>
  79 + </div>
  80 + <div class="qs-set">
  81 + <el-popover placement="right" width="600" trigger="click">
  82 + <div class="screenshot-box">
  83 + <iframe class="screenshot" v-if="subQuestions.screenshot && subQuestions.screenshot.includes('html')"
  84 + :src="subQuestions.screenshot"></iframe>
  85 + <img class="screenshot screenshot-img"
  86 + v-if="subQuestions.screenshot && !subQuestions.screenshot.includes('html')"
  87 + :src="subQuestions.screenshot" alt="">
  88 + <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
  89 + @click="openStem(subQuestions, 1, indexs)">重新选择图片</el-button></p>
  90 + </div>
  91 + <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
  92 + icon="el-icon-tickets"></el-button>
  93 + </el-popover>
  94 + </div>
  95 + <div class="qs-set">
  96 + <el-popover placement="right" width="600" trigger="click">
  97 + <div class="screenshot-box">
  98 + <iframe class="screenshot"
  99 + v-if="subQuestions.answerScreenshot && subQuestions.answerScreenshot.includes('html')"
  100 + :src="subQuestions.answerScreenshot"></iframe>
  101 + <img class="screenshot screenshot-img"
  102 + v-if="subQuestions.answerScreenshot && !subQuestions.answerScreenshot.includes('html')"
  103 + :src="subQuestions.answerScreenshot" alt="">
  104 + <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
  105 + @click="openStem(subQuestions, 2, indexs)">重新选择图片</el-button></p>
  106 + </div>
  107 + <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
  108 + icon="el-icon-tickets"></el-button>
  109 + </el-popover>
  110 + </div>
  111 + <div class="qs-set">
  112 + <el-button type="primary" circle size="mini" icon="el-icon-price-tag"
  113 + @click="openKnowledge(subQuestions, indexs)"></el-button>
  114 + </div>
  115 + </div>
  116 + </li>
  117 + </ul>
  118 + <template v-if="questionList[0]?.subQuestions">
  119 + <template v-for="(question, index) in questionList">
40 120 <p class="question-title">
41 121 <span>{{ setBigNum(index) }}、</span>
42 122 <el-input class="ipt" v-model.trim="question.questionTitle" maxlength="30" placeholder="填写大题名称"></el-input>
43 123 <span>共 {{ setScore(question) }} 分</span>
44 124 </p>
45   -
46   - </template>
47   - <div class="questions-ul" :class="form.examType == 1 ? 'questions-ul2' : ''">
48   - <template v-if="form.examType == 2">
  125 + <div class="questions-ul">
49 126 <div class="sub-questions">
50 127 <div class="qs-num">题号</div>
51 128 <div class="qs-type">题型</div>
... ... @@ -56,90 +133,91 @@
56 133 <div class="qs-set">题目解析</div>
57 134 <div class="qs-set">知识点</div>
58 135 </div>
59   - </template>
60   - <div v-for="(subQuestions, indexs) in question.subQuestions" :key="indexs">
61   - <p class="set-ans-btn" v-if="subQuestions.qusType &&
62   - subQuestions.subNum &&
63   - subQuestions.subNum > 4
64   - ">
65   - <el-button type="primary" @click="setFormAns(indexs, index)">批量设置答案</el-button>
66   - </p>
67   - <div v-else class="sub-questions">
68   - <div class="qs-num">{{ subQuestions.questionIndex }}</div>
69   - <div class="qs-type">
70   - {{ setSubPro(subQuestions.questionType) }}
71   - </div>
72   - <div class="qs-score">
73   - <el-input-number class="number-ipt" size="medium" :min="1" :max="200" :precision="2" :step="1"
74   - v-model="subQuestions.score" label="单题分值"></el-input-number>
75   - </div>
76   - <div class="qs-partScore">
77   - <p v-if="subQuestions.questionType != 3">--</p>
78   - <el-input-number class="number-ipt" v-else size="medium" :min="0" :precision="2"
79   - :max="subQuestions.score" :step="0.5" v-model="subQuestions.partScore" label="漏选得分"></el-input-number>
80   - </div>
81   - <div class="qs-options qs-options2">
82   - <p v-if="subQuestions.questionType == 5">--</p>
83   - <p v-if="subQuestions.questionType == 4" class="answer-box">
84   - <span class="answer-s" :class="subQuestions.correctAnswer == 1 ? 'active' : ''"
85   - @click="subQuestions.correctAnswer = 1">✓</span>
86   - <span class="answer-s" :class="subQuestions.correctAnswer == 2 ? 'active' : ''"
87   - @click="subQuestions.correctAnswer = 2">✗</span>
88   - </p>
89   - <p v-if="subQuestions.questionType == 3" class="answer-box">
90   - <template v-for="option in subQuestions.answerOptions.split(',')">
91   - <span v-if="option" class="answer-s" :class="subQuestions.correctAnswer.includes(option)
92   - ? 'active'
93   - : ''
94   - " :key="option" @click="changAnswer(subQuestions, option)">{{ option }}</span>
95   - </template>
96   - </p>
97   - <p v-if="subQuestions.questionType == 2" class="answer-box">
98   - <template v-for="option in subQuestions.answerOptions.split(',')">
99   - <span class="answer-s" v-if="option" :class="subQuestions.correctAnswer == option ? 'active' : ''
100   - " :key="option" @click="subQuestions.correctAnswer = option">{{ option }}</span>
101   - </template>
102   - </p>
103   - </div>
104   - <div class="qs-set">
105   - <el-popover placement="right" width="600" trigger="click">
106   - <div class="screenshot-box">
107   - <iframe class="screenshot"
108   - v-if="subQuestions.screenshot && subQuestions.screenshot.includes('html')"
109   - :src="subQuestions.screenshot"></iframe>
110   - <img class="screenshot screenshot-img"
111   - v-if="subQuestions.screenshot && !subQuestions.screenshot.includes('html')"
112   - :src="subQuestions.screenshot" alt="">
113   - <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
114   - @click="openStem(subQuestions, index, indexs, 1)">重新选择图片</el-button></p>
115   - </div>
116   - <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
117   - icon="el-icon-tickets"></el-button>
118   - </el-popover>
119   - </div>
120   - <div class="qs-set">
121   - <el-popover placement="right" width="600" trigger="click">
122   - <div class="screenshot-box">
123   - <iframe class="screenshot"
124   - v-if="subQuestions.answerScreenshot && subQuestions.answerScreenshot.includes('html')"
125   - :src="subQuestions.answerScreenshot"></iframe>
126   - <img class="screenshot screenshot-img"
127   - v-if="subQuestions.answerScreenshot && !subQuestions.answerScreenshot.includes('html')"
128   - :src="subQuestions.answerScreenshot" alt="">
129   - <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
130   - @click="openStem(subQuestions, index, indexs, 2)">重新选择图片</el-button></p>
131   - </div>
132   - <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
133   - icon="el-icon-tickets"></el-button>
134   - </el-popover>
135   - </div>
136   - <div class="qs-set">
137   - <el-button type="primary" circle size="mini" icon="el-icon-price-tag"
138   - @click="openKnowledge(subQuestions, index, indexs)"></el-button>
  136 + <div v-for="(subQuestions, indexs) in question.subQuestions" :key="indexs">
  137 + <p class="set-ans-btn" v-if="subQuestions.qusType &&
  138 + subQuestions.subNum &&
  139 + subQuestions.subNum > 4
  140 + ">
  141 + <el-button type="primary" @click="setFormAns(indexs, index)">批量设置答案</el-button>
  142 + </p>
  143 + <div v-else class="sub-questions">
  144 + <div class="qs-num">{{ subQuestions.questionIndex }}</div>
  145 + <div class="qs-type">
  146 + {{ setSubPro(subQuestions.questionType) }}
  147 + </div>
  148 + <div class="qs-score">
  149 + <el-input-number class="number-ipt" size="medium" :min="1" :max="200" :precision="2" :step="1"
  150 + v-model="subQuestions.score" label="单题分值"></el-input-number>
  151 + </div>
  152 + <div class="qs-partScore">
  153 + <p v-if="subQuestions.questionType != 3">--</p>
  154 + <el-input-number class="number-ipt" v-else size="medium" :min="0" :precision="2"
  155 + :max="subQuestions.score" :step="0.5" v-model="subQuestions.partScore"
  156 + label="漏选得分"></el-input-number>
  157 + </div>
  158 + <div class="qs-options qs-options2">
  159 + <p v-if="subQuestions.questionType == 5">--</p>
  160 + <p v-if="subQuestions.questionType == 4" class="answer-box">
  161 + <span class="answer-s" :class="subQuestions.correctAnswer == 1 ? 'active' : ''"
  162 + @click="subQuestions.correctAnswer = 1">✓</span>
  163 + <span class="answer-s" :class="subQuestions.correctAnswer == 2 ? 'active' : ''"
  164 + @click="subQuestions.correctAnswer = 2">✗</span>
  165 + </p>
  166 + <p v-if="subQuestions.questionType == 3" class="answer-box">
  167 + <template v-for="option in subQuestions.answerOptions.split(',')">
  168 + <span v-if="option" class="answer-s" :class="subQuestions.correctAnswer.includes(option)
  169 + ? 'active'
  170 + : ''
  171 + " :key="option" @click="changAnswer(subQuestions, option)">{{ option }}</span>
  172 + </template>
  173 + </p>
  174 + <p v-if="subQuestions.questionType == 2" class="answer-box">
  175 + <template v-for="option in subQuestions.answerOptions.split(',')">
  176 + <span class="answer-s" v-if="option" :class="subQuestions.correctAnswer == option ? 'active' : ''
  177 + " :key="option" @click="subQuestions.correctAnswer = option">{{ option }}</span>
  178 + </template>
  179 + </p>
  180 + </div>
  181 + <div class="qs-set">
  182 + <el-popover placement="right" width="600" trigger="click">
  183 + <div class="screenshot-box">
  184 + <iframe class="screenshot"
  185 + v-if="subQuestions.screenshot && subQuestions.screenshot.includes('html')"
  186 + :src="subQuestions.screenshot"></iframe>
  187 + <img class="screenshot screenshot-img"
  188 + v-if="subQuestions.screenshot && !subQuestions.screenshot.includes('html')"
  189 + :src="subQuestions.screenshot" alt="">
  190 + <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
  191 + @click="openStem(subQuestions, 1, index, indexs)">重新选择图片</el-button></p>
  192 + </div>
  193 + <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
  194 + icon="el-icon-tickets"></el-button>
  195 + </el-popover>
  196 + </div>
  197 + <div class="qs-set">
  198 + <el-popover placement="right" width="600" trigger="click">
  199 + <div class="screenshot-box">
  200 + <iframe class="screenshot"
  201 + v-if="subQuestions.answerScreenshot && subQuestions.answerScreenshot.includes('html')"
  202 + :src="subQuestions.answerScreenshot"></iframe>
  203 + <img class="screenshot screenshot-img"
  204 + v-if="subQuestions.answerScreenshot && !subQuestions.answerScreenshot.includes('html')"
  205 + :src="subQuestions.answerScreenshot" alt="">
  206 + <p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
  207 + @click="openStem(subQuestions, 2, index, indexs)">重新选择图片</el-button></p>
  208 + </div>
  209 + <el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
  210 + icon="el-icon-tickets"></el-button>
  211 + </el-popover>
  212 + </div>
  213 + <div class="qs-set">
  214 + <el-button type="primary" circle size="mini" icon="el-icon-price-tag"
  215 + @click="openKnowledge(subQuestions, index, indexs)"></el-button>
  216 + </div>
139 217 </div>
140 218 </div>
141 219 </div>
142   - </div>
  220 + </template>
143 221 </template>
144 222 </div>
145 223 <div class="btn-box">
... ... @@ -328,7 +406,7 @@ export default {
328 406 methods: {
329 407 // v1.5
330 408 //上传截图
331   - openStem(obj, index, indexs, type) {
  409 + openStem(obj, type, index, indexs) {
332 410 this.stem.index = index;
333 411 this.stem.indexs = indexs;
334 412 if (type == 1) {
... ... @@ -346,18 +424,18 @@ export default {
346 424 if (res && res.status == 0) {
347 425 this.stem.screenshot = res.data.url;
348 426 if (this.stem.type == 1) {
349   - // if (this.form.examType == 2) {
350   - this.questionList[this.stem.index].subQuestions[this.stem.indexs].screenshot = this.stem.screenshot;
351   - // } else {
352   - // this.questionList[this.stem.index].screenshot = this.stem.screenshot;
353   - // }
  427 + if (this.questionList[0]?.subQuestions) {
  428 + this.questionList[this.stem.index].subQuestions[this.stem.indexs].screenshot = this.stem.screenshot;
  429 + } else {
  430 + this.questionList[this.stem.index].screenshot = this.stem.screenshot;
  431 + }
354 432  
355 433 } else {
356   - // if (this.form.examType == 2) {
357   - this.questionList[this.stem.index].subQuestions[this.stem.indexs].answerScreenshot = this.stem.answerScreenshot;
358   - // } else {
359   - // this.questionList[this.stem.index].answerScreenshot = this.stem.answerScreenshot;
360   - // }
  434 + if (this.questionList[0]?.subQuestions) {
  435 + this.questionList[this.stem.index].subQuestions[this.stem.indexs].answerScreenshot = this.stem.answerScreenshot;
  436 + } else {
  437 + this.questionList[this.stem.index].answerScreenshot = this.stem.answerScreenshot;
  438 + }
361 439  
362 440 }
363 441  
... ... @@ -373,19 +451,19 @@ export default {
373 451 // 打开知识点
374 452 openKnowledge(obj, index, indexs) {
375 453 this.stem.index = index;
376   - this.stem.indexs = indexs;
  454 + this.stem.indexs = indexs || 0;
377 455 this.stem.knowledge = (obj.knowledge && obj.knowledge.split(",")) || [];
378 456 this.dialogKnowledge = true;
379 457 },
380 458 // 选择知识点
381 459 setKnowledge() {
382   - // if (this.form.examType == 2) {
383   - this.questionList[this.stem.index].subQuestions[
384   - this.stem.indexs
385   - ].knowledge = this.stem.knowledge.join(",");
386   - // } else {
387   - // this.questionList[this.stem.index].knowledge = this.stem.knowledge.join(",");
388   - // }
  460 + if (this.questionList[0]?.subQuestions) {
  461 + this.questionList[this.stem.index].subQuestions[
  462 + this.stem.indexs
  463 + ].knowledge = this.stem.knowledge.join(",");
  464 + } else {
  465 + this.questionList[this.stem.index].knowledge = this.stem.knowledge.join(",");
  466 + }
389 467 this.dialogKnowledge = false;
390 468 },
391 469 //end
... ... @@ -539,32 +617,32 @@ export default {
539 617 //初始化要修改的答案
540 618 setFormAns(indexs, index) {
541 619 let answerList = "";
542   - // if (this.form.examType == 2) {
543   - this.formAns = { ...this.questionList[index].subQuestions[indexs] };
544   - this.formAns.listIndex = index;
545   - let startIndex = indexs - this.formAns.subNum; //批量设置大难开始位置
546   - this.questionList[index].subQuestions.map((item, subIdx) => {
547   - if (subIdx >= startIndex && subIdx < indexs) {
548   - answerList += this.setAnswer(item.questionType, item.correctAnswer);
549   - if (item.qusType == 3) {
550   - answerList = answerList.slice(0, -1);
  620 + if (this.questionList[0]?.subQuestions) {
  621 + this.formAns = { ...this.questionList[index].subQuestions[indexs] };
  622 + this.formAns.listIndex = index;
  623 + let startIndex = indexs - this.formAns.subNum; //批量设置大难开始位置
  624 + this.questionList[index].subQuestions.map((item, subIdx) => {
  625 + if (subIdx >= startIndex && subIdx < indexs) {
  626 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  627 + if (item.qusType == 3) {
  628 + answerList = answerList.slice(0, -1);
  629 + }
551 630 }
552   - }
553   - });
554   - // } else {
555   - // this.formAns = { ...this.questionList[indexs] };
556   - // let startIndex = indexs - this.formAns.subNum; //批量设置开始位置
557   - // this.formAns.answerList = [];
558   - // this.formAns.listIndex = indexs;
559   - // this.questionList.map((item, subIdx) => {
560   - // if (subIdx >= startIndex && subIdx < indexs) {
561   - // answerList += this.setAnswer(item.questionType, item.correctAnswer);
562   - // if (item.qusType == 3) {
563   - // answerList = answerList.slice(0, -1);
564   - // }
565   - // }
566   - // });
567   - // }
  631 + });
  632 + } else {
  633 + this.formAns = { ...this.questionList[indexs] };
  634 + let startIndex = indexs - this.formAns.subNum; //批量设置开始位置
  635 + this.formAns.answerList = [];
  636 + this.formAns.listIndex = indexs;
  637 + this.questionList.map((item, subIdx) => {
  638 + if (subIdx >= startIndex && subIdx < indexs) {
  639 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  640 + if (item.qusType == 3) {
  641 + answerList = answerList.slice(0, -1);
  642 + }
  643 + }
  644 + });
  645 + }
568 646 this.formAns.answerList = answerList;
569 647 this.diaSetAns = true;
570 648 },
... ... @@ -572,23 +650,23 @@ export default {
572 650 //批量修改答案
573 651 let EndIndex;
574 652 let subNum = this.formAns.subNum - 1;
575   - // if (this.form.examType == 2) {
576   - this.questionList[this.formAns.listIndex].subQuestions.some(
577   - (item, index) => {
  653 + if (this.questionList[0]?.subQuestions) {
  654 + this.questionList[this.formAns.listIndex].subQuestions.some(
  655 + (item, index) => {
  656 + if (this.formAns.endIndex == item.questionIndex) {
  657 + EndIndex = index;
  658 + }
  659 + return this.formAns.endIndex == item.questionIndex
  660 + }
  661 + );
  662 + } else {
  663 + this.questionList.some((item, index) => {
578 664 if (this.formAns.endIndex == item.questionIndex) {
579 665 EndIndex = index;
580 666 }
581 667 return this.formAns.endIndex == item.questionIndex
582   - }
583   - );
584   - // } else {
585   - // this.questionList.some((item, index) => {
586   - // if (this.formAns.endIndex == item.questionIndex) {
587   - // EndIndex = index;
588   - // }
589   - // return this.formAns.endIndex == item.questionIndex
590   - // });
591   - // }
  668 + });
  669 + }
592 670  
593 671 for (let i = 0; i <= subNum; i++) {
594 672 let correctAnswer = "";
... ... @@ -604,30 +682,30 @@ export default {
604 682 ? 2
605 683 : "";
606 684 }
607   - // if (this.form.examType == 2) {
608   - this.questionList[this.formAns.listIndex].subQuestions[
609   - EndIndex - i
610   - ].correctAnswer = correctAnswer;
611   - // } else {
612   - // this.questionList[EndIndex - i].correctAnswer = correctAnswer;
613   - // }
  685 + if (this.questionList[0]?.subQuestions) {
  686 + this.questionList[this.formAns.listIndex].subQuestions[
  687 + EndIndex - i
  688 + ].correctAnswer = correctAnswer;
  689 + } else {
  690 + this.questionList[EndIndex - i].correctAnswer = correctAnswer;
  691 + }
614 692 }
615 693 this.diaSetAns = false;
616 694 },
617 695 async save() {
618 696 for (let i = 0; i < this.questionList.length; i++) {
619   - // if (this.form.examType == 2) {
620   - for (let j = 0; j < this.questionList[i].subQuestions.length; j++) {
621   - if (this.questionList[i].subQuestions[j].qusType) {
622   - this.questionList[i].subQuestions.splice(j, 1);
  697 + if (this.questionList[0]?.subQuestions) {
  698 + for (let j = 0; j < this.questionList[i].subQuestions.length; j++) {
  699 + if (this.questionList[i].subQuestions[j].qusType) {
  700 + this.questionList[i].subQuestions.splice(j, 1);
  701 + }
  702 + }
  703 + } else {
  704 + if (this.questionList[i].qusType) {
  705 + this.questionList.splice(i, 1);
  706 + i--;
623 707 }
624 708 }
625   - // } else {
626   - // if (this.questionList[i].qusType) {
627   - // this.questionList.splice(i, 1);
628   - // i--;
629   - // }
630   - // }
631 709 }
632 710 let questionList = this.questionList.map((item) => {
633 711 item.score = null;
... ... @@ -722,11 +800,72 @@ export default {
722 800 }
723 801 },
724 802 formateQuestion() {
725   - // if (this.form.examType == 2) {
726   - this.questionList?.map((item) => {
  803 + if (this.questionList[0]?.subQuestions) {
  804 + this.questionList?.map((item) => {
  805 + let types = [{}];
  806 + let addndex = 0;
  807 + item.subQuestions.map((sub, index) => {
  808 + if (!!sub.questionType) {
  809 + if (
  810 + sub.questionType == types[addndex].qusType &&
  811 + sub.questionType != 5
  812 + ) {
  813 + //同类型批量答案+1
  814 + types[addndex].subNum += 1;
  815 + if (
  816 + types[addndex].answerOptions.length <
  817 + sub.answerOptions.length
  818 + ) {
  819 + types[addndex].answerOptions = sub.answerOptions;
  820 + }
  821 + types[addndex].answerList += this.setAnswer(
  822 + sub.questionType,
  823 + sub.correctAnswer
  824 + );
  825 + if (index == item.subQuestions.length - 1) {
  826 + //循环最后类型数量大于等于5,保存批量答案
  827 + if (types[addndex].subNum && types[addndex].subNum >= 5) {
  828 + types[addndex].endIndex = sub.questionIndex;
  829 + types[addndex].index = index;
  830 + }
  831 + }
  832 + } else {
  833 + if (types[addndex].subNum && types[addndex].subNum >= 5) {
  834 + //不同类型时如果原有类型数量大于等于5,保存批量答案
  835 + types[addndex].endIndex =
  836 + item.subQuestions[index - 1].questionIndex;
  837 + types[addndex].index = index - 1;
  838 + addndex += 1;
  839 + types[addndex] = {};
  840 + }
  841 + //不同类型初始化批量答案
  842 + types[addndex].qusType = sub.questionType;
  843 + types[addndex].subNum = 1;
  844 + types[addndex].answerOptions = sub.answerOptions;
  845 + types[addndex].answerList = this.setAnswer(
  846 + sub.questionType,
  847 + sub.correctAnswer
  848 + );
  849 + }
  850 + }
  851 + });
  852 + for (let i = 0; i < types.length; i++) {
  853 + if (types[i].qusType == 3) {
  854 + types[i].answerList = types[i].answerList.slice(0, -1);
  855 + }
  856 + if (types[i].subNum >= 5) {
  857 + item.subQuestions.splice(
  858 + types[i].index + i + 1,
  859 + 0,
  860 + deepClone(types[i])
  861 + );
  862 + }
  863 + }
  864 + });
  865 + } else {
727 866 let types = [{}];
728 867 let addndex = 0;
729   - item.subQuestions.map((sub, index) => {
  868 + this.questionList?.map((sub, index) => {
730 869 if (!!sub.questionType) {
731 870 if (
732 871 sub.questionType == types[addndex].qusType &&
... ... @@ -735,8 +874,7 @@ export default {
735 874 //同类型批量答案+1
736 875 types[addndex].subNum += 1;
737 876 if (
738   - types[addndex].answerOptions.length <
739   - sub.answerOptions.length
  877 + types[addndex].answerOptions.length < sub.answerOptions.length
740 878 ) {
741 879 types[addndex].answerOptions = sub.answerOptions;
742 880 }
... ... @@ -744,7 +882,7 @@ export default {
744 882 sub.questionType,
745 883 sub.correctAnswer
746 884 );
747   - if (index == item.subQuestions.length - 1) {
  885 + if (index == this.questionList.length - 1) {
748 886 //循环最后类型数量大于等于5,保存批量答案
749 887 if (types[addndex].subNum && types[addndex].subNum >= 5) {
750 888 types[addndex].endIndex = sub.questionIndex;
... ... @@ -755,7 +893,7 @@ export default {
755 893 if (types[addndex].subNum && types[addndex].subNum >= 5) {
756 894 //不同类型时如果原有类型数量大于等于5,保存批量答案
757 895 types[addndex].endIndex =
758   - item.subQuestions[index - 1].questionIndex;
  896 + this.questionList[index - 1].questionIndex;
759 897 types[addndex].index = index - 1;
760 898 addndex += 1;
761 899 types[addndex] = {};
... ... @@ -776,74 +914,14 @@ export default {
776 914 types[i].answerList = types[i].answerList.slice(0, -1);
777 915 }
778 916 if (types[i].subNum >= 5) {
779   - item.subQuestions.splice(
  917 + this.questionList.splice(
780 918 types[i].index + i + 1,
781 919 0,
782 920 deepClone(types[i])
783 921 );
784 922 }
785 923 }
786   - });
787   - // } else {
788   - // let types = [{}];
789   - // let addndex = 0;
790   - // this.questionList?.map((sub, index) => {
791   - // if (!!sub.questionType) {
792   - // if (
793   - // sub.questionType == types[addndex].qusType &&
794   - // sub.questionType != 5
795   - // ) {
796   - // //同类型批量答案+1
797   - // types[addndex].subNum += 1;
798   - // if (
799   - // types[addndex].answerOptions.length < sub.answerOptions.length
800   - // ) {
801   - // types[addndex].answerOptions = sub.answerOptions;
802   - // }
803   - // types[addndex].answerList += this.setAnswer(
804   - // sub.questionType,
805   - // sub.correctAnswer
806   - // );
807   - // if (index == this.questionList.length - 1) {
808   - // //循环最后类型数量大于等于5,保存批量答案
809   - // if (types[addndex].subNum && types[addndex].subNum >= 5) {
810   - // types[addndex].endIndex = sub.questionIndex;
811   - // types[addndex].index = index;
812   - // }
813   - // }
814   - // } else {
815   - // if (types[addndex].subNum && types[addndex].subNum >= 5) {
816   - // //不同类型时如果原有类型数量大于等于5,保存批量答案
817   - // types[addndex].endIndex =
818   - // this.questionList[index - 1].questionIndex;
819   - // types[addndex].index = index - 1;
820   - // addndex += 1;
821   - // types[addndex] = {};
822   - // }
823   - // //不同类型初始化批量答案
824   - // types[addndex].qusType = sub.questionType;
825   - // types[addndex].subNum = 1;
826   - // types[addndex].answerOptions = sub.answerOptions;
827   - // types[addndex].answerList = this.setAnswer(
828   - // sub.questionType,
829   - // sub.correctAnswer
830   - // );
831   - // }
832   - // }
833   - // });
834   - // for (let i = 0; i < types.length; i++) {
835   - // if (types[i].qusType == 3) {
836   - // types[i].answerList = types[i].answerList.slice(0, -1);
837   - // }
838   - // if (types[i].subNum >= 5) {
839   - // this.questionList.splice(
840   - // types[i].index + i + 1,
841   - // 0,
842   - // deepClone(types[i])
843   - // );
844   - // }
845   - // }
846   - // }
  924 + }
847 925 },
848 926 },
849 927 };
... ... @@ -1060,7 +1138,8 @@ export default {
1060 1138 .stem-pic {
1061 1139 display: block;
1062 1140 margin: 0 auto 20px;
1063   - height: 200px;
  1141 + max-width: 100%;
  1142 + max-height: 200px;
1064 1143 object-fit: cover;
1065 1144 }
1066 1145 }
... ...
src/views/examinationPaper/edit_Old.vue
... ... @@ -1262,7 +1262,8 @@ export default {
1262 1262 .stem-pic {
1263 1263 display: block;
1264 1264 margin: 0 auto 20px;
1265   - height: 200px;
  1265 + max-width: 100%;
  1266 + max-height: 200px;
1266 1267 object-fit: cover;
1267 1268 }
1268 1269 }
... ...
src/views/examinationPaper/index.vue
... ... @@ -70,8 +70,10 @@
70 70 <p class="num">
71 71 总题数:{{ item.questionNum }}
72 72 <em class="s-line">|</em>
73   - 预计时长:{{ item.examsDuration }}
74   - <em class="s-line">|</em>
  73 + <template v-if="query.type == 2">
  74 + 预计时长:{{ item.examsDuration }}
  75 + <em class="s-line">|</em>
  76 + </template>
75 77 <template v-if="role != 'ROLE_PERSONAL'">
76 78 授课端同步:
77 79 <span class="clazz" v-for="(clazzChild, indexs) in item.classList" :key="clazzChild.classId"
... ... @@ -100,7 +102,7 @@
100 102 <el-dropdown-item :command="1"
101 103 v-if="userName == item.realName && role != 'ROLE_PERSONAL'">修改分享范围</el-dropdown-item>
102 104 <el-dropdown-item v-show="query.type == 2" :command="2">复制</el-dropdown-item>
103   - <el-dropdown-item :command="3">放入回收站</el-dropdown-item>
  105 + <el-dropdown-item v-show="query.share == 0" :command="3">放入回收站</el-dropdown-item>
104 106 </el-dropdown-menu>
105 107 </el-dropdown>
106 108 </div>
... ... @@ -196,6 +198,8 @@ export default {
196 198 this.$store.getters.info.showRole ||
197 199 this.$store.getters.info.permissions[0].role;
198 200 this.userName = this.$store.getters.info.name || "";
  201 + this.query.type = this.$route.query.type || 1;
  202 + this.query.share = this.$route.query.share || 0;
199 203 this._QueryClassList2()
200 204 await this._QueryClassList();
201 205 if (!this.query.classId) {
... ... @@ -206,8 +210,9 @@ export default {
206 210 },
207 211 methods: {
208 212 refreshStic() {
209   - setTimeout(function () {
210   - window.location.reload();
  213 + this.loading = true;
  214 + setTimeout(() => {
  215 + this._QueryData();
211 216 }, 500);
212 217 },
213 218 toArchiving() {
... ... @@ -223,6 +228,8 @@ export default {
223 228 }
224 229 let routerItem = {
225 230 path: "/examinationPaperAdd",
  231 + listType: this.query.type,
  232 + listShare: this.query.share,
226 233 };
227 234 query ? (routerItem["query"] = { ...query }) : "";
228 235 this.$router.push(routerItem);
... ... @@ -235,6 +242,8 @@ export default {
235 242 }
236 243 let routerItem = {
237 244 path: "/examinationPaperAddAsk",
  245 + listType: this.query.type,
  246 + listShare: this.query.share,
238 247 };
239 248 query ? (routerItem["query"] = { ...query }) : "";
240 249 this.$router.push(routerItem);
... ...
src/views/examinationPaper/recycle.vue
... ... @@ -21,60 +21,26 @@
21 21 <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
22 22 </template></el-cascader
23 23 > -->
24   - <el-select
25   - class="sel"
26   - v-model="query.classId"
27   - placeholder="选择班级"
28   - @change="changClazz"
29   - >
30   - <el-option
31   - v-for="item in classList"
32   - :key="item.value"
33   - :label="item.label"
34   - :value="item.value"
35   - >
  24 + <el-select class="sel" v-model="query.type" placeholder="选择类型" @change="_QueryData()">
  25 + <el-option label="备题" :value="1"></el-option>
  26 + <el-option label="组卷" :value="2"></el-option>
  27 + </el-select>
  28 + <el-select class="sel" v-model="query.classId" placeholder="选择班级" @change="changClazz">
  29 + <el-option v-for="item in classList" :key="item.value" :label="item.label" :value="item.value">
36 30 </el-option>
37 31 </el-select>
38   - <el-select
39   - class="sel"
40   - v-model="query.subjectName"
41   - placeholder="选择科目"
42   - @change="_QueryData()"
43   - >
44   - <el-option
45   - v-for="item in subjectList"
46   - :key="item.value"
47   - :label="item.label"
48   - :value="item.value"
49   - >
  32 + <el-select class="sel" v-model="query.subjectName" placeholder="选择科目" @change="_QueryData()">
  33 + <el-option v-for="item in subjectList" :key="item.value" :label="item.label" :value="item.value">
50 34 </el-option>
51 35 </el-select>
52   - <el-select
53   - class="sel"
54   - v-model="query.tagId"
55   - placeholder="选择类型"
56   - @change="_QueryData()"
57   - >
58   - <el-option
59   - v-for="item in typeList"
60   - :key="item.label"
61   - :label="item.label"
62   - :value="item.value"
63   - >{{ item.label }}
  36 + <el-select class="sel" v-model="query.tagId" placeholder="选择类型" @change="_QueryData()">
  37 + <el-option v-for="item in typeList" :key="item.label" :label="item.label" :value="item.value">{{ item.label }}
64 38 </el-option>
65 39 </el-select>
66 40  
67   - <el-input
68   - placeholder="输入试卷名称"
69   - v-model="query.title"
70   - class="input-with-select"
71   - @keyup.enter.native="_QueryData(true)"
72   - >
73   - <el-button
74   - slot="append"
75   - icon="el-icon-search"
76   - @click="_QueryData(true)"
77   - ></el-button>
  41 + <el-input placeholder="输入试卷名称" v-model="query.title" class="input-with-select"
  42 + @keyup.enter.native="_QueryData(true)">
  43 + <el-button slot="append" icon="el-icon-search" @click="_QueryData(true)"></el-button>
78 44 </el-input>
79 45 </div>
80 46 </div>
... ... @@ -97,51 +63,26 @@
97 63 预计时长:{{ item.examsDuration }}
98 64 </p>
99 65 <p class="person">
100   - {{ item.realName }}<em class="s-line">|</em
101   - ><span class="date">{{ item.modifiedTime }}</span>
  66 + {{ item.realName }}<em class="s-line">|</em><span class="date">{{ item.modifiedTime }}</span>
102 67 </p>
103 68 </div>
104 69 <div class="btn-box">
105 70 <el-tooltip effect="dark" content="恢复" placement="bottom">
106   - <el-button
107   - class="edit"
108   - type="info"
109   - size="mini"
110   - circle
111   - icon="fa fa-mail-reply"
112   - @click="modify(item)"
113   - ></el-button>
  71 + <el-button class="edit" type="info" size="mini" circle icon="fa fa-mail-reply"
  72 + @click="modify(item)"></el-button>
114 73 </el-tooltip>
115 74 <el-popconfirm title="确定删除这张答题卡吗?" @confirm="remove(item)">
116   - <el-button
117   - slot="reference"
118   - class="delete"
119   - type="info"
120   - size="mini"
121   - circle
122   - icon="el-icon-delete"
123   - ></el-button>
  75 + <el-button slot="reference" class="delete" type="info" size="mini" circle icon="el-icon-delete"></el-button>
124 76 </el-popconfirm>
125 77 </div>
126 78 </li>
127 79 </ul>
128 80 <div class="pagination-box">
129   - <el-pagination
130   - small=""
131   - layout="total,prev, pager, next"
132   - :hide-on-single-page="true"
133   - :total="total"
134   - @current-change="changePage"
135   - :current-page="page"
136   - :page-size="size"
137   - >
  81 + <el-pagination small="" layout="total,prev, pager, next" :hide-on-single-page="true" :total="total"
  82 + @current-change="changePage" :current-page="page" :page-size="size">
138 83 </el-pagination>
139 84 </div>
140   - <el-empty
141   - :image-size="100"
142   - v-if="!tableData.length && loading == false"
143   - description="没有更多数据"
144   - ></el-empty>
  85 + <el-empty :image-size="100" v-if="!tableData.length && loading == false" description="没有更多数据"></el-empty>
145 86 </div>
146 87 </template>
147 88  
... ... @@ -183,6 +124,7 @@ export default {
183 124 },
184 125 ],
185 126 query: {
  127 + type: 1,
186 128 classId: "",
187 129 subjectName: "",
188 130 tagId: "",
... ... @@ -258,8 +200,6 @@ export default {
258 200 query = { ...this.query };
259 201 } else {
260 202 query = { title: this.query.title };
261   - this.query.type = "";
262   - this.query.subjectId = "";
263 203 }
264 204 query.classId = this.query.classId;
265 205 for (let key in query) {
... ... @@ -309,7 +249,7 @@ export default {
309 249 },
310 250 // 查找科目
311 251 async _QuerySubjectList() {
312   - let fetchSubjectList =
  252 + let fetchSubjectList =
313 253 this.role == "ROLE_PERSONAL"
314 254 ? this.$request.pSubjectList
315 255 : this.$request.fetchSubjectList;
... ... @@ -332,7 +272,7 @@ export default {
332 272 },
333 273 // 查找答题卡类型
334 274 async _QueryTypeList() {
335   - let fetchTypeNames =
  275 + let fetchTypeNames =
336 276 this.role == "ROLE_PERSONAL"
337 277 ? this.$request.pPaperTagList
338 278 : this.$request.fetchTypeNames;
... ... @@ -367,16 +307,19 @@ export default {
367 307 .sel {
368 308 min-width: 160px;
369 309 }
  310 +
370 311 :deep(.el-cascader__tags) {
371 312 flex-wrap: nowrap;
372 313 }
373 314 }
374 315 }
  316 +
375 317 .content {
376 318 margin: 0 20px;
377 319 background: #f8f8f8;
378 320 padding: 12px;
379 321 border-radius: 20px;
  322 +
380 323 .item {
381 324 display: flex;
382 325 align-items: center;
... ... @@ -387,9 +330,11 @@ export default {
387 330 border-radius: 20px;
388 331 background: #fff;
389 332 margin-bottom: 12px;
  333 +
390 334 &:last-of-type {
391 335 margin-bottom: 0;
392 336 }
  337 +
393 338 .pic-box {
394 339 width: 80px;
395 340 height: 80px;
... ... @@ -400,12 +345,14 @@ export default {
400 345 text-align: center;
401 346 color: #fff;
402 347 font-weight: 500;
  348 +
403 349 .i-box {
404 350 padding-top: 10px;
405 351 font-size: 32px;
406 352 margin-bottom: 3px;
407 353 }
408 354 }
  355 +
409 356 .info {
410 357 height: 80px;
411 358 flex: 1;
... ... @@ -413,14 +360,17 @@ export default {
413 360 display: flex;
414 361 flex-direction: column;
415 362 justify-content: space-between;
  363 +
416 364 .s-line {
417 365 padding: 0 5px;
418 366 color: #e2e2e2;
419 367 }
  368 +
420 369 .title {
421 370 font-size: 16px;
422 371 color: #222;
423 372 font-weight: 500;
  373 +
424 374 .label {
425 375 display: inline-block;
426 376 font-size: 12px;
... ... @@ -432,12 +382,15 @@ export default {
432 382 transform: translateY(-2px);
433 383 }
434 384 }
  385 +
435 386 .person {
436 387 color: #666;
437 388 }
438 389 }
  390 +
439 391 .btn-box {
440 392 flex-shrink: 0;
  393 +
441 394 .edit {
442 395 margin-right: 12px;
443 396 }
... ...