소스 검색

首页部分样式调整,考试代码同步

cfort 1 년 전
부모
커밋
03cd2e0216

+ 2 - 2
src/layout/header-aside/components/header-message/index.vue

@@ -135,7 +135,7 @@ export default {
     },
     },
     computed: {
     computed: {
         tooltipContent () {
         tooltipContent () {
-            return this.messageCount === 0 ? this.$t('layout.header-aside.header-message.empty') : ''
+            return this.messageCount === 0 ? this.$t('layout.header-aside.header-message.empty') : '系统消息'
         }
         }
     },
     },
     mounted () {
     mounted () {
@@ -261,7 +261,7 @@ export default {
             this.subId = message.subId
             this.subId = message.subId
             this.editId = message.id
             this.editId = message.id
             this.dialogFormVisible = true
             this.dialogFormVisible = true
-            //   this.type = message.tableName ? message.tableName : ''
+            // this.type = message.tableName ? message.tableName : ''
             this.tableName = message.tableName ? message.tableName : ''
             this.tableName = message.tableName ? message.tableName : ''
             this.tableId = message.tableId ? message.tableId : ''
             this.tableId = message.tableId ? message.tableId : ''
             this.readonly = !!message.tableName
             this.readonly = !!message.tableName

+ 0 - 1
src/layout/header-aside/components/header-user/index.vue

@@ -72,7 +72,6 @@
                                 effect="light"
                                 effect="light"
                                 content="双击下方部门可切换主部门"
                                 content="双击下方部门可切换主部门"
                                 placement="top"
                                 placement="top"
-                                :enterable="true"
                             >
                             >
                                 <ibps-icon name="help" style="color: #dd5b44;" />
                                 <ibps-icon name="help" style="color: #dd5b44;" />
                             </el-tooltip>
                             </el-tooltip>

+ 160 - 202
src/views/platform/examination/exam/detail.vue

@@ -294,9 +294,7 @@ export default {
         filterPaperList () {
         filterPaperList () {
             return this.paperList.filter((paper) => {
             return this.paperList.filter((paper) => {
                 if (this.selectValue === 'all') return this.paperList
                 if (this.selectValue === 'all') return this.paperList
-                const { label } = this.paperOptions.find(
-                    (option) => option.value === this.selectValue
-                )
+                const { label } = this.paperOptions.find((option) => option.value === this.selectValue)
                 return paper.isQualified === label
                 return paper.isQualified === label
             })
             })
         },
         },
@@ -327,7 +325,6 @@ export default {
     },
     },
     mounted () {
     mounted () {
         this.loadData()
         this.loadData()
-
         // 监听键盘事件
         // 监听键盘事件
         window.addEventListener('keyup', this.handleKeyPress)
         window.addEventListener('keyup', this.handleKeyPress)
     },
     },
@@ -335,7 +332,7 @@ export default {
         window.removeEventListener('keyup', this.handleKeyPress)
         window.removeEventListener('keyup', this.handleKeyPress)
     },
     },
     methods: {
     methods: {
-    // 获取题库数据
+        // 获取题库数据
         async loadData () {
         async loadData () {
             if (!this.examId) {
             if (!this.examId) {
                 this.$message.error('获取题目信息失败,请重试!')
                 this.$message.error('获取题目信息失败,请重试!')
@@ -345,19 +342,15 @@ export default {
             this.paperList = await this.getQuestionData()
             this.paperList = await this.getQuestionData()
             console.log(this.paperList)
             console.log(this.paperList)
             this.paperData = this.paperList[0]
             this.paperData = this.paperList[0]
-
             this.posData()
             this.posData()
         },
         },
         // 获取部门数据
         // 获取部门数据
         posData () {
         posData () {
             this.paperList.forEach((item) => {
             this.paperList.forEach((item) => {
-                const user = this.$store.getters.userList.find(
-                    (u) => u.userName === item.userName
-                )
+                const user = this.$store.getters.userList.find((u) => u.userName === item.userName)
                 item.positionId = user.positionId
                 item.positionId = user.positionId
             })
             })
         },
         },
-
         handleActionEvent ({ key }) {
         handleActionEvent ({ key }) {
             switch (key) {
             switch (key) {
                 case 'cancel':
                 case 'cancel':
@@ -373,12 +366,12 @@ export default {
             }
             }
         },
         },
         getTagType (row) {
         getTagType (row) {
-            const temp = qualifiedType.find((i) => i.value === row.isQualified)
+            const temp = qualifiedType.find(i => i.value === row.isQualified)
             return temp ? temp.type : 'default'
             return temp ? temp.type : 'default'
         },
         },
         transformUser (userId) {
         transformUser (userId) {
             const { userList = [] } = this.$store.getters
             const { userList = [] } = this.$store.getters
-            const user = userList.find((u) => u.userId === userId) || {}
+            const user = userList.find(u => u.userId === userId) || {}
             return user.userName || '-'
             return user.userName || '-'
         },
         },
         transformTime (timeStamp) {
         transformTime (timeStamp) {
@@ -388,99 +381,66 @@ export default {
             return hours + '小时' + minutes + '分钟'
             return hours + '小时' + minutes + '分钟'
         },
         },
         getPassRate (list) {
         getPassRate (list) {
-            const passScore =
-        (parseFloat(list[0].qualifiedRadio) / 100) *
-        parseFloat(list[0].totalScore)
-            const passList = list.filter((i) => i.resultScore >= passScore)
-            return ((passList.length / list.length) * 100).toFixed(2) + '%'
+            const passScore = parseFloat(list[0].qualifiedRadio) / 100 * parseFloat(list[0].totalScore)
+            const passList = list.filter(i => i.resultScore >= passScore)
+            return (passList.length / list.length * 100).toFixed(2) + '%'
         },
         },
         getQuestionData () {
         getQuestionData () {
             const sql = `select qb.ti_ku_ming_cheng_ as bankName, ex.id_ as examId, ex.ti_ku_id_ as bankId, e.id_ as paperId, ex.zhuang_tai_ as examState, e.zhuang_tai_ as paperState, qb.ti_shu_ as questionCount, qb.zong_fen_ as totalScore, ex.kao_shi_ming_chen as examName, ex.can_kao_ren_yuan_ as examinee, e.kao_shi_ren_ as examineeId, ex.create_by_ as createBy, ex.chuang_jian_shi_j as createTime, ex.fa_bu_shi_jian_ as publishDate, ex.xian_kao_shi_jian as limitDate, ex.kao_shi_shi_chang as duration, ex.xian_kao_ci_shu_ as limitCount, ex.da_biao_zhan_bi_ as qualifiedRadio, ex.ji_fen_fang_shi_ as scoringType, ex.yun_xu_bao_ming_ as allowRegist, ex.kao_shi_miao_shu_ as examDesc,ex.sui_ji_chou_ti_ as isRand, ex.sui_ji_ti_shu_ as randNumber,ex.chou_ti_zong_fen_ as randScore,ex.ti_mu_zong_shu_ as randTotal, e.de_fen_ as score, e.bao_ming_shi_jian as applyTime, e.kai_shi_shi_jian_ as startTime, e.jie_shu_shi_jian_ as endTime from t_exams ex, t_question_bank qb, t_examination e where ex.ti_ku_id_ = qb.id_ and e.exam_id_ = ex.id_ and ex.id_ = '${this.examId}' order by e.kao_shi_ren_ desc, e.jie_shu_shi_jian_ desc`
             const sql = `select qb.ti_ku_ming_cheng_ as bankName, ex.id_ as examId, ex.ti_ku_id_ as bankId, e.id_ as paperId, ex.zhuang_tai_ as examState, e.zhuang_tai_ as paperState, qb.ti_shu_ as questionCount, qb.zong_fen_ as totalScore, ex.kao_shi_ming_chen as examName, ex.can_kao_ren_yuan_ as examinee, e.kao_shi_ren_ as examineeId, ex.create_by_ as createBy, ex.chuang_jian_shi_j as createTime, ex.fa_bu_shi_jian_ as publishDate, ex.xian_kao_shi_jian as limitDate, ex.kao_shi_shi_chang as duration, ex.xian_kao_ci_shu_ as limitCount, ex.da_biao_zhan_bi_ as qualifiedRadio, ex.ji_fen_fang_shi_ as scoringType, ex.yun_xu_bao_ming_ as allowRegist, ex.kao_shi_miao_shu_ as examDesc,ex.sui_ji_chou_ti_ as isRand, ex.sui_ji_ti_shu_ as randNumber,ex.chou_ti_zong_fen_ as randScore,ex.ti_mu_zong_shu_ as randTotal, e.de_fen_ as score, e.bao_ming_shi_jian as applyTime, e.kai_shi_shi_jian_ as startTime, e.jie_shu_shi_jian_ as endTime from t_exams ex, t_question_bank qb, t_examination e where ex.ti_ku_id_ = qb.id_ and e.exam_id_ = ex.id_ and ex.id_ = '${this.examId}' order by e.kao_shi_ren_ desc, e.jie_shu_shi_jian_ desc`
             return new Promise((resolve, reject) => {
             return new Promise((resolve, reject) => {
-                this.$common
-                    .request('sql', sql)
-                    .then((res) => {
-                        const { data = [] } = res.variables || {}
-                        if (!data.length) {
-                            this.$message.warning('未查询到已提交的考试记录,请先完成考试!')
-                            this.closeDialog()
-                            return
-                        }
-                        const result = []
-                        const scorrType = {
-                            最高分: 'max',
-                            平均分: 'avg',
-                            最近得分: 'latest'
+                this.$common.request('sql', sql).then(res => {
+                    const { data = [] } = res.variables || {}
+                    if (!data.length) {
+                        this.$message.warning('未查询到已提交的考试记录,请先完成考试!')
+                        this.closeDialog()
+                        return
+                    }
+                    const result = []
+                    const scorrType = {
+                        '最高分': 'max',
+                        '平均分': 'avg',
+                        '最近得分': 'latest'
+                    }
+                    data.forEach(item => {
+                        const index = result.findIndex(i => i.examineeId === item.examineeId)
+                        if (index === -1) {
+                            result.push({
+                                ...item,
+                                totalCount: data.length,
+                                totalScore: item.isRand === '1' ? parseFloat(item.randScore) : parseFloat(item.totalScore),
+                                statusList: [item.paperState],
+                                scoreList: [parseFloat(item.score || -1)]
+                            })
+                        } else {
+                            result[index].scoreList.push(parseFloat(item.score || -1))
+                            result[index].statusList.push(item.paperState)
                         }
                         }
-                        data.forEach((item) => {
-                            const index = result.findIndex(
-                                (i) => i.examineeId === item.examineeId
-                            )
-                            if (index === -1) {
-                                result.push({
-                                    ...item,
-                                    totalCount: data.length,
-                                    totalScore: item.isRand === '1' ? parseFloat(item.randScore) : parseFloat(item.totalScore),
-                                    statusList: [item.paperState],
-                                    scoreList: [parseFloat(item.score || -1)]
-                                })
-                            } else {
-                                result[index].scoreList.push(parseFloat(item.score || -1))
-                                result[index].statusList.push(item.paperState)
-                            }
-                        })
-                        const nodatadesc = '/'
-                        result.forEach((item, index) => {
-                            const finishScore = item.scoreList.filter((i) => i !== -1)
-                            item.userName = this.transformUser(item.examineeId)
-                            item.max = finishScore.length
-                                ? round(max(finishScore), 2)
-                                : nodatadesc
-                            item.min = finishScore.length
-                                ? round(min(finishScore), 2)
-                                : nodatadesc
-                            item.avg = finishScore.length
-                                ? round(mean(finishScore), 2)
-                                : nodatadesc
-                            item.sum = finishScore.length
-                                ? round(sum(finishScore), 2)
-                                : nodatadesc
-                            item.latest = finishScore.length
-                                ? round(finishScore[0], 2)
-                                : nodatadesc
-                            item.examCount = item.scoreList.length
-                            item.finishCount = finishScore.length
-                            item.count = `${item.examCount}/${item.finishCount}`
-                            item.examStatus =
-                item.examCount === item.finishCount ? '已完成' : '未完成'
-                            item.resultScore = item[scorrType[item.scoringType]]
-                            item.isQualified =
-                item.examStatus === '已完成'
-                    ? item.resultScore >=
-                    (parseFloat(item.qualifiedRadio) / 100) *
-                      parseFloat(item.totalScore)
-                        ? '达标'
-                        : '未达标'
-                    : '考试未结束'
-                        })
-                        const finishList = result.filter((i) => i.examStatus === '已完成')
-                        this.maxScore = finishList.length
-                            ? maxBy(finishList, 'max').max
-                            : nodatadesc
-                        this.minScore = finishList.length
-                            ? minBy(finishList, 'min').min
-                            : nodatadesc
-                        this.avgScore = finishList.length
-                            ? meanBy(finishList, 'avg').toFixed(2)
-                            : nodatadesc
-                        this.passRate = finishList.length
-                            ? this.getPassRate(finishList)
-                            : nodatadesc
-                        resolve(result)
                     })
                     })
-                    .catch((error) => {
-                        reject(error)
+                    const nodatadesc = '/'
+                    result.forEach((item, index) => {
+                        const finishScore = item.scoreList.filter(i => i !== -1)
+                        item.userName = this.transformUser(item.examineeId)
+                        item.max = finishScore.length ? round(max(finishScore), 2) : nodatadesc
+                        item.min = finishScore.length ? round(min(finishScore), 2) : nodatadesc
+                        item.avg = finishScore.length ? round(mean(finishScore), 2) : nodatadesc
+                        item.sum = finishScore.length ? round(sum(finishScore), 2) : nodatadesc
+                        item.latest = finishScore.length ? round(finishScore[0], 2) : nodatadesc
+                        item.examCount = item.scoreList.length
+                        item.finishCount = finishScore.length
+                        item.count = `${item.examCount}/${item.finishCount}`
+                        item.examStatus = item.examCount === item.finishCount ? '已完成' : '未完成'
+                        item.resultScore = item[scorrType[item.scoringType]]
+                        item.isQualified = item.examStatus === '已完成' ? item.resultScore >= (parseFloat(item.qualifiedRadio) / 100 * parseFloat(item.totalScore)) ? '达标' : '未达标' : '考试未结束'
                     })
                     })
+                    const finishList = result.filter(i => i.examStatus === '已完成')
+                    this.maxScore = finishList.length ? maxBy(finishList, 'max').max : nodatadesc
+                    this.minScore = finishList.length ? minBy(finishList, 'min').min : nodatadesc
+                    this.avgScore = finishList.length ? meanBy(finishList, 'avg').toFixed(2) : nodatadesc
+                    this.passRate = finishList.length ? this.getPassRate(finishList) : nodatadesc
+                    resolve(result)
+                }).catch(error => {
+                    reject(error)
+                })
             })
             })
         },
         },
         handleRowDblclick (row) {
         handleRowDblclick (row) {
@@ -631,113 +591,111 @@ export default {
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.paper-detail-dialog {
-  ::v-deep {
-    .el-dialog__body {
-      position: relative;
-      height: calc(100vh - 115px);
-      width: 1080px;
-      margin: 0 auto;
-      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-      .el-radio,
-      .el-checkbox {
-        display: block;
-        margin-bottom: 10px;
-        pointer-events: none;
-        &:last-child {
-          margin-bottom: 0;
-        }
-      }
-      .el-radio-button {
-        pointer-events: none;
-      }
-      .el-radio__label,
-      .el-checkbox__label {
-        font-size: 16px;
-        white-space: normal;
-        line-height: 1.5;
-      }
-      .el-input {
-        margin-bottom: 10px;
-        pointer-events: none;
-        &:last-child {
-          margin-bottom: 0;
-        }
-      }
-      .el-tag {
-        margin-right: 0;
-      }
-      .ibps-p-0 {
-        margin: 0;
-        .list-group {
-          display: inline-block;
-          width: 100%;
+    .paper-detail-dialog {
+        ::v-deep {
+            .el-dialog__body {
+                position: relative;
+                height: calc(100vh - 115px);
+                width: 1080px;
+                margin: 0 auto;
+                box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+                .el-radio, .el-checkbox {
+                    display: block;
+                    margin-bottom: 10px;
+                    pointer-events: none;
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+                .el-radio-button {
+                    pointer-events: none;
+                }
+                .el-radio__label, .el-checkbox__label {
+                    font-size: 16px;
+                    white-space: normal;
+                    line-height: 1.5;
+                }
+                .el-input {
+                    margin-bottom: 10px;
+                    pointer-events: none;
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+                .el-tag {
+                    margin-right: 0;
+                }
+                .ibps-p-0 {
+                    margin: 0;
+                    .list-group {
+                        display: inline-block;
+                        width: 100%;
+                    }
+                }
+            }
+            .el-dialog__header {
+                text-align: center;
+            }
         }
         }
-      }
-    }
-    .el-dialog__header {
-      text-align: center;
-    }
-  }
-  .container {
-    position: relative;
-    height: calc(100vh - 160px);
-    padding: 20px;
-    .paper-info {
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: flex-start;
-      margin-bottom: 20px;
-      background-color: #f5f5f5;
-      border: 1px solid #ddd;
-      padding: 10px;
-      border-radius: 5px;
-      font-size: 16px;
-    }
+        .container {
+            position: relative;
+            height: calc(100vh - 160px);
+            padding: 20px;
+            .paper-info {
+                display: flex;
+                flex-wrap: wrap;
+                justify-content: flex-start;
+                margin-bottom: 20px;
+                background-color: #f5f5f5;
+                border: 1px solid #ddd;
+                padding: 10px;
+                border-radius: 5px;
+                font-size: 16px;
+            }
 
 
-    .info-item {
-      width: 33.3%;
-      margin-bottom: 20px;
-      display: flex;
-      align-items: center;
-      .label {
-        width: 100px;
-        font-weight: bold;
-        color: #333;
-      }
-      .value {
-        flex: 1;
-        color: #666;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-    }
+            .info-item {
+                width: 33.3%;
+                margin-bottom: 20px;
+                display: flex;
+                align-items: center;
+                .label {
+                    width: 100px;
+                    font-weight: bold;
+                    color: #333;
+                }
+                .value {
+                    flex: 1;
+                    color: #666;
+                    white-space: nowrap;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                }
+            }
 
 
-    .paper-table {
-      .exam-table-header {
-        text-align: center;
-      }
-      ::v-deep {
-        .el-table {
-          th {
-            font-size: 14px !important;
-            text-align: center;
-          }
-          td {
-            font-size: 14px !important;
-          }
-          .el-table__row {
-            cursor: pointer;
-          }
+            .paper-table {
+                .exam-table-header {
+                    text-align: center;
+                }
+                ::v-deep {
+                    .el-table {
+                        th {
+                            font-size: 14px !important;
+                            text-align: center;
+                        }
+                        td {
+                            font-size: 14px !important;
+                        }
+                        .el-table__row {
+                            cursor: pointer;
+                        }
+                    }
+                }
+            }
+            .paper-status {
+                margin-bottom: 10px;
+                display: flex;
+                justify-content: space-between;
+            }
         }
         }
-      }
     }
     }
-    .paper-status {
-      margin-bottom: 10px;
-      display: flex;
-      justify-content: space-between;
-    }
-  }
-}
 </style>
 </style>

+ 72 - 89
src/views/platform/examination/exam/edit.vue

@@ -184,13 +184,7 @@
                     <div class="unit">次</div>
                     <div class="unit">次</div>
                 </div>
                 </div>
             </el-form-item>
             </el-form-item>
-            <el-form-item
-                v-if="
-                    form.isCountLimit === '0' ||
-                        (form.isCountLimit === '1' && form.xian_kao_ci_shu_ > 1)
-                "
-                prop="ji_fen_fang_shi_"
-            >
+            <el-form-item v-if="form.isCountLimit === '0' || form.isCountLimit === '1' && form.xian_kao_ci_shu_ > 1" prop="ji_fen_fang_shi_">
                 <template slot="label">
                 <template slot="label">
                     计分方式
                     计分方式
                     <el-tooltip
                     <el-tooltip
@@ -282,10 +276,7 @@
                     <el-radio label="否">否</el-radio>
                     <el-radio label="否">否</el-radio>
                 </el-radio-group>
                 </el-radio-group>
             </el-form-item>
             </el-form-item>
-            <el-form-item
-                v-if="!isDisabled || form.guan_lian_id_"
-                prop="guan_lian_id_"
-            >
+            <el-form-item v-if="!isDisabled || form.guan_lian_id_" prop="guan_lian_id_">
                 <template slot="label">
                 <template slot="label">
                     关联培训记录
                     关联培训记录
                     <el-tooltip effect="dark" content="关联培训记录。" placement="top">
                     <el-tooltip effect="dark" content="关联培训记录。" placement="top">
@@ -329,8 +320,7 @@ import ActionUtils from '@/utils/action'
 import { examTypeOptions, scoringType } from '../constants'
 import { examTypeOptions, scoringType } from '../constants'
 export default {
 export default {
     components: {
     components: {
-        IbpsCustomDialog: () =>
-            import('@/business/platform/data/templaterender/custom-dialog')
+        IbpsCustomDialog: () => import('@/business/platform/data/templaterender/custom-dialog')
     },
     },
     props: {
     props: {
         visible: {
         visible: {
@@ -529,11 +519,8 @@ export default {
                     data[0].minutes = null
                     data[0].minutes = null
                 } else {
                 } else {
                     data[0].isTimeLimit = '1'
                     data[0].isTimeLimit = '1'
-                    data[0].hours = Math.floor(
-                        data[0].kao_shi_shi_chang / (1000 * 60 * 60)
-                    )
-                    data[0].minutes =
-            (data[0].kao_shi_shi_chang % (1000 * 60 * 60)) / (60 * 1000)
+                    data[0].hours = Math.floor(data[0].kao_shi_shi_chang / (1000 * 60 * 60))
+                    data[0].minutes = (data[0].kao_shi_shi_chang % (1000 * 60 * 60)) / (60 * 1000)
                 }
                 }
                 this.form = data[0]
                 this.form = data[0]
                 if (this.form.sui_ji_chou_ti_ === '1') {
                 if (this.form.sui_ji_chou_ti_ === '1') {
@@ -588,8 +575,7 @@ export default {
                     if (isTimeLimit === '0') {
                     if (isTimeLimit === '0') {
                         this.form.kao_shi_shi_chang = '不限'
                         this.form.kao_shi_shi_chang = '不限'
                     } else {
                     } else {
-                        this.form.kao_shi_shi_chang =
-              (this.form.hours * 60 + this.form.minutes) * 60 * 1000
+                        this.form.kao_shi_shi_chang = (this.form.hours * 60 + this.form.minutes) * 60 * 1000
                     }
                     }
                     delete this.form.isDateLimit
                     delete this.form.isDateLimit
                     delete this.form.isCountLimit
                     delete this.form.isCountLimit
@@ -597,10 +583,7 @@ export default {
                     delete this.form.hours
                     delete this.form.hours
                     delete this.form.minutes
                     delete this.form.minutes
                     this.form.chuang_jian_shi_j = this.$common.getDateNow(19)
                     this.form.chuang_jian_shi_j = this.$common.getDateNow(19)
-                    this.form.xian_kao_shi_jian =
-            xian_kao_shi_jian !== '不限'
-                ? this.$common.getFormatDate('string', 16, xian_kao_shi_jian)
-                : xian_kao_shi_jian
+                    this.form.xian_kao_shi_jian = xian_kao_shi_jian !== '不限' ? this.$common.getFormatDate('string', 16, xian_kao_shi_jian) : xian_kao_shi_jian
                     // 表单验证通过,提交表单
                     // 表单验证通过,提交表单
                     this.submitForm()
                     this.submitForm()
                 } else {
                 } else {
@@ -639,73 +622,73 @@ export default {
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.exam-dialog {
-    ::v-deep {
-        .el-dialog {
-            max-width: 1080px;
+    .exam-dialog {
+        ::v-deep {
+            .el-dialog {
+                max-width: 1080px;
+            }
+            .el-dialog__body {
+                height: calc(88vh - 150px);
+            }
+            .el-form-item {
+                margin-bottom: 14px !important;
+                &:last-child {
+                    margin-bottom: 0 !important;
+                }
+                .el-form-item__label {
+                    font-size: 14px !important;
+                }
+            }
+            .el-form-item--small .el-form-item__error {
+                padding-top: 6px;
+            }
         }
         }
-        .el-dialog__body {
-      height: calc(88vh - 150px);
-    }
-    .el-form-item {
-      margin-bottom: 14px !important;
-      &:last-child {
-        margin-bottom: 0 !important;
-      }
-      .el-form-item__label {
-        font-size: 14px !important;
-      }
-    }
-    .el-form-item--small .el-form-item__error {
-      padding-top: 6px;
-    }
-  }
-  .exam-form {
-    padding: 20px;
-    .question-icon {
-      font-size: 13px;
-      color: #606060;
-    }
-    .date-picker {
-      margin-left: 20px;
-    }
-    .custom-dialog {
-      ::v-deep {
-        .el-input--prefix .el-input__inner {
-          padding-left: 15px;
+        .exam-form {
+            padding: 20px;
+            .question-icon {
+                font-size: 13px;
+                color: #606060;
+            }
+            .date-picker {
+                margin-left: 20px;
+            }
+            .custom-dialog {
+                ::v-deep {
+                    .el-input--prefix .el-input__inner {
+                        padding-left: 15px;
+                    }
+                }
+            }
+        }
+        .inline-item {
+            ::v-deep {
+                .el-radio-group {
+                    margin-right: 20px;
+                }
+            }
+            .time {
+                display: inline-block;
+            }
+        }
+        .unit {
+            display: inline-block;
+            margin: 0 20px 0 5px;
+        }
+        .handrand{
+            ::v-deep .el-form-item__content{
+                display: flex;
+                flex-wrap: wrap;
+            }
+            .hand-item{
+                display: flex;
+                margin-right: 20px;
+                margin-bottom: 10px;
+            }
         }
         }
-      }
-    }
-  }
-  .inline-item {
-    ::v-deep {
-      .el-radio-group {
-        margin-right: 20px;
-      }
-    }
-    .time {
-      display: inline-block;
-    }
-  }
-  .unit {
-    display: inline-block;
-    margin: 0 20px 0 5px;
-  }
-  .handrand{
-    ::v-deep .el-form-item__content{
-        display: flex;
-        flex-wrap: wrap;
-    }
-    .hand-item{
-        display: flex;
-        margin-right: 20px;
-        margin-bottom: 10px;
     }
     }
-  }
-}
-.tiku {
-    .el-button {
-        margin-left: 20px;
+    .tiku {
+        .el-button {
+            margin-left: 20px;
+        }
     }
     }
-}
 </style>
 </style>

+ 0 - 3
src/views/platform/examination/question/judge.vue

@@ -90,7 +90,6 @@
                         </div>
                         </div>
                     </div>
                     </div>
                 </template>
                 </template>
-
             </div>
             </div>
 
 
             <div class="question-link">
             <div class="question-link">
@@ -109,9 +108,7 @@
                             @click="showIndex = index + 1"
                             @click="showIndex = index + 1"
                         >{{ index + 1 }}</div>
                         >{{ index + 1 }}</div>
                     </template>
                     </template>
-
                 </div>
                 </div>
-
             </div>
             </div>
         </div>
         </div>
         <div slot="footer" class="el-dialog--center">
         <div slot="footer" class="el-dialog--center">

+ 296 - 370
src/views/platform/examination/questionBank/detail.vue

@@ -36,11 +36,7 @@
                 </div>
                 </div>
                 <div class="info-item">
                 <div class="info-item">
                     <span class="label">得分:</span>
                     <span class="label">得分:</span>
-                    <span class="value">{{
-                        paperData.status !== "已完成"
-                            ? "未评分"
-                            : `${paperData.resultScore}分`
-                    }}</span>
+                    <span class="value">{{ paperData.status !== '已完成' ? '未评分' : `${paperData.resultScore}分` }}</span>
                 </div>
                 </div>
                 <div class="info-item">
                 <div class="info-item">
                     <span class="label">报考时间:</span>
                     <span class="label">报考时间:</span>
@@ -81,8 +77,7 @@
                     class="question-item"
                     class="question-item"
                 >
                 >
                     <div v-if="item.questions.length > 0" class="type">
                     <div v-if="item.questions.length > 0" class="type">
-                        {{ item.type
-                        }}<el-tag
+                        {{ item.type }}<el-tag
                             v-if="paperStatus === 'all'"
                             v-if="paperStatus === 'all'"
                             type="primary"
                             type="primary"
                             size="small"
                             size="small"
@@ -96,9 +91,7 @@
                     >
                     >
                         <div class="stem">
                         <div class="stem">
                             <span>{{ `【${qIndex + 1}】${q.stem}` }}</span>
                             <span>{{ `【${qIndex + 1}】${q.stem}` }}</span>
-                            <el-tag type="primary" size="small">{{
-                                `${q.questionScore}分`
-                            }}</el-tag>
+                            <el-tag type="primary" size="small">{{ `${q.questionScore}分` }}</el-tag>
                         </div>
                         </div>
                         <div v-if="q.img && q.img.length" class="img">
                         <div v-if="q.img && q.img.length" class="img">
                             <ibps-image
                             <ibps-image
@@ -122,30 +115,21 @@
                                     }}</el-tag>
                                     }}</el-tag>
                                 </div>
                                 </div>
                                 <div class="answer-content">
                                 <div class="answer-content">
-                                    <el-radio-group
-                                        v-if="q.questionType === '单选题'"
-                                        :value="q.answer"
-                                    >
+                                    <el-radio-group v-if="q.questionType === '单选题'" :value="q.answer">
                                         <el-radio
                                         <el-radio
                                             v-for="(o, i) in q.options"
                                             v-for="(o, i) in q.options"
                                             :key="`${index}${qIndex}${i}`"
                                             :key="`${index}${qIndex}${i}`"
                                             :label="o.label"
                                             :label="o.label"
                                         >{{ `${o.label}.${o.value}` }}</el-radio>
                                         >{{ `${o.label}.${o.value}` }}</el-radio>
                                     </el-radio-group>
                                     </el-radio-group>
-                                    <el-checkbox-group
-                                        v-else-if="q.questionType === '多选题'"
-                                        :value="q.answer"
-                                    >
+                                    <el-checkbox-group v-else-if="q.questionType === '多选题'" :value="q.answer">
                                         <el-checkbox
                                         <el-checkbox
                                             v-for="(o, i) in q.options"
                                             v-for="(o, i) in q.options"
                                             :key="`${index}${qIndex}${i}`"
                                             :key="`${index}${qIndex}${i}`"
                                             :label="o.label"
                                             :label="o.label"
                                         >{{ `${o.label}.${o.value}` }}</el-checkbox>
                                         >{{ `${o.label}.${o.value}` }}</el-checkbox>
                                     </el-checkbox-group>
                                     </el-checkbox-group>
-                                    <el-radio-group
-                                        v-else-if="q.questionType === '判断题'"
-                                        :value="q.answer"
-                                    >
+                                    <el-radio-group v-else-if="q.questionType === '判断题'" :value="q.answer">
                                         <el-radio-button label="√">√</el-radio-button>
                                         <el-radio-button label="√">√</el-radio-button>
                                         <el-radio-button label="×">×</el-radio-button>
                                         <el-radio-button label="×">×</el-radio-button>
                                     </el-radio-group>
                                     </el-radio-group>
@@ -164,30 +148,21 @@
                             <div class="right">
                             <div class="right">
                                 <div class="title">参考答案:</div>
                                 <div class="title">参考答案:</div>
                                 <div class="answer-content">
                                 <div class="answer-content">
-                                    <el-radio-group
-                                        v-if="q.questionType === '单选题'"
-                                        :value="q.rightKey"
-                                    >
+                                    <el-radio-group v-if="q.questionType === '单选题'" :value="q.rightKey">
                                         <el-radio
                                         <el-radio
                                             v-for="(o, i) in q.options"
                                             v-for="(o, i) in q.options"
                                             :key="`${index}${qIndex}${i}`"
                                             :key="`${index}${qIndex}${i}`"
                                             :label="o.label"
                                             :label="o.label"
                                         >{{ `${o.label}.${o.value}` }}</el-radio>
                                         >{{ `${o.label}.${o.value}` }}</el-radio>
                                     </el-radio-group>
                                     </el-radio-group>
-                                    <el-checkbox-group
-                                        v-else-if="q.questionType === '多选题'"
-                                        :value="q.rightKey"
-                                    >
+                                    <el-checkbox-group v-else-if="q.questionType === '多选题'" :value="q.rightKey">
                                         <el-checkbox
                                         <el-checkbox
                                             v-for="(o, i) in q.options"
                                             v-for="(o, i) in q.options"
                                             :key="`${index}${qIndex}${i}`"
                                             :key="`${index}${qIndex}${i}`"
                                             :label="o.label"
                                             :label="o.label"
                                         >{{ `${o.label}.${o.value}` }}</el-checkbox>
                                         >{{ `${o.label}.${o.value}` }}</el-checkbox>
                                     </el-checkbox-group>
                                     </el-checkbox-group>
-                                    <el-radio-group
-                                        v-else-if="q.questionType === '判断题'"
-                                        :value="q.rightKey"
-                                    >
+                                    <el-radio-group v-else-if="q.questionType === '判断题'" :value="q.rightKey">
                                         <el-radio-button label="√">√</el-radio-button>
                                         <el-radio-button label="√">√</el-radio-button>
                                         <el-radio-button label="×">×</el-radio-button>
                                         <el-radio-button label="×">×</el-radio-button>
                                     </el-radio-group>
                                     </el-radio-group>
@@ -214,9 +189,7 @@
                     v-for="(paper, index) in paperList"
                     v-for="(paper, index) in paperList"
                     :key="index"
                     :key="index"
                     :timestamp="paper.applyTime"
                     :timestamp="paper.applyTime"
-                    :icon="
-                        paper.status === '已完成' ? 'el-icon-circle-check' : 'el-icon-view'
-                    "
+                    :icon="paper.status === '已完成' ? 'el-icon-circle-check' : 'el-icon-view'"
                     :type="paper.status === '已完成' ? 'success' : 'primary'"
                     :type="paper.status === '已完成' ? 'success' : 'primary'"
                     placement="top"
                     placement="top"
                     size="large"
                     size="large"
@@ -313,23 +286,23 @@ export default {
             set () {}, // 解决报错
             set () {}, // 解决报错
             get () {
             get () {
                 const showPaperData = cloneDeep(this.paperData)
                 const showPaperData = cloneDeep(this.paperData)
-        showPaperData.list?.forEach((papers) => {
-            papers.questions = papers.questions.filter((paper) => {
-                switch (this.paperStatus) {
-                    case 'all':
-                        return true
-                    case 'false':
-                        return paper.score && paper.score === '0'
-                    case 'true':
-                        return paper.score && paper.score !== '0'
-                    case 'noFinished':
-                        return paper.score === ''
-                    default:
-                        break
-                }
-            })
-        })
-        return showPaperData
+                showPaperData.list?.forEach((papers) => {
+                    papers.questions = papers.questions.filter((paper) => {
+                        switch (this.paperStatus) {
+                            case 'all':
+                                return true
+                            case 'false':
+                                return paper.score && paper.score === '0'
+                            case 'true':
+                                return paper.score && paper.score !== '0'
+                            case 'noFinished':
+                                return paper.score === ''
+                            default:
+                                break
+                        }
+                    })
+                })
+                return showPaperData
             }
             }
         }
         }
     },
     },
@@ -349,7 +322,7 @@ export default {
         window.removeEventListener('keyup', this.handleKeyPress)
         window.removeEventListener('keyup', this.handleKeyPress)
     },
     },
     methods: {
     methods: {
-    // 获取题库数据
+        // 获取题库数据
         async loadData () {
         async loadData () {
             if (!this.bankId) {
             if (!this.bankId) {
                 this.$message.error('获取题目信息失败,请重试!')
                 this.$message.error('获取题目信息失败,请重试!')
@@ -357,8 +330,7 @@ export default {
                 return
                 return
             }
             }
             this.paperList = await this.getQuestionData()
             this.paperList = await this.getQuestionData()
-            this.paperData =
-        this.paperList.find((i) => i.dataId === this.id) || this.paperList[0]
+            this.paperData = this.paperList.find(i => i.dataId === this.id) || this.paperList[0]
             this.showPaperId = this.paperData.dataId
             this.showPaperId = this.paperData.dataId
 
 
             const isAllNotFinish = this.paperList.every(item => item.status !== '已完成')
             const isAllNotFinish = this.paperList.every(item => item.status !== '已完成')
@@ -384,139 +356,96 @@ export default {
         },
         },
         transformUser (userId) {
         transformUser (userId) {
             const { userList = [] } = this.$store.getters
             const { userList = [] } = this.$store.getters
-            const user = userList.find((u) => u.userId === userId) || {}
+            const user = userList.find(u => u.userId === userId) || {}
             return user.userName || '-'
             return user.userName || '-'
         },
         },
         getQuestionData () {
         getQuestionData () {
-            const param = this.examId
-                ? `and e.exam_id_ = '${this.examId}'`
-                : 'and e.exam_id_ is null'
+            const param = this.examId ? `and e.exam_id_ = '${this.examId}'` : 'and e.exam_id_ is null'
             const sql = `select e.id_ as dataId, e.exam_id_ as examId, e.kao_shi_ren_ as examinee, e.bu_men_ as dept, e.zhuang_tai_ as status, e.bao_ming_shi_jian as applyTime, e.kai_shi_shi_jian_ as startTime, e.jie_shu_shi_jian_ as endTime, e.ti_ku_zong_fen_ as totalScore, e.de_fen_ as resultScore, ed.ti_mu_id_ as questionId, ed.ti_gan_ as stem, ed.ti_xing_ as questionType, ed.fen_zhi_ as questionScore, ed.fu_tu_ as img, ed.xuan_xiang_lei_xi as optionsType, ed.xuan_xiang_ as options, ed.can_kao_da_an_ as rightKey, ed.ping_fen_fang_shi as rateType, ed.ping_fen_ren_ as rater, ed.hui_da_ as answer, ed.ping_yue_shi_jian as rateTime, ed.de_fen_ as score, ed.jie_xi_ as analysis, q.ti_ku_ming_cheng_ as paperName, case when e.exam_id_ is not null then ex.da_biao_zhan_bi_ else q.da_biao_zhan_bi_ end as qualifiedRadio, case when e.exam_id_ is not null then ex.ji_fen_fang_shi_ else q.ji_fen_fang_shi_ end as scoringType, case when e.exam_id_ is not null then ex.kao_shi_ming_chen else '自主考核' end as examName, case when e.exam_id_ is not null then ex.xian_kao_shi_jian else '不限' end as limitDate from t_examination e left join t_examination_detail ed on e.id_ = ed.parent_id_ left join  t_question_bank q on e.ti_ku_id_ = q.id_ left join  t_exams ex on e.exam_id_ = ex.id_ where e.ti_ku_id_ = '${this.bankId}' ${param} and e.kao_shi_ren_ = '${this.examineeId}' and (e.zhuang_tai_ = '已完成' or e.zhuang_tai_ = '已交卷') order by field(ed.ti_xing_, '单选题', '多选题', '判断题', '填空题', '简答题')`
             const sql = `select e.id_ as dataId, e.exam_id_ as examId, e.kao_shi_ren_ as examinee, e.bu_men_ as dept, e.zhuang_tai_ as status, e.bao_ming_shi_jian as applyTime, e.kai_shi_shi_jian_ as startTime, e.jie_shu_shi_jian_ as endTime, e.ti_ku_zong_fen_ as totalScore, e.de_fen_ as resultScore, ed.ti_mu_id_ as questionId, ed.ti_gan_ as stem, ed.ti_xing_ as questionType, ed.fen_zhi_ as questionScore, ed.fu_tu_ as img, ed.xuan_xiang_lei_xi as optionsType, ed.xuan_xiang_ as options, ed.can_kao_da_an_ as rightKey, ed.ping_fen_fang_shi as rateType, ed.ping_fen_ren_ as rater, ed.hui_da_ as answer, ed.ping_yue_shi_jian as rateTime, ed.de_fen_ as score, ed.jie_xi_ as analysis, q.ti_ku_ming_cheng_ as paperName, case when e.exam_id_ is not null then ex.da_biao_zhan_bi_ else q.da_biao_zhan_bi_ end as qualifiedRadio, case when e.exam_id_ is not null then ex.ji_fen_fang_shi_ else q.ji_fen_fang_shi_ end as scoringType, case when e.exam_id_ is not null then ex.kao_shi_ming_chen else '自主考核' end as examName, case when e.exam_id_ is not null then ex.xian_kao_shi_jian else '不限' end as limitDate from t_examination e left join t_examination_detail ed on e.id_ = ed.parent_id_ left join  t_question_bank q on e.ti_ku_id_ = q.id_ left join  t_exams ex on e.exam_id_ = ex.id_ where e.ti_ku_id_ = '${this.bankId}' ${param} and e.kao_shi_ren_ = '${this.examineeId}' and (e.zhuang_tai_ = '已完成' or e.zhuang_tai_ = '已交卷') order by field(ed.ti_xing_, '单选题', '多选题', '判断题', '填空题', '简答题')`
             return new Promise((resolve, reject) => {
             return new Promise((resolve, reject) => {
-                this.$common
-                    .request('sql', sql)
-                    .then((res) => {
-                        const { data = [] } = res.variables || {}
-                        if (!data.length) {
-                            this.$message.error('未查询到已提交的考试记录,请先完成考试!')
-                            this.closeDialog()
-                            return
+                this.$common.request('sql', sql).then(res => {
+                    const { data = [] } = res.variables || {}
+                    if (!data.length) {
+                        this.$message.error('未查询到已提交的考试记录,请先完成考试!')
+                        this.closeDialog()
+                        return
+                    }
+                    const result = []
+                    data.map(item => {
+                        // 数据转换
+                        if (['单选题', '多选题'].includes(item.questionType)) {
+                            item.options = JSON.parse(item.options)
+                            item.rightKey = item.questionType === '多选题' ? item.rightKey.split(',') : item.rightKey
+                            item.answer = item.questionType === '多选题' ? JSON.parse(item.answer) : item.answer
+                        } else if (item.questionType === '填空题') {
+                            item.rightKey = item.rightKey ? JSON.parse(item.rightKey) : []
+                            item.answer = item.answer ? JSON.parse(item.answer) : Array(item.rightKey.length).fill('')
+                        } else if (item.questionType === '简答题') {
+                            item.rightKey = [item.rightKey]
+                            item.answer = [item.answer]
                         }
                         }
-                        const result = []
-                        data.map((item) => {
-                            // 数据转换
-                            if (['单选题', '多选题'].includes(item.questionType)) {
-                                item.options = JSON.parse(item.options)
-                                item.rightKey =
-                  item.questionType === '多选题'
-                      ? item.rightKey.split(',')
-                      : item.rightKey
-                                item.answer =
-                  item.questionType === '多选题'
-                      ? JSON.parse(item.answer)
-                      : item.answer
-                            } else if (item.questionType === '填空题') {
-                                item.rightKey = item.rightKey ? JSON.parse(item.rightKey) : []
-                                item.answer = item.answer
-                                    ? JSON.parse(item.answer)
-                                    : Array(item.rightKey.length).fill('')
-                            } else if (item.questionType === '简答题') {
-                                item.rightKey = [item.rightKey]
-                                item.answer = [item.answer]
-                            }
-                            item.img = item.img ? JSON.parse(item.img) : ''
+                        item.img = item.img ? JSON.parse(item.img) : ''
 
 
-                            // 数据分组
-                            const index = result.findIndex((i) => i.dataId === item.dataId)
-                            if (index === -1) {
-                                const {
-                                    dataId,
-                                    examinee,
-                                    dept,
-                                    status,
-                                    applyTime,
-                                    startTime,
-                                    endTime,
-                                    qualifiedRadio,
-                                    paperName,
-                                    totalScore,
-                                    resultScore,
-                                    scoringType
-                                } = item || {}
-                                result.push({
-                                    dataId,
-                                    examinee,
-                                    dept,
-                                    status,
-                                    applyTime,
-                                    startTime,
-                                    endTime,
-                                    qualifiedRadio,
-                                    isQualified:
-                    status === '已完成'
-                        ? parseFloat(resultScore) >=
-                        (parseFloat(qualifiedRadio) / 100) *
-                          parseFloat(totalScore)
-                        : '',
-                                    paperName,
-                                    totalScore: parseFloat(totalScore),
-                                    resultScore: parseFloat(resultScore),
-                                    // totalCount: data.length,
-                                    scoringType,
-                                    list: [
-                                        {
-                                            type: item.questionType,
-                                            questions: [item]
-                                        }
-                                    ]
+                        // 数据分组
+                        const index = result.findIndex(i => i.dataId === item.dataId)
+                        if (index === -1) {
+                            const { dataId, examinee, dept, status, applyTime, startTime, endTime, qualifiedRadio, paperName, totalScore, resultScore, scoringType } = item || {}
+                            result.push({
+                                dataId,
+                                examinee,
+                                dept,
+                                status,
+                                applyTime,
+                                startTime,
+                                endTime,
+                                qualifiedRadio,
+                                isQualified: status === '已完成' ? parseFloat(resultScore) >= (parseFloat(qualifiedRadio) / 100 * parseFloat(totalScore)) : '',
+                                paperName,
+                                totalScore: parseFloat(totalScore),
+                                resultScore: parseFloat(resultScore),
+                                // totalCount: data.length,
+                                scoringType,
+                                list: [{
+                                    type: item.questionType,
+                                    questions: [item]
+                                }]
+                            })
+                        } else {
+                            const qIndex = result[index].list.findIndex(i => i.type === item.questionType)
+                            if (qIndex === -1) {
+                                result[index].list.push({
+                                    type: item.questionType,
+                                    questions: [item]
                                 })
                                 })
                             } else {
                             } else {
-                                const qIndex = result[index].list.findIndex(
-                                    (i) => i.type === item.questionType
-                                )
-                                if (qIndex === -1) {
-                                    result[index].list.push({
-                                        type: item.questionType,
-                                        questions: [item]
-                                    })
-                                } else {
-                                    result[index].list[qIndex].questions.push(item)
-                                }
+                                result[index].list[qIndex].questions.push(item)
                             }
                             }
-                        })
-                        result.forEach((item) => {
-                            let count = 0
-                            item.list.forEach((i) => {
-                                count += i.questions.length
-                                i.totalScore = i.questions.reduce(
-                                    (a, b) => a + parseFloat(b.questionScore),
-                                    0
-                                )
-                            })
-                            item.totalCount = count
-                        })
-                        // 获取最高分最低分
-                        const { maxScore, minScore } = result
-                            .filter((i) => i.status === '已完成')
-                            .reduce(
-                                (acc, curr) => {
-                                    if (curr.resultScore > acc.maxScore) {
-                                        acc.maxScore = curr.resultScore
-                                    }
-                                    if (curr.resultScore < acc.minScore) {
-                                        acc.minScore = curr.resultScore
-                                    }
-                                    return acc
-                                },
-                                { maxScore: -Infinity, minScore: Infinity }
-                            )
-                        this.maxScore = maxScore
-                        this.minScore = minScore
-                        resolve(result)
+                        }
                     })
                     })
-                    .catch((error) => {
-                        reject(error)
+                    result.forEach(item => {
+                        let count = 0
+                        item.list.forEach(i => {
+                            count += i.questions.length
+                            i.totalScore = i.questions.reduce((a, b) => a + parseFloat(b.questionScore), 0)
+                        })
+                        item.totalCount = count
                     })
                     })
+                    // 获取最高分最低分
+                    const { maxScore, minScore } = result.filter(i => i.status === '已完成').reduce((acc, curr) => {
+                        if (curr.resultScore > acc.maxScore) {
+                            acc.maxScore = curr.resultScore
+                        }
+                        if (curr.resultScore < acc.minScore) {
+                            acc.minScore = curr.resultScore
+                        }
+                        return acc
+                    }, { maxScore: -Infinity, minScore: Infinity })
+                    this.maxScore = maxScore
+                    this.minScore = minScore
+                    resolve(result)
+                }).catch(error => {
+                    reject(error)
+                })
             })
             })
         },
         },
         changePaper (id, status) {
         changePaper (id, status) {
@@ -525,7 +454,7 @@ export default {
                 return
                 return
             }
             }
             this.showPaperId = id
             this.showPaperId = id
-            this.paperData = this.paperList.find((i) => i.dataId === id)
+            this.paperData = this.paperList.find(i => i.dataId === id)
             console.log(id)
             console.log(id)
             this.paperStatus = 'all'
             this.paperStatus = 'all'
         },
         },
@@ -538,205 +467,202 @@ export default {
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.paper-detail-dialog {
-  ::v-deep {
-    .el-dialog__body {
-      position: relative;
-      height: calc(100vh - 115px);
-      width: 1080px;
-      margin: 0 auto;
-      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-      .el-radio,
-      .el-checkbox {
-        display: block;
-        margin-bottom: 10px;
-        pointer-events: none;
-        &:last-child {
-          margin-bottom: 0;
-        }
-      }
-      .el-radio-button {
-        pointer-events: none;
-      }
-      .el-radio__label,
-      .el-checkbox__label {
-        font-size: 16px;
-        white-space: normal;
-        line-height: 1.5;
-      }
-      .el-input {
-        margin-bottom: 10px;
-        pointer-events: none;
-        &:last-child {
-          margin-bottom: 0;
-        }
-      }
-      .el-tag {
-        margin-right: 0;
-      }
-      .ibps-p-0 {
-        margin: 0;
-        .list-group {
-          display: inline-block;
-          width: 100%;
+    .paper-detail-dialog {
+        ::v-deep {
+            .el-dialog__body {
+                position: relative;
+                height: calc(100vh - 115px);
+                width: 1080px;
+                margin: 0 auto;
+                box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+                .el-radio, .el-checkbox {
+                    display: block;
+                    margin-bottom: 10px;
+                    pointer-events: none;
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+                .el-radio-button {
+                    pointer-events: none;
+                }
+                .el-radio__label, .el-checkbox__label {
+                    font-size: 16px;
+                    white-space: normal;
+                    line-height: 1.5;
+                }
+                .el-input {
+                    margin-bottom: 10px;
+                    pointer-events: none;
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+                .el-tag {
+                    margin-right: 0;
+                }
+                .ibps-p-0 {
+                    margin: 0;
+                    .list-group {
+                        display: inline-block;
+                        width: 100%;
+                    }
+                }
+            }
+            .el-dialog__header {
+                text-align: center;
+            }
         }
         }
-      }
-    }
-    .el-dialog__header {
-      text-align: center;
-    }
-  }
-  .container {
-    position: relative;
-    height: calc(100vh - 160px);
-    padding: 20px;
-    .paper-info {
-      display: flex;
-      flex-wrap: wrap;
-      justify-content: flex-start;
-      margin-bottom: 20px;
-      background-color: #f5f5f5;
-      border: 1px solid #ddd;
-      padding: 10px;
-      border-radius: 5px;
-      font-size: 16px;
-    }
+        .container {
+            position: relative;
+            height: calc(100vh - 160px);
+            padding: 20px;
+            .paper-info {
+                display: flex;
+                flex-wrap: wrap;
+                justify-content: flex-start;
+                margin-bottom: 20px;
+                background-color: #f5f5f5;
+                border: 1px solid #ddd;
+                padding: 10px;
+                border-radius: 5px;
+                font-size: 16px;
+            }
 
 
-    .info-item {
-      width: 33.3%;
-      margin-bottom: 10px;
-      display: flex;
-      align-items: center;
-      .label {
-        width: 100px;
-        font-weight: bold;
-        color: #333;
-      }
-      .value {
-        flex: 1;
-        color: #666;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-    }
+            .info-item {
+                width: 33.3%;
+                margin-bottom: 10px;
+                display: flex;
+                align-items: center;
+                .label {
+                    width: 100px;
+                    font-weight: bold;
+                    color: #333;
+                }
+                .value {
+                    flex: 1;
+                    color: #666;
+                    white-space: nowrap;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                }
+            }
 
 
-    .question {
-      font-size: 16px;
-      .question-item {
-        padding-top: 20px;
-        &:last-child {
-          padding-bottom: 20px;
-        }
-        .card {
-          padding-bottom: 10px;
-          &:last-child {
-            padding-bottom: 0;
-          }
-        }
-        .type {
-          font-size: 20px;
-          font-weight: 600;
-          margin-bottom: 20px;
-          .score {
-            margin-left: 10px;
-            vertical-align: bottom;
-          }
-        }
-        .stem {
-          display: flex;
-          margin-bottom: 10px;
-          align-items: flex-start;
-          > span:first-child {
-            line-height: 1.5;
-            margin-right: 10px;
-          }
-        }
-        .img {
-          position: relative;
-          width: 100%;
-          margin-bottom: 10px;
+            .question {
+                font-size: 16px;
+                .question-item {
+                    padding-top: 20px;
+                    &:last-child {
+                        padding-bottom: 20px;
+                    }
+                    .card {
+                        padding-bottom: 10px;
+                        &:last-child {
+                            padding-bottom: 0;
+                        }
+                    }
+                    .type {
+                        font-size: 20px;
+                        font-weight: 600;
+                        margin-bottom: 20px;
+                        .score {
+                            margin-left: 10px;
+                            vertical-align: bottom;
+                        }
+                    }
+                    .stem {
+                        display: flex;
+                        margin-bottom: 10px;
+                        align-items: flex-start;
+                        > span:first-child {
+                            line-height: 1.5;
+                            margin-right: 10px;
+                        }
+                    }
+                    .img {
+                        position: relative;
+                        width: 100%;
+                        margin-bottom: 10px;
+                    }
+                    .answer {
+                        display: flex;
+                        border: 1px solid #ccc;
+                        border-radius: 5px;
+                        .mine, .right {
+                            flex: 1;
+                            padding: 10px;
+                            .title {
+                                font-size: 16px;
+                                color: #01a39e;
+                                margin-bottom: 10px;
+                                .score {
+                                    vertical-align: middle;
+                                }
+                            }
+                        }
+                        .mine {
+                            background-color: #f5f5f5;
+                            border-right: 1px solid #ccc;
+                        }
+                    }
+                }
+            }
         }
         }
-        .answer {
-          display: flex;
-          border: 1px solid #ccc;
-          border-radius: 5px;
-          .mine,
-          .right {
-            flex: 1;
-            padding: 10px;
-            .title {
-              font-size: 16px;
-              color: #01a39e;
-              margin-bottom: 10px;
-              .score {
-                vertical-align: middle;
-              }
+        .date-line {
+            position: fixed;
+            width: 280px;
+            height: calc(100vh - 120px);
+            overflow-y: auto;
+            top: 60px;
+            left: calc(50vw + 540px);
+            padding-right: 8px;
+            ::v-deep {
+                .el-timeline {
+                    padding-left: 10px;
+                }
+                .el-card__body {
+                    padding: 10px 10px;
+                }
+                .el-tag {
+                    margin-left: 5px;
+                }
+            }
+            .timeline-card {
+                cursor: pointer;
+                .card-item {
+                    margin-bottom: 10px;
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+            }
+            .active-card {
+                box-shadow: 0 2px 12px 0 rgba(64, 158, 255, 1);
             }
             }
-          }
-          .mine {
-            background-color: #f5f5f5;
-            border-right: 1px solid #ccc;
-          }
         }
         }
-      }
-    }
-  }
-  .date-line {
-    position: fixed;
-    width: 280px;
-    height: calc(100vh - 120px);
-    overflow-y: auto;
-    top: 60px;
-    left: calc(50vw + 540px);
-    padding-right: 8px;
-    ::v-deep {
-      .el-timeline {
-        padding-left: 10px;
-      }
-      .el-card__body {
-        padding: 10px 10px;
-      }
-      .el-tag {
-        margin-left: 5px;
-      }
     }
     }
-    .timeline-card {
-      cursor: pointer;
-      .card-item {
-        margin-bottom: 10px;
-        &:last-child {
-          margin-bottom: 0;
+    @media screen and (max-width: 1600px) {
+        .paper-detail-dialog {
+            ::v-deep {
+                .el-dialog__body {
+                    width: 880px;
+                }
+            }
+            .date-line {
+                left: calc(50vw + 440px);
+            }
         }
         }
-      }
-    }
-    .active-card {
-      box-shadow: 0 2px 12px 0 rgba(64, 158, 255, 1);
-    }
-  }
-}
-@media screen and (max-width: 1600px) {
-  .paper-detail-dialog {
-    ::v-deep {
-      .el-dialog__body {
-        width: 880px;
-      }
     }
     }
-    .date-line {
-      left: calc(50vw + 440px);
-    }
-  }
-}
-@media screen and (max-width: 1400px) {
-  .paper-detail-dialog {
-    ::v-deep {
-      .el-dialog__body {
-        width: 800px;
-      }
-    }
-    .date-line {
-      left: calc(50vw + 400px);
+    @media screen and (max-width: 1400px) {
+        .paper-detail-dialog {
+            ::v-deep {
+                .el-dialog__body {
+                    width: 800px;
+                }
+            }
+            .date-line {
+                left: calc(50vw + 400px);
+            }
+        }
     }
     }
-  }
-}
 </style>
 </style>

+ 1 - 1
src/views/platform/message/inner/detail/index.vue

@@ -271,7 +271,7 @@ export default {
                             if (obj.skipType === 1) {
                             if (obj.skipType === 1) {
                                 this.showDialog = true
                                 this.showDialog = true
                             } else if (obj.skipType === 2 ) {
                             } else if (obj.skipType === 2 ) {
-                                let canshu = form.taskId?form.taskId:JSON.parse(form.skipTypeMsg).pathInfo
+                                let canshu = form.taskId ? form.taskId : JSON.parse(form.skipTypeMsg).pathInfo
                                 const sql = "select count(id_) as num from ibps_bpm_task_pendding where task_id_='" + canshu + "'"
                                 const sql = "select count(id_) as num from ibps_bpm_task_pendding where task_id_='" + canshu + "'"
                                 curdPost('sql', sql).then(res => {
                                 curdPost('sql', sql).then(res => {
                                     if (res.variables.data[0].num > 0) {
                                     if (res.variables.data[0].num > 0) {