| 4c4f7640  梁保满
 
路由表,路由前端文件 | 1 |   <template>
 | 
| 65f592b6  梁保满
 
答题卡列表页 | 2 |     <div>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 3 |       <back-box>
 | 
| 65f592b6  梁保满
 
答题卡列表页 | 4 |         <template slot="title">
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 5 |           <span>已归档答题卡</span>
 | 
| 65f592b6  梁保满
 
答题卡列表页 | 6
7 |         </template>
      </back-box>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 8
9 |       <div class="answer-header">
        <div class="sel-box">
 | 
| 225a00b6  梁保满
 
飞书问题解决 | 10 |           <!-- <el-cascader size="small"
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 11
12
13
14
15
16
17 |             class="sel sel2"
            :options="options"
            :props="props"
            collapse-tags
            clearable
            placeholder="选择年级-班级"
            v-model="query.gradeClass"
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 18 |             @change="changeGrade"
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 19
20
21
22 |             ><template slot-scope="{ node, data }">
              <span>{{ data.label }}</span>
              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
            </template></el-cascader
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 23 |           > -->
 | 
| 77da338a  梁保满
 
自测问题修改 | 24
25
26
27
28
29 |           <el-select class="sel" v-model="query.type" placeholder="选择类型" @change="_QueryData()">
            <el-option label="备题" :value="1"></el-option>
            <el-option label="组卷" :value="2"></el-option>
          </el-select>
          <el-select class="sel" v-model="query.classId" placeholder="选择班级" @change="changClazz">
            <el-option v-for="item in classList" :key="item.value" :label="item.label" :value="item.value">
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 30
31 |             </el-option>
          </el-select>
 | 
| 77da338a  梁保满
 
自测问题修改 | 32
33 |           <el-select class="sel" v-model="query.subjectName" placeholder="选择科目" @change="_QueryData()">
            <el-option v-for="item in subjectList" :key="item.value" :label="item.label" :value="item.value">
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 34
35 |             </el-option>
          </el-select>
 | 
| 77da338a  梁保满
 
自测问题修改 | 36
37 |           <el-select class="sel" v-model="query.tagId" placeholder="选择类型" @change="_QueryData()">
            <el-option v-for="item in typeList" :key="item.label" :label="item.label" :value="item.value">{{ item.label }}
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 38
39 |             </el-option>
          </el-select>
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 40 |   
 | 
| 77da338a  梁保满
 
自测问题修改 | 41
42
43 |           <el-input placeholder="输入试卷名称" v-model="query.title" class="input-with-select"
            @keyup.enter.native="_QueryData(true)">
            <el-button slot="append" icon="el-icon-search" @click="_QueryData(true)"></el-button>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 44
45
46 |           </el-input>
        </div>
      </div>
 | 
| 5424ef82  梁保满
 
接口调整 | 47 |       <ul class="content" v-loading="loading">
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 48
49
50
51
52
53
54 |         <li class="item" v-for="item in tableData" :key="item.id">
          <div class="pic-box">
            <p class="i-box"><i class="fa fa-map-o"></i></p>
            <p class="ids">{{ item.id }}</p>
          </div>
          <div class="info">
            <p class="title">
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 55
56 |               {{ item.title }}
              <span class="label" v-if="item.tag">{{ item.tag }}</span>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 57
58
59
60 |             </p>
            <p class="num">
              {{ item.gradeName }}
              <em class="s-line">|</em>
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 61 |               总题数:{{ item.questionNum }}
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 62 |               <em class="s-line">|</em>
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 63 |               预计时长:{{ item.examsDuration }}
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 64
65 |             </p>
            <p class="person">
 | 
| 77da338a  梁保满
 
自测问题修改 | 66 |               {{ item.realName }}<em class="s-line">|</em><span class="date">{{ item.modifiedTime }}</span>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 67
68
69 |             </p>
          </div>
          <div class="btn-box">
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 70 |             <el-tooltip effect="dark" content="恢复" placement="bottom">
 | 
| 77da338a  梁保满
 
