Procházet zdrojové kódy

Merge branches 'master' and 'master' of http://119.23.210.103:3000/wy/zdqy_firm_former

zhangjingyuan před 2 roky
rodič
revize
a0eb0edcc9

+ 1 - 1
src/views/platform/examination/exam/detail.vue

@@ -52,7 +52,7 @@
                 </div>
                 <div class="info-item">
                     <span class="label">题目数量:</span>
-                    <span class="value">{{ paperData.totalCount }}</span>
+                    <span class="value">{{ paperData.questionCount }}</span>
                 </div>
                 <div class="info-item">
                     <span class="label">总分:</span>

+ 3 - 0
src/views/platform/examination/exam/edit.vue

@@ -345,6 +345,9 @@ export default {
             if (this.$utils.isEmpty(this.id)) {
                 return
             }
+            if (this.isDisabled) {
+                this.$message.info('非未发布状态的考试仅可修改限考时间!')
+            }
             const sql = `select id_, create_by_, ti_ku_id_, guan_lian_id_, kao_shi_ming_chen, kao_shi_lei_xing_, chuang_jian_shi_j, fa_bu_shi_jian_, fa_bu_ren_, xian_kao_shi_jian, xian_kao_ci_shu_, kao_shi_shi_chang, can_kao_ren_yuan_, zhuang_tai_, da_biao_zhan_bi_, ji_fen_fang_shi_, kao_shi_miao_shu_, yun_xu_bao_ming_ from t_exams where id_ = '${this.id}'`
             this.$common.request('sql', sql).then(res => {
                 const { data = [] } = res.variables || {}

+ 20 - 1
src/views/platform/examination/question/edit.vue

@@ -27,6 +27,7 @@
                         filterable
                         width="100%"
                         placeholder="请选择题型"
+                        :disabled="readonly"
                         @change="changeQuestionType"
                     >
                         <el-option
@@ -42,6 +43,7 @@
                         v-model="form.chu_ti_ren_"
                         filterable
                         width="100%"
+                        :disabled="readonly"
                         placeholder="请选择出题人"
                     >
                         <el-option
@@ -71,6 +73,11 @@
                         v-model="form.ping_fen_ren_"
                         filterable
                         width="100%"
+                        clearable
+                        multiple
+                        collapse-tags
+                        :multiple-limit="16"
+                        :disabled="readonly"
                         placeholder="请选择评分人"
                     >
                         <el-option
@@ -89,6 +96,7 @@
                     :maxlength="512"
                     :rows="2"
                     :autosize="readonly"
+                    :disabled="readonly"
                     placeholder="请输入题干内容"
                 />
             </el-form-item>
@@ -106,6 +114,7 @@
                     size="medium"
                     class="qustion-tag"
                     :disable-transitions="false"
+                    :disabled="readonly"
                     @close="handleTagDelete(tag)"
                 >
                     {{ tag }}
@@ -116,6 +125,7 @@
                     v-model="tagValue"
                     class="input-new-tag"
                     size="small"
+                    :disabled="readonly"
                     @keyup.enter.native="handleTagConfirm"
                     @blur="handleTagConfirm"
                 />
@@ -129,6 +139,7 @@
                     accept=".jpg,.jpeg,.png,.gif,.bmp,.webp"
                     multiple
                     download
+                    :disabled="readonly"
                     size=""
                 />
             </el-form-item>
@@ -139,6 +150,7 @@
                     :max="100"
                     :precision="0"
                     type="number"
+                    :disabled="readonly"
                     placeholder="请输入题目分值"
                 />
             </el-form-item>
@@ -174,6 +186,7 @@
                         type="textarea"
                         :rows="1"
                         :autosize="readonly"
+                        :disabled="readonly"
                         placeholder="请输入选项内容,最多可配置8个选项"
                     />
                     <el-radio-group v-if="form.ti_xing_ === '单选题'" v-model="item.radio">
@@ -216,6 +229,7 @@
                         type="textarea"
                         :rows="1"
                         :autosize="readonly"
+                        :disabled="readonly"
                         placeholder="请输入答案内容,最多可配置20个答案"
                     />
                     <div v-if="!readonly" class="operate-btn">
@@ -253,6 +267,7 @@
                         type="textarea"
                         :rows="4"
                         :autosize="readonly"
+                        :disabled="readonly"
                         placeholder="请输入答案内容"
                     />
                 </el-form-item>
@@ -263,6 +278,7 @@
                     type="textarea"
                     :rows="2"
                     :autosize="readonly"
+                    :disabled="readonly"
                     placeholder="请输入题目备注信息"
                 />
             </el-form-item>
@@ -339,7 +355,7 @@ export default {
                 xuan_xiang_shu_: '',
                 zheng_que_da_an_: '',
                 ping_fen_fang_shi: rateType[defaultType] || '',
-                ping_fen_ren_: userId,
+                ping_fen_ren_: [userId],
                 fen_zhi_: '',
                 bei_zhu_: '',
                 zhuang_tai_: '启用'
@@ -519,6 +535,7 @@ export default {
                 }
                 item.fen_zhi_ = parseInt(item.fen_zhi_)
                 item.fu_tu_ = item.fu_tu_ ? JSON.parse(item.fu_tu_) : ''
+                item.ping_fen_ren_ = item.ping_fen_ren_ ? item.ping_fen_ren_.split(',') : []
                 this.questionTags = item.biao_qian_ ? item.biao_qian_.split(',') : []
                 this.form = item
             })
@@ -586,6 +603,7 @@ export default {
                     this.form.zheng_que_da_an_ = a2.join(',')
                     break
                 case '填空题':
+                    this.form.ping_fen_ren_ = this.form.ping_fen_ren_ ? this.form.ping_fen_ren_.join(',') : ''
                     this.form.xuan_xiang_lei_xi = ''
                     this.form.da_an_ = ''
                     this.form.xuan_xiang_shu_ = a3.length
@@ -597,6 +615,7 @@ export default {
                     this.form.da_an_ = ''
                     break
                 case '简答题':
+                    this.form.ping_fen_ren_ = this.form.ping_fen_ren_ ? this.form.ping_fen_ren_.join(',') : ''
                     this.form.xuan_xiang_lei_xi = ''
                     this.form.da_an_ = ''
                     break

+ 39 - 11
src/views/platform/examination/questionBank/edit.vue

@@ -21,7 +21,12 @@
             @submit.native.prevent
         >
             <el-form-item label="题库名称:" prop="ti_ku_ming_cheng_">
-                <el-input v-model="form.ti_ku_ming_cheng_" type="text" :maxlength="128" />
+                <el-input
+                    v-model="form.ti_ku_ming_cheng_"
+                    type="text"
+                    :maxlength="128"
+                    :disabled="readonly"
+                />
             </el-form-item>
             <el-form-item label="题库分类:" prop="ti_ku_fen_lei_">
                 <el-select
@@ -29,6 +34,7 @@
                     filterable
                     allow-create
                     width="100%"
+                    :disabled="readonly"
                     placeholder="请选择题库分类"
                 >
                     <el-option
@@ -46,7 +52,7 @@
                         <i class="el-icon-question question-icon">:</i>
                     </el-tooltip>
                 </template>
-                <el-radio-group v-model="form.ti_ku_zhuang_tai_">
+                <el-radio-group v-model="form.ti_ku_zhuang_tai_" :disabled="readonly">
                     <el-radio label="可用">可用</el-radio>
                     <el-radio label="禁用">禁用</el-radio>
                 </el-radio-group>
@@ -58,7 +64,7 @@
                         <i class="el-icon-question question-icon">:</i>
                     </el-tooltip>
                 </template>
-                <el-radio-group v-model="form.shi_fou_gong_kai_">
+                <el-radio-group v-model="form.shi_fou_gong_kai_" :disabled="readonly">
                     <el-radio label="是">是&nbsp;&nbsp;&nbsp;&nbsp;</el-radio>
                     <el-radio label="否">否</el-radio>
                 </el-radio-group>
@@ -70,7 +76,7 @@
                         <i class="el-icon-question question-icon">:</i>
                     </el-tooltip>
                 </template>
-                <el-radio-group v-model="form.suo_shu_fan_wei_">
+                <el-radio-group v-model="form.suo_shu_fan_wei_" :disabled="readonly">
                     <el-radio label="科级">科级</el-radio>
                     <el-radio label="组级">组级</el-radio>
                 </el-radio-group>
@@ -78,6 +84,7 @@
                     v-if="form.suo_shu_fan_wei_ === '组级'"
                     v-model="form.bian_zhi_bu_men_"
                     width="100%"
+                    :disabled="readonly"
                     placeholder="请选择专业组"
                 >
                     <el-option
@@ -95,7 +102,7 @@
                         <i class="el-icon-question question-icon">:</i>
                     </el-tooltip>
                 </template>
-                <el-radio-group v-model="form.isLimit" @change="changeLimit">
+                <el-radio-group v-model="form.isLimit" :disabled="readonly" @change="changeLimit">
                     <el-radio label="0">不限</el-radio>
                     <el-radio label="1">限制</el-radio>
                 </el-radio-group>
@@ -104,6 +111,7 @@
                         v-model="form.xian_kao_ci_shu_"
                         :min="1"
                         :precision="0"
+                        :disabled="readonly"
                         placeholder="请输入单个用户最大限考次数"
                     />
                     <div class="unit">次</div>
@@ -116,7 +124,7 @@
                         <i class="el-icon-question question-icon">:</i>
                     </el-tooltip>
                 </template>
-                <el-radio-group v-model="form.limitTime">
+                <el-radio-group v-model="form.limitTime" :disabled="readonly">
                     <el-radio label="0">不限</el-radio>
                     <el-radio label="1">限制</el-radio>
                 </el-radio-group>
@@ -127,6 +135,7 @@
                             :min="0"
                             :max="72"
                             :precision="0"
+                            :disabled="readonly"
                         />
                         <div class="unit">小时</div>
                     </div>
@@ -136,6 +145,7 @@
                             :min="0"
                             :max="59"
                             :precision="0"
+                            :disabled="readonly"
                         />
                         <div class="unit">分钟</div>
                     </div>
@@ -153,11 +163,12 @@
                     :min="50"
                     :max="100"
                     :precision="0"
+                    :disabled="readonly"
                     placeholder="请输入达标分值占比"
                 />
                 <div class="unit">%</div>
             </el-form-item>
-            <el-form-item prop="ping_fen_ren_">
+            <el-form-item v-if="!readonly || form.ping_fen_ren_" prop="ping_fen_ren_">
                 <template slot="label">
                     默认评分人
                     <el-tooltip effect="dark" content="设置该题库试题的默认评分人,该题库下所有未设置评分人的题目都以该评分人为准。" placement="top">
@@ -180,6 +191,11 @@
                     v-model="form.ping_fen_ren_"
                     filterable
                     width="100%"
+                    clearable
+                    multiple
+                    collapse-tags
+                    :multiple-limit="16"
+                    :disabled="readonly"
                     placeholder="请选择默认评分人"
                 >
                     <el-option
@@ -190,12 +206,13 @@
                     />
                 </el-select>
             </el-form-item>
-            <el-form-item label="题库描述:" prop="miao_shu_">
+            <el-form-item v-if="!readonly || form.miao_shu_" label="题库描述:" prop="miao_shu_">
                 <el-input
                     v-model="form.miao_shu_"
                     type="textarea"
                     :autosize="readonly"
                     :rows="4"
+                    :disabled="readonly"
                     placeholder="请输入描述内容"
                 />
             </el-form-item>
@@ -321,6 +338,7 @@
         <ques-edit
             v-if="questionDialogVisible"
             :id="quesId"
+            :bank-id="id"
             :visible.sync="questionDialogVisible"
             :is-copy="isCopy"
             :ques-data="questionData"
@@ -466,10 +484,14 @@ export default {
             })
             return res
         },
-        transformUser (userId) {
+        transformUser (user) {
+            const idList = user.split(',')
             const { userList = [] } = this.$store.getters
-            const user = userList.find(u => u.userId === userId) || {}
-            return user.userName || '-'
+            const nameList = idList.map(id => {
+                const user = userList.find(u => u.userId === id) || {}
+                return user.userName || '-'
+            })
+            return nameList.join(',')
         },
         formatNum (num) {
             return num === null || num === undefined || num === '' ? 0 : num
@@ -520,6 +542,8 @@ export default {
                 }
                 const bank = bankData[0]
                 bank.isLimit = bank.xian_kao_ci_shu_ === '不限' ? '0' : '1'
+                bank.ping_fen_ren_ = bank.ping_fen_ren_ ? bank.ping_fen_ren_.split(',') : []
+                bank.suo_shu_fan_wei_ = bank.suo_shu_fan_wei_ === '不限' ? '不限' : '科级'
                 if (bank.kao_shi_shi_chang === '不限') {
                     bank.limitTime = '0'
                     bank.hours = null
@@ -626,6 +650,7 @@ export default {
             }
             this.form.bian_zhi_bu_men_ = this.form.suo_shu_fan_wei_ === '科级' ? '' : this.form.bian_zhi_bu_men_
             this.form.di_dian_ = this.level
+            this.form.ping_fen_ren_ = this.form.ping_fen_ren_ ? this.form.ping_fen_ren_.join(',') : ''
             delete this.form.isLimit
             delete this.form.limitTime
             delete this.form.hours
@@ -780,6 +805,9 @@ export default {
             }
             .value {
                 font-weight: 600;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                white-space: nowrap;
             }
         }
     }