自测问题修改 | 71
72 |               <el-button class="edit" type="info" size="mini" circle icon="fa fa-mail-reply"
                @click="modify(item)"></el-button>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 73
74 |             </el-tooltip>
            <el-popconfirm title="确定删除这张答题卡吗?" @confirm="remove(item)">
 | 
| 77da338a  梁保满
 
自测问题修改 | 75 |               <el-button slot="reference" class="delete" type="info" size="mini" circle icon="el-icon-delete"></el-button>
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 76
77
78
79 |             </el-popconfirm>
          </div>
        </li>
      </ul>
 | 
| f26ecfa4  阿宝
 
测试bug | 80 |       <div class="pagination-box">
 | 
| 77da338a  梁保满
 
自测问题修改 | 81
82 |         <el-pagination small="" layout="total,prev, pager, next" :hide-on-single-page="true" :total="total"
          @current-change="changePage" :current-page="page" :page-size="size">
 | 
| f26ecfa4  阿宝
 
测试bug | 83
84 |         </el-pagination>
      </div>
 | 
| 77da338a  梁保满
 
自测问题修改 | 85 |       <el-empty :image-size="100" v-if="!tableData.length && loading == false" description="没有更多数据"></el-empty>
 | 
| 65f592b6  梁保满
 
答题卡列表页 | 86 |     </div>
 | 
| 4c4f7640  梁保满
 
路由表,路由前端文件 | 87
88
89
90 |   </template>
  
  <script>
  export default {
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 91
92 |     data() {
      return {
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 93 |         role: "",
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 94 |         loading: false,
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125 |         props: { multiple: true, checkStrictly: true },
        options: [
          {
            value: 1,
            label: "一年级",
            children: [
              {
                value: 2,
                label: "二班",
              },
              {
                value: 3,
                label: "三班",
              },
            ],
          },
          {
            value: 4,
            label: "二年级",
            children: [
              {
                value: 5,
                label: "二班",
              },
              {
                value: 6,
                label: "三班",
              },
            ],
          },
        ],
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 126 |         query: {
 | 
| 77da338a  梁保满
 
自测问题修改 | 127 |           type: 1,
 | 
| 5424ef82  梁保满
 
接口调整 | 128
129
130 |           classId: "",
          subjectName: "",
          tagId: "",
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 131
132 |           title: "",
        },
 | 
| 5424ef82  梁保满
 
接口调整 | 133
134
135 |         classList: [],
        subjectList: [],
        typeList: [],
 | 
| f26ecfa4  阿宝
 
测试bug | 136 |         tableData: [],
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 137 |         total: 0,
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 138
139 |         page: 1,
        size: 20,
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 140
141 |       };
    },
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 142 |     async created() {
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 143
144
145 |       this.role =
        this.$store.getters.info.showRole ||
        this.$store.getters.info.permissions[0].role;
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 146
147
148
149
150 |       await this._QueryClassList();
      await this._QuerySubjectList();
      this._QueryTypeList();
      this._QueryData(false);
    },
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 151 |     methods: {
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 152
153 |       async modify(obj) {
        //恢复答题卡
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 154
155
156
157
158 |         let modifyPaper =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pModifyPaper
            : this.$request.modifyPaper;
        const { data, status, info } = await modifyPaper({
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 159 |           paperId: obj.id,
 | 
| 5424ef82  梁保满
 
接口调整 | 160 |           status: 1,
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 161 |         });
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 162
163
164
165 |         if (status == 0) {
          let type = this.query.title ? 1 : 0;
          this._QueryData(type);
        } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 166 |           this.$message.error(info);
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 167 |         }
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 168 |       },
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 169 |       async remove(obj) {
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 170 |         //删除答题卡
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 171
172
173
174
175 |         let delPaper =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pDelPaper
            : this.$request.delPaper;
        const { data, status, info } = await delPaper({
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 176 |           paperId: obj.id,
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 177 |         });
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 178
179
180
181 |         if (status == 0) {
          let type = this.query.title ? 1 : 0;
          this._QueryData(type);
        } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 182 |           this.$message.error(info);
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 183
184
185
186
187
188 |         }
      },
      //切换班级
      async changClazz() {
        await this._QuerySubjectList();
        this._QueryData(false);
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 189 |       },
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 190
191
192 |       changePage(page) {
        this.page = page;
        this._QueryData(this.query.title);
 | 
| f26ecfa4  阿宝
 
测试bug | 193 |       },
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 194
195 |       async _QueryData(type) {
        //获取答题卡列表
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 196 |         this.loading = true;
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 197
198
199
200
201
202 |         let query = {};
        if (!type) {
          this.query.title = "";
          query = { ...this.query };
        } else {
          query = { title: this.query.title };
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 203 |         }
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 204 |         query.classId = this.query.classId;
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 205
206
207
208
209 |         for (let key in query) {
          if (!query[key]) {
            query[key] = null;
          }
        }
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 210
211
212
213
214 |         let fetchPaperList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pPaperList
            : this.$request.fetchPaperList;
        const { data, status, info } = await fetchPaperList({
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 215 |           ...query,
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 216
217
218 |           status: 2,
          page: this.page,
          size: this.size,
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 219
220 |         });
        this.loading = false;
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 221 |         if (status === 0) {
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 222
223
224 |           this.total = data.total;
          this.tableData = (data.list && [...data.list]) || [];
        } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 225 |           this.$message.error(info);
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 226
227 |         }
      },
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 228
229 |       // 查找班级
      async _QueryClassList() {
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 230
231
232
233
234 |         let fetchClassList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pClassList
            : this.$request.fetchClassList;
        const { data, status, info } = await fetchClassList();
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 235
236 |         if (status === 0) {
          if (!!data.list) {
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 237
238
239 |             this.classList =
              data.list?.map((item) => {
                return {
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 240 |                   value: this.role == "ROLE_PERSONAL" ? item.id : item.classId,
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 241
242
243 |                   label: item.className,
                };
              }) || [];
 | 
| 5424ef82  梁保满
 
接口调整 | 244 |             this.query.classId = this.classList[0]?.value;
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 245 |           }
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 246 |         } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 247 |           this.$message.error(info);
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 248
249 |         }
      },
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 250
251 |       // 查找科目
      async _QuerySubjectList() {
 | 
| 77da338a  梁保满
 
自测问题修改 | 252 |         let fetchSubjectList =
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 253
254
255
256
257 |           this.role == "ROLE_PERSONAL"
            ? this.$request.pSubjectList
            : this.$request.fetchSubjectList;
  
        const { data, status, info } = await fetchSubjectList({
 | 
| 5424ef82  梁保满
 
接口调整 | 258 |           classId: this.query.classId,
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 259
260 |         });
        if (status === 0) {
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 261
262
263
264
265
266
267 |           this.subjectList =
            data.subjectNames?.map((item) => {
              return {
                value: item,
                label: item,
              };
            }) || [];
 | 
| 5424ef82  梁保满
 
接口调整 | 268 |           this.query.subjectName = this.subjectList[0]?.value;
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 269 |         } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 270 |           this.$message.error(info);
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 271
272 |         }
      },
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 273
274 |       // 查找答题卡类型
      async _QueryTypeList() {
 | 
| 77da338a  梁保满
 
自测问题修改 | 275 |         let fetchTypeNames =
 | 
| e371f2dc  梁保满
 
软件下载,学校,班级老师等报表导入... | 276
277
278
279
280 |           this.role == "ROLE_PERSONAL"
            ? this.$request.pPaperTagList
            : this.$request.fetchTypeNames;
  
        const { data, status, info } = await fetchTypeNames({
 | 
| 5424ef82  梁保满
 
接口调整 | 281 |           classId: this.query.classId,
 | 
| d703d72c  梁保满
 
首页,个人信息,班级名单,部分备题... | 282 |           tyle: 0,
 | 
| 5424ef82  梁保满
 
接口调整 | 283 |         });
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 284
285 |         if (status === 0) {
          this.typeList =
 | 
| d5987f6a  阿宝
 
组件修改答案 | 286 |             data.list?.map((item) => {
 | 
| ee6e7628  梁保满
 
备题组卷借口数据对接调整 | 287
288
289
290
291 |               return {
                value: item.tagId,
                label: item.tag,
              };
            }) || [];
 | 
| 5424ef82  梁保满
 
接口调整 | 292
293 |           this.typeList.unshift({
            value: "",
 | 
| f26ecfa4  阿宝
 
测试bug | 294 |             label: "请选择标签",
 | 
| 5424ef82  梁保满
 
接口调整 | 295 |           });
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 296 |         } else {
 | 
| 6fffbd55  阿宝
 
组卷接口调整 | 297 |           this.$message.error(info);
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 298
299
300
301 |         }
      },
    },
  };
 | 
| 4c4f7640  梁保满
 
路由表,路由前端文件 | 302
303 |   </script>
  
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 304
305
306
307
308
309 |   <style lang="scss" scoped>
  .answer-header {
    .sel-box {
      .sel {
        min-width: 160px;
      }
 | 
| 77da338a  梁保满
 
自测问题修改 | 310 |   
 | 
| b769660c  梁保满
 
备课组题细节调整,随堂问列表页面开发完成 | 311
312
313 |       :deep(.el-cascader__tags) {
        flex-wrap: nowrap;
      }
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 314
315 |     }
  }
 | 
| 77da338a  梁保满
 
自测问题修改 | 316 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 317
318
319
320
321 |   .content {
    margin: 0 20px;
    background: #f8f8f8;
    padding: 12px;
    border-radius: 20px;
 | 
| 77da338a  梁保满
 
自测问题修改 | 322 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 323
324
325
326
327
328
329
330
331
332 |     .item {
      display: flex;
      align-items: center;
      width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      padding: 12px;
      border-radius: 20px;
      background: #fff;
      margin-bottom: 12px;
 | 
| 77da338a  梁保满
 
自测问题修改 | 333 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 334
335
336 |       &:last-of-type {
        margin-bottom: 0;
      }
 | 
| 77da338a  梁保满
 
自测问题修改 | 337 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 338
339
340
341
342
343
344
345
346
347 |       .pic-box {
        width: 80px;
        height: 80px;
        border-radius: 10px;
        margin-right: 10px;
        flex-shrink: 0;
        background: #d7d7d7;
        text-align: center;
        color: #fff;
        font-weight: 500;
 | 
| 77da338a  梁保满
 
自测问题修改 | 348 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 349
350
351
352
353
354 |         .i-box {
          padding-top: 10px;
          font-size: 32px;
          margin-bottom: 3px;
        }
      }
 | 
| 77da338a  梁保满
 
自测问题修改 | 355 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 356
357
358
359
360
361
362 |       .info {
        height: 80px;
        flex: 1;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
 | 
| 77da338a  梁保满
 
自测问题修改 | 363 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 364
365
366
367 |         .s-line {
          padding: 0 5px;
          color: #e2e2e2;
        }
 | 
| 77da338a  梁保满
 
自测问题修改 | 368 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 369
370
371
372 |         .title {
          font-size: 16px;
          color: #222;
          font-weight: 500;
 | 
| 77da338a  梁保满
 
自测问题修改 | 373 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 374
375
376
377
378
379
380
381
382
383
384 |           .label {
            display: inline-block;
            font-size: 12px;
            color: #2e9afe;
            line-height: 16px;
            padding: 0 10px;
            border: 1px solid #2e9afe;
            border-radius: 10px;
            transform: translateY(-2px);
          }
        }
 | 
| 77da338a  梁保满
 
自测问题修改 | 385 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 386
387
388
389 |         .person {
          color: #666;
        }
      }
 | 
| 77da338a  梁保满
 
自测问题修改 | 390 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 391
392 |       .btn-box {
        flex-shrink: 0;
 | 
| 77da338a  梁保满
 
自测问题修改 | 393 |   
 | 
| 13b58a42  梁保满
 
备题组卷部分前端页面基本完成 | 394
395
396
397
398
399 |         .edit {
          margin-right: 12px;
        }
      }
    }
  }
 | 
| 4c4f7640  梁保满
 
路由表,路由前端文件 | 400 |   </style>
 |