Commit 35280aea106990ad2f93281834defa34aa52476f
1 parent
9dce0ee1
1
Showing
9 changed files
with
2432 additions
and
1702 deletions
.DS_Store
No preview for this file type
wenjuan-h5/config/api.js
| ... | ... | @@ -6,14 +6,14 @@ |
| 6 | 6 | |
| 7 | 7 | |
| 8 | 8 | |
| 9 | -// const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/meserver/admin-server' | |
| 10 | -// const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/meserver/api' | |
| 9 | +const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/meserver/admin-server' | |
| 10 | +const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/meserver/api' | |
| 11 | 11 | // const DOMAIN_PREFIXPING = 'http://172.16.61.123:80/cdwlMall/admin-server' |
| 12 | 12 | // const DOMAIN_PREFIX = 'http://172.16.61.123:80/cdwlMall/api' |
| 13 | 13 | |
| 14 | -const host = `${window.location.protocol}//${window.location.host}` | |
| 15 | -const DOMAIN_PREFIXPING = `${host}/cdwlMall/admin-server` | |
| 16 | -const DOMAIN_PREFIX =`${host}/cdwlMall/meserver/api` | |
| 14 | +// const host = `${window.location.protocol}//${window.location.host}` | |
| 15 | +// const DOMAIN_PREFIXPING = `${host}/cdwlMall/admin-server` | |
| 16 | +// const DOMAIN_PREFIX =`${host}/cdwlMall/meserver/api` | |
| 17 | 17 | |
| 18 | 18 | // const DOMAIN_PREFIXPING = `http://192.168.2.152:9003` |
| 19 | 19 | // const DOMAIN_PREFIX = 'http://192.168.2.152:9007' |
| ... | ... | @@ -42,9 +42,9 @@ const TERMINAL = 1 |
| 42 | 42 | |
| 43 | 43 | module.exports = { |
| 44 | 44 | //问卷查询接口 |
| 45 | - wenjuanList: WX_API_BASEPING + '/cereQuestionnaireTable/queryById', | |
| 46 | - //问卷提交接口 | |
| 47 | - wenjuanUp: WX_API_BASE + '/cereQuestionnaireAnswering/add', | |
| 45 | + wenjuanList: WX_API_BASEPING + '/cereQuestionnaireTable/queryById', | |
| 46 | + //问卷提交接口 | |
| 47 | + wenjuanUp: WX_API_BASE + '/cereQuestionnaireAnswering/add', | |
| 48 | 48 | //问卷解析token |
| 49 | - jietoken: WX_API_BASE + '/cereQuestionnaireAnswering/get/token', | |
| 49 | + jietoken: WX_API_BASE + '/cereQuestionnaireAnswering/get/token', | |
| 50 | 50 | } | ... | ... |
wenjuan-h5/pages_category_page1/question/question copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="questionnaire"> | |
| 3 | + | |
| 4 | + <!-- 单选问题 --> | |
| 5 | + <view style="padding:20px;background-color: #f6f6f6;"> | |
| 6 | + <view> | |
| 7 | + <h2 | |
| 8 | + style="color: #000;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;text-align:center"> | |
| 9 | + {{ wenjuan.title }} | |
| 10 | + </h2> | |
| 11 | + <!-- <h5 style="padding: 10px 0;color: #000;">请您认真作答以下题目</h5> --> | |
| 12 | + <view class="" style="padding: 10px 0; height: 200px;"> | |
| 13 | + <image :src="this.$hostUrl + wenjuan.coverImage" mode="scaleToFill" | |
| 14 | + style="width:100%;height: 100%;border-radius: 10px;"></image> | |
| 15 | + </view> | |
| 16 | + </view> | |
| 17 | + <view style="padding: 15px;background-color: #fff;border-radius: 10px;"> | |
| 18 | + <view> | |
| 19 | + <!-- <u-parse :content="wenjuan.remarks"></u-parse> --> | |
| 20 | + <rich-text :nodes="wenjuan.remarks"></rich-text> | |
| 21 | + <!-- {{wenjuan.remarks}} --> | |
| 22 | + <!-- <view> | |
| 23 | + <view style="display:flex;padding:10px 0;justify-content: space-between;"> | |
| 24 | + <view style="display:flex;"> | |
| 25 | + {{wenjuan.createUser}} | |
| 26 | + </view> | |
| 27 | + <view> | |
| 28 | + {{wenjuan.createTime}} | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + </view> --> | |
| 32 | + <!-- <view>预计答题时间:{{this.wenjuan.estimatedTime}}分钟</view> --> | |
| 33 | + </view> | |
| 34 | + </view> | |
| 35 | + <view class="question" v-for="(item, index) in wenjuan.question" style=""> | |
| 36 | + <p class="question-title" | |
| 37 | + style="font-weight:600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;"> | |
| 38 | + <span v-if="item.required == '必填'" style="color: red;">*</span>{{ index }}.<span | |
| 39 | + style="color:#0FBB59;padding:0 3px;">({{ item.type }})</span> | |
| 40 | + {{ item.title }} | |
| 41 | + </p> | |
| 42 | + <view> | |
| 43 | + | |
| 44 | + <!-- <radio-group @change="radioChange" v-model="item.choose" | |
| 45 | + v-if="item.type =='单选'" > | |
| 46 | + <label :class="item.choose == val ?'option green':'option gary' " :key="val.answer" v-for="(val, idx) in item.options"> | |
| 47 | + <view> | |
| 48 | + <radio :value="val.answer" activeBackgroundColor="#E5FFF0" | |
| 49 | + activeBorderColor="#4FCF86" iconColor="#0FBB59" /> | |
| 50 | + </view> | |
| 51 | + <view>{{val.answer}}</view> | |
| 52 | + </label> | |
| 53 | + </radio-group> --> | |
| 54 | + <u-radio-group v-model="item.choose" v-if="item.type == '单选'" style="width: 100%;"> | |
| 55 | + <view v-if="item.layoutType != 2"> | |
| 56 | + <u-radio v-for="(val, idx) in item.options" style="width: 100%;" | |
| 57 | + :class="val.answer == item.choose ? 'option green' : 'option gary'" :name="val.answer" | |
| 58 | + :disabled="item.disabled" :key="idx" :label-disabled="false" active-color="#4FCF86"> | |
| 59 | + {{ val.answer }} | |
| 60 | + </u-radio> | |
| 61 | + </view> | |
| 62 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 63 | + <div v-for="(val, idx) in item.options" | |
| 64 | + :class="['myOption gary', { optionActive: myChoose.answer == val.answer }]" :key="idx" | |
| 65 | + @click="chooseAnswerOne(item.options, val, idx)"> | |
| 66 | + <p class="chooseTag" v-if="myChoose.answer == val.answer"><u-icon name="checkbox-mark" | |
| 67 | + color="#fff" size="8pt"></u-icon></p> | |
| 68 | + {{ val.answer }} | |
| 69 | + </div> | |
| 70 | + </view> | |
| 71 | + </u-radio-group> | |
| 72 | + | |
| 73 | + <u-checkbox-group v-model="item.choose" v-if="item.type == '多选'" style="width: 100%;"> | |
| 74 | + {{item}} | |
| 75 | + <view v-if="item.layoutType != 2"> | |
| 76 | + <u-checkbox v-for="(val, idx) in item.options" style="width: 100%;" | |
| 77 | + :class="val.disabled ? 'option green' : 'option gary'" v-model="val.disabled" | |
| 78 | + :label-disabled="false" :name="val.answer" :key="idx" | |
| 79 | + active-color="#4FCF86">{{ val.answer }}</u-checkbox> | |
| 80 | + </view> | |
| 81 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 82 | + <div v-for="(val, index) in item.options" | |
| 83 | + :class="['myOption gary', { optionActive: val.disabled == true }]" :key="index" | |
| 84 | + @click="chooseAnswerMore(val, index,item)"> | |
| 85 | + <p class="chooseTag" v-if="val.disabled == true"><u-icon name="checkbox-mark" | |
| 86 | + color="#fff" size="8pt"></u-icon></p> | |
| 87 | + {{ val.answer }} | |
| 88 | + </div> | |
| 89 | + </view> | |
| 90 | + </u-checkbox-group> | |
| 91 | + <!-- <checkbox-group @change="checkboxChange(index,$event,item,idx)" | |
| 92 | + v-model="item.choose" | |
| 93 | + > | |
| 94 | + | |
| 95 | + <label :class="item.choose == val.answer ?'option green':'option gary' " > | |
| 96 | + <view style="margin-bottom:5px;"> | |
| 97 | + | |
| 98 | + <checkbox :name="val.answer" activeBackgroundColor="#E5FFF0" | |
| 99 | + activeBorderColor="#4FCF86" iconColor="#0FBB59" /> | |
| 100 | + <span>{{val.answer}}</span > | |
| 101 | + </view> | |
| 102 | + | |
| 103 | + </label> | |
| 104 | + </checkbox-group> --> | |
| 105 | + <view v-if="item.type == '文本'"> | |
| 106 | + <u-input type="textarea" v-model="item.choose" placeholder="请输入" :border="true"></u-input> | |
| 107 | + </view> | |
| 108 | + </view> | |
| 109 | + </view> | |
| 110 | + | |
| 111 | + <!-- 文本填写问题 --> | |
| 112 | + <view class=""> | |
| 113 | + <!-- <p class="question-title">您的建议:</p > | |
| 114 | + <textarea v-model="suggestion"></textarea> --> | |
| 115 | + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" validate-on-rule-change="false" | |
| 116 | + style="background-color:#fff;border-radius: 10px;"> | |
| 117 | + <u-form-item label="姓名" prop="name" borderBottom ref="item1" v-if="wenjuan.needName == '必填'" | |
| 118 | + style="padding:10px 20px 0;"> | |
| 119 | + <u-input v-model="model1.name" placeholder="请输入姓名"></u-input> | |
| 120 | + </u-form-item> | |
| 121 | + <u-form-item label="电话" prop="phone" borderBottom v-if="wenjuan.needPhone == '必填'" | |
| 122 | + style="padding: 0 20px;"> | |
| 123 | + <u-input v-model="model1.phone" placeholder="请输入电话"></u-input> | |
| 124 | + </u-form-item> | |
| 125 | + <u-form-item label="性别" prop="sexl" borderBottom v-if="wenjuan.needGender == '必填'" | |
| 126 | + style="padding: 0 20px ;"> | |
| 127 | + <!-- <u-input v-model="model1.sexl" placeholder="请输入性别"></u-input> --> | |
| 128 | + <u-radio-group v-model="model1.sexl"> | |
| 129 | + <u-radio active-color="#0FBB59" @change="radioChange" v-for="(item, index) in SexList" | |
| 130 | + :key="index" :name="item.name" :disabled="item.disabled"> | |
| 131 | + {{ item.name }} | |
| 132 | + </u-radio> | |
| 133 | + </u-radio-group> | |
| 134 | + </u-form-item> | |
| 135 | + | |
| 136 | + | |
| 137 | + <view v-if="wenjuan.needOpinion == '必填'" style="padding:0 20px 10px 20px;"> | |
| 138 | + <view style="margin-bottom:10px;">意见</view> | |
| 139 | + | |
| 140 | + <u-input v-model="model1.opinion" type="textarea" :border="true" :maxlength="maxLength" /> | |
| 141 | + <div class="char-count" style="font-size:12px;"> | |
| 142 | + {{ currentLength }} / {{ maxLength }} | |
| 143 | + </div> | |
| 144 | + </view> | |
| 145 | + | |
| 146 | + </u-form> | |
| 147 | + | |
| 148 | + </view> | |
| 149 | + | |
| 150 | + <button class="submit-btn" @click="submit">提交问卷</button> | |
| 151 | + </view> | |
| 152 | + <u-mask :show="show"> | |
| 153 | + <view class="warp"> | |
| 154 | + <view class="rect" @tap.stop> | |
| 155 | + <image src="../../static/images/tijiao.png" style="position: absolute;top:40%;width:80%;left:10%" | |
| 156 | + mode="aspectFit"></image> | |
| 157 | + </view> | |
| 158 | + </view> | |
| 159 | + </u-mask> | |
| 160 | + | |
| 161 | + | |
| 162 | + <u-toast ref="uToast" /> | |
| 163 | + </view> | |
| 164 | +</template> | |
| 165 | + | |
| 166 | +<script> | |
| 167 | + const NET = require('@/utils/request') | |
| 168 | + const API = require('@/config/api') | |
| 169 | + export default { | |
| 170 | + data() { | |
| 171 | + return { | |
| 172 | + show: false, | |
| 173 | + maxLength: 500, // 假设最大字数为500 | |
| 174 | + suggestion: '', | |
| 175 | + model1: { | |
| 176 | + name: '', | |
| 177 | + phone: '', | |
| 178 | + sexl: '', | |
| 179 | + opinion: '', | |
| 180 | + socialSecurityCardNumber: '' | |
| 181 | + }, | |
| 182 | + wenjuan: { | |
| 183 | + | |
| 184 | + }, | |
| 185 | + wentile: [], | |
| 186 | + rules: { | |
| 187 | + name: [{ | |
| 188 | + type: 'string', | |
| 189 | + required: true, | |
| 190 | + message: '请填写姓名', | |
| 191 | + trigger: ['blur', 'change'] | |
| 192 | + }], | |
| 193 | + phone: [{ | |
| 194 | + required: true, | |
| 195 | + message: '请输入电话' | |
| 196 | + }, | |
| 197 | + { | |
| 198 | + type: 'number', | |
| 199 | + message: '必须为数字值' | |
| 200 | + } | |
| 201 | + ], | |
| 202 | + }, | |
| 203 | + | |
| 204 | + current: [], | |
| 205 | + pageTime: null, | |
| 206 | + duoxuan: [], | |
| 207 | + danAnswers: [], | |
| 208 | + selectedAnswers: [], | |
| 209 | + panduanId: [], | |
| 210 | + wenjuanIds: '', | |
| 211 | + scoreList: [], | |
| 212 | + SexList: [{ | |
| 213 | + name: '男', | |
| 214 | + disabled: false | |
| 215 | + }, | |
| 216 | + { | |
| 217 | + name: '女', | |
| 218 | + disabled: false | |
| 219 | + }, | |
| 220 | + ], | |
| 221 | + timeLeft: null, | |
| 222 | + token: '', | |
| 223 | + myChoose: {}, | |
| 224 | + myChooseItem: [ | |
| 225 | + | |
| 226 | + ], | |
| 227 | + panduan: false | |
| 228 | + }; | |
| 229 | + }, | |
| 230 | + computed: { | |
| 231 | + currentLength() { | |
| 232 | + return this.model1.opinion.length; | |
| 233 | + } | |
| 234 | + }, | |
| 235 | + onLoad(options) { | |
| 236 | + | |
| 237 | + if (options.ids != '') { | |
| 238 | + if (options.src && options.token) { | |
| 239 | + | |
| 240 | + this.token = options.token | |
| 241 | + let obj = { | |
| 242 | + token: options.token | |
| 243 | + } | |
| 244 | + NET.request(API.jietoken, obj, 'get').then(res => { | |
| 245 | + if (typeof res.data == 'string') { | |
| 246 | + | |
| 247 | + if (JSON.parse(res.data).phone) { | |
| 248 | + this.model1.phone = Number(JSON.parse(res.data).phone) | |
| 249 | + } | |
| 250 | + if (JSON.parse(res.data).aac003Mask) { | |
| 251 | + this.model1.name = JSON.parse(res.data).aac003Mask | |
| 252 | + } | |
| 253 | + if (JSON.parse(res.data).aac004) { | |
| 254 | + this.model1.sexl = JSON.parse(res.data).aac004 | |
| 255 | + this.panduan = true | |
| 256 | + } | |
| 257 | + if (JSON.parse(res.data).aac002Mask) { | |
| 258 | + this.model1.socialSecurityCardNumber = JSON.parse(res.data).aac002Mask | |
| 259 | + } | |
| 260 | + } | |
| 261 | + | |
| 262 | + }) | |
| 263 | + | |
| 264 | + // if (options.token != undefined) {} | |
| 265 | + | |
| 266 | + } else if (options.phone != undefined) { | |
| 267 | + this.model1.phone = options.phone | |
| 268 | + } | |
| 269 | + | |
| 270 | + this.wenjuanIds = options.ids | |
| 271 | + NET.request(API.wenjuanList, { | |
| 272 | + id: options.ids, | |
| 273 | + // reviewStatus: '3', | |
| 274 | + }, 'post').then(res => { | |
| 275 | + if (res.data.id) { | |
| 276 | + this.wenjuan = res.data | |
| 277 | + this.wenjuan.question = JSON.parse(res.data.question) | |
| 278 | + //检查this.wenjuan.question这个list的每个里面是否有maxChoose参数,没有的话就加一个 | |
| 279 | + this.wenjuan.question.forEach(item => { | |
| 280 | + if (!item.maxChoose) { | |
| 281 | + item.maxChoose = 0 | |
| 282 | + } | |
| 283 | + }) | |
| 284 | + | |
| 285 | + | |
| 286 | + this.timeLeft = parseInt(this.wenjuan.estimatedTime, 10) * 60; // 将分钟转换为秒 | |
| 287 | + this.updateCountdownDisplay() | |
| 288 | + | |
| 289 | + if (res.data.reviewStatus == '5' || res.data.reviewStatus == '4') { | |
| 290 | + uni.reLaunch({ | |
| 291 | + url: `/pages_category_page1/question/succe?flag=3` | |
| 292 | + }) | |
| 293 | + } | |
| 294 | + } else { | |
| 295 | + uni.reLaunch({ | |
| 296 | + url: `/pages_category_page1/question/succe?flag=1` | |
| 297 | + }) | |
| 298 | + } | |
| 299 | + | |
| 300 | + // if (res.data.cereQuestionManagements.length > 0) { | |
| 301 | + // for (let i = 0; i < res.data.cereQuestionManagements.length; i++) { | |
| 302 | + // this.$set(res.data.cereQuestionManagements[i], 'value', []) | |
| 303 | + // } | |
| 304 | + // } | |
| 305 | + | |
| 306 | + // this.wentile = res.data.cereQuestionManagements | |
| 307 | + | |
| 308 | + // this.wenjuan.cereQuestionManagements.map(item => { | |
| 309 | + | |
| 310 | + // item.optionSettings = JSON.parse(item.optionSettings) | |
| 311 | + // item.score = JSON.parse(item.score) | |
| 312 | + // }) | |
| 313 | + | |
| 314 | + }) | |
| 315 | + } else { | |
| 316 | + uni.reLaunch({ | |
| 317 | + url: `/pages_category_page1/question/succe?flag=1` | |
| 318 | + }) | |
| 319 | + } | |
| 320 | + // 设置倒计时定时器 | |
| 321 | + // const countdownInterval = setInterval(() => { | |
| 322 | + // if (this.timeLeft > 0) { | |
| 323 | + // this.timeLeft--; | |
| 324 | + // this.updateCountdownDisplay(); | |
| 325 | + // } else { | |
| 326 | + // clearInterval(countdownInterval); | |
| 327 | + // location.reload(true); | |
| 328 | + // // console.log('倒计时结束'); | |
| 329 | + // // 这里可以添加倒计时结束时的处理代码 | |
| 330 | + // } | |
| 331 | + // }, 1000); // 每秒更新一次 | |
| 332 | + this.pageTime = this.getCurrentTimestamp() | |
| 333 | + | |
| 334 | + }, | |
| 335 | + watch: {}, | |
| 336 | + methods: { | |
| 337 | + // 获取时间 | |
| 338 | + currentTime() { | |
| 339 | + let date = new Date(); | |
| 340 | + let year = date.getFullYear(); | |
| 341 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 342 | + let day = date.getDate(); | |
| 343 | + let hours = date.getHours(); | |
| 344 | + let minutes = date.getMinutes(); | |
| 345 | + let seconds = date.getSeconds(); | |
| 346 | + | |
| 347 | + // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 348 | + month = month < 10 ? '0' + month : month; | |
| 349 | + day = day < 10 ? '0' + day : day; | |
| 350 | + hours = hours < 10 ? '0' + hours : hours; | |
| 351 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 352 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 353 | + | |
| 354 | + // 返回格式化的日期和时间字符串 | |
| 355 | + return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 356 | + }, | |
| 357 | + updateCountdownDisplay() { | |
| 358 | + const minutes = Math.floor(this.timeLeft / 60); | |
| 359 | + const seconds = this.timeLeft % 60; | |
| 360 | + // console.log(`${minutes} 分 ${seconds} 秒`); | |
| 361 | + // 这里可以替换为更新DOM元素的代码 | |
| 362 | + }, | |
| 363 | + // formatTime(seconds) { | |
| 364 | + // const minutes = Math.floor(seconds / 60); | |
| 365 | + // const remainingSeconds = seconds % 60; | |
| 366 | + // return `${minutes}分${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}秒`; | |
| 367 | + // }, | |
| 368 | + getCurrentTimestamp() { | |
| 369 | + let Times = Date.now(); | |
| 370 | + return Times // 或者 new Date().getTime(); | |
| 371 | + }, | |
| 372 | + checkRequiredQuestions(qust) { | |
| 373 | + for (let key in qust) { | |
| 374 | + | |
| 375 | + let question = qust[key]; | |
| 376 | + if (question.required === '必填') { | |
| 377 | + if (question.type === '文本' || question.type === '单选') { | |
| 378 | + if (question.choose === '') { | |
| 379 | + | |
| 380 | + this.$refs.uToast.show({ | |
| 381 | + title: '请填写所有必填题目', | |
| 382 | + }) | |
| 383 | + | |
| 384 | + return false; // 返回false表示有未填写的必填题目 | |
| 385 | + } | |
| 386 | + } else if (question.type === '多选') { | |
| 387 | + | |
| 388 | + | |
| 389 | + let hasEnabledOption = question.options.some(option => option.disabled); | |
| 390 | + | |
| 391 | + if (!hasEnabledOption) { | |
| 392 | + this.$refs.uToast.show({ | |
| 393 | + title: '请填写所有必填题目', | |
| 394 | + }) | |
| 395 | + | |
| 396 | + return false; // 返回false表示有未填写的必填题目 | |
| 397 | + } | |
| 398 | + } | |
| 399 | + } | |
| 400 | + } | |
| 401 | + return true; // 返回true表示所有必填题目都已填写 | |
| 402 | + }, | |
| 403 | + submit() { | |
| 404 | + let putTime = this.getCurrentTimestamp() - this.pageTime | |
| 405 | + putTime = (putTime / 1000).toFixed(2) | |
| 406 | + if (!this.checkRequiredQuestions(this.wenjuan.question)) { | |
| 407 | + return | |
| 408 | + } | |
| 409 | + if (this.model1.name == '' && this.wenjuan.needName == '必填') { | |
| 410 | + this.$refs.uToast.show({ | |
| 411 | + title: '请输入姓名', | |
| 412 | + }) | |
| 413 | + return; | |
| 414 | + } | |
| 415 | + if (this.wenjuan.needName == '不填' && this.token == '') { | |
| 416 | + | |
| 417 | + this.model1.name = '匿名' | |
| 418 | + | |
| 419 | + } | |
| 420 | + if (this.model1.phone == '' && this.wenjuan.needPhone == '必填') { | |
| 421 | + this.$refs.uToast.show({ | |
| 422 | + title: '电话号码不能为空' | |
| 423 | + }); | |
| 424 | + return; | |
| 425 | + } | |
| 426 | + if (this.wenjuan.needPhone == '必填' && this.isChineseOrPunctuation(this.model1.phone)) { | |
| 427 | + this.$refs.uToast.show({ | |
| 428 | + title: '请输入电话且不能包含汉字或标点特殊符号', | |
| 429 | + }) | |
| 430 | + return; | |
| 431 | + } | |
| 432 | + | |
| 433 | + // if(this.wenjuan.needPhone =='不填' && this.wenjuan.fillingConditions == '可重复填写'){ | |
| 434 | + // this.model1.phone = '' | |
| 435 | + // } | |
| 436 | + | |
| 437 | + if (this.model1.sexl != '男' && this.model1.sexl != '女' && this.wenjuan.needGender == '必填') { | |
| 438 | + this.$refs.uToast.show({ | |
| 439 | + title: '请选择性别', | |
| 440 | + }) | |
| 441 | + return; | |
| 442 | + } | |
| 443 | + if (this.wenjuan.needGender == '不填' && this.panduan == false) { | |
| 444 | + | |
| 445 | + this.model1.sexl = '未知' | |
| 446 | + | |
| 447 | + } | |
| 448 | + if (this.model1.opinion == '' && this.wenjuan.needOpinion == '必填') { | |
| 449 | + this.$refs.uToast.show({ | |
| 450 | + title: '请输入意见', | |
| 451 | + }) | |
| 452 | + return; | |
| 453 | + } | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + // JSON.stringify(danAnswers) | |
| 458 | + // let array = this.danAnswers.concat(this.selectedAnswers) | |
| 459 | + // obj.answerOptions = JSON.stringify(array) | |
| 460 | + var arr = [] | |
| 461 | + // for (let i = 0; i < this.wentile.length; i++) { | |
| 462 | + // var info = { | |
| 463 | + // id: "", | |
| 464 | + // value: [], | |
| 465 | + // cores:0, | |
| 466 | + // } | |
| 467 | + // if (this.wentile[i].questionType == '单选' || this.wentile[i].questionType == '文本' ) { | |
| 468 | + | |
| 469 | + // info.id = this.wentile[i].id | |
| 470 | + // info.value = this.wentile[i].value | |
| 471 | + // let index =this.wentile[i].value | |
| 472 | + // if(this.wentile[i].score){ | |
| 473 | + | |
| 474 | + // for (const key in this.wentile[i].score) { | |
| 475 | + // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 476 | + | |
| 477 | + // if(key == index){ | |
| 478 | + // info.cores = this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 479 | + // break; // 如果找到了匹配的键,可以提前退出循环 | |
| 480 | + // } | |
| 481 | + // } | |
| 482 | + // } | |
| 483 | + // } | |
| 484 | + // // console.log(this.wentile[i].cores[index]) | |
| 485 | + // // info.cores.this.wentile[i].value = | |
| 486 | + | |
| 487 | + // arr.push(info) | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + // // if (this.wentile[i].value != '' && this.wentile[i].value != null && this.wentile[i].value != | |
| 492 | + // // undefined) { | |
| 493 | + // // info.id = this.wentile[i].id | |
| 494 | + // // info.value = this.wentile[i].value | |
| 495 | + // // let index =this.wentile[i].value | |
| 496 | + // // if(this.wentile[i].score){ | |
| 497 | + | |
| 498 | + // // for (const key in this.wentile[i].score) { | |
| 499 | + // // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 500 | + | |
| 501 | + // // if(key == index){ | |
| 502 | + // // info.cores = this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 503 | + // // break; // 如果找到了匹配的键,可以提前退出循环 | |
| 504 | + // // } | |
| 505 | + // // } | |
| 506 | + // // } | |
| 507 | + // // } | |
| 508 | + // // // console.log(this.wentile[i].cores[index]) | |
| 509 | + // // // info.cores.this.wentile[i].value = | |
| 510 | + | |
| 511 | + // // arr.push(info) | |
| 512 | + | |
| 513 | + // // } | |
| 514 | + // } else { | |
| 515 | + // if (this.wentile[i].value.length > 0) { | |
| 516 | + // info.id = this.wentile[i].id | |
| 517 | + // info.value = this.wentile[i].value | |
| 518 | + // let index =this.wentile[i].value | |
| 519 | + // console.log(this.wentile[i].score); | |
| 520 | + // if(this.wentile[i].score){ | |
| 521 | + | |
| 522 | + // for (const key in this.wentile[i].score) { | |
| 523 | + // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 524 | + // console.log('1111111111111111111',key,index) | |
| 525 | + // for(let j=0;j<index.length;j++){ | |
| 526 | + // if(key == index[j]){ | |
| 527 | + // console.log(info.cores,this.wentile[i].score[key]) | |
| 528 | + // info.cores += this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 529 | + | |
| 530 | + // } | |
| 531 | + // } | |
| 532 | + | |
| 533 | + // } | |
| 534 | + // } | |
| 535 | + // } | |
| 536 | + // arr.push(info) | |
| 537 | + | |
| 538 | + // } | |
| 539 | + // } | |
| 540 | + | |
| 541 | + | |
| 542 | + // } | |
| 543 | + console.log(this.wenjuan) | |
| 544 | + | |
| 545 | + // let obj = { | |
| 546 | + // questionnaireId: this.wenjuanIds, | |
| 547 | + // userName: this.model1.name, | |
| 548 | + // contactNumber: this.model1.phone, | |
| 549 | + // gender: this.model1.sexl, | |
| 550 | + // responseTime: putTime, | |
| 551 | + // opinion:this.model1.opinion, | |
| 552 | + // createTime: this.currentTime(), | |
| 553 | + // answerOptions: {}, | |
| 554 | + // answeringScore: '', | |
| 555 | + // questionnaireScore: null, | |
| 556 | + | |
| 557 | + // } | |
| 558 | + // obj.answeringScore = [] | |
| 559 | + | |
| 560 | + // for(let i=0;i<arr.length;i++){ | |
| 561 | + // console.log() | |
| 562 | + // if(arr[i].cores ==null){ | |
| 563 | + // obj.answerOptions[i+1] = arr[i].value | |
| 564 | + // }else{ | |
| 565 | + // obj.questionnaireScore +=arr[i].cores | |
| 566 | + // obj.answeringScore.push(arr[i].cores) | |
| 567 | + // if(typeof arr[i].value !='string'){ | |
| 568 | + | |
| 569 | + // arr[i].value.sort((a, b) => a - b) | |
| 570 | + // obj.answerOptions[i+1] = arr[i].value.join(',') | |
| 571 | + // }else{ | |
| 572 | + // obj.answerOptions[i+1]=arr[i].value | |
| 573 | + // } | |
| 574 | + // } | |
| 575 | + | |
| 576 | + | |
| 577 | + // } | |
| 578 | + // obj.answerOptions= JSON.stringify(obj.answerOptions) | |
| 579 | + // obj.answeringScore = obj.answeringScore.join(',') | |
| 580 | + | |
| 581 | + var obj = { | |
| 582 | + ...this.wenjuan | |
| 583 | + } | |
| 584 | + | |
| 585 | + | |
| 586 | + for (var key in obj.question) { | |
| 587 | + console.log(obj.question[key]) | |
| 588 | + if (obj.question[key].type == '多选') { | |
| 589 | + obj.question[key].choose = [] | |
| 590 | + obj.question[key].options.map(res => { | |
| 591 | + if (res.disabled) { | |
| 592 | + obj.question[key].choose.push(res.answer) | |
| 593 | + } | |
| 594 | + | |
| 595 | + }) | |
| 596 | + obj.question[key].choose = obj.question[key].choose.join(',') | |
| 597 | + } | |
| 598 | + } | |
| 599 | + const result = Object.keys(obj.question).reduce((acc, key) => { | |
| 600 | + const question = obj.question[key]; | |
| 601 | + const chooseAnswers = question.choose.split(","); // 处理多选的情况 | |
| 602 | + const indexes = chooseAnswers.map((choose) => { | |
| 603 | + const optionIndex = question.options.findIndex( | |
| 604 | + (option) => option.answer === choose | |
| 605 | + ); | |
| 606 | + return optionIndex >= 0 ? optionIndex + 1 : null; // 序号从1开始 | |
| 607 | + }); | |
| 608 | + | |
| 609 | + acc[key] = indexes.filter((index) => index !== null).join(","); // 只保留有效序号 | |
| 610 | + return acc; | |
| 611 | + }, {}); | |
| 612 | + | |
| 613 | + // 计算总分数 | |
| 614 | + const totalScore = Object.keys(obj.question).reduce((sum, key) => { | |
| 615 | + const question = obj.question[key] | |
| 616 | + if (question.type === "单选" || question.type === "多选") { | |
| 617 | + const chooseAnswers = question.choose.split(","); // 多选时拆分答案 | |
| 618 | + chooseAnswers.forEach((choose) => { | |
| 619 | + const matchedOption = question.options.find( | |
| 620 | + (option) => option.answer === choose | |
| 621 | + ); | |
| 622 | + if (matchedOption) { | |
| 623 | + sum += parseFloat(matchedOption.score || 0); // 累加分数 | |
| 624 | + } | |
| 625 | + }); | |
| 626 | + } | |
| 627 | + return sum; | |
| 628 | + }, 0); | |
| 629 | + | |
| 630 | + // console.log(obj.question,totalScore,result) | |
| 631 | + // return | |
| 632 | + obj.questionnaireId = this.wenjuanIds | |
| 633 | + obj.userName = this.model1.name | |
| 634 | + obj.contactNumber = this.model1.phone | |
| 635 | + obj.gender = this.model1.sexl | |
| 636 | + obj.responseTime = putTime | |
| 637 | + obj.answerOptions = JSON.stringify(result) | |
| 638 | + obj.createTime = this.currentTime() | |
| 639 | + obj.opinion = this.model1.opinion | |
| 640 | + obj.questionnaireScore = totalScore | |
| 641 | + | |
| 642 | + // let obj = { | |
| 643 | + // questionnaireId: this.wenjuanIds, | |
| 644 | + // userName: this.model1.name, | |
| 645 | + // contactNumber: this.model1.phone, | |
| 646 | + // gender: this.model1.sexl, | |
| 647 | + // responseTime: putTime, | |
| 648 | + // opinion:this.model1.opinion, | |
| 649 | + // createTime: this.currentTime(), | |
| 650 | + // answerOptions: {}, | |
| 651 | + // answeringScore: '', | |
| 652 | + // questionnaireScore: null, | |
| 653 | + | |
| 654 | + // } | |
| 655 | + obj.question = JSON.stringify(obj.question) | |
| 656 | + let tijiaoObj = { | |
| 657 | + questionnaireId: this.wenjuanIds, | |
| 658 | + userName: this.model1.name, | |
| 659 | + contactNumber: this.model1.phone, | |
| 660 | + gender: this.model1.sexl, | |
| 661 | + responseTime: putTime, | |
| 662 | + answerOptions: JSON.stringify(result), | |
| 663 | + socialSecurityCardNumber: this.model1.socialSecurityCardNumber, | |
| 664 | + createTime: this.currentTime(), | |
| 665 | + opinion: this.model1.opinion, | |
| 666 | + questionnaireScore: totalScore, | |
| 667 | + question: obj.question | |
| 668 | + } | |
| 669 | + | |
| 670 | + console.log(tijiaoObj) | |
| 671 | + | |
| 672 | + NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { | |
| 673 | + // this.show =true | |
| 674 | + | |
| 675 | + if (res.data == 'false') { | |
| 676 | + uni.reLaunch({ | |
| 677 | + url: `/pages_category_page1/question/succe?chonfu=true` | |
| 678 | + }) | |
| 679 | + } else { | |
| 680 | + uni.reLaunch({ | |
| 681 | + url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` | |
| 682 | + }) | |
| 683 | + } | |
| 684 | + | |
| 685 | + }) | |
| 686 | + | |
| 687 | + }, | |
| 688 | + | |
| 689 | + isChineseOrPunctuation(str) { | |
| 690 | + const regex = /[^\d]/; | |
| 691 | + return regex.test(str); | |
| 692 | + }, | |
| 693 | + | |
| 694 | + | |
| 695 | + // radioChange(index, e, item, idx) { | |
| 696 | + // console.log(index, e, item, idx) | |
| 697 | + | |
| 698 | + // // item.value = idx; | |
| 699 | + // // this.$forceUpdate(); | |
| 700 | + | |
| 701 | + // }, | |
| 702 | + radioChange(ind) { | |
| 703 | + // console.log(index, e, item, idx) | |
| 704 | + // console.error(this.items) | |
| 705 | + // for (let i = 0; i < this.items.length; i++) { | |
| 706 | + // if (this.items[i].value === evt.detail.value) { | |
| 707 | + // this.current = i; | |
| 708 | + // break; | |
| 709 | + // } | |
| 710 | + // } | |
| 711 | + // item.value = idx; | |
| 712 | + // this.$forceUpdate(); | |
| 713 | + | |
| 714 | + }, | |
| 715 | + checkboxChange(index, e, item, idx) { | |
| 716 | + | |
| 717 | + // const index1 = item.value.indexOf(idx) | |
| 718 | + // if (index1 !== -1) { | |
| 719 | + // item.value.splice(index1, 1); | |
| 720 | + // } else { | |
| 721 | + // item.value.push(idx) | |
| 722 | + // } | |
| 723 | + // this.$forceUpdate(); | |
| 724 | + }, | |
| 725 | + chooseAnswerOne(options, chooseItem, idx) { | |
| 726 | + | |
| 727 | + options.forEach(item => { | |
| 728 | + item.disabled = false | |
| 729 | + }) | |
| 730 | + | |
| 731 | + for (let key in this.wenjuan.question) { | |
| 732 | + this.wenjuan.question[key].options.map(res => { | |
| 733 | + if (res.answer == chooseItem.answer) { | |
| 734 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 735 | + } | |
| 736 | + }) | |
| 737 | + | |
| 738 | + | |
| 739 | + } | |
| 740 | + | |
| 741 | + this.myChoose = { | |
| 742 | + ...chooseItem | |
| 743 | + } | |
| 744 | + chooseItem.disabled = true | |
| 745 | + }, | |
| 746 | + chooseAnswerMore(chooseItem, idx, item) { | |
| 747 | + if (item.maxChoose && item.maxChoose > 0) { | |
| 748 | + // 获取当前题目的已选中选项数量 | |
| 749 | + const selectedCount = item.options.filter(option => option.disabled).length; | |
| 750 | + // 如果已选中到达 maxChoose,并且当前项未被选中,则不允许选择 | |
| 751 | + if (selectedCount >= item.maxChoose && !chooseItem.disabled) { | |
| 752 | + uni.showToast({ | |
| 753 | + title: `最多只能选择 ${item.maxChoose} 个选项`, | |
| 754 | + icon: 'none', | |
| 755 | + duration: 2000 | |
| 756 | + }); | |
| 757 | + return; | |
| 758 | + } | |
| 759 | + } | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + if (chooseItem.disabled) { | |
| 764 | + chooseItem.disabled = false | |
| 765 | + for (let key in this.wenjuan.question) { | |
| 766 | + this.wenjuan.question[key].options.map(res => { | |
| 767 | + if (res.answer == chooseItem.answer) { | |
| 768 | + this.wenjuan.question[key].choose = '' | |
| 769 | + } | |
| 770 | + }) | |
| 771 | + } | |
| 772 | + } else { | |
| 773 | + for (let key in this.wenjuan.question) { | |
| 774 | + this.wenjuan.question[key].options.map(res => { | |
| 775 | + if (res.answer == chooseItem.answer) { | |
| 776 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 777 | + } | |
| 778 | + }) | |
| 779 | + } | |
| 780 | + chooseItem.disabled = true | |
| 781 | + } | |
| 782 | + }, | |
| 783 | + chooseAnswer(item) { | |
| 784 | + console.log(1111); | |
| 785 | + } | |
| 786 | + // chooseAnswerMore(chooseItem, idx) { | |
| 787 | + // // 获取所有已选中的选项数量 | |
| 788 | + | |
| 789 | + // if (chooseItem.disabled) { | |
| 790 | + // chooseItem.disabled = false | |
| 791 | + // for (let key in this.wenjuan.question) { | |
| 792 | + // this.wenjuan.question[key].options.map(res => { | |
| 793 | + // if (res.answer == chooseItem.answer) { | |
| 794 | + // this.wenjuan.question[key].choose = '' | |
| 795 | + // } | |
| 796 | + // }) | |
| 797 | + // } | |
| 798 | + // } else { | |
| 799 | + // for (let key in this.wenjuan.question) { | |
| 800 | + // this.wenjuan.question[key].options.map(res => { | |
| 801 | + // if (res.answer == chooseItem.answer) { | |
| 802 | + // this.wenjuan.question[key].choose = chooseItem.answer | |
| 803 | + // } | |
| 804 | + // }) | |
| 805 | + // } | |
| 806 | + // chooseItem.disabled = true | |
| 807 | + // } | |
| 808 | + // } | |
| 809 | + | |
| 810 | + } | |
| 811 | + }; | |
| 812 | +</script> | |
| 813 | + | |
| 814 | +<style> | |
| 815 | + /* 整体页面背景渐变颜色设置 */ | |
| 816 | + body { | |
| 817 | + background: linear-gradient(to bottom, #e9f2f8, #d0e0ea); | |
| 818 | + font-family: Arial, sans-serif; | |
| 819 | + line-height: 1.6; | |
| 820 | + height: 100vh; | |
| 821 | + display: flex; | |
| 822 | + flex-direction: column; | |
| 823 | + align-items: center; | |
| 824 | + justify-content: flex-start; | |
| 825 | + margin: 0; | |
| 826 | + padding: 0; | |
| 827 | + } | |
| 828 | + | |
| 829 | + .question { | |
| 830 | + background-color: white; | |
| 831 | + padding: 15px; | |
| 832 | + margin: 10px 0; | |
| 833 | + border-radius: 10px; | |
| 834 | + } | |
| 835 | + | |
| 836 | + /* 问卷容器样式,确保宽度自适应且不超出屏幕,设置内边距和背景等 */ | |
| 837 | + .questionnaire { | |
| 838 | + width: 100%; | |
| 839 | + max-width: 600px; | |
| 840 | + flex-grow: 1; | |
| 841 | + margin: auto; | |
| 842 | + /* padding: 30px; */ | |
| 843 | + background-color: white; | |
| 844 | + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 845 | + border-radius: 5px; | |
| 846 | + box-sizing: border-box; | |
| 847 | + } | |
| 848 | + | |
| 849 | + /* 页面标题样式,设置背景色、文字颜色、宽度及内边距等 */ | |
| 850 | + h3 { | |
| 851 | + text-align: center; | |
| 852 | + color: #000; | |
| 853 | + /* background-color: #007BFF; */ | |
| 854 | + margin: 0; | |
| 855 | + padding: 10px 0; | |
| 856 | + width: 100%; | |
| 857 | + box-sizing: border-box; | |
| 858 | + } | |
| 859 | + | |
| 860 | + /* 问题标题样式,设置字体大小、颜色及下边框 */ | |
| 861 | + .question-title { | |
| 862 | + font-size: 18px; | |
| 863 | + color: #000; | |
| 864 | + margin-bottom: 10px; | |
| 865 | + } | |
| 866 | + | |
| 867 | + /* 选项样式,设置列表样式及光标样式 */ | |
| 868 | + .option { | |
| 869 | + list-style-type: none; | |
| 870 | + margin: 0; | |
| 871 | + cursor: pointer; | |
| 872 | + display: flex; | |
| 873 | + align-items: center; | |
| 874 | + margin-bottom: 10px; | |
| 875 | + color: black; | |
| 876 | + padding: 10px 20px; | |
| 877 | + border-radius: 3px; | |
| 878 | + transition: background-color 0.3s ease; | |
| 879 | + margin-right: 10px; | |
| 880 | + font-size: 15px; | |
| 881 | + font-weight: 500; | |
| 882 | + | |
| 883 | + .u-radio__label { | |
| 884 | + color: #000000; | |
| 885 | + font-size: 15px; | |
| 886 | + font-weight: 500; | |
| 887 | + } | |
| 888 | + } | |
| 889 | + | |
| 890 | + .myOption { | |
| 891 | + margin: 0; | |
| 892 | + cursor: pointer; | |
| 893 | + display: flex; | |
| 894 | + align-items: center; | |
| 895 | + margin-bottom: 10px; | |
| 896 | + padding: 15px 20px; | |
| 897 | + border-radius: 3px; | |
| 898 | + transition: background-color 0.3s ease; | |
| 899 | + margin-right: 10px; | |
| 900 | + font-size: 16px; | |
| 901 | + color: #000; | |
| 902 | + font-family: 'Alibaba PuHuiTi 2.0-55 Regular'; | |
| 903 | + letter-spacing: 1px; | |
| 904 | + overflow: hidden; | |
| 905 | + position: relative; | |
| 906 | + | |
| 907 | + .chooseTag { | |
| 908 | + position: absolute; | |
| 909 | + top: 0; | |
| 910 | + right: 0; | |
| 911 | + width: 20px; | |
| 912 | + height: 20px; | |
| 913 | + background-color: #0fbb59; | |
| 914 | + border-radius: 0 0 0 20px; | |
| 915 | + display: flex; | |
| 916 | + align-items: center; | |
| 917 | + justify-content: center; | |
| 918 | + | |
| 919 | + .u-icon__icon { | |
| 920 | + margin-left: 4px; | |
| 921 | + margin-bottom: 2px; | |
| 922 | + } | |
| 923 | + } | |
| 924 | + } | |
| 925 | + | |
| 926 | + .green { | |
| 927 | + background-color: #cff4de; | |
| 928 | + | |
| 929 | + .u-radio__label { | |
| 930 | + color: #12ad55; | |
| 931 | + } | |
| 932 | + } | |
| 933 | + | |
| 934 | + .gary { | |
| 935 | + | |
| 936 | + background-color: #f5f5f5; | |
| 937 | + | |
| 938 | + } | |
| 939 | + | |
| 940 | + .optionActive { | |
| 941 | + background-color: #cff4de; | |
| 942 | + color: #12ad55; | |
| 943 | + } | |
| 944 | + | |
| 945 | + | |
| 946 | + /* 文本域样式,设置宽度、高度、边框及内边距 */ | |
| 947 | + textarea { | |
| 948 | + width: 100%; | |
| 949 | + height: 100px; | |
| 950 | + border: 1px solid #ccc; | |
| 951 | + border-radius: 3px; | |
| 952 | + padding: 10px; | |
| 953 | + resize: vertical; | |
| 954 | + box-sizing: border-box; | |
| 955 | + } | |
| 956 | + | |
| 957 | + /* 提交按钮样式,设置背景色、颜色、边框、内边距、光标及过渡效果 */ | |
| 958 | + .submit-btn { | |
| 959 | + background-color: #3F9B6A; | |
| 960 | + color: white; | |
| 961 | + border: none; | |
| 962 | + padding: 0px 20px; | |
| 963 | + border-radius: 3px; | |
| 964 | + cursor: pointer; | |
| 965 | + margin-top: 20px; | |
| 966 | + transition: background-color 0.3s ease; | |
| 967 | + width: 100%; | |
| 968 | + box-sizing: border-box; | |
| 969 | + } | |
| 970 | + | |
| 971 | + /* 提交按钮悬停效果,改变背景色 */ | |
| 972 | + .submit-btn:hover { | |
| 973 | + background-color: #3F9B6A; | |
| 974 | + } | |
| 975 | + | |
| 976 | + .uni-checkbox-input { | |
| 977 | + width: 15px; | |
| 978 | + height: 15px; | |
| 979 | + } | |
| 980 | + | |
| 981 | + .uni-radio-input { | |
| 982 | + width: 15px; | |
| 983 | + height: 15px; | |
| 984 | + } | |
| 985 | + | |
| 986 | + ::v-deep .u-radio__label { | |
| 987 | + white-space: normal !important; | |
| 988 | + /* 允许文本换行 */ | |
| 989 | + word-break: break-all !important; | |
| 990 | + /* 当内容过长时,自动换行 */ | |
| 991 | + } | |
| 992 | + | |
| 993 | + ::v-deep .myMultiple { | |
| 994 | + display: flex; | |
| 995 | + width: 100%; | |
| 996 | + flex-wrap: wrap; | |
| 997 | + | |
| 998 | + } | |
| 999 | +</style> | |
| 0 | 1000 | \ No newline at end of file | ... | ... |
wenjuan-h5/pages_category_page1/question/question.vue
| ... | ... | @@ -6,11 +6,11 @@ |
| 6 | 6 | <view> |
| 7 | 7 | <h2 |
| 8 | 8 | style="color: #000;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;text-align:center"> |
| 9 | - {{wenjuan.title}} | |
| 9 | + {{ wenjuan.title }} | |
| 10 | 10 | </h2> |
| 11 | 11 | <!-- <h5 style="padding: 10px 0;color: #000;">请您认真作答以下题目</h5> --> |
| 12 | 12 | <view class="" style="padding: 10px 0; height: 200px;"> |
| 13 | - <image :src="this.$hostUrl+wenjuan.coverImage" mode="scaleToFill" | |
| 13 | + <image :src="this.$hostUrl + wenjuan.coverImage" mode="scaleToFill" | |
| 14 | 14 | style="width:100%;height: 100%;border-radius: 10px;"></image> |
| 15 | 15 | </view> |
| 16 | 16 | </view> |
| ... | ... | @@ -32,15 +32,15 @@ |
| 32 | 32 | <!-- <view>预计答题时间:{{this.wenjuan.estimatedTime}}分钟</view> --> |
| 33 | 33 | </view> |
| 34 | 34 | </view> |
| 35 | - <view class="question" v-for="(item,index) in wenjuan.question" style=""> | |
| 35 | + <view class="question" v-for="(item, index) in wenjuan.question" style=""> | |
| 36 | 36 | <p class="question-title" |
| 37 | 37 | style="font-weight:600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;"> |
| 38 | - <span v-if="item.required=='必填'" style="color: red;">*</span>{{index}}.<span | |
| 39 | - style="color:#0FBB59;padding:0 3px;">({{item.type}})</span> | |
| 40 | - {{item.title}} | |
| 38 | + <span v-if="item.required == '必填'" style="color: red;">*</span>{{ index }}.<span | |
| 39 | + style="color:#0FBB59;padding:0 3px;">({{ item.type }})</span> | |
| 40 | + {{ item.title }} | |
| 41 | 41 | </p> |
| 42 | 42 | <view> |
| 43 | - | |
| 43 | + | |
| 44 | 44 | <!-- <radio-group @change="radioChange" v-model="item.choose" |
| 45 | 45 | v-if="item.type =='单选'" > |
| 46 | 46 | <label :class="item.choose == val ?'option green':'option gary' " :key="val.answer" v-for="(val, idx) in item.options"> |
| ... | ... | @@ -51,37 +51,39 @@ |
| 51 | 51 | <view>{{val.answer}}</view> |
| 52 | 52 | </label> |
| 53 | 53 | </radio-group> --> |
| 54 | - <u-radio-group v-model="item.choose" v-if="item.type =='单选'" style="width: 100%;"> | |
| 55 | - <view v-if="item.layoutType!=2"> | |
| 54 | + <u-radio-group v-model="item.choose" v-if="item.type == '单选'" style="width: 100%;"> | |
| 55 | + <view v-if="item.layoutType != 2"> | |
| 56 | 56 | <u-radio v-for="(val, idx) in item.options" style="width: 100%;" |
| 57 | - :class="val.answer == item.choose ?'option green':'option gary' " :name="val.answer" | |
| 57 | + :class="val.answer == item.choose ? 'option green' : 'option gary'" :name="val.answer" | |
| 58 | 58 | :disabled="item.disabled" :key="idx" :label-disabled="false" active-color="#4FCF86"> |
| 59 | - {{val.answer}} | |
| 59 | + {{ val.answer }} | |
| 60 | 60 | </u-radio> |
| 61 | 61 | </view> |
| 62 | - <view v-else-if="item.layoutType==2" class="myMultiple"> | |
| 62 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 63 | 63 | <div v-for="(val, idx) in item.options" |
| 64 | - :class="['myOption gary',{optionActive:myChoose.answer == val.answer}]" :key="idx" | |
| 65 | - @click="chooseAnswerOne(item.options,val,idx)"> | |
| 66 | - <p class="chooseTag" v-if="myChoose.answer == val.answer"><u-icon name="checkbox-mark" color="#fff" size="8pt" ></u-icon></p> | |
| 67 | - {{val.answer}} | |
| 64 | + :class="['myOption gary', { optionActive: myChoose.answer == val.answer }]" :key="idx" | |
| 65 | + @click="chooseAnswerOne(item.options, val, idx)"> | |
| 66 | + <p class="chooseTag" v-if="myChoose.answer == val.answer"><u-icon name="checkbox-mark" | |
| 67 | + color="#fff" size="8pt"></u-icon></p> | |
| 68 | + {{ val.answer }} | |
| 68 | 69 | </div> |
| 69 | 70 | </view> |
| 70 | 71 | </u-radio-group> |
| 71 | - | |
| 72 | - <u-checkbox-group v-model="item.choose" v-if="item.type =='多选'" style="width: 100%;"> | |
| 73 | - <view v-if="item.layoutType!=2"> | |
| 72 | + | |
| 73 | + <u-checkbox-group v-model="item.choose" v-if="item.type == '多选'" style="width: 100%;"> | |
| 74 | + <view v-if="item.layoutType != 2"> | |
| 74 | 75 | <u-checkbox v-for="(val, idx) in item.options" style="width: 100%;" |
| 75 | - :class="val.disabled ?'option green':'option gary' " v-model="val.disabled" | |
| 76 | + :class="val.disabled ? 'option green' : 'option gary'" v-model="val.disabled" | |
| 76 | 77 | :label-disabled="false" :name="val.answer" :key="idx" active-color="#4FCF86" |
| 77 | - @click="chooseAnswer(val)">{{val.answer}}</u-checkbox> | |
| 78 | + @click="chooseAnswer(val)">{{ val.answer }}</u-checkbox> | |
| 78 | 79 | </view> |
| 79 | - <view v-else-if="item.layoutType==2" class="myMultiple"> | |
| 80 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 80 | 81 | <div v-for="(val, index) in item.options" |
| 81 | - :class="['myOption gary',{optionActive:val.disabled==true}]" | |
| 82 | - :key="index" @click="chooseAnswerMore(val,index)"> | |
| 83 | - <p class="chooseTag" v-if="val.disabled==true"><u-icon name="checkbox-mark" color="#fff" size="8pt" ></u-icon></p> | |
| 84 | - {{val.answer}} | |
| 82 | + :class="['myOption gary', { optionActive: val.disabled == true }]" :key="index" | |
| 83 | + @click="chooseAnswerMore(val, index)"> | |
| 84 | + <p class="chooseTag" v-if="val.disabled == true"><u-icon name="checkbox-mark" | |
| 85 | + color="#fff" size="8pt"></u-icon></p> | |
| 86 | + {{ val.answer }} | |
| 85 | 87 | </div> |
| 86 | 88 | </view> |
| 87 | 89 | </u-checkbox-group> |
| ... | ... | @@ -99,7 +101,7 @@ |
| 99 | 101 | |
| 100 | 102 | </label> |
| 101 | 103 | </checkbox-group> --> |
| 102 | - <view v-if="item.type =='文本'"> | |
| 104 | + <view v-if="item.type == '文本'"> | |
| 103 | 105 | <u-input type="textarea" v-model="item.choose" placeholder="请输入" :border="true"></u-input> |
| 104 | 106 | </view> |
| 105 | 107 | </view> |
| ... | ... | @@ -111,27 +113,27 @@ |
| 111 | 113 | <textarea v-model="suggestion"></textarea> --> |
| 112 | 114 | <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" validate-on-rule-change="false" |
| 113 | 115 | style="background-color:#fff;border-radius: 10px;"> |
| 114 | - <u-form-item label="姓名" prop="name" borderBottom ref="item1" v-if="wenjuan.needName =='必填'" | |
| 116 | + <u-form-item label="姓名" prop="name" borderBottom ref="item1" v-if="wenjuan.needName == '必填'" | |
| 115 | 117 | style="padding:10px 20px 0;"> |
| 116 | 118 | <u-input v-model="model1.name" placeholder="请输入姓名"></u-input> |
| 117 | 119 | </u-form-item> |
| 118 | - <u-form-item label="电话" prop="phone" borderBottom v-if="wenjuan.needPhone =='必填'" | |
| 120 | + <u-form-item label="电话" prop="phone" borderBottom v-if="wenjuan.needPhone == '必填'" | |
| 119 | 121 | style="padding: 0 20px;"> |
| 120 | 122 | <u-input v-model="model1.phone" placeholder="请输入电话"></u-input> |
| 121 | 123 | </u-form-item> |
| 122 | - <u-form-item label="性别" prop="sexl" borderBottom v-if="wenjuan.needGender =='必填'" | |
| 124 | + <u-form-item label="性别" prop="sexl" borderBottom v-if="wenjuan.needGender == '必填'" | |
| 123 | 125 | style="padding: 0 20px ;"> |
| 124 | 126 | <!-- <u-input v-model="model1.sexl" placeholder="请输入性别"></u-input> --> |
| 125 | 127 | <u-radio-group v-model="model1.sexl"> |
| 126 | 128 | <u-radio active-color="#0FBB59" @change="radioChange" v-for="(item, index) in SexList" |
| 127 | 129 | :key="index" :name="item.name" :disabled="item.disabled"> |
| 128 | - {{item.name}} | |
| 130 | + {{ item.name }} | |
| 129 | 131 | </u-radio> |
| 130 | 132 | </u-radio-group> |
| 131 | 133 | </u-form-item> |
| 132 | 134 | |
| 133 | 135 | |
| 134 | - <view v-if="wenjuan.needOpinion =='必填'" style="padding:0 20px 10px 20px;"> | |
| 136 | + <view v-if="wenjuan.needOpinion == '必填'" style="padding:0 20px 10px 20px;"> | |
| 135 | 137 | <view style="margin-bottom:10px;">意见</view> |
| 136 | 138 | |
| 137 | 139 | <u-input v-model="model1.opinion" type="textarea" :border="true" :maxlength="maxLength" /> |
| ... | ... | @@ -174,7 +176,7 @@ |
| 174 | 176 | phone: '', |
| 175 | 177 | sexl: '', |
| 176 | 178 | opinion: '', |
| 177 | - socialSecurityCardNumber:'' | |
| 179 | + socialSecurityCardNumber: '' | |
| 178 | 180 | }, |
| 179 | 181 | wenjuan: { |
| 180 | 182 | |
| ... | ... | @@ -219,9 +221,9 @@ |
| 219 | 221 | token: '', |
| 220 | 222 | myChoose: {}, |
| 221 | 223 | myChooseItem: [ |
| 222 | - | |
| 224 | + | |
| 223 | 225 | ], |
| 224 | - panduan:false | |
| 226 | + panduan: false | |
| 225 | 227 | }; |
| 226 | 228 | }, |
| 227 | 229 | computed: { |
| ... | ... | @@ -240,7 +242,7 @@ |
| 240 | 242 | } |
| 241 | 243 | NET.request(API.jietoken, obj, 'get').then(res => { |
| 242 | 244 | if (typeof res.data == 'string') { |
| 243 | - | |
| 245 | + | |
| 244 | 246 | if (JSON.parse(res.data).phone) { |
| 245 | 247 | this.model1.phone = Number(JSON.parse(res.data).phone) |
| 246 | 248 | } |
| ... | ... | @@ -251,7 +253,7 @@ |
| 251 | 253 | this.model1.sexl = JSON.parse(res.data).aac004 |
| 252 | 254 | this.panduan = true |
| 253 | 255 | } |
| 254 | - if (JSON.parse(res.data).aac002Mask) { | |
| 256 | + if (JSON.parse(res.data).aac002Mask) { | |
| 255 | 257 | this.model1.socialSecurityCardNumber = JSON.parse(res.data).aac002Mask |
| 256 | 258 | } |
| 257 | 259 | } |
| ... | ... | @@ -272,7 +274,13 @@ |
| 272 | 274 | if (res.data.id) { |
| 273 | 275 | this.wenjuan = res.data |
| 274 | 276 | this.wenjuan.question = JSON.parse(res.data.question) |
| 275 | - | |
| 277 | + //检查this.wenjuan.question这个list的每个里面是否有maxChoose参数,没有的话就加一个 | |
| 278 | + this.wenjuan.question.forEach(item => { | |
| 279 | + if (!item.maxChoose) { | |
| 280 | + item.maxChoose = 0 | |
| 281 | + } | |
| 282 | + }) | |
| 283 | + | |
| 276 | 284 | |
| 277 | 285 | this.timeLeft = parseInt(this.wenjuan.estimatedTime, 10) * 60; // 将分钟转换为秒 |
| 278 | 286 | this.updateCountdownDisplay() |
| ... | ... | @@ -368,7 +376,7 @@ |
| 368 | 376 | if (question.required === '必填') { |
| 369 | 377 | if (question.type === '文本' || question.type === '单选') { |
| 370 | 378 | if (question.choose === '') { |
| 371 | - | |
| 379 | + | |
| 372 | 380 | this.$refs.uToast.show({ |
| 373 | 381 | title: '请填写所有必填题目', |
| 374 | 382 | }) |
| ... | ... | @@ -384,7 +392,7 @@ |
| 384 | 392 | this.$refs.uToast.show({ |
| 385 | 393 | title: '请填写所有必填题目', |
| 386 | 394 | }) |
| 387 | - | |
| 395 | + | |
| 388 | 396 | return false; // 返回false表示有未填写的必填题目 |
| 389 | 397 | } |
| 390 | 398 | } |
| ... | ... | @@ -393,15 +401,11 @@ |
| 393 | 401 | return true; // 返回true表示所有必填题目都已填写 |
| 394 | 402 | }, |
| 395 | 403 | submit() { |
| 396 | - | |
| 397 | 404 | let putTime = this.getCurrentTimestamp() - this.pageTime |
| 398 | 405 | putTime = (putTime / 1000).toFixed(2) |
| 399 | - | |
| 400 | 406 | if (!this.checkRequiredQuestions(this.wenjuan.question)) { |
| 401 | 407 | return |
| 402 | 408 | } |
| 403 | - | |
| 404 | - | |
| 405 | 409 | if (this.model1.name == '' && this.wenjuan.needName == '必填') { |
| 406 | 410 | this.$refs.uToast.show({ |
| 407 | 411 | title: '请输入姓名', |
| ... | ... | @@ -429,7 +433,7 @@ |
| 429 | 433 | // if(this.wenjuan.needPhone =='不填' && this.wenjuan.fillingConditions == '可重复填写'){ |
| 430 | 434 | // this.model1.phone = '' |
| 431 | 435 | // } |
| 432 | - | |
| 436 | + | |
| 433 | 437 | if (this.model1.sexl != '男' && this.model1.sexl != '女' && this.wenjuan.needGender == '必填') { |
| 434 | 438 | this.$refs.uToast.show({ |
| 435 | 439 | title: '请选择性别', |
| ... | ... | @@ -656,7 +660,7 @@ |
| 656 | 660 | gender: this.model1.sexl, |
| 657 | 661 | responseTime: putTime, |
| 658 | 662 | answerOptions: JSON.stringify(result), |
| 659 | - socialSecurityCardNumber:this.model1.socialSecurityCardNumber, | |
| 663 | + socialSecurityCardNumber: this.model1.socialSecurityCardNumber, | |
| 660 | 664 | createTime: this.currentTime(), |
| 661 | 665 | opinion: this.model1.opinion, |
| 662 | 666 | questionnaireScore: totalScore, |
| ... | ... | @@ -719,47 +723,47 @@ |
| 719 | 723 | // this.$forceUpdate(); |
| 720 | 724 | }, |
| 721 | 725 | chooseAnswerOne(options, chooseItem, idx) { |
| 722 | - | |
| 726 | + | |
| 723 | 727 | options.forEach(item => { |
| 724 | 728 | item.disabled = false |
| 725 | 729 | }) |
| 726 | - | |
| 730 | + | |
| 727 | 731 | for (let key in this.wenjuan.question) { |
| 728 | - this.wenjuan.question[key].options.map(res=>{ | |
| 729 | - if (res.answer == chooseItem.answer) { | |
| 730 | - this.wenjuan.question[key].choose = chooseItem.answer | |
| 731 | - } | |
| 732 | - }) | |
| 733 | - | |
| 734 | - | |
| 732 | + this.wenjuan.question[key].options.map(res => { | |
| 733 | + if (res.answer == chooseItem.answer) { | |
| 734 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 735 | + } | |
| 736 | + }) | |
| 737 | + | |
| 738 | + | |
| 735 | 739 | } |
| 736 | - | |
| 740 | + | |
| 737 | 741 | this.myChoose = { |
| 738 | 742 | ...chooseItem |
| 739 | 743 | } |
| 740 | 744 | chooseItem.disabled = true |
| 741 | 745 | }, |
| 742 | 746 | chooseAnswerMore(chooseItem, idx) { |
| 743 | - | |
| 744 | - if(chooseItem.disabled){ | |
| 745 | - chooseItem.disabled=false | |
| 746 | - for (let key in this.wenjuan.question) { | |
| 747 | - this.wenjuan.question[key].options.map(res=>{ | |
| 748 | - if (res.answer == chooseItem.answer) { | |
| 749 | - this.wenjuan.question[key].choose = '' | |
| 750 | - } | |
| 751 | - }) | |
| 752 | - } | |
| 753 | - }else{ | |
| 754 | - for (let key in this.wenjuan.question) { | |
| 755 | - this.wenjuan.question[key].options.map(res=>{ | |
| 756 | - if (res.answer == chooseItem.answer) { | |
| 757 | - this.wenjuan.question[key].choose = chooseItem.answer | |
| 758 | - } | |
| 759 | - }) | |
| 760 | - } | |
| 761 | - chooseItem.disabled=true | |
| 762 | - } | |
| 747 | + | |
| 748 | + if (chooseItem.disabled) { | |
| 749 | + chooseItem.disabled = false | |
| 750 | + for (let key in this.wenjuan.question) { | |
| 751 | + this.wenjuan.question[key].options.map(res => { | |
| 752 | + if (res.answer == chooseItem.answer) { | |
| 753 | + this.wenjuan.question[key].choose = '' | |
| 754 | + } | |
| 755 | + }) | |
| 756 | + } | |
| 757 | + } else { | |
| 758 | + for (let key in this.wenjuan.question) { | |
| 759 | + this.wenjuan.question[key].options.map(res => { | |
| 760 | + if (res.answer == chooseItem.answer) { | |
| 761 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 762 | + } | |
| 763 | + }) | |
| 764 | + } | |
| 765 | + chooseItem.disabled = true | |
| 766 | + } | |
| 763 | 767 | |
| 764 | 768 | } |
| 765 | 769 | |
| ... | ... | @@ -794,7 +798,7 @@ |
| 794 | 798 | width: 100%; |
| 795 | 799 | max-width: 600px; |
| 796 | 800 | flex-grow: 1; |
| 797 | - margin:auto; | |
| 801 | + margin: auto; | |
| 798 | 802 | /* padding: 30px; */ |
| 799 | 803 | background-color: white; |
| 800 | 804 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); |
| ... | ... | @@ -834,13 +838,15 @@ |
| 834 | 838 | transition: background-color 0.3s ease; |
| 835 | 839 | margin-right: 10px; |
| 836 | 840 | font-size: 15px; |
| 837 | - font-weight:500; | |
| 838 | - .u-radio__label{ | |
| 839 | - color: #000000 ; | |
| 841 | + font-weight: 500; | |
| 842 | + | |
| 843 | + .u-radio__label { | |
| 844 | + color: #000000; | |
| 840 | 845 | font-size: 15px; |
| 841 | - font-weight:500; | |
| 846 | + font-weight: 500; | |
| 842 | 847 | } |
| 843 | 848 | } |
| 849 | + | |
| 844 | 850 | .myOption { |
| 845 | 851 | margin: 0; |
| 846 | 852 | cursor: pointer; |
| ... | ... | @@ -857,7 +863,8 @@ |
| 857 | 863 | letter-spacing: 1px; |
| 858 | 864 | overflow: hidden; |
| 859 | 865 | position: relative; |
| 860 | - .chooseTag{ | |
| 866 | + | |
| 867 | + .chooseTag { | |
| 861 | 868 | position: absolute; |
| 862 | 869 | top: 0; |
| 863 | 870 | right: 0; |
| ... | ... | @@ -868,23 +875,26 @@ |
| 868 | 875 | display: flex; |
| 869 | 876 | align-items: center; |
| 870 | 877 | justify-content: center; |
| 871 | - .u-icon__icon{ | |
| 878 | + | |
| 879 | + .u-icon__icon { | |
| 872 | 880 | margin-left: 4px; |
| 873 | 881 | margin-bottom: 2px; |
| 874 | 882 | } |
| 875 | 883 | } |
| 876 | 884 | } |
| 885 | + | |
| 877 | 886 | .green { |
| 878 | 887 | background-color: #cff4de; |
| 879 | - .u-radio__label{ | |
| 880 | - color: #12ad55 ; | |
| 888 | + | |
| 889 | + .u-radio__label { | |
| 890 | + color: #12ad55; | |
| 881 | 891 | } |
| 882 | 892 | } |
| 883 | 893 | |
| 884 | 894 | .gary { |
| 885 | 895 | |
| 886 | 896 | background-color: #f5f5f5; |
| 887 | - | |
| 897 | + | |
| 888 | 898 | } |
| 889 | 899 | |
| 890 | 900 | .optionActive { | ... | ... |
wenjuan-pc/.env.development
| ... | ... | @@ -5,12 +5,14 @@ ENV = 'development' |
| 5 | 5 | VUE_APP_BASE_API = '/dev-api' |
| 6 | 6 | # VUE_APP_DOMAIN_PREFIX_1='http://192.168.2.120:9003' |
| 7 | 7 | # VUE_APP_DOMAIN_PREFIX_2='http://192.168.2.120:9007' |
| 8 | - VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/admin-server/' | |
| 9 | - VUE_APP_DOMAIN_PREFIX_2='https://h5.028wlkj.com/cdwlMall/meserver/api' | |
| 8 | +# VUE_APP_DOMAIN_PREFIX_1='https://h5.028wlkj.com/cdwlMall/admin-server/' | |
| 9 | +# VUE_APP_DOMAIN_PREFIX_2='https://h5.028wlkj.com/cdwlMall/meserver/api' | |
| 10 | 10 | # VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.48/meserver/admin-server/' |
| 11 | 11 | # VUE_APP_DOMAIN_PREFIX_2='http://172.16.61.48/meserver/api' |
| 12 | 12 | #VUE_APP_DOMAIN_PREFIX_1='http://172.16.61.123:80/cdwlMall/admin-server/' |
| 13 | 13 | #VUE_APP_DOMAIN_PREFIX_2='http://172.16.61.123:80/cdwlMall/api' |
| 14 | +VUE_APP_DOMAIN_PREFIX_1='https://jy.scjysm.asia:18086/meserver/admin-server' | |
| 15 | +VUE_APP_DOMAIN_PREFIX_2='https://jy.scjysm.asia:18086/cdwlMall/meserver/api' | |
| 14 | 16 | # 开发环境 |
| 15 | 17 | # 演示环境 |
| 16 | 18 | # VUE_APP_DOMAIN_PREFIX = '/api' | ... | ... |
wenjuan-pc/src/utils/request.js
| ... | ... | @@ -53,7 +53,7 @@ service.interceptors.response.use( |
| 53 | 53 | if (response.config.responseType === 'blob') { |
| 54 | 54 | return response.data |
| 55 | 55 | } |
| 56 | - if (res.code !== '' && res.code !== 200) { | |
| 56 | + if (res.code !== '' && res.code !== 200&& res.code !== "200") { | |
| 57 | 57 | Message({ |
| 58 | 58 | message: res.message || 'Error', |
| 59 | 59 | type: 'error', | ... | ... |
wenjuan-pc/src/views/investigation/index.vue
| ... | ... | @@ -3,8 +3,7 @@ |
| 3 | 3 | <div class="zhuti"> |
| 4 | 4 | <div style="height:58px;line-height:58px;"> |
| 5 | 5 | <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span |
| 6 | - style="color:#000000e6" | |
| 7 | - >问卷管理</span></div> | |
| 6 | + style="color:#000000e6">问卷管理</span></div> | |
| 8 | 7 | </div> |
| 9 | 8 | <!-- 线上 --> |
| 10 | 9 | <div v-if="!tongjiBox"> |
| ... | ... | @@ -35,33 +34,25 @@ |
| 35 | 34 | <div> |
| 36 | 35 | <el-button :disabled="isbutton" style="background-color: #3F9B6A;color: #fff" @click="onSubmit">查询 |
| 37 | 36 | </el-button> |
| 38 | - <el-button | |
| 39 | - class="buttonHover" | |
| 40 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 41 | - @click="resetting" | |
| 42 | - >重置 | |
| 37 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 38 | + @click="resetting">重置 | |
| 43 | 39 | </el-button> |
| 44 | 40 | </div> |
| 45 | 41 | </div> |
| 46 | 42 | <div style="margin-bottom: 20px;"> |
| 47 | 43 | <div> |
| 48 | - <el-button | |
| 49 | - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 50 | - icon="el-icon-circle-plus-outline" | |
| 51 | - @click="addggXin" | |
| 52 | - >新增</el-button> | |
| 44 | + <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 45 | + icon="el-icon-circle-plus-outline" @click="addggXin">新增</el-button> | |
| 53 | 46 | </div> |
| 54 | 47 | </div> |
| 55 | 48 | <!-- 表格 --> |
| 56 | 49 | |
| 57 | - <el-table | |
| 58 | - :data="tableData.slice((currentPageList - 1) * pageSize, currentPageList * pageSize)" | |
| 59 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 60 | - tooltip-effect="dark custom-tooltip-effect" | |
| 61 | - > | |
| 50 | + <el-table :data="tableData.slice((currentPageList - 1) * pageSize, currentPageList * pageSize)" | |
| 51 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 52 | + tooltip-effect="dark custom-tooltip-effect"> | |
| 62 | 53 | <el-table-column label="序号" min-width="80"> |
| 63 | 54 | <template slot-scope="scope"> |
| 64 | - {{ scope.$index +1 }} | |
| 55 | + {{ scope.$index + 1 }} | |
| 65 | 56 | </template> |
| 66 | 57 | </el-table-column> |
| 67 | 58 | <!-- <el-table-column label="问卷编号" min-width="150" prop="id"> |
| ... | ... | @@ -74,43 +65,31 @@ |
| 74 | 65 | <el-table-column prop="createTime" label="创建时间" min-width="180" /> |
| 75 | 66 | <el-table-column prop="reviewStatus" label="状态" min-width="120"> |
| 76 | 67 | <template slot-scope="scope"> |
| 77 | - {{ scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'已通过':scope.row.reviewStatus == '4'?'不通过':'已禁用' }} | |
| 68 | + {{ scope.row.reviewStatus == '1' ? '待提交' : scope.row.reviewStatus == '2' ? '待审核' : scope.row.reviewStatus | |
| 69 | + == | |
| 70 | + '3' ? '已通过' : scope.row.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 78 | 71 | </template> |
| 79 | 72 | </el-table-column> |
| 80 | 73 | <el-table-column label="操作" min-width="280"> |
| 81 | 74 | <template slot-scope="scope"> |
| 82 | - <div class="tableBtn greens" @click="details(0,scope.row)">查看</div> | |
| 83 | - <div v-if="scope.row.reviewStatus =='1'" class="tableBtn greens" @click="bianls(scope.row)">编辑</div> | |
| 84 | - <div v-if="scope.row.reviewStatus =='1'" class="tableBtn greens" @click="fabu('2',scope.row)">提交审核</div> | |
| 85 | - <div v-if="scope.row.reviewStatus =='3'" class="tableBtn greens" @click="downs(scope.row)">禁用</div> | |
| 86 | - <div | |
| 87 | - v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='5'" | |
| 88 | - class="tableBtn greens" | |
| 89 | - @click="tongji(scope.row)" | |
| 90 | - >统计</div> | |
| 91 | - <div v-if="scope.row.reviewStatus =='1'" class="tableBtn greens" @click="delwen(scope.row)">删除</div> | |
| 92 | - <div | |
| 93 | - v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='1'" | |
| 94 | - class="tableBtn greens" | |
| 95 | - @click="yulan(scope.row)" | |
| 96 | - >预览</div> | |
| 75 | + <div class="tableBtn greens" @click="details(0, scope.row)">查看</div> | |
| 76 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" @click="bianls(scope.row)">编辑</div> | |
| 77 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" @click="fabu('2', scope.row)">提交审核</div> | |
| 78 | + <div v-if="scope.row.reviewStatus == '3'" class="tableBtn greens" @click="downs(scope.row)">禁用</div> | |
| 79 | + <div v-if="scope.row.reviewStatus == '3' || scope.row.reviewStatus == '5'" class="tableBtn greens" | |
| 80 | + @click="tongji(scope.row)">统计</div> | |
| 81 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" @click="delwen(scope.row)">删除</div> | |
| 82 | + <div v-if="scope.row.reviewStatus == '3' || scope.row.reviewStatus == '1'" class="tableBtn greens" | |
| 83 | + @click="yulan(scope.row)">预览</div> | |
| 97 | 84 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> |
| 98 | 85 | </template> |
| 99 | 86 | </el-table-column> |
| 100 | 87 | </el-table> |
| 101 | 88 | <div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
| 102 | 89 | <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ total }}</span> 条</div> |
| 103 | - <el-pagination | |
| 104 | - :current-page="currentPageList" | |
| 105 | - :page-sizes="[10, 20, 50, 100]" | |
| 106 | - :page-size="pageSize" | |
| 107 | - background | |
| 108 | - small | |
| 109 | - layout="prev, pager, next" | |
| 110 | - :total="total" | |
| 111 | - @size-change="handleSizeChange" | |
| 112 | - @current-change="handleCurrentChange" | |
| 113 | - /> | |
| 90 | + <el-pagination :current-page="currentPageList" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" | |
| 91 | + background small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" | |
| 92 | + @current-change="handleCurrentChange" /> | |
| 114 | 93 | </div> |
| 115 | 94 | <!-- <div class="fenye"> |
| 116 | 95 | <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPageList" |
| ... | ... | @@ -122,53 +101,34 @@ |
| 122 | 101 | <div v-if="tongjiBox"> |
| 123 | 102 | <div> |
| 124 | 103 | <div style="display: flex;"> |
| 125 | - <img | |
| 126 | - :src="this.$hostUrl + secondData.coverImage" | |
| 127 | - alt="" | |
| 128 | - style="width:150px;height:100px;margin-right: 15px;border-radius:10px;" | |
| 129 | - > | |
| 104 | + <img :src="this.$hostUrl + secondData.coverImage" alt="" | |
| 105 | + style="width:150px;height:100px;margin-right: 15px;border-radius:10px;"> | |
| 130 | 106 | <div> |
| 131 | - <div style="font-weight: 600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;">{{ secondData.title }}</div> | |
| 107 | + <div | |
| 108 | + style="font-weight: 600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;"> | |
| 109 | + {{ secondData.title }}</div> | |
| 132 | 110 | <div style="padding:20px 0;">答卷数量:{{ total1 || 0 }}</div> |
| 133 | 111 | <div>起止时间:{{ secondData.startDate }} 至 {{ secondData.endDate }}</div> |
| 134 | 112 | </div> |
| 135 | 113 | </div> |
| 136 | 114 | <div> |
| 137 | - <el-tabs | |
| 138 | - v-model="tongjiTabs" | |
| 139 | - @tab-click="tongjiClick" | |
| 140 | - > | |
| 115 | + <el-tabs v-model="tongjiTabs" @tab-click="tongjiClick"> | |
| 141 | 116 | <el-tab-pane label="作答情况" name="qingK"> |
| 142 | 117 | <div v-loading="loading" style="width: 100%"> |
| 143 | 118 | <div style="display: flex;align-items: center;margin-bottom: 20px;"> |
| 144 | - <el-date-picker | |
| 145 | - v-model="tongjiMsg.plan_Time" | |
| 146 | - style="width: 30%;margin-right: 20px;" | |
| 147 | - value-format="yyyy-MM-dd" | |
| 148 | - type="daterange" | |
| 149 | - range-separator="至" | |
| 150 | - start-placeholder="开始日期" | |
| 151 | - end-placeholder="结束日期" | |
| 152 | - align="right" | |
| 153 | - /> | |
| 154 | - <el-input | |
| 155 | - v-model="tongjiMsg.userName" | |
| 156 | - style="width:30%;margin-right: 20px;" | |
| 157 | - placeholder="搜索提交人" | |
| 158 | - /> | |
| 119 | + <el-date-picker v-model="tongjiMsg.plan_Time" style="width: 30%;margin-right: 20px;" | |
| 120 | + value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" | |
| 121 | + end-placeholder="结束日期" align="right" /> | |
| 122 | + <el-input v-model="tongjiMsg.userName" style="width:30%;margin-right: 20px;" placeholder="搜索提交人" /> | |
| 159 | 123 | <el-button style="background-color: #3F9B6A;color: #fff" @click="tongjiSubmit">查询 |
| 160 | 124 | </el-button> |
| 161 | - <el-button | |
| 162 | - class="buttonHover" | |
| 125 | + <el-button class="buttonHover" | |
| 163 | 126 | style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" |
| 164 | - @click="tongjiSubmitret" | |
| 165 | - >重置 | |
| 127 | + @click="tongjiSubmitret">重置 | |
| 166 | 128 | </el-button> |
| 167 | 129 | </div> |
| 168 | - <el-table | |
| 169 | - :data="tongjiSshu.slice((currentPage1 - 1) * pageSize, currentPage1 * pageSize)" | |
| 170 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 171 | - > | |
| 130 | + <el-table :data="tongjiSshu.slice((currentPage1 - 1) * pageSize, currentPage1 * pageSize)" | |
| 131 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 172 | 132 | <el-table-column label="序号" min-width="100"> |
| 173 | 133 | <template slot-scope="scope"> |
| 174 | 134 | {{ scope.$index + 1 }} |
| ... | ... | @@ -190,29 +150,18 @@ |
| 190 | 150 | |
| 191 | 151 | </el-table> |
| 192 | 152 | <div class="fenye"> |
| 193 | - <el-pagination | |
| 194 | - :hide-on-single-page="flag1" | |
| 195 | - background | |
| 196 | - small | |
| 197 | - size="mini" | |
| 198 | - :current-page="currentPage1" | |
| 199 | - :page-sizes="[10, 20, 50, 100]" | |
| 200 | - layout="prev, pager, next,total" | |
| 201 | - :total="total1" | |
| 202 | - @current-change="handleCurrentChange1" | |
| 203 | - /> | |
| 153 | + <el-pagination :hide-on-single-page="flag1" background small size="mini" | |
| 154 | + :current-page="currentPage1" :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" | |
| 155 | + :total="total1" @current-change="handleCurrentChange1" /> | |
| 204 | 156 | </div> |
| 205 | 157 | </div> |
| 206 | 158 | </el-tab-pane> |
| 207 | - <el-tab-pane | |
| 208 | - label="数据统计" | |
| 209 | - name="shuju" | |
| 210 | - > | |
| 159 | + <el-tab-pane label="数据统计" name="shuju"> | |
| 211 | 160 | <div v-loading="shujuloading" style="padding:20px;"> |
| 212 | - <div style="margin-bottom: 20px;font-size: 18px;">数据概况 <span>截止{{ tongjiTu.statisticalTime }}</span></div> | |
| 161 | + <div style="margin-bottom: 20px;font-size: 18px;">数据概况 <span>截止{{ tongjiTu.statisticalTime }}</span> | |
| 162 | + </div> | |
| 213 | 163 | <div |
| 214 | - style="display: flex;padding:20px 30px;width: 100%;justify-content: space-around;border: 1px solid #dddfe5;" | |
| 215 | - > | |
| 164 | + style="display: flex;padding:20px 30px;width: 100%;justify-content: space-around;border: 1px solid #dddfe5;"> | |
| 216 | 165 | <div style="text-align: center;"> |
| 217 | 166 | <div style="margin-bottom:10px;">今日新增</div> |
| 218 | 167 | <div style="font-size:16px;">{{ tongjiTu.todayNumber || 0 }}</div> |
| ... | ... | @@ -229,16 +178,8 @@ |
| 229 | 178 | </div> |
| 230 | 179 | <div style="margin: 20px 0;font-size: 18px;">题目统计</div> |
| 231 | 180 | <!-- {{tuwent}} --> |
| 232 | - <dynamic-chart-table | |
| 233 | - v-for="(item,index) in tuwent" | |
| 234 | - v-show="item.type !='文本'" | |
| 235 | - :ref="'chat'+index" | |
| 236 | - :key="index" | |
| 237 | - :title="item.title" | |
| 238 | - :table-data="tongjiTu" | |
| 239 | - :tixingtype="item.type" | |
| 240 | - :index="index" | |
| 241 | - /> | |
| 181 | + <dynamic-chart-table v-for="(item, index) in tuwent" v-show="item.type != '文本'" :ref="'chat' + index" | |
| 182 | + :key="index" :title="item.title" :table-data="tongjiTu" :tixingtype="item.type" :index="index" /> | |
| 242 | 183 | |
| 243 | 184 | <!-- <tiaoxing :title="item.tikuTitle" :tableData="tongjiTu.cereQuestionManagements" v-if="item.questionType=='多选'" v-for="(item,index) in tongjiTu.cereQuestionManagements"> --> |
| 244 | 185 | |
| ... | ... | @@ -250,23 +191,13 @@ |
| 250 | 191 | </div> |
| 251 | 192 | |
| 252 | 193 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| 253 | - <el-button | |
| 254 | - class="buttonHover" | |
| 255 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 256 | - @click="tongjiBoxFan" | |
| 257 | - >返回</el-button> | |
| 194 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 195 | + @click="tongjiBoxFan">返回</el-button> | |
| 258 | 196 | |
| 259 | 197 | </div> |
| 260 | 198 | </div> |
| 261 | - <el-dialog | |
| 262 | - :visible.sync="daxiangBox" | |
| 263 | - custom-class="tongyong_css" | |
| 264 | - style="padding: 0;" | |
| 265 | - width="60%" | |
| 266 | - center | |
| 267 | - :close-on-click-modal="false" | |
| 268 | - append-to-body | |
| 269 | - > | |
| 199 | + <el-dialog :visible.sync="daxiangBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 200 | + :close-on-click-modal="false" append-to-body> | |
| 270 | 201 | <div style="padding:20px;"> |
| 271 | 202 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div> |
| 272 | 203 | <div style="display:flex;border-top: 1px solid #dddfe5;"> |
| ... | ... | @@ -276,16 +207,16 @@ |
| 276 | 207 | <div style="margin-bottom:15px;">提交人:<span style="color:#000">{{ daxiangData.userName }}</span></div> |
| 277 | 208 | <div style="margin-bottom:15px;">手机号:<span style="color:#000">{{ daxiangData.contactNumber }}</span> |
| 278 | 209 | </div> |
| 279 | - <div style="margin-bottom:15px;">作答时长:<span | |
| 280 | - style="color:#000" | |
| 281 | - >{{ secondsToMinutesAndSeconds(daxiangData.responseTime) }}</span> </div> | |
| 210 | + <div style="margin-bottom:15px;">作答时长:<span style="color:#000">{{ | |
| 211 | + secondsToMinutesAndSeconds(daxiangData.responseTime) }}</span> </div> | |
| 282 | 212 | <div style="margin-bottom:15px;">提交时间:<span style="color:#000">{{ daxiangData.createTime }}</span> |
| 283 | 213 | </div> |
| 284 | - <div style="margin-bottom:15px;">填写条件:<span style="color:#000">{{ secondData.fillingConditions }}</span> | |
| 214 | + <div style="margin-bottom:15px;">填写条件:<span style="color:#000">{{ secondData.fillingConditions | |
| 215 | + }}</span> | |
| 216 | + </div> | |
| 217 | + <div style="margin-bottom:15px;">问卷分数:<span style="color:#000">{{ daxiangData.questionnaireScore | |
| 218 | + }}</span> | |
| 285 | 219 | </div> |
| 286 | - <div style="margin-bottom:15px;">问卷分数:<span | |
| 287 | - style="color:#000" | |
| 288 | - >{{ daxiangData.questionnaireScore }}</span> </div> | |
| 289 | 220 | <div>用户意见:<span style="color:#000" />{{ daxiangData.opinion }} </div> |
| 290 | 221 | </div> |
| 291 | 222 | </div> |
| ... | ... | @@ -293,38 +224,26 @@ |
| 293 | 224 | <div style="margin-bottom:20px;">答卷详情</div> |
| 294 | 225 | <div> |
| 295 | 226 | |
| 296 | - <div v-for="(item,index) in daxiangData.question" class="question"> | |
| 297 | - <p class="question-title"><span | |
| 298 | - v-if="item.required=='必填'" | |
| 299 | - style="color: red;" | |
| 300 | - >*</span>{{ index }}.<span style="">({{ item.type }})</span> | |
| 227 | + <div v-for="(item, index) in daxiangData.question" class="question"> | |
| 228 | + <p class="question-title"><span v-if="item.required == '必填'" style="color: red;">*</span>{{ index | |
| 229 | + }}.<span style="">({{ item.type }})</span> | |
| 301 | 230 | {{ item.title }} |
| 302 | 231 | </p> |
| 303 | 232 | <div> |
| 304 | - <el-radio-group | |
| 305 | - v-for="(val, idx) in item.options" | |
| 306 | - v-if="item.type =='单选'" | |
| 307 | - :key="idx" | |
| 308 | - v-model="item.choose" | |
| 309 | - style="display: flex;flex-direction: column;" | |
| 310 | - > | |
| 233 | + <el-radio-group v-for="(val, idx) in item.options" v-if="item.type == '单选'" :key="idx" | |
| 234 | + v-model="item.choose" style="display: flex;flex-direction: column;"> | |
| 311 | 235 | <el-radio disabled :label="val.answer">{{ val.answer }}</el-radio> |
| 312 | 236 | |
| 313 | 237 | </el-radio-group> |
| 314 | 238 | |
| 315 | - <el-checkbox-group | |
| 316 | - v-for="(val, idx) in item.options" | |
| 317 | - v-if="item.type =='多选'" | |
| 318 | - :key="idx" | |
| 319 | - v-model="val.disabled" | |
| 320 | - style="display: flex;flex-direction: column;" | |
| 321 | - > | |
| 239 | + <el-checkbox-group v-for="(val, idx) in item.options" v-if="item.type == '多选'" :key="idx" | |
| 240 | + v-model="val.disabled" style="display: flex;flex-direction: column;"> | |
| 322 | 241 | |
| 323 | 242 | <el-checkbox :label="val.answer" disabled>{{ val.answer }}</el-checkbox> |
| 324 | 243 | |
| 325 | 244 | </el-checkbox-group> |
| 326 | 245 | |
| 327 | - <div v-if="item.type =='文本'" style="display: flex;flex-direction: column;"> | |
| 246 | + <div v-if="item.type == '文本'" style="display: flex;flex-direction: column;"> | |
| 328 | 247 | {{ item.choose }} |
| 329 | 248 | |
| 330 | 249 | </div> |
| ... | ... | @@ -339,20 +258,14 @@ |
| 339 | 258 | </div> |
| 340 | 259 | </div> |
| 341 | 260 | <!-- 详情框 --> |
| 342 | - <el-dialog | |
| 343 | - :visible.sync="detbox" | |
| 344 | - custom-class="tongyong_css" | |
| 345 | - style="padding: 0;" | |
| 346 | - width="65%" | |
| 347 | - center | |
| 348 | - :close-on-click-modal="false" | |
| 349 | - :show-close="false" | |
| 350 | - > | |
| 261 | + <el-dialog :visible.sync="detbox" custom-class="tongyong_css" style="padding: 0;" width="65%" center | |
| 262 | + :close-on-click-modal="false" :show-close="false"> | |
| 351 | 263 | <div style="padding:20px;"> |
| 352 | 264 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> |
| 353 | 265 | <div> |
| 354 | 266 | <div style="padding: 10px 0 20px 0;">基本信息</div> |
| 355 | - <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 267 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 268 | + :content-style="contentStyle"> | |
| 356 | 269 | <el-descriptions-item :span="2"> |
| 357 | 270 | <template slot="label"> |
| 358 | 271 | 问卷标题 |
| ... | ... | @@ -363,7 +276,10 @@ |
| 363 | 276 | <template slot="label"> |
| 364 | 277 | 状态 |
| 365 | 278 | </template> |
| 366 | - {{ secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用' }} | |
| 279 | + {{ secondData.reviewStatus == '1' ? '待提交' : secondData.reviewStatus == '2' ? '待审核' : | |
| 280 | + secondData.reviewStatus | |
| 281 | + == | |
| 282 | + '3' ? '审核通过' : secondData.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 367 | 283 | </el-descriptions-item> |
| 368 | 284 | |
| 369 | 285 | <el-descriptions-item> |
| ... | ... | @@ -414,22 +330,12 @@ |
| 414 | 330 | <div v-html="secondData.remarks" /> |
| 415 | 331 | <div style="padding: 20px 0;">问卷封面</div> |
| 416 | 332 | <div> |
| 417 | - <el-image | |
| 418 | - style="width: 280px; height: 200px" | |
| 419 | - :src="this.$hostUrl + secondData.coverImage" | |
| 420 | - fit="fill" | |
| 421 | - /> | |
| 333 | + <el-image style="width: 280px; height: 200px" :src="this.$hostUrl + secondData.coverImage" fit="fill" /> | |
| 422 | 334 | <!-- <img :src="secondData.coverImage" alt="" style="width:25%" /> --> |
| 423 | 335 | </div> |
| 424 | - <div v-if="secondData.filler=='会员'" style="padding: 20px 0 ;">参与答卷奖励</div> | |
| 425 | - <el-descriptions | |
| 426 | - v-if="secondData.filler=='会员'" | |
| 427 | - class="margin-top" | |
| 428 | - :column="3" | |
| 429 | - border | |
| 430 | - :label-style="labelStyle" | |
| 431 | - :content-style="contentStyle" | |
| 432 | - > | |
| 336 | + <div v-if="secondData.filler == '会员'" style="padding: 20px 0 ;">参与答卷奖励</div> | |
| 337 | + <el-descriptions v-if="secondData.filler == '会员'" class="margin-top" :column="3" border | |
| 338 | + :label-style="labelStyle" :content-style="contentStyle"> | |
| 433 | 339 | <el-descriptions-item> |
| 434 | 340 | <template slot="label"> |
| 435 | 341 | 提交问卷后 |
| ... | ... | @@ -444,13 +350,11 @@ |
| 444 | 350 | </el-descriptions-item> |
| 445 | 351 | </el-descriptions> |
| 446 | 352 | <div style="padding: 20px 0 ;">问卷题目</div> |
| 447 | - <el-table | |
| 448 | - :data="wenData" | |
| 449 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 450 | - > | |
| 353 | + <el-table :data="wenData" | |
| 354 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 451 | 355 | <el-table-column label="序号" min-width="100"> |
| 452 | 356 | <template slot-scope="scope"> |
| 453 | - {{ scope.$index +1 }} | |
| 357 | + {{ scope.$index + 1 }} | |
| 454 | 358 | </template> |
| 455 | 359 | </el-table-column> |
| 456 | 360 | <el-table-column label="题目" min-width="300" prop="title" :show-overflow-tooltip="true" /> |
| ... | ... | @@ -458,8 +362,8 @@ |
| 458 | 362 | <el-table-column label="是否必填" prop="required" min-width="80" /> |
| 459 | 363 | <el-table-column label="选项" min-width="120"> |
| 460 | 364 | <template slot-scope="scope"> |
| 461 | - <div v-for="(value, index) in scope.row.options " v-if="scope.row.type !='文本'" :key="index"> | |
| 462 | - {{ index +1 }}:{{ value.answer }} | |
| 365 | + <div v-for="(value, index) in scope.row.options " v-if="scope.row.type != '文本'" :key="index"> | |
| 366 | + {{ index + 1 }}:{{ value.answer }} | |
| 463 | 367 | </div> |
| 464 | 368 | <div v-else> |
| 465 | 369 | - |
| ... | ... | @@ -470,7 +374,8 @@ |
| 470 | 374 | |
| 471 | 375 | </el-table> |
| 472 | 376 | <div style="padding: 20px 0 ;">系统信息</div> |
| 473 | - <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 377 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 378 | + :content-style="contentStyle"> | |
| 474 | 379 | <el-descriptions-item> |
| 475 | 380 | <template slot="label"> |
| 476 | 381 | 创建人 |
| ... | ... | @@ -491,12 +396,16 @@ |
| 491 | 396 | </el-descriptions-item> |
| 492 | 397 | </el-descriptions> |
| 493 | 398 | <div style="padding: 20px 0 ;">审核信息</div> |
| 494 | - <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 399 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 400 | + :content-style="contentStyle"> | |
| 495 | 401 | <el-descriptions-item> |
| 496 | 402 | <template slot="label"> |
| 497 | 403 | 审核状态 |
| 498 | 404 | </template> |
| 499 | - {{ secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用' }} | |
| 405 | + {{ secondData.reviewStatus == '1' ? '待提交' : secondData.reviewStatus == '2' ? '待审核' : | |
| 406 | + secondData.reviewStatus | |
| 407 | + == | |
| 408 | + '3' ? '审核通过' : secondData.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 500 | 409 | </el-descriptions-item> |
| 501 | 410 | <el-descriptions-item> |
| 502 | 411 | <template slot="label"> |
| ... | ... | @@ -509,31 +418,18 @@ |
| 509 | 418 | </div> |
| 510 | 419 | |
| 511 | 420 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| 512 | - <el-button | |
| 513 | - class="buttonHover" | |
| 514 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 515 | - @click="detbox = false " | |
| 516 | - >返回</el-button> | |
| 421 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 422 | + @click="detbox = false">返回</el-button> | |
| 517 | 423 | </div> |
| 518 | 424 | </div> |
| 519 | 425 | |
| 520 | 426 | </el-dialog> |
| 521 | 427 | |
| 522 | 428 | <!-- 新增 --> |
| 523 | - <el-dialog | |
| 524 | - :visible.sync="ggXin" | |
| 525 | - custom-class="tongyong_css" | |
| 526 | - style="padding: 0;" | |
| 527 | - width="60%" | |
| 528 | - class="dialog_css_Xq" | |
| 529 | - center | |
| 530 | - :close-on-click-modal="false" | |
| 531 | - :show-close="false" | |
| 532 | - > | |
| 533 | - <div | |
| 534 | - style="padding:20px;max-height: calc(100vh - 200px); | |
| 535 | - overflow-y: auto;" | |
| 536 | - > | |
| 429 | + <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%" class="dialog_css_Xq" | |
| 430 | + center :close-on-click-modal="false" :show-close="false"> | |
| 431 | + <div style="padding:20px;max-height: calc(100vh - 200px); | |
| 432 | + overflow-y: auto;"> | |
| 537 | 433 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新建问卷</div> |
| 538 | 434 | <div> |
| 539 | 435 | <el-tabs v-model="xiangTabs"> |
| ... | ... | @@ -541,32 +437,18 @@ |
| 541 | 437 | <div style="width: 100%"> |
| 542 | 438 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> |
| 543 | 439 | <div |
| 544 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 545 | - > | |
| 440 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 546 | 441 | <div>基本信息</div> |
| 547 | 442 | </div> |
| 548 | 443 | |
| 549 | - <el-form | |
| 550 | - ref="inlineform" | |
| 551 | - :model="formInline" | |
| 552 | - :rules="rules" | |
| 553 | - label-width="155px" | |
| 554 | - style="padding:20px;" | |
| 555 | - > | |
| 444 | + <el-form ref="inlineform" :model="formInline" :rules="rules" label-width="155px" | |
| 445 | + style="padding:20px;"> | |
| 556 | 446 | <el-form-item label="问卷标题" prop="title"> |
| 557 | 447 | <el-input v-model="formInline.title" maxlength="50" /> |
| 558 | 448 | </el-form-item> |
| 559 | 449 | <el-form-item label="问卷起止时间" prop=""> |
| 560 | - <el-date-picker | |
| 561 | - v-model="Xin_Time" | |
| 562 | - style="width: 100%;" | |
| 563 | - value-format="yyyy-MM-dd" | |
| 564 | - type="daterange" | |
| 565 | - range-separator="至" | |
| 566 | - start-placeholder="开始日期" | |
| 567 | - end-placeholder="结束日期" | |
| 568 | - align="right" | |
| 569 | - > | |
| 450 | + <el-date-picker v-model="Xin_Time" style="width: 100%;" value-format="yyyy-MM-dd" type="daterange" | |
| 451 | + range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 570 | 452 | :picker-options="pickerOptions"> |
| 571 | 453 | </el-date-picker> |
| 572 | 454 | </el-form-item> |
| ... | ... | @@ -613,7 +495,8 @@ |
| 613 | 495 | |
| 614 | 496 | <div style="position: relative;"> |
| 615 | 497 | |
| 616 | - <upimg :limit="1" :file-size="1" :is-show-tip="true" :value="formInline.coverImage" @input="e=>input(e,'1')" /> | |
| 498 | + <upimg :limit="1" :file-size="1" :is-show-tip="true" :value="formInline.coverImage" | |
| 499 | + @input="e => input(e, '1')" /> | |
| 617 | 500 | <!-- <div style="position: absolute;left:160px;height:80px;">()</div> --> |
| 618 | 501 | <!-- @input="e=>input(e,'ing')" @input="input" --> |
| 619 | 502 | </div> |
| ... | ... | @@ -645,11 +528,10 @@ |
| 645 | 528 | </el-form-item> |
| 646 | 529 | </el-form> |
| 647 | 530 | </div> |
| 648 | - <div v-if="formInline.filler=='会员'"> | |
| 531 | + <div v-if="formInline.filler == '会员'"> | |
| 649 | 532 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> |
| 650 | 533 | <div |
| 651 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 652 | - > | |
| 534 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 653 | 535 | <div>参与答卷奖励</div> |
| 654 | 536 | </div> |
| 655 | 537 | <el-form ref="form" :model="formInline" label-width="140px" style="padding:20px;"> |
| ... | ... | @@ -685,8 +567,7 @@ |
| 685 | 567 | <div style="width: 100%"> |
| 686 | 568 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> |
| 687 | 569 | <div |
| 688 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 689 | - > | |
| 570 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 690 | 571 | <div>问卷内容</div> |
| 691 | 572 | <div> |
| 692 | 573 | <div class="greens tableBtn" @click="addTikuShow">新增</div> |
| ... | ... | @@ -696,11 +577,9 @@ |
| 696 | 577 | </div> |
| 697 | 578 | |
| 698 | 579 | <div style="padding:20px;"> |
| 699 | - <el-table | |
| 700 | - :data="wenConstData" | |
| 701 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 702 | - class="xddTable" | |
| 703 | - > | |
| 580 | + <el-table :data="wenConstData" | |
| 581 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 582 | + class="xddTable"> | |
| 704 | 583 | <el-table-column label="序号" min-width="100"> |
| 705 | 584 | <template slot-scope="scope"> |
| 706 | 585 | {{ scope.$index + 1 }} |
| ... | ... | @@ -709,16 +588,18 @@ |
| 709 | 588 | <el-table-column label="题目" min-width="300" prop="tikuTitle" show-overflow-tooltip /> |
| 710 | 589 | <el-table-column label="题型" min-width="80" prop="questionType" /> |
| 711 | 590 | <el-table-column label="是否必填" prop="isRequired" min-width="120" /> |
| 712 | - <el-table-column label="" min-width="120" > | |
| 591 | + <el-table-column label="" min-width="120"> | |
| 713 | 592 | <template #default="scope"> |
| 714 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="moveUp(scope.$index)" v-if="scope.$index!=0">↑</span> | |
| 715 | - <span style="cursor: pointer; color: #3F9B6A;" @click="moveDown(scope.$index)" v-if="scope.$index != (wenConstData.length-1)">↓</span> | |
| 593 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="moveUp(scope.$index)" | |
| 594 | + v-if="scope.$index != 0">↑</span> | |
| 595 | + <span style="cursor: pointer; color: #3F9B6A;" @click="moveDown(scope.$index)" | |
| 596 | + v-if="scope.$index != (wenConstData.length - 1)">↓</span> | |
| 716 | 597 | </template> |
| 717 | 598 | </el-table-column> |
| 718 | 599 | <el-table-column label="操作" min-width="80"> |
| 719 | 600 | <template slot-scope="scope"> |
| 720 | 601 | <!-- <div class="tableBtn greens">编辑</div> --> |
| 721 | - <div class="tableBtn greens" @click="delWenCon('1',scope.$index)">删除</div> | |
| 602 | + <div class="tableBtn greens" @click="delWenCon('1', scope.$index)">删除</div> | |
| 722 | 603 | </template> |
| 723 | 604 | </el-table-column> |
| 724 | 605 | </el-table> |
| ... | ... | @@ -737,16 +618,8 @@ |
| 737 | 618 | |
| 738 | 619 | </span> --> |
| 739 | 620 | </div> |
| 740 | - <el-dialog | |
| 741 | - :visible.sync="tikuBox" | |
| 742 | - custom-class="tongyong_css" | |
| 743 | - style="padding: 0;" | |
| 744 | - width="60%" | |
| 745 | - center | |
| 746 | - :close-on-click-modal="false" | |
| 747 | - append-to-body | |
| 748 | - @close="tikuquxiao(1)" | |
| 749 | - > | |
| 621 | + <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 622 | + :close-on-click-modal="false" append-to-body @close="tikuquxiao(1)"> | |
| 750 | 623 | <div style="padding:20px;"> |
| 751 | 624 | <div style="padding:20px;"> |
| 752 | 625 | <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> |
| ... | ... | @@ -771,30 +644,23 @@ |
| 771 | 644 | <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;" placeholder="请输入题目" /> |
| 772 | 645 | <el-button style="background-color: #3F9B6A;color: #fff" placeholder="请输入题目" @click="tikusous">查询 |
| 773 | 646 | </el-button> |
| 774 | - <el-button | |
| 775 | - class="buttonHover" | |
| 776 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 777 | - @click="tikuclose" | |
| 778 | - >重置 | |
| 647 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 648 | + @click="tikuclose">重置 | |
| 779 | 649 | </el-button> |
| 780 | 650 | </div> |
| 781 | 651 | </div> |
| 782 | 652 | <!-- v-infinite-scroll="load" --> |
| 783 | 653 | <div style="padding:20px;overflow-y: auto;height:495px;"> |
| 784 | 654 | |
| 785 | - <el-table | |
| 786 | - ref="ziyuanData" | |
| 655 | + <el-table ref="ziyuanData" | |
| 787 | 656 | :data="tikuziyuan.slice((currentPageListTi - 1) * pageSizeTi, currentPageListTi * pageSizeTi)" |
| 788 | - :row-key="row=>row.id" | |
| 789 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 790 | - tooltip-effect="dark" | |
| 791 | - @selection-change="handleSelectionChange" | |
| 792 | - @toggleRowSelection="hangSelchange" | |
| 793 | - > | |
| 657 | + :row-key="row => row.id" | |
| 658 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 659 | + tooltip-effect="dark" @selection-change="handleSelectionChange" @toggleRowSelection="hangSelchange"> | |
| 794 | 660 | <el-table-column type="selection" width="55" :reserve-selection="true" /> |
| 795 | 661 | <el-table-column label="序号" min-width="100"> |
| 796 | 662 | <template slot-scope="scope"> |
| 797 | - {{ scope.$index +1 }} | |
| 663 | + {{ scope.$index + 1 }} | |
| 798 | 664 | </template> |
| 799 | 665 | </el-table-column> |
| 800 | 666 | <el-table-column label="题目" min-width="400" prop="tikuTitle" /> |
| ... | ... | @@ -808,17 +674,9 @@ |
| 808 | 674 | </el-table> |
| 809 | 675 | <div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
| 810 | 676 | <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ totalTi }}</span> 条</div> |
| 811 | - <el-pagination | |
| 812 | - :current-page="currentPageListTi" | |
| 813 | - :page-sizes="[10, 20, 50, 100]" | |
| 814 | - :page-size="pageSizeTi" | |
| 815 | - background | |
| 816 | - small | |
| 817 | - layout="prev, pager, next" | |
| 818 | - :total="totalTi" | |
| 819 | - @size-change="handleSizeChangeTi" | |
| 820 | - @current-change="handleCurrentChangeTi" | |
| 821 | - /> | |
| 677 | + <el-pagination :current-page="currentPageListTi" :page-sizes="[10, 20, 50, 100]" :page-size="pageSizeTi" | |
| 678 | + background small layout="prev, pager, next" :total="totalTi" @size-change="handleSizeChangeTi" | |
| 679 | + @current-change="handleCurrentChangeTi" /> | |
| 822 | 680 | </div> |
| 823 | 681 | </div> |
| 824 | 682 | </div> |
| ... | ... | @@ -826,25 +684,13 @@ |
| 826 | 684 | <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(1)">确定</el-button> |
| 827 | 685 | </div> |
| 828 | 686 | </div> |
| 829 | - <el-dialog | |
| 830 | - :visible.sync="timuXiang" | |
| 831 | - custom-class="tongyong_css" | |
| 832 | - style="padding: 0;" | |
| 833 | - width="50%" | |
| 834 | - center | |
| 835 | - :close-on-click-modal="false" | |
| 836 | - append-to-body | |
| 837 | - > | |
| 687 | + <el-dialog :visible.sync="timuXiang" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 688 | + :close-on-click-modal="false" append-to-body> | |
| 838 | 689 | <div style="padding:20px;"> |
| 839 | 690 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> |
| 840 | 691 | <div> |
| 841 | - <el-descriptions | |
| 842 | - class="margin-top" | |
| 843 | - :column="1" | |
| 844 | - border | |
| 845 | - :label-style="labelStyle" | |
| 846 | - :content-style="contentStyle" | |
| 847 | - > | |
| 692 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 693 | + :content-style="contentStyle"> | |
| 848 | 694 | <el-descriptions-item> |
| 849 | 695 | <template slot="label"> |
| 850 | 696 | 题目 |
| ... | ... | @@ -864,13 +710,8 @@ |
| 864 | 710 | {{ timuData.questionBank }} |
| 865 | 711 | </el-descriptions-item> |
| 866 | 712 | </el-descriptions> |
| 867 | - <el-descriptions | |
| 868 | - class="margin-top" | |
| 869 | - :column="1" | |
| 870 | - border | |
| 871 | - :label-style="labelStyle" | |
| 872 | - :content-style="contentStyle" | |
| 873 | - > | |
| 713 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 714 | + :content-style="contentStyle"> | |
| 874 | 715 | <el-descriptions-item> |
| 875 | 716 | <template slot="label"> |
| 876 | 717 | 默认是否必填 |
| ... | ... | @@ -889,26 +730,15 @@ |
| 889 | 730 | </el-descriptions> |
| 890 | 731 | </div> |
| 891 | 732 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| 892 | - <el-button | |
| 893 | - class="buttonHover" | |
| 894 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 895 | - @click="timuXiang = false" | |
| 896 | - >返回</el-button> | |
| 733 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 734 | + @click="timuXiang = false">返回</el-button> | |
| 897 | 735 | </div> |
| 898 | 736 | </div> |
| 899 | 737 | |
| 900 | 738 | </el-dialog> |
| 901 | 739 | </el-dialog> |
| 902 | - <el-dialog | |
| 903 | - :visible.sync="tikuAdd" | |
| 904 | - custom-class="tongyong_css" | |
| 905 | - style="padding: 0;" | |
| 906 | - width="60%" | |
| 907 | - center | |
| 908 | - :close-on-click-modal="false" | |
| 909 | - append-to-body | |
| 910 | - @close="quxiao(1)" | |
| 911 | - > | |
| 740 | + <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 741 | + :close-on-click-modal="false" append-to-body @close="quxiao(1)"> | |
| 912 | 742 | <div style="padding:20px;"> |
| 913 | 743 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> |
| 914 | 744 | 新增题目 |
| ... | ... | @@ -925,6 +755,10 @@ |
| 925 | 755 | <el-option label="文本" value="文本" /> |
| 926 | 756 | </el-select> |
| 927 | 757 | </el-form-item> |
| 758 | + | |
| 759 | + <el-form-item v-if="zhong.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 760 | + <el-input-number v-model="zhong.maxChoose" :min="0" :max="options.length" /> 0为不限制填写数量 | |
| 761 | + </el-form-item> | |
| 928 | 762 | <el-form-item label="隶属题库" prop="questionBank"> |
| 929 | 763 | <el-select v-model="zhong.questionBank" placeholder="请选择"> |
| 930 | 764 | <el-option label="用户端题库" value="用户端题库" /> |
| ... | ... | @@ -950,11 +784,9 @@ |
| 950 | 784 | </el-radio-group> |
| 951 | 785 | </el-form-item> |
| 952 | 786 | |
| 953 | - <el-form-item v-if="zhong.questionType !='文本'" label="选项" prop="optionSettings"> | |
| 954 | - <el-table | |
| 955 | - :data="options" | |
| 956 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 957 | - > | |
| 787 | + <el-form-item v-if="zhong.questionType != '文本'" label="选项" prop="optionSettings"> | |
| 788 | + <el-table :data="options" | |
| 789 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 958 | 790 | <el-table-column prop="index" label="序号" width="180"> |
| 959 | 791 | <template #default="scope"> |
| 960 | 792 | {{ scope.$index + 1 }} |
| ... | ... | @@ -967,21 +799,18 @@ |
| 967 | 799 | </el-table-column> |
| 968 | 800 | <el-table-column prop="name" label="分数"> |
| 969 | 801 | <template #default="scope"> |
| 970 | - <el-input | |
| 971 | - v-model.number="scope.row.num" | |
| 972 | - :min="0" | |
| 973 | - :max="100" | |
| 974 | - :readonly="scope.row.readonly" | |
| 975 | - @input="validateScore(scope.row)" | |
| 976 | - /> | |
| 802 | + <el-input v-model.number="scope.row.num" :min="0" :max="100" :readonly="scope.row.readonly" | |
| 803 | + @input="validateScore(scope.row)" /> | |
| 977 | 804 | </template> |
| 978 | 805 | </el-table-column> |
| 979 | - <el-table-column label="" min-width="120" > | |
| 980 | - <template #default="{$index}"> | |
| 981 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" v-if="$index!=0">↑</span> | |
| 982 | - <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" v-if="$index != (options.length-1)">↓</span> | |
| 983 | - </template> | |
| 984 | - </el-table-column> | |
| 806 | + <el-table-column label="" min-width="120"> | |
| 807 | + <template #default="{ $index }"> | |
| 808 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 809 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 810 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 811 | + @click="answerMoveDown($index)" v-if="$index != (options.length - 1)">↓</span> | |
| 812 | + </template> | |
| 813 | + </el-table-column> | |
| 985 | 814 | <el-table-column label="操作"> |
| 986 | 815 | <template #default="scope"> |
| 987 | 816 | <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> |
| ... | ... | @@ -1000,30 +829,18 @@ |
| 1000 | 829 | </el-dialog> |
| 1001 | 830 | <template #footer> |
| 1002 | 831 | <div style="display: flex; justify-content: flex-end; align-items: center;"> |
| 1003 | - <el-button | |
| 1004 | - class="buttonHover" | |
| 1005 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1006 | - @click="closeFn(1)" | |
| 1007 | - >返回</el-button> | |
| 832 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 833 | + @click="closeFn(1)">返回</el-button> | |
| 1008 | 834 | <el-button style="background-color: #3F9B6A;color: #fff" @click="addCheck(2)">确认</el-button> |
| 1009 | 835 | |
| 1010 | 836 | </div> |
| 1011 | 837 | </template> |
| 1012 | 838 | </el-dialog> |
| 1013 | 839 | <!-- 编辑 --> |
| 1014 | - <el-dialog | |
| 1015 | - :visible.sync="bainjiBox" | |
| 1016 | - custom-class="tongyong_css" | |
| 1017 | - style="padding: 0;" | |
| 1018 | - width="60%" | |
| 1019 | - center | |
| 1020 | - :close-on-click-modal="false" | |
| 1021 | - :show-close="false" | |
| 1022 | - > | |
| 1023 | - <div | |
| 1024 | - style="padding:20px;max-height: calc(100vh - 300px); | |
| 1025 | - overflow-y: auto;" | |
| 1026 | - > | |
| 840 | + <el-dialog :visible.sync="bainjiBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 841 | + :close-on-click-modal="false" :show-close="false"> | |
| 842 | + <div style="padding:20px;max-height: calc(100vh - 300px); | |
| 843 | + overflow-y: auto;"> | |
| 1027 | 844 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">编辑问卷</div> |
| 1028 | 845 | <div> |
| 1029 | 846 | <el-tabs v-model="bianjiTabs" @tab-click=""> |
| ... | ... | @@ -1031,8 +848,7 @@ |
| 1031 | 848 | <div style="width: 100%"> |
| 1032 | 849 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> |
| 1033 | 850 | <div |
| 1034 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 1035 | - > | |
| 851 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 1036 | 852 | <div>基本信息</div> |
| 1037 | 853 | </div> |
| 1038 | 854 | <el-form ref="bianform" :model="secondData" :rules="rules" label-width="155px" style="padding:20px;"> |
| ... | ... | @@ -1040,17 +856,9 @@ |
| 1040 | 856 | <el-input v-model="secondData.title" maxlength="50" /> |
| 1041 | 857 | </el-form-item> |
| 1042 | 858 | <el-form-item label="问卷起止时间"> |
| 1043 | - <el-date-picker | |
| 1044 | - v-model="plan_Time" | |
| 1045 | - style="width: 100%;" | |
| 1046 | - value-format="yyyy-MM-dd" | |
| 1047 | - type="daterange" | |
| 1048 | - range-separator="至" | |
| 1049 | - start-placeholder="开始日期" | |
| 1050 | - end-placeholder="结束日期" | |
| 1051 | - align="right" | |
| 1052 | - :picker-options="pickerOptions" | |
| 1053 | - /> | |
| 859 | + <el-date-picker v-model="plan_Time" style="width: 100%;" value-format="yyyy-MM-dd" | |
| 860 | + type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" | |
| 861 | + align="right" :picker-options="pickerOptions" /> | |
| 1054 | 862 | </el-form-item> |
| 1055 | 863 | <el-form-item label="发布端口" prop="publishPort"> |
| 1056 | 864 | <el-select v-model="secondData.publishPort" placeholder="请选择"> |
| ... | ... | @@ -1090,7 +898,8 @@ |
| 1090 | 898 | </el-form-item> |
| 1091 | 899 | |
| 1092 | 900 | <el-form-item label="问卷封面" prop="coverImage"> |
| 1093 | - <upimg :value="secondData.coverImage" :limit="1" :file-size="1" :is-show-tip="false" @input="e=>input(e,'2')" /> | |
| 901 | + <upimg :value="secondData.coverImage" :limit="1" :file-size="1" :is-show-tip="false" | |
| 902 | + @input="e => input(e, '2')" /> | |
| 1094 | 903 | </el-form-item> |
| 1095 | 904 | <el-form-item label="姓名" prop="needName"> |
| 1096 | 905 | <el-radio-group v-model="secondData.needName" style="margin-top:13px;"> |
| ... | ... | @@ -1119,10 +928,10 @@ |
| 1119 | 928 | </el-form-item> |
| 1120 | 929 | </el-form> |
| 1121 | 930 | </div> |
| 1122 | - <div v-if="secondData.filler=='会员'" style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 931 | + <div v-if="secondData.filler == '会员'" | |
| 932 | + style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 1123 | 933 | <div |
| 1124 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 1125 | - > | |
| 934 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 1126 | 935 | <div>参与答卷奖励</div> |
| 1127 | 936 | </div> |
| 1128 | 937 | <el-form ref="form" :model="secondData" label-width="140px" style="padding:20px;"> |
| ... | ... | @@ -1157,8 +966,7 @@ |
| 1157 | 966 | <div style="width: 100%"> |
| 1158 | 967 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> |
| 1159 | 968 | <div |
| 1160 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;" | |
| 1161 | - > | |
| 969 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 1162 | 970 | <div>问卷内容</div> |
| 1163 | 971 | <div> |
| 1164 | 972 | <div class="greens tableBtn" @click="tikuAdd = true">新增</div> |
| ... | ... | @@ -1168,11 +976,9 @@ |
| 1168 | 976 | </div> |
| 1169 | 977 | |
| 1170 | 978 | <div style="padding:20px;"> |
| 1171 | - <el-table | |
| 1172 | - :data="secondDataTi" | |
| 1173 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 1174 | - class="xddTable" | |
| 1175 | - > | |
| 979 | + <el-table :data="secondDataTi" | |
| 980 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 981 | + class="xddTable"> | |
| 1176 | 982 | <el-table-column label="序号" min-width="100"> |
| 1177 | 983 | <template slot-scope="scope"> |
| 1178 | 984 | {{ scope.$index + 1 }} |
| ... | ... | @@ -1181,15 +987,17 @@ |
| 1181 | 987 | <el-table-column label="题目" min-width="150" prop="tikuTitle" show-overflow-tooltip /> |
| 1182 | 988 | <el-table-column label="题型" min-width="80" prop="questionType" /> |
| 1183 | 989 | <el-table-column label="是否必填" prop="isRequired" min-width="120" /> |
| 1184 | - <el-table-column label="" min-width="120" > | |
| 990 | + <el-table-column label="" min-width="120"> | |
| 1185 | 991 | <template #default="scope"> |
| 1186 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="moveUp2(scope.$index)" v-if="scope.$index!=0">↑</span> | |
| 1187 | - <span style="cursor: pointer; color: #3F9B6A;" @click="moveDown2(scope.$index)" v-if="scope.$index != (secondDataTi.length-1)">↓</span> | |
| 992 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 993 | + @click="moveUp2(scope.$index)" v-if="scope.$index != 0">↑</span> | |
| 994 | + <span style="cursor: pointer; color: #3F9B6A;" @click="moveDown2(scope.$index)" | |
| 995 | + v-if="scope.$index != (secondDataTi.length - 1)">↓</span> | |
| 1188 | 996 | </template> |
| 1189 | 997 | </el-table-column> |
| 1190 | 998 | <el-table-column label="操作" min-width="80"> |
| 1191 | 999 | <template slot-scope="scope"> |
| 1192 | - <div class="tableBtn greens" @click="delWenCon('2',scope.$index)">删除</div> | |
| 1000 | + <div class="tableBtn greens" @click="delWenCon('2', scope.$index)">删除</div> | |
| 1193 | 1001 | </template> |
| 1194 | 1002 | </el-table-column> |
| 1195 | 1003 | </el-table> |
| ... | ... | @@ -1202,16 +1010,8 @@ |
| 1202 | 1010 | </div> |
| 1203 | 1011 | |
| 1204 | 1012 | </div> |
| 1205 | - <el-dialog | |
| 1206 | - :visible.sync="tikuBox" | |
| 1207 | - custom-class="tongyong_css" | |
| 1208 | - style="padding: 0;" | |
| 1209 | - width="60%" | |
| 1210 | - center | |
| 1211 | - :close-on-click-modal="false" | |
| 1212 | - append-to-body | |
| 1213 | - @close="tikuquxiao(2)" | |
| 1214 | - > | |
| 1013 | + <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 1014 | + :close-on-click-modal="false" append-to-body @close="tikuquxiao(2)"> | |
| 1215 | 1015 | <div style="padding:20px;"> |
| 1216 | 1016 | |
| 1217 | 1017 | <div style="padding:20px;"> |
| ... | ... | @@ -1235,29 +1035,22 @@ |
| 1235 | 1035 | <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;" /> |
| 1236 | 1036 | <el-button style="background-color: #3F9B6A;color: #fff" @click="tikusous">查询 |
| 1237 | 1037 | </el-button> |
| 1238 | - <el-button | |
| 1239 | - class="buttonHover" | |
| 1240 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1241 | - @click="tikuclose" | |
| 1242 | - >重置 | |
| 1038 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1039 | + @click="tikuclose">重置 | |
| 1243 | 1040 | </el-button> |
| 1244 | 1041 | </div> |
| 1245 | 1042 | </div> |
| 1246 | 1043 | <div style="padding:20px;overflow-y: auto;height:495px"> |
| 1247 | 1044 | |
| 1248 | - <el-table | |
| 1249 | - ref="ziyuanData" | |
| 1045 | + <el-table ref="ziyuanData" | |
| 1250 | 1046 | :data="tikuziyuan.slice((currentPageListTi - 1) * pageSizeTi, currentPageListTi * pageSizeTi)" |
| 1251 | - :row-key="row=>row.id" | |
| 1252 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 1253 | - tooltip-effect="dark" | |
| 1254 | - @selection-change="handleSelectionChange" | |
| 1255 | - @toggleRowSelection="hangSelchange" | |
| 1256 | - > | |
| 1047 | + :row-key="row => row.id" | |
| 1048 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 1049 | + tooltip-effect="dark" @selection-change="handleSelectionChange" @toggleRowSelection="hangSelchange"> | |
| 1257 | 1050 | <el-table-column type="selection" width="55" :reserve-selection="true" /> |
| 1258 | 1051 | <el-table-column label="序号" min-width="100"> |
| 1259 | 1052 | <template slot-scope="scope"> |
| 1260 | - {{ scope.$index +1 }} | |
| 1053 | + {{ scope.$index + 1 }} | |
| 1261 | 1054 | </template> |
| 1262 | 1055 | </el-table-column> |
| 1263 | 1056 | <el-table-column label="题目" min-width="400" prop="tikuTitle" show-overflow-tooltip /> |
| ... | ... | @@ -1270,17 +1063,9 @@ |
| 1270 | 1063 | </el-table> |
| 1271 | 1064 | <div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
| 1272 | 1065 | <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ totalTi }}</span> 条</div> |
| 1273 | - <el-pagination | |
| 1274 | - :current-page="currentPageListTi" | |
| 1275 | - :page-sizes="[10, 20, 50, 100]" | |
| 1276 | - :page-size="pageSizeTi" | |
| 1277 | - background | |
| 1278 | - small | |
| 1279 | - layout="prev, pager, next" | |
| 1280 | - :total="totalTi" | |
| 1281 | - @size-change="handleSizeChangeTi" | |
| 1282 | - @current-change="handleCurrentChangeTi" | |
| 1283 | - /> | |
| 1066 | + <el-pagination :current-page="currentPageListTi" :page-sizes="[10, 20, 50, 100]" :page-size="pageSizeTi" | |
| 1067 | + background small layout="prev, pager, next" :total="totalTi" @size-change="handleSizeChangeTi" | |
| 1068 | + @current-change="handleCurrentChangeTi" /> | |
| 1284 | 1069 | </div> |
| 1285 | 1070 | </div> |
| 1286 | 1071 | |
| ... | ... | @@ -1289,25 +1074,13 @@ |
| 1289 | 1074 | <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(2)">确定</el-button> |
| 1290 | 1075 | </div> |
| 1291 | 1076 | </div> |
| 1292 | - <el-dialog | |
| 1293 | - :visible.sync="timuXiang" | |
| 1294 | - custom-class="tongyong_css" | |
| 1295 | - style="padding: 0;" | |
| 1296 | - width="50%" | |
| 1297 | - center | |
| 1298 | - :close-on-click-modal="false" | |
| 1299 | - append-to-body | |
| 1300 | - > | |
| 1077 | + <el-dialog :visible.sync="timuXiang" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 1078 | + :close-on-click-modal="false" append-to-body> | |
| 1301 | 1079 | <div style="padding:20px;"> |
| 1302 | 1080 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> |
| 1303 | 1081 | <div> |
| 1304 | - <el-descriptions | |
| 1305 | - class="margin-top" | |
| 1306 | - :column="1" | |
| 1307 | - border | |
| 1308 | - :label-style="labelStyle" | |
| 1309 | - :content-style="contentStyle" | |
| 1310 | - > | |
| 1082 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 1083 | + :content-style="contentStyle"> | |
| 1311 | 1084 | <el-descriptions-item> |
| 1312 | 1085 | <template slot="label"> |
| 1313 | 1086 | 题目 |
| ... | ... | @@ -1327,13 +1100,8 @@ |
| 1327 | 1100 | {{ timuData.questionBank }} |
| 1328 | 1101 | </el-descriptions-item> |
| 1329 | 1102 | </el-descriptions> |
| 1330 | - <el-descriptions | |
| 1331 | - class="margin-top" | |
| 1332 | - :column="1" | |
| 1333 | - border | |
| 1334 | - :label-style="labelStyle" | |
| 1335 | - :content-style="contentStyle" | |
| 1336 | - > | |
| 1103 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 1104 | + :content-style="contentStyle"> | |
| 1337 | 1105 | <el-descriptions-item> |
| 1338 | 1106 | <template slot="label"> |
| 1339 | 1107 | 默认是否必填 |
| ... | ... | @@ -1353,26 +1121,15 @@ |
| 1353 | 1121 | </el-descriptions> |
| 1354 | 1122 | </div> |
| 1355 | 1123 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| 1356 | - <el-button | |
| 1357 | - class="buttonHover" | |
| 1358 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1359 | - @click="timuXiang = false" | |
| 1360 | - >返回</el-button> | |
| 1124 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1125 | + @click="timuXiang = false">返回</el-button> | |
| 1361 | 1126 | </div> |
| 1362 | 1127 | </div> |
| 1363 | 1128 | |
| 1364 | 1129 | </el-dialog> |
| 1365 | 1130 | </el-dialog> |
| 1366 | - <el-dialog | |
| 1367 | - :visible.sync="tikuAdd" | |
| 1368 | - custom-class="tongyong_css" | |
| 1369 | - style="padding: 0;" | |
| 1370 | - width="60%" | |
| 1371 | - center | |
| 1372 | - :close-on-click-modal="false" | |
| 1373 | - append-to-body | |
| 1374 | - @close="quxiao(2)" | |
| 1375 | - > | |
| 1131 | + <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 1132 | + :close-on-click-modal="false" append-to-body @close="quxiao(2)"> | |
| 1376 | 1133 | <div style="padding:20px;"> |
| 1377 | 1134 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> |
| 1378 | 1135 | 新增题目 |
| ... | ... | @@ -1389,6 +1146,9 @@ |
| 1389 | 1146 | <el-option label="文本" value="文本" /> |
| 1390 | 1147 | </el-select> |
| 1391 | 1148 | </el-form-item> |
| 1149 | + <el-form-item v-if="zhong.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 1150 | + <el-input-number v-model="zhong.maxChoose" :min="0" :max="options.length" /> 0为不限制填写数量 | |
| 1151 | + </el-form-item> | |
| 1392 | 1152 | <el-form-item label="隶属题库"> |
| 1393 | 1153 | <el-select v-model="zhong.questionBank" placeholder="请选择"> |
| 1394 | 1154 | <el-option label="用户端题库" value="用户端题库" /> |
| ... | ... | @@ -1408,11 +1168,9 @@ |
| 1408 | 1168 | <el-radio label="非必填">非必填</el-radio> |
| 1409 | 1169 | </el-radio-group> |
| 1410 | 1170 | </el-form-item> |
| 1411 | - <el-form-item v-if="zhong.questionType !='文本'" label="选项" prop="optionSettings"> | |
| 1412 | - <el-table | |
| 1413 | - :data="options" | |
| 1414 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 1415 | - > | |
| 1171 | + <el-form-item v-if="zhong.questionType != '文本'" label="选项" prop="optionSettings"> | |
| 1172 | + <el-table :data="options" | |
| 1173 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 1416 | 1174 | <el-table-column prop="index" label="序号" width="180"> |
| 1417 | 1175 | <template #default="scope"> |
| 1418 | 1176 | {{ scope.$index + 1 }} |
| ... | ... | @@ -1425,21 +1183,18 @@ |
| 1425 | 1183 | </el-table-column> |
| 1426 | 1184 | <el-table-column prop="name" label="分数"> |
| 1427 | 1185 | <template #default="scope"> |
| 1428 | - <el-input | |
| 1429 | - v-model.number="scope.row.num" | |
| 1430 | - :min="0" | |
| 1431 | - :max="100" | |
| 1432 | - :readonly="scope.row.readonly" | |
| 1433 | - @input="validateScore(scope.row)" | |
| 1434 | - /> | |
| 1186 | + <el-input v-model.number="scope.row.num" :min="0" :max="100" :readonly="scope.row.readonly" | |
| 1187 | + @input="validateScore(scope.row)" /> | |
| 1188 | + </template> | |
| 1189 | + </el-table-column> | |
| 1190 | + <el-table-column label="" min-width="120"> | |
| 1191 | + <template #default="{ $index }"> | |
| 1192 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" | |
| 1193 | + v-if="$index != 0">↑</span> | |
| 1194 | + <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" | |
| 1195 | + v-if="$index != (options.length - 1)">↓</span> | |
| 1435 | 1196 | </template> |
| 1436 | 1197 | </el-table-column> |
| 1437 | - <el-table-column label="" min-width="120" > | |
| 1438 | - <template #default="{$index}"> | |
| 1439 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" v-if="$index!=0">↑</span> | |
| 1440 | - <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" v-if="$index != (options.length-1)">↓</span> | |
| 1441 | - </template> | |
| 1442 | - </el-table-column> | |
| 1443 | 1198 | <el-table-column label="操作"> |
| 1444 | 1199 | <template #default="scope"> |
| 1445 | 1200 | <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> |
| ... | ... | @@ -1458,11 +1213,8 @@ |
| 1458 | 1213 | </el-dialog> |
| 1459 | 1214 | <template #footer> |
| 1460 | 1215 | <div style="display: flex; justify-content: flex-end; align-items: center;"> |
| 1461 | - <el-button | |
| 1462 | - class="buttonHover" | |
| 1463 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1464 | - @click="closeFn(2)" | |
| 1465 | - >返回</el-button> | |
| 1216 | + <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1217 | + @click="closeFn(2)">返回</el-button> | |
| 1466 | 1218 | <el-button style="background-color: #3F9B6A;color: #fff" @click="bianCheck">确认</el-button> |
| 1467 | 1219 | </div> |
| 1468 | 1220 | </template> |
| ... | ... | @@ -1470,19 +1222,13 @@ |
| 1470 | 1222 | |
| 1471 | 1223 | <!-- 禁用 --> |
| 1472 | 1224 | |
| 1473 | - <el-dialog | |
| 1474 | - :visible.sync="downShow" | |
| 1475 | - custom-class="tongyong_css" | |
| 1476 | - style="padding: 0;" | |
| 1477 | - width="50%" | |
| 1478 | - center | |
| 1479 | - :close-on-click-modal="false" | |
| 1480 | - append-to-body | |
| 1481 | - > | |
| 1225 | + <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 1226 | + :close-on-click-modal="false" append-to-body> | |
| 1482 | 1227 | <div style="padding:20px;"> |
| 1483 | 1228 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">禁用</div> |
| 1484 | 1229 | <div style="padding:30px 0px 0px"> |
| 1485 | - <el-form ref="opinionForm" :model="opinionDel" :rules="pinForm" label-width="120px" style="position: relative"> | |
| 1230 | + <el-form ref="opinionForm" :model="opinionDel" :rules="pinForm" label-width="120px" | |
| 1231 | + style="position: relative"> | |
| 1486 | 1232 | <el-form-item label="禁用原因" class="grid-content bg-purple" prop="name"> |
| 1487 | 1233 | <el-input v-model="opinionDel.opinionDelisting" type="textarea" placeholder="请输入禁用原因" /> |
| 1488 | 1234 | </el-form-item> |
| ... | ... | @@ -1490,20 +1236,13 @@ |
| 1490 | 1236 | </el-form> |
| 1491 | 1237 | </div> |
| 1492 | 1238 | <div style="display:flex;justify-content: flex-end;padding:20px;"> |
| 1493 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="downShow=false">取消</el-button> | |
| 1239 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="downShow = false">取消</el-button> | |
| 1494 | 1240 | <el-button style="background-color: #3F9B6A;color: #fff;" @click="downShowCheck">确定</el-button> |
| 1495 | 1241 | </div> |
| 1496 | 1242 | </div> |
| 1497 | 1243 | </el-dialog> |
| 1498 | - <el-dialog | |
| 1499 | - :visible.sync="yulanShow" | |
| 1500 | - custom-class="tongyong_css" | |
| 1501 | - style="padding: 0;" | |
| 1502 | - width="43%" | |
| 1503 | - center | |
| 1504 | - :close-on-click-modal="false" | |
| 1505 | - append-to-body | |
| 1506 | - > | |
| 1244 | + <el-dialog :visible.sync="yulanShow" custom-class="tongyong_css" style="padding: 0;" width="43%" center | |
| 1245 | + :close-on-click-modal="false" append-to-body> | |
| 1507 | 1246 | <div style="padding:20px;"> |
| 1508 | 1247 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">预览</div> |
| 1509 | 1248 | <div style="margin:auto;width:50%;height:600px;overflow-y: auto;overflow-x: hidden;"> |
| ... | ... | @@ -1531,54 +1270,44 @@ |
| 1531 | 1270 | </div> --> |
| 1532 | 1271 | </div> |
| 1533 | 1272 | </div> |
| 1534 | - <div v-for="(item,index) in secondData.question" class="question"> | |
| 1273 | + <div v-for="(item, index) in secondData.question" class="question"> | |
| 1535 | 1274 | <p class="question-title"> |
| 1536 | 1275 | <span v-if="item.required == '必填'" style="color: red;">*</span> |
| 1537 | 1276 | {{ index }}.<span style="">({{ item.type }})</span> |
| 1538 | 1277 | {{ item.title }} |
| 1539 | 1278 | </p> |
| 1540 | 1279 | <div> |
| 1541 | - | |
| 1542 | - | |
| 1543 | - <el-radio-group | |
| 1544 | - v-for="(val, idx) in item.options" | |
| 1545 | - v-if="item.type =='单选'&&item.layoutType!=2" | |
| 1546 | - :key="idx" | |
| 1547 | - style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0" | |
| 1548 | - > | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + <el-radio-group v-for="(val, idx) in item.options" v-if="item.type == '单选' && item.layoutType != 2" | |
| 1283 | + :key="idx" style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1549 | 1284 | <el-radio disabled> |
| 1550 | - <snap | |
| 1551 | - style=" white-space: normal !important; | |
| 1552 | - word-break: break-all !important;" | |
| 1553 | - > | |
| 1285 | + <snap style=" white-space: normal !important; | |
| 1286 | + word-break: break-all !important;"> | |
| 1554 | 1287 | {{ val.answer }} |
| 1555 | - </snap> | |
| 1288 | + </snap> | |
| 1556 | 1289 | </el-radio> |
| 1557 | 1290 | |
| 1558 | 1291 | </el-radio-group> |
| 1559 | - <div v-if="item.type =='单选'&&item.layoutType==2" style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1560 | - <div class="answerItem" v-for="(val, idx) in item.options" :key="idx">{{ val.answer }}</div> | |
| 1292 | + <div v-if="item.type == '单选' && item.layoutType == 2" | |
| 1293 | + style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1294 | + <div class="answerItem" v-for="(val, idx) in item.options" :key="idx">{{ val.answer }}</div> | |
| 1561 | 1295 | </div> |
| 1562 | - <el-checkbox-group | |
| 1563 | - v-for="(val, idx) in item.options" | |
| 1564 | - v-if="item.type =='多选'&&item.layoutType!=2" | |
| 1565 | - :key="idx" | |
| 1566 | - style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0" | |
| 1567 | - > | |
| 1296 | + <el-checkbox-group v-for="(val, idx) in item.options" v-if="item.type == '多选' && item.layoutType != 2" | |
| 1297 | + :key="idx" style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1568 | 1298 | <el-checkbox disabled> |
| 1569 | - <snap | |
| 1570 | - style=" white-space: normal !important; | |
| 1571 | - word-break: break-all !important;" | |
| 1572 | - > | |
| 1299 | + <snap style=" white-space: normal !important; | |
| 1300 | + word-break: break-all !important;"> | |
| 1573 | 1301 | {{ val.answer }} |
| 1574 | 1302 | </snap> |
| 1575 | 1303 | </el-checkbox> |
| 1576 | 1304 | </el-checkbox-group> |
| 1577 | - | |
| 1578 | - <div v-if="item.type =='多选'&&item.layoutType==2" style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1579 | - <div class="answerItem" v-for="(val, idx) in item.options" :key="idx">{{ val.answer }}</div> | |
| 1305 | + | |
| 1306 | + <div v-if="item.type == '多选' && item.layoutType == 2" | |
| 1307 | + style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1308 | + <div class="answerItem" v-for="(val, idx) in item.options" :key="idx">{{ val.answer }}</div> | |
| 1580 | 1309 | </div> |
| 1581 | - <div v-if="item.type =='文本'"> | |
| 1310 | + <div v-if="item.type == '文本'"> | |
| 1582 | 1311 | <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%" /> |
| 1583 | 1312 | |
| 1584 | 1313 | </div> |
| ... | ... | @@ -1612,12 +1341,8 @@ |
| 1612 | 1341 | <!-- <p class="question-title">您的建议:</p > |
| 1613 | 1342 | <textarea v-model="suggestion"></textarea> --> |
| 1614 | 1343 | <el-form label-position="right" :model="model1" style="background-color:#fff;border-radius: 10px;"> |
| 1615 | - <el-form-item | |
| 1616 | - v-if="secondData.needName == '必填'" | |
| 1617 | - label="姓名" | |
| 1618 | - prop="name" | |
| 1619 | - style="padding:10px 10px 0 10px;" | |
| 1620 | - > | |
| 1344 | + <el-form-item v-if="secondData.needName == '必填'" label="姓名" prop="name" | |
| 1345 | + style="padding:10px 10px 0 10px;"> | |
| 1621 | 1346 | <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%" /> |
| 1622 | 1347 | </el-form-item> |
| 1623 | 1348 | <el-form-item v-if="secondData.needPhone == '必填'" label="电话" prop="phone" style="padding: 0 10px;"> |
| ... | ... | @@ -1626,19 +1351,9 @@ |
| 1626 | 1351 | <el-form-item v-if="secondData.needGender == '必填'" label="性别" prop="sex" style="padding: 0 10px ;"> |
| 1627 | 1352 | <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%" /> |
| 1628 | 1353 | </el-form-item> |
| 1629 | - <el-form-item | |
| 1630 | - v-if="secondData.needOpinion == '必填'" | |
| 1631 | - label="意见" | |
| 1632 | - prop="yij" | |
| 1633 | - style="padding:0 10px 10px 10px;" | |
| 1634 | - > | |
| 1635 | - <el-input | |
| 1636 | - v-model="model1.yij" | |
| 1637 | - type="textarea" | |
| 1638 | - placeholder="请输入内容" | |
| 1639 | - disabled | |
| 1640 | - style="width:80%" | |
| 1641 | - /> | |
| 1354 | + <el-form-item v-if="secondData.needOpinion == '必填'" label="意见" prop="yij" | |
| 1355 | + style="padding:0 10px 10px 10px;"> | |
| 1356 | + <el-input v-model="model1.yij" type="textarea" placeholder="请输入内容" disabled style="width:80%" /> | |
| 1642 | 1357 | </el-form-item> |
| 1643 | 1358 | </el-form> |
| 1644 | 1359 | |
| ... | ... | @@ -1652,7 +1367,7 @@ |
| 1652 | 1367 | 问卷作答地址:{{ wenjuanUrl }} <span style="color:#3F9B6A" @click="copyUrl(wenjuanUrl)">复制</span> |
| 1653 | 1368 | </div> |
| 1654 | 1369 | <div style="display:flex;justify-content: flex-end;padding:20px;"> |
| 1655 | - <el-button style="background-color: #3F9B6A;color: #fff;" @click="yulanShow=false">取消</el-button> | |
| 1370 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="yulanShow = false">取消</el-button> | |
| 1656 | 1371 | |
| 1657 | 1372 | </div> |
| 1658 | 1373 | </div> |
| ... | ... | @@ -1686,7 +1401,7 @@ export default { |
| 1686 | 1401 | tiaoxing, |
| 1687 | 1402 | wangEditor |
| 1688 | 1403 | }, |
| 1689 | - data () { | |
| 1404 | + data() { | |
| 1690 | 1405 | return { |
| 1691 | 1406 | |
| 1692 | 1407 | tableHeight: 600, // 设置为你想要的表格高度,单位是像素 |
| ... | ... | @@ -1756,7 +1471,8 @@ export default { |
| 1756 | 1471 | tikuTitle: '', |
| 1757 | 1472 | questionType: '', |
| 1758 | 1473 | questionBank: '用户端题库', |
| 1759 | - layoutType:1, | |
| 1474 | + layoutType: 1, | |
| 1475 | + maxChoose: 0, | |
| 1760 | 1476 | isRequired: '必填', |
| 1761 | 1477 | questionDescription: '', |
| 1762 | 1478 | optionSettings: {}, |
| ... | ... | @@ -1857,7 +1573,7 @@ export default { |
| 1857 | 1573 | required: true, |
| 1858 | 1574 | message: '请输入创建人', |
| 1859 | 1575 | trigger: 'blur' |
| 1860 | - }, ], | |
| 1576 | + },], | |
| 1861 | 1577 | }, |
| 1862 | 1578 | |
| 1863 | 1579 | tixrules: { |
| ... | ... | @@ -1865,7 +1581,7 @@ export default { |
| 1865 | 1581 | required: true, |
| 1866 | 1582 | message: '请输入题目', |
| 1867 | 1583 | trigger: 'blur' |
| 1868 | - }, ], | |
| 1584 | + },], | |
| 1869 | 1585 | questionType: [{ |
| 1870 | 1586 | required: true, |
| 1871 | 1587 | message: '请选择题型', |
| ... | ... | @@ -1913,7 +1629,7 @@ export default { |
| 1913 | 1629 | isbutton: false, |
| 1914 | 1630 | currentPageList: 1, |
| 1915 | 1631 | pickerOptions: { |
| 1916 | - disabledDate (time) { | |
| 1632 | + disabledDate(time) { | |
| 1917 | 1633 | return time.getTime() < Date.now() - 8.64e7; // 禁用当前时间之前的日期 |
| 1918 | 1634 | } |
| 1919 | 1635 | }, |
| ... | ... | @@ -1925,22 +1641,22 @@ export default { |
| 1925 | 1641 | computed: { |
| 1926 | 1642 | |
| 1927 | 1643 | }, |
| 1928 | - created () { | |
| 1644 | + created() { | |
| 1929 | 1645 | this.getAll() |
| 1930 | 1646 | }, |
| 1931 | 1647 | methods: { |
| 1932 | - input (e, e1) { | |
| 1648 | + input(e, e1) { | |
| 1933 | 1649 | // this.formInline[e1] = e |
| 1934 | - | |
| 1650 | + | |
| 1935 | 1651 | if (e1 == '1') { |
| 1936 | 1652 | this.formInline.coverImage = e |
| 1937 | 1653 | } else { |
| 1938 | 1654 | this.secondData.coverImage = e |
| 1939 | 1655 | } |
| 1940 | 1656 | |
| 1941 | - | |
| 1657 | + | |
| 1942 | 1658 | }, |
| 1943 | - chenge (val) { | |
| 1659 | + chenge(val) { | |
| 1944 | 1660 | this.formSel = { |
| 1945 | 1661 | title: '', |
| 1946 | 1662 | questionnaireType: '', |
| ... | ... | @@ -1951,14 +1667,14 @@ export default { |
| 1951 | 1667 | this.leixing = !this.leixing |
| 1952 | 1668 | this.chengeTatle = val |
| 1953 | 1669 | }, |
| 1954 | - async getAll () { | |
| 1670 | + async getAll() { | |
| 1955 | 1671 | const res = await TerminaGetAll(this.pageindex) |
| 1956 | 1672 | this.tableData = res.data.content |
| 1957 | 1673 | this.total = res.data.totalElements |
| 1958 | 1674 | }, |
| 1959 | 1675 | |
| 1960 | 1676 | // 新增确定按钮 |
| 1961 | - addCheck (val) { | |
| 1677 | + addCheck(val) { | |
| 1962 | 1678 | this.$refs.inlineform.validate((valid) => { |
| 1963 | 1679 | if (valid) { |
| 1964 | 1680 | if (this.Xin_Time != null) { |
| ... | ... | @@ -2028,7 +1744,7 @@ export default { |
| 2028 | 1744 | }) |
| 2029 | 1745 | }, |
| 2030 | 1746 | // 获取时间 |
| 2031 | - currentTime () { | |
| 1747 | + currentTime() { | |
| 2032 | 1748 | const date = new Date(); |
| 2033 | 1749 | const year = date.getFullYear(); |
| 2034 | 1750 | let month = date.getMonth() + 1; // 月份从0~11,所以加一 |
| ... | ... | @@ -2047,7 +1763,7 @@ export default { |
| 2047 | 1763 | // 返回格式化的日期和时间字符串 |
| 2048 | 1764 | return `${year}-${month}-${day} ${hours}:${minutes}`; |
| 2049 | 1765 | }, |
| 2050 | - objectToArray (obj) { | |
| 1766 | + objectToArray(obj) { | |
| 2051 | 1767 | return Object.keys(obj).map(key => { |
| 2052 | 1768 | const item = obj[key]; |
| 2053 | 1769 | return { |
| ... | ... | @@ -2058,7 +1774,7 @@ export default { |
| 2058 | 1774 | }, |
| 2059 | 1775 | |
| 2060 | 1776 | // 详情 |
| 2061 | - details (val, item) { | |
| 1777 | + details(val, item) { | |
| 2062 | 1778 | this.detbox = true |
| 2063 | 1779 | this.secondData = item |
| 2064 | 1780 | if (typeof item.question === 'string') { |
| ... | ... | @@ -2075,13 +1791,13 @@ export default { |
| 2075 | 1791 | // }) |
| 2076 | 1792 | }, |
| 2077 | 1793 | |
| 2078 | - addbuss (val, item) { | |
| 1794 | + addbuss(val, item) { | |
| 2079 | 1795 | this.index = val |
| 2080 | 1796 | this.detbox = false |
| 2081 | 1797 | this.ggXin = true |
| 2082 | 1798 | }, |
| 2083 | 1799 | |
| 2084 | - handleCurrentChange1 (val) { | |
| 1800 | + handleCurrentChange1(val) { | |
| 2085 | 1801 | this.tongjiMsg.pageNumber = val - 1 |
| 2086 | 1802 | if (this.tongjiMsg.plan_Time.length > 0) { |
| 2087 | 1803 | this.tongjiMsg.createTime = this.tongjiMsg.plan_Time[0] |
| ... | ... | @@ -2094,10 +1810,10 @@ export default { |
| 2094 | 1810 | this.total1 = response.data.data.totalElements |
| 2095 | 1811 | }) |
| 2096 | 1812 | }, |
| 2097 | - handleSizeChange (val) { | |
| 1813 | + handleSizeChange(val) { | |
| 2098 | 1814 | this.pageSize = val |
| 2099 | 1815 | }, |
| 2100 | - handleCurrentChange (val) { | |
| 1816 | + handleCurrentChange(val) { | |
| 2101 | 1817 | this.pageindex = { |
| 2102 | 1818 | pageNumber: val - 1, |
| 2103 | 1819 | pageSize: 10, |
| ... | ... | @@ -2107,10 +1823,10 @@ export default { |
| 2107 | 1823 | this.tableData = res.data.content |
| 2108 | 1824 | }) |
| 2109 | 1825 | }, |
| 2110 | - handleSizeChangeTi (val) { | |
| 1826 | + handleSizeChangeTi(val) { | |
| 2111 | 1827 | this.pageSizeTi = val |
| 2112 | 1828 | }, |
| 2113 | - async handleCurrentChangeTi (val) { | |
| 1829 | + async handleCurrentChangeTi(val) { | |
| 2114 | 1830 | const pageindex = { |
| 2115 | 1831 | pageNumber: val - 1, |
| 2116 | 1832 | pageSize: 10, |
| ... | ... | @@ -2125,7 +1841,7 @@ export default { |
| 2125 | 1841 | // this.tableData = res.data.content |
| 2126 | 1842 | // }) |
| 2127 | 1843 | }, |
| 2128 | - closeFn (val) { | |
| 1844 | + closeFn(val) { | |
| 2129 | 1845 | this.bianjiTabs = 'first' |
| 2130 | 1846 | this.xiangTabs = 'first' |
| 2131 | 1847 | this.bianjiBox = 1 |
| ... | ... | @@ -2138,7 +1854,7 @@ export default { |
| 2138 | 1854 | } |
| 2139 | 1855 | }, |
| 2140 | 1856 | // 详情编辑 |
| 2141 | - async bianji () { | |
| 1857 | + async bianji() { | |
| 2142 | 1858 | if (this.bianjiBox == 1) { |
| 2143 | 1859 | this.bianjiBox = 2 |
| 2144 | 1860 | } else { |
| ... | ... | @@ -2151,11 +1867,11 @@ export default { |
| 2151 | 1867 | } |
| 2152 | 1868 | }, |
| 2153 | 1869 | // 查看合同 |
| 2154 | - lookHetong (val) { | |
| 1870 | + lookHetong(val) { | |
| 2155 | 1871 | this.hetongBox = true |
| 2156 | 1872 | }, |
| 2157 | 1873 | // 查询按钮 |
| 2158 | - async onSubmit () { | |
| 1874 | + async onSubmit() { | |
| 2159 | 1875 | this.isbutton = true; |
| 2160 | 1876 | const res = await TerminaGetAll(this.formSel) |
| 2161 | 1877 | this.tableData = res.data.content |
| ... | ... | @@ -2163,7 +1879,7 @@ export default { |
| 2163 | 1879 | this.isbutton = false; |
| 2164 | 1880 | }, |
| 2165 | 1881 | // 重置按钮 |
| 2166 | - resetting () { | |
| 1882 | + resetting() { | |
| 2167 | 1883 | this.formSel = { |
| 2168 | 1884 | title: '', |
| 2169 | 1885 | questionnaireType: '', |
| ... | ... | @@ -2171,11 +1887,11 @@ export default { |
| 2171 | 1887 | pageNumber: 0, |
| 2172 | 1888 | pageSize: 10, |
| 2173 | 1889 | }, |
| 2174 | - this.currentPageList = 1 | |
| 1890 | + this.currentPageList = 1 | |
| 2175 | 1891 | this.pageindex.pageNumber = 0 |
| 2176 | 1892 | this.getAll() |
| 2177 | 1893 | }, |
| 2178 | - radioClick (value) { | |
| 1894 | + radioClick(value) { | |
| 2179 | 1895 | if (value === '不设置奖励') { |
| 2180 | 1896 | this.jifen = '' // 积分奖励 |
| 2181 | 1897 | this.choujiang = '' // 转盘抽奖 |
| ... | ... | @@ -2191,7 +1907,7 @@ export default { |
| 2191 | 1907 | this.choujiang = '' // 转盘抽奖 |
| 2192 | 1908 | } |
| 2193 | 1909 | }, |
| 2194 | - async selTiku () { | |
| 1910 | + async selTiku() { | |
| 2195 | 1911 | this.tiNum = 0 |
| 2196 | 1912 | // this.zhong = { |
| 2197 | 1913 | // tikuTitle:'', |
| ... | ... | @@ -2213,7 +1929,7 @@ export default { |
| 2213 | 1929 | this.tikuziyuan = tiku.data.content |
| 2214 | 1930 | this.totalTi = tiku.data.totalElements |
| 2215 | 1931 | }, |
| 2216 | - addOption () { | |
| 1932 | + addOption() { | |
| 2217 | 1933 | const newOption = { |
| 2218 | 1934 | index: this.options.length + 1, |
| 2219 | 1935 | name: '', |
| ... | ... | @@ -2221,10 +1937,10 @@ export default { |
| 2221 | 1937 | }; |
| 2222 | 1938 | this.options.push(newOption); |
| 2223 | 1939 | }, |
| 2224 | - deleteOption (index) { | |
| 1940 | + deleteOption(index) { | |
| 2225 | 1941 | this.options.splice(index, 1); |
| 2226 | 1942 | }, |
| 2227 | - bianls (item) { | |
| 1943 | + bianls(item) { | |
| 2228 | 1944 | this.secondData = item |
| 2229 | 1945 | Vue.set(this.plan_Time, 0, this.secondData.startDate) |
| 2230 | 1946 | Vue.set(this.plan_Time, 1, this.secondData.endDate) |
| ... | ... | @@ -2234,17 +1950,17 @@ export default { |
| 2234 | 1950 | |
| 2235 | 1951 | this.secondDataTi = item.cereQuestionManagements |
| 2236 | 1952 | this.bainjiBox = true |
| 2237 | - | |
| 1953 | + | |
| 2238 | 1954 | }, |
| 2239 | - bianCheck () { | |
| 1955 | + bianCheck() { | |
| 2240 | 1956 | if (this.secondData && this.secondData.cereQuestionManagements) { |
| 2241 | 1957 | delete this.secondData.cereQuestionManagements; |
| 2242 | 1958 | } |
| 2243 | - | |
| 1959 | + | |
| 2244 | 1960 | if (typeof this.secondData.question != 'string') { |
| 2245 | 1961 | this.secondData.question = JSON.stringify(this.secondData.question) |
| 2246 | 1962 | } |
| 2247 | - | |
| 1963 | + | |
| 2248 | 1964 | if (this.plan_Time.length != 0) { |
| 2249 | 1965 | this.secondData.startDate = this.plan_Time[0] |
| 2250 | 1966 | this.secondData.endDate = this.plan_Time[1] |
| ... | ... | @@ -2256,13 +1972,13 @@ export default { |
| 2256 | 1972 | } |
| 2257 | 1973 | this.secondData.questionId = ids.join(',') |
| 2258 | 1974 | this.secondData.updateTime = this.currentTime() |
| 2259 | - | |
| 1975 | + | |
| 2260 | 1976 | TerminaEdit(this.secondData).then(res => { |
| 2261 | 1977 | this.getAll() |
| 2262 | 1978 | this.bainjiBox = false |
| 2263 | 1979 | }) |
| 2264 | 1980 | }, |
| 2265 | - tongji (item) { | |
| 1981 | + tongji(item) { | |
| 2266 | 1982 | this.tongjiSshu = [] |
| 2267 | 1983 | this.tongjiTu = {} |
| 2268 | 1984 | this.total1 = 0 |
| ... | ... | @@ -2301,15 +2017,15 @@ export default { |
| 2301 | 2017 | this.total1 = response.data.data.totalElements |
| 2302 | 2018 | } |
| 2303 | 2019 | }).catch(err => { |
| 2304 | - this.loading = false | |
| 2305 | - this.$message({ | |
| 2306 | - message: '网络不好,请稍后再试', | |
| 2307 | - type: 'error' | |
| 2020 | + this.loading = false | |
| 2021 | + this.$message({ | |
| 2022 | + message: '网络不好,请稍后再试', | |
| 2023 | + type: 'error' | |
| 2024 | + }) | |
| 2308 | 2025 | }) |
| 2309 | - }) | |
| 2310 | 2026 | }, |
| 2311 | - tongjiClick (tab, event) { | |
| 2312 | - | |
| 2027 | + tongjiClick(tab, event) { | |
| 2028 | + | |
| 2313 | 2029 | if (tab.index == '1') { |
| 2314 | 2030 | this.shujuloading = true |
| 2315 | 2031 | const postData = { |
| ... | ... | @@ -2358,15 +2074,15 @@ export default { |
| 2358 | 2074 | |
| 2359 | 2075 | // this.tuwent = Object.values(this.tuwent).filter(res => res.type !== '文本'); |
| 2360 | 2076 | }).catch(err => { |
| 2361 | - this.shujuloading = false | |
| 2362 | - this.$message({ | |
| 2363 | - message: '网络不好,请稍后再试', | |
| 2364 | - type: 'error' | |
| 2077 | + this.shujuloading = false | |
| 2078 | + this.$message({ | |
| 2079 | + message: '网络不好,请稍后再试', | |
| 2080 | + type: 'error' | |
| 2081 | + }) | |
| 2365 | 2082 | }) |
| 2366 | - }) | |
| 2367 | 2083 | } |
| 2368 | 2084 | }, |
| 2369 | - xuanxiang (obj) { | |
| 2085 | + xuanxiang(obj) { | |
| 2370 | 2086 | const result = []; |
| 2371 | 2087 | |
| 2372 | 2088 | for (const key in obj) { |
| ... | ... | @@ -2396,7 +2112,7 @@ export default { |
| 2396 | 2112 | |
| 2397 | 2113 | return result; |
| 2398 | 2114 | }, |
| 2399 | - daxiang (item) { | |
| 2115 | + daxiang(item) { | |
| 2400 | 2116 | this.daxiangData = item |
| 2401 | 2117 | |
| 2402 | 2118 | const selectoptions = null |
| ... | ... | @@ -2423,7 +2139,7 @@ export default { |
| 2423 | 2139 | }, |
| 2424 | 2140 | |
| 2425 | 2141 | // 新增题库 |
| 2426 | - Addtiku (val) { | |
| 2142 | + Addtiku(val) { | |
| 2427 | 2143 | const that = this |
| 2428 | 2144 | |
| 2429 | 2145 | if (this.zhong.tikuTitle == '') { |
| ... | ... | @@ -2452,12 +2168,12 @@ export default { |
| 2452 | 2168 | return |
| 2453 | 2169 | } |
| 2454 | 2170 | } |
| 2455 | - let accumulator= {} | |
| 2456 | - let fenshu ={} | |
| 2457 | - this.options.forEach((item,index)=>{ | |
| 2458 | - accumulator[index] = item.name | |
| 2459 | - fenshu[index] = Number(item.num) || 0 | |
| 2460 | - }) | |
| 2171 | + let accumulator = {} | |
| 2172 | + let fenshu = {} | |
| 2173 | + this.options.forEach((item, index) => { | |
| 2174 | + accumulator[index] = item.name | |
| 2175 | + fenshu[index] = Number(item.num) || 0 | |
| 2176 | + }) | |
| 2461 | 2177 | // this.zhong.optionSettings = this.options.reduce((accumulator, current) => { |
| 2462 | 2178 | // accumulator[current.index] = current.name; |
| 2463 | 2179 | // return accumulator; |
| ... | ... | @@ -2467,18 +2183,18 @@ export default { |
| 2467 | 2183 | // accumulator[current.index] = Number(current.num); |
| 2468 | 2184 | // return accumulator; |
| 2469 | 2185 | // }, {}) // 初始化累加器为空对象 |
| 2470 | -this.zhong.optionSettings = JSON.stringify(accumulator) | |
| 2471 | -this.zhong.score = JSON.stringify(fenshu) | |
| 2472 | - | |
| 2186 | + this.zhong.optionSettings = JSON.stringify(accumulator) | |
| 2187 | + this.zhong.score = JSON.stringify(fenshu) | |
| 2188 | + | |
| 2473 | 2189 | // this.zhong.optionSettings = JSON.stringify(this.zhong.optionSettings) |
| 2474 | 2190 | // this.zhong.score = JSON.stringify(this.zhong.score) |
| 2475 | 2191 | this.zhong.createDate = this.currentTime() |
| 2476 | 2192 | |
| 2477 | 2193 | QuestionAdd(this.zhong).then((res) => { |
| 2478 | 2194 | if (val == 1) { |
| 2479 | - | |
| 2195 | + | |
| 2480 | 2196 | that.wenConstData.push(res.data) |
| 2481 | - | |
| 2197 | + | |
| 2482 | 2198 | } else { |
| 2483 | 2199 | that.secondDataTi.push(res.data) |
| 2484 | 2200 | } |
| ... | ... | @@ -2494,7 +2210,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2494 | 2210 | }) |
| 2495 | 2211 | }, |
| 2496 | 2212 | // 题库切换选择 |
| 2497 | - async tikuchange (val) { | |
| 2213 | + async tikuchange(val) { | |
| 2498 | 2214 | const page = { |
| 2499 | 2215 | pageNumber: 0, |
| 2500 | 2216 | pageSize: 10, |
| ... | ... | @@ -2505,7 +2221,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2505 | 2221 | this.totalTi = tiku.data.totalElements |
| 2506 | 2222 | }, |
| 2507 | 2223 | |
| 2508 | - async tikusous () { | |
| 2224 | + async tikusous() { | |
| 2509 | 2225 | const page = { |
| 2510 | 2226 | pageNumber: 0, |
| 2511 | 2227 | pageSize: 10, |
| ... | ... | @@ -2517,7 +2233,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2517 | 2233 | this.tikuziyuan = tiku.data.content |
| 2518 | 2234 | this.totalTi = tiku.data.totalElements |
| 2519 | 2235 | }, |
| 2520 | - async tikuclose () { | |
| 2236 | + async tikuclose() { | |
| 2521 | 2237 | this.tikuNie = '用户端题库' |
| 2522 | 2238 | this.danxuan = '' |
| 2523 | 2239 | this.timuMsg = '' |
| ... | ... | @@ -2531,14 +2247,14 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2531 | 2247 | this.tikuziyuan = tiku.data.content |
| 2532 | 2248 | this.totalTi = tiku.data.totalElements |
| 2533 | 2249 | }, |
| 2534 | - gotimuxiang (item) { | |
| 2250 | + gotimuxiang(item) { | |
| 2535 | 2251 | this.timuData = item |
| 2536 | 2252 | if (typeof item.optionSettings !== 'object') { |
| 2537 | 2253 | this.timuData.optionSettings = JSON.parse(item.optionSettings) |
| 2538 | 2254 | } |
| 2539 | 2255 | this.timuXiang = true |
| 2540 | 2256 | }, |
| 2541 | - handleSelectionChange (val) { | |
| 2257 | + handleSelectionChange(val) { | |
| 2542 | 2258 | // if(this.tikuNie =='用户端题库'){ |
| 2543 | 2259 | // this.listOne = val |
| 2544 | 2260 | // }else if(this.tikuNie =='商户端题库'){ |
| ... | ... | @@ -2553,7 +2269,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2553 | 2269 | // this.xuanzheData = this.xuanzheData.concat(val) |
| 2554 | 2270 | // this.xuanzheData = [...new Set(this.xuanzheData)] |
| 2555 | 2271 | }, |
| 2556 | - tiSelQue (val) { | |
| 2272 | + tiSelQue(val) { | |
| 2557 | 2273 | if (val == 1) { |
| 2558 | 2274 | // wenConstData secondDataTi |
| 2559 | 2275 | |
| ... | ... | @@ -2567,7 +2283,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2567 | 2283 | } else { |
| 2568 | 2284 | this.multipleSelection.forEach(item => { |
| 2569 | 2285 | const isDuplicate = this.secondDataTi.some(existingItem => existingItem.id === item.id); |
| 2570 | - | |
| 2286 | + | |
| 2571 | 2287 | if (!isDuplicate) { |
| 2572 | 2288 | this.secondDataTi.push(item); |
| 2573 | 2289 | } |
| ... | ... | @@ -2583,7 +2299,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2583 | 2299 | this.$refs.ziyuanData.clearSelection() |
| 2584 | 2300 | this.tikuBox = false |
| 2585 | 2301 | }, |
| 2586 | - delWenCon (val, index) { | |
| 2302 | + delWenCon(val, index) { | |
| 2587 | 2303 | if (val == '1') { |
| 2588 | 2304 | this.xuanzheData.splice(index, 1) |
| 2589 | 2305 | this.wenConstData.splice(index, 1) |
| ... | ... | @@ -2591,7 +2307,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2591 | 2307 | this.secondDataTi.splice(index, 1) |
| 2592 | 2308 | } |
| 2593 | 2309 | }, |
| 2594 | - fabu (val, item) { | |
| 2310 | + fabu(val, item) { | |
| 2595 | 2311 | const h = this.$createElement; |
| 2596 | 2312 | this.$msgbox({ |
| 2597 | 2313 | title: '消息', |
| ... | ... | @@ -2618,11 +2334,11 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2618 | 2334 | } |
| 2619 | 2335 | }) |
| 2620 | 2336 | }, |
| 2621 | - downs (item) { | |
| 2337 | + downs(item) { | |
| 2622 | 2338 | this.xiajiaId = item.id |
| 2623 | 2339 | this.downShow = true |
| 2624 | 2340 | }, |
| 2625 | - async downShowCheck () { | |
| 2341 | + async downShowCheck() { | |
| 2626 | 2342 | if (this.opinionDel.opinionDelisting == '') { |
| 2627 | 2343 | this.$message({ |
| 2628 | 2344 | message: '请输入禁用原因', |
| ... | ... | @@ -2637,7 +2353,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2637 | 2353 | this.downShow = false |
| 2638 | 2354 | this.getAll() |
| 2639 | 2355 | }, |
| 2640 | - delwen (item) { | |
| 2356 | + delwen(item) { | |
| 2641 | 2357 | const h = this.$createElement; |
| 2642 | 2358 | this.$msgbox({ |
| 2643 | 2359 | title: '消息', |
| ... | ... | @@ -2663,10 +2379,10 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2663 | 2379 | } |
| 2664 | 2380 | }) |
| 2665 | 2381 | }, |
| 2666 | - addyu () { | |
| 2382 | + addyu() { | |
| 2667 | 2383 | |
| 2668 | 2384 | }, |
| 2669 | - parseData (obj) { | |
| 2385 | + parseData(obj) { | |
| 2670 | 2386 | const result = []; |
| 2671 | 2387 | |
| 2672 | 2388 | for (const key in obj) { |
| ... | ... | @@ -2691,7 +2407,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2691 | 2407 | |
| 2692 | 2408 | return result; |
| 2693 | 2409 | }, |
| 2694 | - yulan (item) { | |
| 2410 | + yulan(item) { | |
| 2695 | 2411 | this.secondData = item |
| 2696 | 2412 | |
| 2697 | 2413 | if (typeof this.secondData.question != 'object') { |
| ... | ... | @@ -2701,9 +2417,9 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2701 | 2417 | this.wenjuanUrl = `${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` |
| 2702 | 2418 | |
| 2703 | 2419 | this.yulanShow = true |
| 2704 | - | |
| 2420 | + | |
| 2705 | 2421 | }, |
| 2706 | - addggXin () { | |
| 2422 | + addggXin() { | |
| 2707 | 2423 | this.formInline = { |
| 2708 | 2424 | createUser: '', |
| 2709 | 2425 | title: '', |
| ... | ... | @@ -2734,12 +2450,13 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2734 | 2450 | this.wenConstData = [] |
| 2735 | 2451 | this.ggXin = true |
| 2736 | 2452 | }, |
| 2737 | - addTikuShow () { | |
| 2453 | + addTikuShow() { | |
| 2738 | 2454 | this.zhong = { |
| 2739 | 2455 | tikuTitle: '', |
| 2740 | 2456 | questionType: '', |
| 2741 | 2457 | questionBank: '用户端题库', |
| 2742 | - layoutType:1, | |
| 2458 | + layoutType: 1, | |
| 2459 | + maxChoose: 0, | |
| 2743 | 2460 | isRequired: '必填', |
| 2744 | 2461 | questionDescription: '', |
| 2745 | 2462 | optionSettings: {}, |
| ... | ... | @@ -2748,7 +2465,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2748 | 2465 | |
| 2749 | 2466 | this.tikuAdd = true |
| 2750 | 2467 | }, |
| 2751 | - quxiao (val) { | |
| 2468 | + quxiao(val) { | |
| 2752 | 2469 | this.multipleSelection = [] |
| 2753 | 2470 | this.options = [] |
| 2754 | 2471 | this.$refs.tixform.resetFields() |
| ... | ... | @@ -2760,7 +2477,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2760 | 2477 | // } |
| 2761 | 2478 | }, |
| 2762 | 2479 | |
| 2763 | - hangSelchange () { | |
| 2480 | + hangSelchange() { | |
| 2764 | 2481 | const postList = { |
| 2765 | 2482 | pageNumber: 0, |
| 2766 | 2483 | pageSize: 10, |
| ... | ... | @@ -2772,7 +2489,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2772 | 2489 | this.total1 = response.data.data.totalElements |
| 2773 | 2490 | }) |
| 2774 | 2491 | }, |
| 2775 | - secondsToMinutesAndSeconds (s) { | |
| 2492 | + secondsToMinutesAndSeconds(s) { | |
| 2776 | 2493 | if (s) { |
| 2777 | 2494 | // 将输入的秒数转换为数值类型并取整 |
| 2778 | 2495 | s = Math.floor(Number(s)); |
| ... | ... | @@ -2795,7 +2512,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2795 | 2512 | } |
| 2796 | 2513 | }, |
| 2797 | 2514 | |
| 2798 | - tongjiSubmit () { | |
| 2515 | + tongjiSubmit() { | |
| 2799 | 2516 | const page = { |
| 2800 | 2517 | pageNumber: 0, |
| 2801 | 2518 | pageSize: 10, |
| ... | ... | @@ -2814,7 +2531,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2814 | 2531 | this.total1 = response.data.data.totalElements |
| 2815 | 2532 | }) |
| 2816 | 2533 | }, |
| 2817 | - tongjiSubmitret () { | |
| 2534 | + tongjiSubmitret() { | |
| 2818 | 2535 | this.tongjiMsg = { |
| 2819 | 2536 | plan_Time: [], |
| 2820 | 2537 | userName: '', |
| ... | ... | @@ -2833,7 +2550,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2833 | 2550 | this.total1 = response.data.data.totalElements |
| 2834 | 2551 | }) |
| 2835 | 2552 | }, |
| 2836 | - copyUrl (url) { | |
| 2553 | + copyUrl(url) { | |
| 2837 | 2554 | const tempTextArea = document.createElement('textarea'); |
| 2838 | 2555 | // 设置 textarea 的值为要复制的 URL |
| 2839 | 2556 | tempTextArea.value = url; |
| ... | ... | @@ -2850,13 +2567,13 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2850 | 2567 | type: 'success' |
| 2851 | 2568 | }) |
| 2852 | 2569 | }, |
| 2853 | - tongjiBoxFan () { | |
| 2570 | + tongjiBoxFan() { | |
| 2854 | 2571 | this.tongjiBox = false |
| 2855 | 2572 | // this.getAll() |
| 2856 | 2573 | // location.reload(); |
| 2857 | 2574 | }, |
| 2858 | - async load () { | |
| 2859 | - | |
| 2575 | + async load() { | |
| 2576 | + | |
| 2860 | 2577 | const page = { |
| 2861 | 2578 | pageNumber: this.tiNum + 1, |
| 2862 | 2579 | pageSize: 10, |
| ... | ... | @@ -2877,7 +2594,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2877 | 2594 | }, []) |
| 2878 | 2595 | ) |
| 2879 | 2596 | }, |
| 2880 | - getCurrentDate () { | |
| 2597 | + getCurrentDate() { | |
| 2881 | 2598 | const now = new Date(); |
| 2882 | 2599 | const year = now.getFullYear(); |
| 2883 | 2600 | const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 |
| ... | ... | @@ -2885,7 +2602,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2885 | 2602 | return `${year}-${month}-${day}`; |
| 2886 | 2603 | }, |
| 2887 | 2604 | |
| 2888 | - getNextDayDate () { | |
| 2605 | + getNextDayDate() { | |
| 2889 | 2606 | const now = new Date(); |
| 2890 | 2607 | now.setDate(now.getDate() + 1); // 设置到下一天 |
| 2891 | 2608 | const year = now.getFullYear(); |
| ... | ... | @@ -2894,7 +2611,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2894 | 2611 | return `${year}-${month}-${day}`; |
| 2895 | 2612 | }, |
| 2896 | 2613 | |
| 2897 | - validateScore (row) { | |
| 2614 | + validateScore(row) { | |
| 2898 | 2615 | // 如果输入的不是数字或者是NaN,则重置为1 |
| 2899 | 2616 | if (isNaN(row.num) || row.num < 0) { |
| 2900 | 2617 | row.num = 0; |
| ... | ... | @@ -2905,7 +2622,7 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2905 | 2622 | } |
| 2906 | 2623 | }, |
| 2907 | 2624 | |
| 2908 | - tikuquxiao (val) { | |
| 2625 | + tikuquxiao(val) { | |
| 2909 | 2626 | this.tikuBox = false |
| 2910 | 2627 | this.tiNum = 0 |
| 2911 | 2628 | this.tikuNie = '' |
| ... | ... | @@ -2916,393 +2633,404 @@ this.zhong.score = JSON.stringify(fenshu) |
| 2916 | 2633 | this.totalTi = 0 |
| 2917 | 2634 | this.$refs.ziyuanData.clearSelection() |
| 2918 | 2635 | }, |
| 2919 | - moveUp (index) { | |
| 2920 | - [this.wenConstData[index],this.wenConstData[index-1]]=[this.wenConstData[index - 1],this.wenConstData[index]] | |
| 2636 | + moveUp(index) { | |
| 2637 | + [this.wenConstData[index], this.wenConstData[index - 1]] = [this.wenConstData[index - 1], this.wenConstData[index]] | |
| 2921 | 2638 | this.wenConstData.sort() |
| 2922 | 2639 | }, |
| 2923 | - moveDown (index) { | |
| 2924 | - [this.wenConstData[index],this.wenConstData[index+1]]=[this.wenConstData[index+1],this.wenConstData[index]] | |
| 2640 | + moveDown(index) { | |
| 2641 | + [this.wenConstData[index], this.wenConstData[index + 1]] = [this.wenConstData[index + 1], this.wenConstData[index]] | |
| 2925 | 2642 | this.wenConstData.sort() |
| 2926 | 2643 | }, |
| 2927 | - moveUp2 (index) { | |
| 2644 | + moveUp2(index) { | |
| 2928 | 2645 | s |
| 2929 | - [this.secondDataTi[index],this.secondDataTi[index-1]]=[this.secondDataTi[index - 1],this.secondDataTi[index]] | |
| 2646 | + [this.secondDataTi[index], this.secondDataTi[index - 1]] = [this.secondDataTi[index - 1], this.secondDataTi[index]] | |
| 2930 | 2647 | this.secondDataTi.sort() |
| 2931 | 2648 | }, |
| 2932 | - moveDown2 (index) { | |
| 2933 | - [this.secondDataTi[index],this.secondDataTi[index+1]]=[this.secondDataTi[index+1],this.secondDataTi[index]] | |
| 2649 | + moveDown2(index) { | |
| 2650 | + [this.secondDataTi[index], this.secondDataTi[index + 1]] = [this.secondDataTi[index + 1], this.secondDataTi[index]] | |
| 2934 | 2651 | this.secondDataTi.sort() |
| 2935 | 2652 | }, |
| 2936 | - answerMoveUp (index) { | |
| 2937 | - [this.options[index],this.options[index-1]]=[this.options[index - 1],this.options[index]] | |
| 2938 | - this.options[index].index = index - 1 | |
| 2939 | - this.options.sort() | |
| 2940 | - }, | |
| 2941 | - answerMoveDown (index) { | |
| 2942 | - [this.options[index],this.options[index+1]]=[this.options[index+1],this.options[index]] | |
| 2943 | - this.options[index].index = index + 1 | |
| 2944 | - this.options.sort() | |
| 2945 | - }, | |
| 2653 | + answerMoveUp(index) { | |
| 2654 | + [this.options[index], this.options[index - 1]] = [this.options[index - 1], this.options[index]] | |
| 2655 | + this.options[index].index = index - 1 | |
| 2656 | + this.options.sort() | |
| 2657 | + }, | |
| 2658 | + answerMoveDown(index) { | |
| 2659 | + [this.options[index], this.options[index + 1]] = [this.options[index + 1], this.options[index]] | |
| 2660 | + this.options[index].index = index + 1 | |
| 2661 | + this.options.sort() | |
| 2662 | + }, | |
| 2946 | 2663 | } |
| 2947 | 2664 | |
| 2948 | 2665 | } |
| 2949 | 2666 | </script> |
| 2950 | 2667 | |
| 2951 | 2668 | <style scoped> |
| 2952 | - .zhuti { | |
| 2953 | - padding: 0 20px 20px 20px; | |
| 2954 | - min-height: calc(100vh - 50px - 20px); | |
| 2955 | - background-color: #Fff; | |
| 2956 | - | |
| 2957 | - } | |
| 2669 | +.zhuti { | |
| 2670 | + padding: 0 20px 20px 20px; | |
| 2671 | + min-height: calc(100vh - 50px - 20px); | |
| 2672 | + background-color: #Fff; | |
| 2958 | 2673 | |
| 2959 | - .chengeXia { | |
| 2960 | - border-bottom: 6px solid #3F9B6A; | |
| 2961 | - padding-bottom: 4px; | |
| 2962 | - color: #3F9B6A; | |
| 2963 | - } | |
| 2674 | +} | |
| 2964 | 2675 | |
| 2965 | - /deep/ .el-form-item__content { | |
| 2966 | - line-height: 0; | |
| 2967 | - } | |
| 2676 | +.chengeXia { | |
| 2677 | + border-bottom: 6px solid #3F9B6A; | |
| 2678 | + padding-bottom: 4px; | |
| 2679 | + color: #3F9B6A; | |
| 2680 | +} | |
| 2968 | 2681 | |
| 2969 | - .tableBtn { | |
| 2970 | - display: inline-block; | |
| 2971 | - margin-right: 10px; | |
| 2972 | - color: #ACACAC; | |
| 2973 | - cursor: pointer; | |
| 2974 | - } | |
| 2682 | +/deep/ .el-form-item__content { | |
| 2683 | + line-height: 0; | |
| 2684 | +} | |
| 2975 | 2685 | |
| 2976 | - .formSearch { | |
| 2977 | - display: flex; | |
| 2978 | - width: 100%; | |
| 2979 | - font-size: 14px; | |
| 2980 | - justify-content: space-between; | |
| 2981 | - } | |
| 2686 | +.tableBtn { | |
| 2687 | + display: inline-block; | |
| 2688 | + margin-right: 10px; | |
| 2689 | + color: #ACACAC; | |
| 2690 | + cursor: pointer; | |
| 2691 | +} | |
| 2982 | 2692 | |
| 2983 | - .greens { | |
| 2984 | - color: #3F9B6A; | |
| 2985 | - } | |
| 2693 | +.formSearch { | |
| 2694 | + display: flex; | |
| 2695 | + width: 100%; | |
| 2696 | + font-size: 14px; | |
| 2697 | + justify-content: space-between; | |
| 2698 | +} | |
| 2986 | 2699 | |
| 2987 | - /deep/ .el-table__row { | |
| 2988 | - font-size: 14px; | |
| 2989 | - color: #000000e6; | |
| 2990 | - height: 42px; | |
| 2991 | - } | |
| 2700 | +.greens { | |
| 2701 | + color: #3F9B6A; | |
| 2702 | +} | |
| 2992 | 2703 | |
| 2993 | - .fenye { | |
| 2994 | - margin-top: 20px; | |
| 2995 | - display: flex; | |
| 2996 | - justify-content: flex-end; | |
| 2997 | - } | |
| 2704 | +/deep/ .el-table__row { | |
| 2705 | + font-size: 14px; | |
| 2706 | + color: #000000e6; | |
| 2707 | + height: 42px; | |
| 2708 | +} | |
| 2998 | 2709 | |
| 2999 | - /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 3000 | - background-color: #3F9B6A; | |
| 3001 | - } | |
| 2710 | +.fenye { | |
| 2711 | + margin-top: 20px; | |
| 2712 | + display: flex; | |
| 2713 | + justify-content: flex-end; | |
| 2714 | +} | |
| 3002 | 2715 | |
| 3003 | - .el-row { | |
| 3004 | - margin-bottom: 20px; | |
| 2716 | +/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 2717 | + background-color: #3F9B6A; | |
| 2718 | +} | |
| 3005 | 2719 | |
| 3006 | - &:last-child { | |
| 3007 | - margin-bottom: 0; | |
| 3008 | - } | |
| 3009 | - } | |
| 2720 | +.el-row { | |
| 2721 | + margin-bottom: 20px; | |
| 3010 | 2722 | |
| 3011 | - .el-col { | |
| 3012 | - border-radius: 4px; | |
| 2723 | + &:last-child { | |
| 2724 | + margin-bottom: 0; | |
| 3013 | 2725 | } |
| 2726 | +} | |
| 3014 | 2727 | |
| 3015 | - .bg-purple-dark { | |
| 3016 | - background: #99a9bf; | |
| 3017 | - } | |
| 2728 | +.el-col { | |
| 2729 | + border-radius: 4px; | |
| 2730 | +} | |
| 3018 | 2731 | |
| 3019 | - .bg-purple { | |
| 3020 | - background: #d3dce6; | |
| 3021 | - } | |
| 2732 | +.bg-purple-dark { | |
| 2733 | + background: #99a9bf; | |
| 2734 | +} | |
| 3022 | 2735 | |
| 3023 | - .bg-purple-light { | |
| 3024 | - background: #e5e9f2; | |
| 3025 | - } | |
| 2736 | +.bg-purple { | |
| 2737 | + background: #d3dce6; | |
| 2738 | +} | |
| 3026 | 2739 | |
| 3027 | - .grid-content { | |
| 3028 | - border-radius: 4px; | |
| 3029 | - min-height: 36px; | |
| 3030 | - } | |
| 2740 | +.bg-purple-light { | |
| 2741 | + background: #e5e9f2; | |
| 2742 | +} | |
| 3031 | 2743 | |
| 3032 | - .row-bg { | |
| 3033 | - padding: 10px 0; | |
| 3034 | - background-color: #f9fafc; | |
| 3035 | - } | |
| 2744 | +.grid-content { | |
| 2745 | + border-radius: 4px; | |
| 2746 | + min-height: 36px; | |
| 2747 | +} | |
| 3036 | 2748 | |
| 3037 | - /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 3038 | - background: #fff; | |
| 3039 | - height: 50px; | |
| 3040 | - } | |
| 2749 | +.row-bg { | |
| 2750 | + padding: 10px 0; | |
| 2751 | + background-color: #f9fafc; | |
| 2752 | +} | |
| 3041 | 2753 | |
| 3042 | - /deep/ .bg-purple[data-v-3bebae82] { | |
| 3043 | - background: #fff; | |
| 3044 | - height: 50px; | |
| 3045 | - } | |
| 2754 | +/deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 2755 | + background: #fff; | |
| 2756 | + height: 50px; | |
| 2757 | +} | |
| 3046 | 2758 | |
| 3047 | - ::v-deep .bg-purple { | |
| 3048 | - background: #fff; | |
| 3049 | - height: 50px; | |
| 3050 | - } | |
| 2759 | +/deep/ .bg-purple[data-v-3bebae82] { | |
| 2760 | + background: #fff; | |
| 2761 | + height: 50px; | |
| 2762 | +} | |
| 3051 | 2763 | |
| 3052 | - /deep/ .el-form--label-top .el-form-item__label { | |
| 3053 | - padding: 0; | |
| 3054 | - } | |
| 2764 | +::v-deep .bg-purple { | |
| 2765 | + background: #fff; | |
| 2766 | + height: 50px; | |
| 2767 | +} | |
| 3055 | 2768 | |
| 3056 | - ::v-deep .el-form-item { | |
| 3057 | - margin-bottom: 16px; | |
| 3058 | - } | |
| 2769 | +/deep/ .el-form--label-top .el-form-item__label { | |
| 2770 | + padding: 0; | |
| 2771 | +} | |
| 3059 | 2772 | |
| 3060 | - .device-form .el-form-item__label::after { | |
| 3061 | - content: "*"; | |
| 3062 | - color: #1A1A1A; | |
| 3063 | - margin-left: 5px; | |
| 3064 | - font-size: 16px; | |
| 3065 | - } | |
| 2773 | +::v-deep .el-form-item { | |
| 2774 | + margin-bottom: 16px; | |
| 2775 | +} | |
| 3066 | 2776 | |
| 3067 | - ::v-deep .el-dialog__wrapper { | |
| 3068 | - .el-dialog__header { | |
| 3069 | - background-color: #FAFAFA; | |
| 3070 | - } | |
| 3071 | - } | |
| 2777 | +.device-form .el-form-item__label::after { | |
| 2778 | + content: "*"; | |
| 2779 | + color: #1A1A1A; | |
| 2780 | + margin-left: 5px; | |
| 2781 | + font-size: 16px; | |
| 2782 | +} | |
| 3072 | 2783 | |
| 3073 | - ::v-deep .el-input__inner:focus { | |
| 3074 | - border: #3F9B6A 1px solid; | |
| 2784 | +::v-deep .el-dialog__wrapper { | |
| 2785 | + .el-dialog__header { | |
| 2786 | + background-color: #FAFAFA; | |
| 3075 | 2787 | } |
| 2788 | +} | |
| 3076 | 2789 | |
| 3077 | - .dialog-footer { | |
| 3078 | - display: flex; | |
| 3079 | - justify-content: flex-end; | |
| 3080 | - border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 3081 | - padding-top: 20px; | |
| 3082 | - } | |
| 2790 | +::v-deep .el-input__inner:focus { | |
| 2791 | + border: #3F9B6A 1px solid; | |
| 2792 | +} | |
| 3083 | 2793 | |
| 3084 | - ::v-deep .el-input__inner:focus { | |
| 3085 | - border: #3F9B6A 1px solid; | |
| 3086 | - } | |
| 2794 | +.dialog-footer { | |
| 2795 | + display: flex; | |
| 2796 | + justify-content: flex-end; | |
| 2797 | + border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 2798 | + padding-top: 20px; | |
| 2799 | +} | |
| 3087 | 2800 | |
| 3088 | - ::v-deep .el-input__inner:hover { | |
| 3089 | - border: #3F9B6A 1px solid; | |
| 3090 | - } | |
| 2801 | +::v-deep .el-input__inner:focus { | |
| 2802 | + border: #3F9B6A 1px solid; | |
| 2803 | +} | |
| 3091 | 2804 | |
| 3092 | - ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 3093 | - border-color: #3F9B6A | |
| 3094 | - } | |
| 2805 | +::v-deep .el-input__inner:hover { | |
| 2806 | + border: #3F9B6A 1px solid; | |
| 2807 | +} | |
| 3095 | 2808 | |
| 3096 | - .el-select-dropdown__item.selected { | |
| 3097 | - color: #3F9B6A; | |
| 3098 | - } | |
| 2809 | +::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 2810 | + border-color: #3F9B6A | |
| 2811 | +} | |
| 3099 | 2812 | |
| 3100 | - .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 3101 | - border-color: #3F9B6A; | |
| 3102 | - } | |
| 2813 | +.el-select-dropdown__item.selected { | |
| 2814 | + color: #3F9B6A; | |
| 2815 | +} | |
| 3103 | 2816 | |
| 3104 | - ::v-deep .el-dialog__wrapper { | |
| 2817 | +.el-pagination__sizes .el-input .el-input__inner:hover { | |
| 2818 | + border-color: #3F9B6A; | |
| 2819 | +} | |
| 3105 | 2820 | |
| 3106 | - .dialog_css { | |
| 3107 | - margin-right: 12px; | |
| 3108 | - margin-top: 61px !important; | |
| 2821 | +::v-deep .el-dialog__wrapper { | |
| 3109 | 2822 | |
| 3110 | - .el-dialog__title { | |
| 3111 | - font-size: 16px !important; | |
| 3112 | - font-weight: 600; | |
| 3113 | - color: #000; | |
| 3114 | - } | |
| 3115 | - } | |
| 2823 | + .dialog_css { | |
| 2824 | + margin-right: 12px; | |
| 2825 | + margin-top: 61px !important; | |
| 3116 | 2826 | |
| 3117 | - .diaslog_zhong { | |
| 3118 | - margin-left: 25%; | |
| 3119 | - margin-top: 61px !important; | |
| 2827 | + .el-dialog__title { | |
| 2828 | + font-size: 16px !important; | |
| 2829 | + font-weight: 600; | |
| 2830 | + color: #000; | |
| 3120 | 2831 | } |
| 3121 | - | |
| 3122 | 2832 | } |
| 3123 | 2833 | |
| 3124 | - ::v-deep .diaslog_zhong { | |
| 3125 | - margin-left: 20%; | |
| 2834 | + .diaslog_zhong { | |
| 2835 | + margin-left: 25%; | |
| 3126 | 2836 | margin-top: 61px !important; |
| 2837 | + } | |
| 3127 | 2838 | |
| 3128 | - .el-dialog__header { | |
| 3129 | - background-color: #fff; | |
| 3130 | - border-bottom: 1px solid #EFEFEF; | |
| 2839 | +} | |
| 3131 | 2840 | |
| 3132 | - .el-dialog__title { | |
| 3133 | - font-size: 14px; | |
| 3134 | - color: #000000e6; | |
| 3135 | - } | |
| 3136 | - } | |
| 2841 | +::v-deep .diaslog_zhong { | |
| 2842 | + margin-left: 20%; | |
| 2843 | + margin-top: 61px !important; | |
| 2844 | + | |
| 2845 | + .el-dialog__header { | |
| 2846 | + background-color: #fff; | |
| 2847 | + border-bottom: 1px solid #EFEFEF; | |
| 3137 | 2848 | |
| 3138 | - .el-dialog__body { | |
| 3139 | - padding: 10px 30px 30px 20px | |
| 2849 | + .el-dialog__title { | |
| 2850 | + font-size: 14px; | |
| 2851 | + color: #000000e6; | |
| 3140 | 2852 | } |
| 3141 | 2853 | } |
| 3142 | 2854 | |
| 3143 | - /deep/ .el-table_1_column_8 .hetong { | |
| 3144 | - color: #7DBB9A; | |
| 3145 | - text-decoration: underline; | |
| 2855 | + .el-dialog__body { | |
| 2856 | + padding: 10px 30px 30px 20px | |
| 3146 | 2857 | } |
| 2858 | +} | |
| 3147 | 2859 | |
| 3148 | - /deep/ .first-column-bg { | |
| 3149 | - background-color: #FAFAFA !important; | |
| 3150 | - } | |
| 2860 | +/deep/ .el-table_1_column_8 .hetong { | |
| 2861 | + color: #7DBB9A; | |
| 2862 | + text-decoration: underline; | |
| 2863 | +} | |
| 3151 | 2864 | |
| 3152 | - ::v-deep .textarea { | |
| 3153 | - width: 85%; | |
| 2865 | +/deep/ .first-column-bg { | |
| 2866 | + background-color: #FAFAFA !important; | |
| 2867 | +} | |
| 3154 | 2868 | |
| 3155 | - .el-textarea__inner { | |
| 3156 | - width: 100%; | |
| 3157 | - } | |
| 3158 | - } | |
| 2869 | +::v-deep .textarea { | |
| 2870 | + width: 85%; | |
| 3159 | 2871 | |
| 3160 | - ::v-deep .pass_input { | |
| 2872 | + .el-textarea__inner { | |
| 3161 | 2873 | width: 100%; |
| 3162 | - | |
| 3163 | - .el-input__inner { | |
| 3164 | - border: none; | |
| 3165 | - padding: 0; | |
| 3166 | - } | |
| 3167 | 2874 | } |
| 2875 | +} | |
| 3168 | 2876 | |
| 3169 | - ::v-deep .pass_select { | |
| 3170 | - width: 100%; | |
| 2877 | +::v-deep .pass_input { | |
| 2878 | + width: 100%; | |
| 3171 | 2879 | |
| 3172 | - .el-input__inner { | |
| 3173 | - border: none; | |
| 3174 | - padding: 0; | |
| 3175 | - } | |
| 2880 | + .el-input__inner { | |
| 2881 | + border: none; | |
| 2882 | + padding: 0; | |
| 2883 | + } | |
| 2884 | +} | |
| 3176 | 2885 | |
| 3177 | - .el-icon-arrow-up:before { | |
| 3178 | - content: '' | |
| 3179 | - } | |
| 2886 | +::v-deep .pass_select { | |
| 2887 | + width: 100%; | |
| 3180 | 2888 | |
| 2889 | + .el-input__inner { | |
| 2890 | + border: none; | |
| 2891 | + padding: 0; | |
| 3181 | 2892 | } |
| 3182 | 2893 | |
| 3183 | - /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 3184 | - background-color: #fff; | |
| 2894 | + .el-icon-arrow-up:before { | |
| 2895 | + content: '' | |
| 3185 | 2896 | } |
| 3186 | 2897 | |
| 3187 | - /deep/ .el-radio__label, | |
| 3188 | - /deep/ .el-checkbox__label { | |
| 3189 | - white-space: normal !important; | |
| 3190 | - word-break: break-all !important; | |
| 3191 | - } | |
| 3192 | -</style> | |
| 3193 | -<style lang="scss" scoped> | |
| 3194 | - ::v-deep .bian_css { | |
| 3195 | - .el-dialog__header { | |
| 3196 | - padding: 0px; | |
| 3197 | - } | |
| 2898 | +} | |
| 3198 | 2899 | |
| 3199 | - .el-input__inner { | |
| 3200 | - height: 18px; | |
| 3201 | - border: 0px; | |
| 3202 | - margin-top: 0px; | |
| 3203 | - } | |
| 2900 | +/deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 2901 | + background-color: #fff; | |
| 2902 | +} | |
| 3204 | 2903 | |
| 3205 | - .el-input__inner:hover { | |
| 3206 | - border: 0px; | |
| 3207 | - } | |
| 2904 | +/deep/ .el-radio__label, | |
| 2905 | +/deep/ .el-checkbox__label { | |
| 2906 | + white-space: normal !important; | |
| 2907 | + word-break: break-all !important; | |
| 2908 | +} | |
| 3208 | 2909 | |
| 3209 | - .el-input__inner:focus { | |
| 3210 | - border: 0px; | |
| 3211 | - } | |
| 2910 | +/deep/ .el-input-number__decrease, | |
| 2911 | +/deep/.el-input-number__increase { | |
| 2912 | + height: 30px !important; | |
| 2913 | + line-height: 32px !important; | |
| 2914 | + margin-top: 3px; | |
| 2915 | +} | |
| 2916 | +</style> | |
| 2917 | +<style lang="scss" scoped> | |
| 2918 | +::v-deep .bian_css { | |
| 2919 | + .el-dialog__header { | |
| 2920 | + padding: 0px; | |
| 3212 | 2921 | } |
| 3213 | 2922 | |
| 3214 | - ::v-deep .buttonHover:hover { | |
| 3215 | - color: #3f9b6a !important; | |
| 3216 | - border-color: #c5e1d2 !important; | |
| 3217 | - background-color: #ecf5f0 !important; | |
| 3218 | - outline: none; | |
| 2923 | + .el-input__inner { | |
| 2924 | + height: 18px; | |
| 2925 | + border: 0px; | |
| 2926 | + margin-top: 0px; | |
| 3219 | 2927 | } |
| 3220 | 2928 | |
| 3221 | - ::v-deep .el-pagination__total { | |
| 3222 | - position: absolute; | |
| 3223 | - left: 33px; | |
| 2929 | + .el-input__inner:hover { | |
| 2930 | + border: 0px; | |
| 3224 | 2931 | } |
| 3225 | 2932 | |
| 3226 | - ::v-deep .diaslog_zhong { | |
| 3227 | - .el-dialog__body { | |
| 3228 | - padding: 10px 20px 20px 20px; | |
| 3229 | - } | |
| 3230 | - | |
| 3231 | - .el-upload--picture-card { | |
| 3232 | - width: 130px; | |
| 3233 | - height: 130px; | |
| 3234 | - } | |
| 2933 | + .el-input__inner:focus { | |
| 2934 | + border: 0px; | |
| 3235 | 2935 | } |
| 2936 | +} | |
| 3236 | 2937 | |
| 3237 | - ::v-deep .el-radio-group { | |
| 3238 | - .el-radio { | |
| 3239 | - font-weight: 400; | |
| 3240 | - height: 29px; | |
| 3241 | - } | |
| 3242 | - } | |
| 2938 | +::v-deep .buttonHover:hover { | |
| 2939 | + color: #3f9b6a !important; | |
| 2940 | + border-color: #c5e1d2 !important; | |
| 2941 | + background-color: #ecf5f0 !important; | |
| 2942 | + outline: none; | |
| 2943 | +} | |
| 3243 | 2944 | |
| 3244 | - ::v-deep .el-checkbox-group { | |
| 3245 | - .el-checkbox { | |
| 3246 | - height: 29px; | |
| 3247 | - } | |
| 2945 | +::v-deep .el-pagination__total { | |
| 2946 | + position: absolute; | |
| 2947 | + left: 33px; | |
| 2948 | +} | |
| 3248 | 2949 | |
| 3249 | - label { | |
| 3250 | - font-weight: 400; | |
| 3251 | - } | |
| 2950 | +::v-deep .diaslog_zhong { | |
| 2951 | + .el-dialog__body { | |
| 2952 | + padding: 10px 20px 20px 20px; | |
| 3252 | 2953 | } |
| 3253 | 2954 | |
| 3254 | - .questionnaire { | |
| 3255 | - width: 100%; | |
| 3256 | - flex-grow: 1; | |
| 3257 | - background-color: white; | |
| 3258 | - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 3259 | - border-radius: 5px; | |
| 3260 | - box-sizing: border-box; | |
| 2955 | + .el-upload--picture-card { | |
| 2956 | + width: 130px; | |
| 2957 | + height: 130px; | |
| 3261 | 2958 | } |
| 2959 | +} | |
| 3262 | 2960 | |
| 3263 | - .question-title { | |
| 3264 | - // font-size: 18px; | |
| 3265 | - color: #000; | |
| 3266 | - margin-bottom: 10px; | |
| 2961 | +::v-deep .el-radio-group { | |
| 2962 | + .el-radio { | |
| 2963 | + font-weight: 400; | |
| 2964 | + height: 29px; | |
| 3267 | 2965 | } |
| 2966 | +} | |
| 3268 | 2967 | |
| 3269 | - .question { | |
| 3270 | - background-color: white; | |
| 3271 | - padding: 15px; | |
| 3272 | - margin: 10px 0; | |
| 3273 | - border-radius: 10px; | |
| 2968 | +::v-deep .el-checkbox-group { | |
| 2969 | + .el-checkbox { | |
| 2970 | + height: 29px; | |
| 3274 | 2971 | } |
| 3275 | - .answerItem{ | |
| 3276 | - width: auto; | |
| 3277 | - padding:10px 15px; | |
| 3278 | - margin: 0 0 5px 10px; | |
| 3279 | - border-radius: 6px; | |
| 3280 | - background-color: #f5f7fa; | |
| 3281 | - display: flex; | |
| 3282 | - align-items: center; | |
| 2972 | + | |
| 2973 | + label { | |
| 2974 | + font-weight: 400; | |
| 3283 | 2975 | } |
| 2976 | +} | |
| 3284 | 2977 | |
| 3285 | - // ::v-deep .tongyong_css { | |
| 3286 | - // max-height: 850px; | |
| 2978 | +.questionnaire { | |
| 2979 | + width: 100%; | |
| 2980 | + flex-grow: 1; | |
| 2981 | + background-color: white; | |
| 2982 | + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 2983 | + border-radius: 5px; | |
| 2984 | + box-sizing: border-box; | |
| 2985 | +} | |
| 3287 | 2986 | |
| 3288 | - // } | |
| 2987 | +.question-title { | |
| 2988 | + // font-size: 18px; | |
| 2989 | + color: #000; | |
| 2990 | + margin-bottom: 10px; | |
| 2991 | +} | |
| 3289 | 2992 | |
| 3290 | - // .tongyong_css { | |
| 3291 | - // max-height: calc(100vh - 200px); /* Adjust the 200px to the combined height of your header and footer */ | |
| 3292 | - // overflow-y: auto; | |
| 3293 | - // } | |
| 3294 | - ::v-deep .xddTable { | |
| 3295 | - height: 100% !important; | |
| 3296 | - .el-table__body-wrapper{ | |
| 3297 | - overflow:auto !important; | |
| 3298 | - height: 100% !important; | |
| 3299 | - } | |
| 3300 | - .el-table__body-wrapper is-scrolling-none{ | |
| 3301 | - height: 100% !important; | |
| 3302 | - } | |
| 3303 | - .el-table--scrollable-y .el-table__body-wrapper{ | |
| 3304 | - overflow-y:inherit !important; | |
| 3305 | - } | |
| 2993 | +.question { | |
| 2994 | + background-color: white; | |
| 2995 | + padding: 15px; | |
| 2996 | + margin: 10px 0; | |
| 2997 | + border-radius: 10px; | |
| 2998 | +} | |
| 3306 | 2999 | |
| 3000 | +.answerItem { | |
| 3001 | + width: auto; | |
| 3002 | + padding: 10px 15px; | |
| 3003 | + margin: 0 0 5px 10px; | |
| 3004 | + border-radius: 6px; | |
| 3005 | + background-color: #f5f7fa; | |
| 3006 | + display: flex; | |
| 3007 | + align-items: center; | |
| 3008 | +} | |
| 3009 | + | |
| 3010 | +// ::v-deep .tongyong_css { | |
| 3011 | +// max-height: 850px; | |
| 3012 | + | |
| 3013 | +// } | |
| 3014 | + | |
| 3015 | +// .tongyong_css { | |
| 3016 | +// max-height: calc(100vh - 200px); /* Adjust the 200px to the combined height of your header and footer */ | |
| 3017 | +// overflow-y: auto; | |
| 3018 | +// } | |
| 3019 | +::v-deep .xddTable { | |
| 3020 | + height: 100% !important; | |
| 3021 | + | |
| 3022 | + .el-table__body-wrapper { | |
| 3023 | + overflow: auto !important; | |
| 3024 | + height: 100% !important; | |
| 3307 | 3025 | } |
| 3026 | + | |
| 3027 | + .el-table__body-wrapper is-scrolling-none { | |
| 3028 | + height: 100% !important; | |
| 3029 | + } | |
| 3030 | + | |
| 3031 | + .el-table--scrollable-y .el-table__body-wrapper { | |
| 3032 | + overflow-y: inherit !important; | |
| 3033 | + } | |
| 3034 | + | |
| 3035 | +} | |
| 3308 | 3036 | </style> | ... | ... |
wenjuan-pc/src/views/investigation/question.vue
| ... | ... | @@ -52,17 +52,16 @@ |
| 52 | 52 | </div> |
| 53 | 53 | <!-- 表格 --> |
| 54 | 54 | |
| 55 | - <el-table :data=" | |
| 56 | - tableData.slice( | |
| 57 | - (currentPage - 1) * pageSize, | |
| 58 | - currentPage * pageSize | |
| 59 | - ) | |
| 60 | - " :header-cell-style="{ | |
| 61 | - fontSize: '14px', | |
| 62 | - color: '#0009', | |
| 63 | - fontWeight: 'normal', | |
| 64 | - backgroundColor: '#F2F3F5', | |
| 65 | - }" tooltip-effect="dark custom-tooltip-effect"> | |
| 55 | + <el-table :data="tableData.slice( | |
| 56 | + (currentPage - 1) * pageSize, | |
| 57 | + currentPage * pageSize | |
| 58 | + ) | |
| 59 | + " :header-cell-style="{ | |
| 60 | + fontSize: '14px', | |
| 61 | + color: '#0009', | |
| 62 | + fontWeight: 'normal', | |
| 63 | + backgroundColor: '#F2F3F5', | |
| 64 | + }" tooltip-effect="dark custom-tooltip-effect"> | |
| 66 | 65 | <el-table-column label="序号" min-width="150"> |
| 67 | 66 | <template slot-scope="scope"> |
| 68 | 67 | {{ scope.$index + 1 }} |
| ... | ... | @@ -163,6 +162,10 @@ |
| 163 | 162 | <el-option label="文本" value="文本" /> |
| 164 | 163 | </el-select> |
| 165 | 164 | </el-form-item> |
| 165 | + <!-- 如果formInline.questionType为多选,那么就显示最多可以选择多少个,计步器来设置,默认是 0 --> | |
| 166 | + <el-form-item v-if="formInline.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 167 | + <el-input-number v-model="formInline.maxChoose" :min="0" :max="options.length " />0为不限制填写数量 | |
| 168 | + </el-form-item> | |
| 166 | 169 | <el-form-item label="隶属题库" prop="questionBank"> |
| 167 | 170 | <el-select v-model="formInline.questionBank" placeholder="请选择"> |
| 168 | 171 | <el-option label="用户端题库" value="用户端题库" /> |
| ... | ... | @@ -188,11 +191,11 @@ |
| 188 | 191 | </el-form-item> |
| 189 | 192 | <el-form-item v-if="formInline.questionType != '文本'" label="答案设置" prop="optionSettings"> |
| 190 | 193 | <el-table :data="options" :header-cell-style="{ |
| 191 | - fontSize: '14px', | |
| 192 | - color: '#0009', | |
| 193 | - fontWeight: 'normal', | |
| 194 | - backgroundColor: '#F2F3F5', | |
| 195 | - }"> | |
| 194 | + fontSize: '14px', | |
| 195 | + color: '#0009', | |
| 196 | + fontWeight: 'normal', | |
| 197 | + backgroundColor: '#F2F3F5', | |
| 198 | + }"> | |
| 196 | 199 | <el-table-column prop="index" label="序号" width="80"> |
| 197 | 200 | <template #default="scope"> |
| 198 | 201 | {{ scope.$index + 1 }} |
| ... | ... | @@ -210,12 +213,14 @@ |
| 210 | 213 | :readonly="scope.row.readonly" @input="validateScore(scope.row)" /> |
| 211 | 214 | </template> |
| 212 | 215 | </el-table-column> |
| 213 | - <el-table-column label="" min-width="120" > | |
| 214 | - <template #default="{$index}"> | |
| 215 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" v-if="$index!=0">↑</span> | |
| 216 | - <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" v-if="$index != (options.length-1)">↓</span> | |
| 217 | - </template> | |
| 218 | - </el-table-column> | |
| 216 | + <el-table-column label="" min-width="120"> | |
| 217 | + <template #default="{ $index }"> | |
| 218 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 219 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 220 | + <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" | |
| 221 | + v-if="$index != (options.length - 1)">↓</span> | |
| 222 | + </template> | |
| 223 | + </el-table-column> | |
| 219 | 224 | <el-table-column label="操作"> |
| 220 | 225 | <template #default="scope"> |
| 221 | 226 | <div class="tableBtn greens" @click="deleteOption(scope.$index)"> |
| ... | ... | @@ -259,6 +264,10 @@ |
| 259 | 264 | <el-option label="文本" value="文本" /> |
| 260 | 265 | </el-select> |
| 261 | 266 | </el-form-item> |
| 267 | + <!-- 如果formInline.questionType为多选,那么就显示最多可以选择多少个,计步器来设置,默认是 0 --> | |
| 268 | + <el-form-item v-if="secondData.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 269 | + <el-input-number v-model="secondData.maxChoose" :min="0" :max="options.length " /> 0为不限制填写数量 | |
| 270 | + </el-form-item> | |
| 262 | 271 | <el-form-item label="隶属题库" prop="questionBank"> |
| 263 | 272 | <el-select v-model="secondData.questionBank" placeholder="请选择"> |
| 264 | 273 | <el-option label="用户端题库" value="用户端题库" /> |
| ... | ... | @@ -284,42 +293,46 @@ |
| 284 | 293 | </el-form-item> |
| 285 | 294 | <el-form-item v-if="secondData.questionType != '文本'" label="答案设置"> |
| 286 | 295 | <el-table :data="options" :header-cell-style="{ |
| 287 | - fontSize: '14px', | |
| 288 | - color: '#0009', | |
| 289 | - fontWeight: 'normal', | |
| 290 | - backgroundColor: '#F2F3F5', | |
| 291 | - }"> | |
| 292 | - | |
| 293 | - <el-table-column prop="index" label="序号" width="180"> | |
| 294 | - <template #default="scope"> | |
| 295 | - {{ scope.$index + 1 }} | |
| 296 | - </template> | |
| 297 | - </el-table-column> | |
| 298 | - <el-table-column prop="name" label="选项名称"> | |
| 299 | - <template #default="scope"> | |
| 300 | - <el-input v-model="scope.row.name" :readonly="scope.row.readonly" /> | |
| 301 | - </template> | |
| 302 | - </el-table-column> | |
| 303 | - <el-table-column prop="name" label="分数"> | |
| 304 | - <template #default="scope"> | |
| 305 | - <el-input v-model="scope.row.num" :min="0" :max="100" | |
| 306 | - :readonly="scope.row.readonly" @input="validateScore(scope.row)" /> | |
| 307 | - </template> | |
| 308 | - </el-table-column> | |
| 309 | - <el-table-column label="" min-width="120" > | |
| 310 | - <template #default="{$index}"> | |
| 311 | - <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" v-if="$index!=0">↑</span> | |
| 312 | - <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" v-if="$index != (options.length-1)">↓</span> | |
| 313 | - </template> | |
| 296 | + fontSize: '14px', | |
| 297 | + color: '#0009', | |
| 298 | + fontWeight: 'normal', | |
| 299 | + backgroundColor: '#F2F3F5', | |
| 300 | + }"> | |
| 301 | + | |
| 302 | + <el-table-column prop="index" label="序号" width="180"> | |
| 303 | + <template #default="scope"> | |
| 304 | + {{ scope.$index + 1 }} | |
| 305 | + </template> | |
| 306 | + </el-table-column> | |
| 307 | + <el-table-column prop="name" label="选项名称"> | |
| 308 | + <template #default="scope"> | |
| 309 | + <el-input v-model="scope.row.name" :readonly="scope.row.readonly" /> | |
| 310 | + </template> | |
| 311 | + </el-table-column> | |
| 312 | + <el-table-column prop="name" label="分数"> | |
| 313 | + <template #default="scope"> | |
| 314 | + <el-input v-model="scope.row.num" :min="0" :max="100" | |
| 315 | + :readonly="scope.row.readonly" @input="validateScore(scope.row)" /> | |
| 316 | + </template> | |
| 317 | + </el-table-column> | |
| 318 | + <el-table-column label="" min-width="120"> | |
| 319 | + <template #default="{ $index }"> | |
| 320 | + <span | |
| 321 | + style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 322 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 323 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 324 | + @click="answerMoveDown($index)" | |
| 325 | + v-if="$index != (options.length - 1)">↓</span> | |
| 326 | + </template> | |
| 314 | 327 | </el-table-column> |
| 315 | - <el-table-column label="操作"> | |
| 316 | - <template #default="scope"> | |
| 317 | - <div class="tableBtn greens" @click="deleteOption(scope.$index)"> | |
| 318 | - 删除 | |
| 319 | - </div> | |
| 320 | - </template> | |
| 321 | - </el-table-column> | |
| 322 | - | |
| 328 | + <el-table-column label="操作"> | |
| 329 | + <template #default="scope"> | |
| 330 | + <div class="tableBtn greens" @click="deleteOption(scope.$index)"> | |
| 331 | + 删除 | |
| 332 | + </div> | |
| 333 | + </template> | |
| 334 | + </el-table-column> | |
| 335 | + | |
| 323 | 336 | </el-table> |
| 324 | 337 | |
| 325 | 338 | <el-button style="width: 100%; background-color: #3f9b6a; color: #fff" @click="addOption">+ |
| ... | ... | @@ -342,701 +355,679 @@ |
| 342 | 355 | </template> |
| 343 | 356 | |
| 344 | 357 | <script> |
| 345 | - import { | |
| 346 | - async | |
| 347 | - } from "q"; | |
| 348 | - import axios from "axios"; | |
| 349 | - import { | |
| 350 | - QuestionGetAll, | |
| 351 | - QuestionAdd, | |
| 352 | - QuestionEdit, | |
| 353 | - QuestionDel, | |
| 354 | - } from "../../api/question.js"; | |
| 355 | - import upimg from "@/components/ImageUpload/index"; | |
| 356 | - export default { | |
| 357 | - components: { | |
| 358 | - upimg, | |
| 359 | - }, | |
| 360 | - data() { | |
| 361 | - return { | |
| 362 | - detbox: false, // 详情 | |
| 363 | - currentPage: 1, | |
| 364 | - total: 10, | |
| 365 | - flag: false, | |
| 358 | +import { | |
| 359 | + async | |
| 360 | +} from "q"; | |
| 361 | +import axios from "axios"; | |
| 362 | +import { | |
| 363 | + QuestionGetAll, | |
| 364 | + QuestionAdd, | |
| 365 | + QuestionEdit, | |
| 366 | + QuestionDel, | |
| 367 | +} from "../../api/question.js"; | |
| 368 | +import upimg from "@/components/ImageUpload/index"; | |
| 369 | +export default { | |
| 370 | + components: { | |
| 371 | + upimg, | |
| 372 | + }, | |
| 373 | + data() { | |
| 374 | + return { | |
| 375 | + detbox: false, // 详情 | |
| 376 | + currentPage: 1, | |
| 377 | + total: 10, | |
| 378 | + flag: false, | |
| 379 | + pageSize: 10, | |
| 380 | + ggXin: false, | |
| 381 | + formInline: { | |
| 382 | + tikuTitle: "", | |
| 383 | + questionType: "", | |
| 384 | + questionBank: "用户端题库", | |
| 385 | + isRequired: "必填", | |
| 386 | + maxChoose:0, | |
| 387 | + questionDescription: "", | |
| 388 | + optionSettings: {}, | |
| 389 | + }, | |
| 390 | + tableData: [], | |
| 391 | + secondData: {}, | |
| 392 | + formSel: { | |
| 393 | + questionBank: "用户端题库", | |
| 394 | + tikuTitle: "", | |
| 395 | + questionType: "", | |
| 396 | + pageNumber: 0, | |
| 397 | + pageSize: 10, | |
| 398 | + }, | |
| 399 | + pageindex: { | |
| 400 | + pageNumber: 0, | |
| 401 | + pageSize: 10, | |
| 402 | + questionBank: "用户端题库", | |
| 403 | + }, | |
| 404 | + bainjiBox: false, | |
| 405 | + options: [], | |
| 406 | + labelStyle: { | |
| 407 | + width: "160px", | |
| 408 | + }, | |
| 409 | + contentStyle: { | |
| 410 | + width: "246px", | |
| 411 | + }, | |
| 412 | + rules: { | |
| 413 | + tikuTitle: [{ | |
| 414 | + required: true, | |
| 415 | + message: "请输入题目", | |
| 416 | + trigger: "blur" | |
| 417 | + }], | |
| 418 | + questionType: [{ | |
| 419 | + required: true, | |
| 420 | + message: "请选择题型", | |
| 421 | + trigger: "change" | |
| 422 | + },], | |
| 423 | + questionBank: [{ | |
| 424 | + required: true, | |
| 425 | + message: "请选择所属题库", | |
| 426 | + trigger: "change" | |
| 427 | + },], | |
| 428 | + layoutType: [{ | |
| 429 | + required: true, | |
| 430 | + message: "请选择布局类型", | |
| 431 | + trigger: "change" | |
| 432 | + },], | |
| 433 | + optionSettings: [{ | |
| 434 | + required: true, | |
| 435 | + message: "请设置答案", | |
| 436 | + trigger: "change" | |
| 437 | + },], | |
| 438 | + }, | |
| 439 | + }; | |
| 440 | + }, | |
| 441 | + computed: {}, | |
| 442 | + mounted() { | |
| 443 | + this.getAll(); | |
| 444 | + }, | |
| 445 | + methods: { | |
| 446 | + chenge(val) { | |
| 447 | + this.formSel = { | |
| 448 | + questionBank: "用户端题库", | |
| 449 | + tikuTitle: "", | |
| 450 | + questionType: "", | |
| 451 | + pageNumber: 0, | |
| 366 | 452 | pageSize: 10, |
| 367 | - ggXin: false, | |
| 368 | - formInline: { | |
| 369 | - tikuTitle: "", | |
| 370 | - questionType: "", | |
| 371 | - questionBank: "用户端题库", | |
| 372 | - isRequired: "必填", | |
| 373 | - questionDescription: "", | |
| 374 | - optionSettings: {}, | |
| 375 | - }, | |
| 376 | - tableData: [], | |
| 377 | - secondData: {}, | |
| 378 | - formSel: { | |
| 379 | - questionBank: "用户端题库", | |
| 380 | - tikuTitle: "", | |
| 381 | - questionType: "", | |
| 382 | - pageNumber: 0, | |
| 383 | - pageSize: 10, | |
| 384 | - }, | |
| 385 | - pageindex: { | |
| 386 | - pageNumber: 0, | |
| 387 | - pageSize: 10, | |
| 388 | - questionBank: "用户端题库", | |
| 389 | - }, | |
| 390 | - bainjiBox: false, | |
| 391 | - options: [], | |
| 392 | - labelStyle: { | |
| 393 | - width: "160px", | |
| 394 | - }, | |
| 395 | - contentStyle: { | |
| 396 | - width: "246px", | |
| 397 | - }, | |
| 398 | - rules: { | |
| 399 | - tikuTitle: [{ | |
| 400 | - required: true, | |
| 401 | - message: "请输入题目", | |
| 402 | - trigger: "blur" | |
| 403 | - }], | |
| 404 | - questionType: [{ | |
| 405 | - required: true, | |
| 406 | - message: "请选择题型", | |
| 407 | - trigger: "change" | |
| 408 | - }, ], | |
| 409 | - questionBank: [{ | |
| 410 | - required: true, | |
| 411 | - message: "请选择所属题库", | |
| 412 | - trigger: "change" | |
| 413 | - }, ], | |
| 414 | - layoutType: [{ | |
| 415 | - required: true, | |
| 416 | - message: "请选择布局类型", | |
| 417 | - trigger: "change" | |
| 418 | - }, ], | |
| 419 | - optionSettings: [{ | |
| 420 | - required: true, | |
| 421 | - message: "请设置答案", | |
| 422 | - trigger: "change" | |
| 423 | - }, ], | |
| 424 | - }, | |
| 425 | 453 | }; |
| 426 | 454 | }, |
| 427 | - computed: {}, | |
| 428 | - mounted() { | |
| 429 | - this.getAll(); | |
| 455 | + getAll() { | |
| 456 | + QuestionGetAll(this.pageindex).then((res) => { | |
| 457 | + this.tableData = res.data.content; | |
| 458 | + this.total = res.data.totalElements; | |
| 459 | + }); | |
| 430 | 460 | }, |
| 431 | - methods: { | |
| 432 | - chenge(val) { | |
| 433 | - this.formSel = { | |
| 434 | - questionBank: "用户端题库", | |
| 435 | - tikuTitle: "", | |
| 436 | - questionType: "", | |
| 437 | - pageNumber: 0, | |
| 438 | - pageSize: 10, | |
| 439 | - }; | |
| 440 | - }, | |
| 441 | - getAll() { | |
| 442 | - QuestionGetAll(this.pageindex).then((res) => { | |
| 443 | - this.tableData = res.data.content; | |
| 444 | - this.total = res.data.totalElements; | |
| 445 | - }); | |
| 446 | - }, | |
| 447 | 461 | |
| 448 | - // 新增确定按钮 | |
| 449 | - addCheck(val) { | |
| 450 | - this.$refs.reform.validate((valid) => { | |
| 451 | - if (valid) { | |
| 452 | - if ( | |
| 453 | - this.formInline.questionType != "文本" && | |
| 454 | - this.options.length == 0 | |
| 455 | - ) { | |
| 462 | + // 新增确定按钮 | |
| 463 | + addCheck(val) { | |
| 464 | + this.$refs.reform.validate((valid) => { | |
| 465 | + if (valid) { | |
| 466 | + if ( | |
| 467 | + this.formInline.questionType != "文本" && | |
| 468 | + this.options.length == 0 | |
| 469 | + ) { | |
| 470 | + this.$message({ | |
| 471 | + message: "请添加答案选项", | |
| 472 | + }); | |
| 473 | + return; | |
| 474 | + } | |
| 475 | + for (let i = 0; i < this.options.length; i++) { | |
| 476 | + if (this.options[i].name == "") { | |
| 456 | 477 | this.$message({ |
| 457 | - message: "请添加答案选项", | |
| 478 | + message: "答案选项不能为空", | |
| 458 | 479 | }); |
| 459 | 480 | return; |
| 460 | 481 | } |
| 461 | - for (let i = 0; i < this.options.length; i++) { | |
| 462 | - if (this.options[i].name == "") { | |
| 463 | - this.$message({ | |
| 464 | - message: "答案选项不能为空", | |
| 465 | - }); | |
| 466 | - return; | |
| 467 | - } | |
| 468 | - } | |
| 469 | - let accumulator= {} | |
| 470 | - let fenshu = {} | |
| 471 | - this.options.forEach((item,index)=>{ | |
| 472 | - accumulator[index] = item.name | |
| 473 | - fenshu[index] = Number(item.num) || 0 | |
| 474 | - }) | |
| 475 | - // this.formInline.optionSettings = this.options.reduce( | |
| 476 | - // (accumulator, current) => { | |
| 477 | - // console.log(accumulator) | |
| 478 | - // accumulator[current.index].index = current.name; | |
| 479 | - // return accumulator; | |
| 480 | - // }, {}, | |
| 481 | - | |
| 482 | - // ); // 初始化累加器为空对象 | |
| 483 | - this.formInline.optionSettings = accumulator | |
| 484 | - this.formInline.score = fenshu | |
| 485 | - // this.formInline.score = this.options.reduce( | |
| 486 | - // (accumulator, current) => { | |
| 487 | - // accumulator[current.index] = Number(current.num); | |
| 488 | - // return accumulator; | |
| 489 | - // }, {} | |
| 490 | - // ); // 初始化累加器为空对象 | |
| 491 | - // console.log(this.formInline.optionSettings,this.formInline.score) | |
| 492 | - // return | |
| 493 | - this.formInline.optionSettings = JSON.stringify( | |
| 494 | - this.formInline.optionSettings | |
| 495 | - ); | |
| 496 | - this.formInline.score = JSON.stringify(this.formInline.score); | |
| 497 | - this.formInline.createDate = this.currentTime(); | |
| 498 | - QuestionAdd(this.formInline).then((res) => { | |
| 499 | - this.$message({ | |
| 500 | - message: "保存成功", | |
| 501 | - type: "success", | |
| 502 | - }); | |
| 503 | - this.formInline = { | |
| 504 | - tikuTitle: "", | |
| 505 | - questionType: "", | |
| 506 | - questionBank: "用户端题库", | |
| 507 | - isRequired: "必填", | |
| 508 | - questionDescription: "", | |
| 509 | - optionSettings: {}, | |
| 510 | - }; | |
| 511 | - this.getAll(); | |
| 482 | + } | |
| 483 | + let accumulator = {} | |
| 484 | + let fenshu = {} | |
| 485 | + this.options.forEach((item, index) => { | |
| 486 | + accumulator[index] = item.name | |
| 487 | + fenshu[index] = Number(item.num) || 0 | |
| 488 | + }) | |
| 489 | + this.formInline.optionSettings = accumulator | |
| 490 | + this.formInline.score = fenshu | |
| 491 | + this.formInline.optionSettings = JSON.stringify( | |
| 492 | + this.formInline.optionSettings | |
| 493 | + ); | |
| 494 | + this.formInline.score = JSON.stringify(this.formInline.score); | |
| 495 | + this.formInline.createDate = this.currentTime(); | |
| 496 | + QuestionAdd(this.formInline).then((res) => { | |
| 497 | + this.$message({ | |
| 498 | + message: "保存成功", | |
| 499 | + type: "success", | |
| 512 | 500 | }); |
| 501 | + this.formInline = { | |
| 502 | + tikuTitle: "", | |
| 503 | + questionType: "", | |
| 504 | + questionBank: "用户端题库", | |
| 505 | + isRequired: "必填", | |
| 506 | + questionDescription: "", | |
| 507 | + optionSettings: {}, | |
| 508 | + }; | |
| 509 | + this.getAll(); | |
| 510 | + }); | |
| 513 | 511 | |
| 514 | - this.ggXin = false; | |
| 515 | - } else { | |
| 516 | - return false; | |
| 512 | + this.ggXin = false; | |
| 513 | + } else { | |
| 514 | + return false; | |
| 515 | + } | |
| 516 | + }); | |
| 517 | + }, | |
| 518 | + // 编辑确定 | |
| 519 | + async bianCheck() { | |
| 520 | + this.$refs.bianform.validate((valid) => { | |
| 521 | + if (valid) { | |
| 522 | + if ( | |
| 523 | + this.secondData.questionType != "文本" && | |
| 524 | + this.options.length == 0 | |
| 525 | + ) { | |
| 526 | + this.$message({ | |
| 527 | + message: "请添加答案选项", | |
| 528 | + }); | |
| 529 | + return; | |
| 517 | 530 | } |
| 518 | - }); | |
| 519 | - }, | |
| 520 | - // 编辑确定 | |
| 521 | - async bianCheck() { | |
| 522 | - this.$refs.bianform.validate((valid) => { | |
| 523 | - if (valid) { | |
| 524 | - if ( | |
| 525 | - this.secondData.questionType != "文本" && | |
| 526 | - this.options.length == 0 | |
| 527 | - ) { | |
| 531 | + for (let i = 0; i < this.options.length; i++) { | |
| 532 | + if (this.options[i].name == "") { | |
| 528 | 533 | this.$message({ |
| 529 | - message: "请添加答案选项", | |
| 534 | + message: "答案选项不能为空", | |
| 530 | 535 | }); |
| 531 | 536 | return; |
| 532 | 537 | } |
| 533 | - for (let i = 0; i < this.options.length; i++) { | |
| 534 | - if (this.options[i].name == "") { | |
| 535 | - this.$message({ | |
| 536 | - message: "答案选项不能为空", | |
| 537 | - }); | |
| 538 | - return; | |
| 539 | - } | |
| 540 | - } | |
| 541 | - let accumulator= {} | |
| 542 | - let fenshu ={} | |
| 543 | - this.options.forEach((item,index)=>{ | |
| 544 | - | |
| 545 | - accumulator[index] = item.name | |
| 546 | - fenshu[index] = Number(item.num) || 0 | |
| 547 | - }) | |
| 548 | - | |
| 549 | - | |
| 550 | - // this.secondData.score = fenshu | |
| 551 | - | |
| 552 | - // this.formInline.optionSettings = accumulator | |
| 553 | - // this.secondData.optionSettings = this.options.reduce( | |
| 554 | - // (accumulator, current) => { | |
| 555 | - // accumulator[current.index] = current.name; | |
| 556 | - // return accumulator; | |
| 557 | - // }, {} | |
| 558 | - // ); // 初始化累加器为空对象 | |
| 559 | - // this.secondData.score = this.options.reduce( | |
| 560 | - // (accumulator, current) => { | |
| 561 | - // accumulator[current.index] = Number(current.num); | |
| 562 | - // return accumulator; | |
| 563 | - // }, {} | |
| 564 | - // ); // 初始化累加器为空对象 | |
| 565 | - | |
| 566 | - this.secondData.optionSettings = JSON.stringify( | |
| 567 | - accumulator | |
| 568 | - ); | |
| 569 | - this.secondData.score = JSON.stringify(fenshu); | |
| 570 | - | |
| 571 | - QuestionEdit(this.secondData).then((res) => { | |
| 572 | - this.$message({ | |
| 573 | - message: "保存成功", | |
| 574 | - type: "success", | |
| 575 | - }); | |
| 576 | - | |
| 577 | - this.getAll(); | |
| 578 | - }); | |
| 579 | - | |
| 580 | - this.bainjiBox = false; | |
| 581 | - } else { | |
| 538 | + } | |
| 539 | + let accumulator = {} | |
| 540 | + let fenshu = {} | |
| 541 | + this.options.forEach((item, index) => { | |
| 542 | + | |
| 543 | + accumulator[index] = item.name | |
| 544 | + fenshu[index] = Number(item.num) || 0 | |
| 545 | + }) | |
| 546 | + this.secondData.optionSettings = JSON.stringify( | |
| 547 | + accumulator | |
| 548 | + ); | |
| 549 | + this.secondData.score = JSON.stringify(fenshu); | |
| 550 | + | |
| 551 | + QuestionEdit(this.secondData).then((res) => { | |
| 582 | 552 | this.$message({ |
| 583 | - message: "请填写完整信息", | |
| 584 | - type: "error", | |
| 553 | + message: "保存成功", | |
| 554 | + type: "success", | |
| 585 | 555 | }); |
| 586 | - return false; | |
| 587 | - } | |
| 588 | - }); | |
| 589 | - }, | |
| 590 | - // 获取时间 | |
| 591 | - currentTime() { | |
| 592 | - const date = new Date(); | |
| 593 | - const year = date.getFullYear(); | |
| 594 | - let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 595 | - let day = date.getDate(); | |
| 596 | - let hours = date.getHours(); | |
| 597 | - let minutes = date.getMinutes(); | |
| 598 | - let seconds = date.getSeconds(); | |
| 599 | - | |
| 600 | - // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 601 | - month = month < 10 ? "0" + month : month; | |
| 602 | - day = day < 10 ? "0" + day : day; | |
| 603 | - hours = hours < 10 ? "0" + hours : hours; | |
| 604 | - minutes = minutes < 10 ? "0" + minutes : minutes; | |
| 605 | - seconds = seconds < 10 ? "0" + seconds : seconds; | |
| 606 | - | |
| 607 | - // 返回格式化的日期和时间字符串 | |
| 608 | - return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 609 | - }, | |
| 610 | 556 | |
| 611 | - // 详情 | |
| 612 | - details(val, item) { | |
| 613 | - this.secondData = item; | |
| 557 | + this.getAll(); | |
| 558 | + }); | |
| 614 | 559 | |
| 615 | - if (typeof item.optionSettings === "string") { | |
| 616 | - this.secondData.optionSettings = JSON.parse(item.optionSettings); | |
| 617 | - } | |
| 618 | - this.detbox = true; | |
| 619 | - }, | |
| 620 | - addbuss(val, item) { | |
| 621 | - this.detbox = false; | |
| 622 | - this.ggXin = true; | |
| 623 | - }, | |
| 624 | - handleSizeChange(val) { | |
| 625 | - this.pageSize = val; | |
| 626 | - }, | |
| 627 | - handleCurrentChange(val) { | |
| 628 | - // this.currentPage = val | |
| 629 | - this.pageindex.pageNumber = val - 1; | |
| 630 | - QuestionGetAll(this.pageindex).then((res) => { | |
| 631 | - this.tableData = res.data.content; | |
| 632 | - }); | |
| 633 | - }, | |
| 634 | - | |
| 635 | - closeFn(val) { | |
| 636 | - if (val == 1) { | |
| 637 | - this.ggXin = false; | |
| 638 | - } else { | |
| 639 | 560 | this.bainjiBox = false; |
| 640 | - } | |
| 641 | - }, | |
| 642 | - | |
| 643 | - // 查询按钮 | |
| 644 | - async onSubmit() { | |
| 645 | - const res = await QuestionGetAll(this.formSel); | |
| 646 | - this.tableData = res.data.content; | |
| 647 | - this.total = res.data.totalElements; | |
| 648 | - }, | |
| 649 | - // 重置按钮 | |
| 650 | - resetting() { | |
| 651 | - this.formSel = { | |
| 652 | - questionBank: "用户端题库", | |
| 653 | - pageNumber: 0, | |
| 654 | - pageSize: 10, | |
| 655 | - }; | |
| 656 | - this.currentPage = 1; | |
| 657 | - this.pageindex.pageNumber = 0; | |
| 658 | - this.getAll(); | |
| 659 | - }, | |
| 660 | - addOption() { | |
| 661 | - const newOption = { | |
| 662 | - index: this.options.length + 1, | |
| 663 | - name: "", | |
| 664 | - readonly: false, | |
| 665 | - }; | |
| 666 | - this.options.push(newOption); | |
| 667 | - }, | |
| 668 | - deleteOption(index) { | |
| 669 | - this.options.splice(index, 1); | |
| 670 | - }, | |
| 671 | - bianls(item) { | |
| 672 | - let settings = null; | |
| 673 | - let socer = null; | |
| 674 | - if (typeof item.optionSettings !== "object") { | |
| 675 | - settings = JSON.parse(item.optionSettings); | |
| 676 | - } else { | |
| 677 | - settings = item.optionSettings; | |
| 678 | - } | |
| 679 | - if (typeof item.score !== "object") { | |
| 680 | - socer = JSON.parse(item.score); | |
| 681 | 561 | } else { |
| 682 | - socer = item.score; | |
| 562 | + this.$message({ | |
| 563 | + message: "请填写完整信息", | |
| 564 | + type: "error", | |
| 565 | + }); | |
| 566 | + return false; | |
| 683 | 567 | } |
| 684 | - const keys = Object.keys(settings); | |
| 685 | - this.options = keys.map((key) => ({ | |
| 686 | - index: parseInt(key), // 将字符串键转换为整数 | |
| 687 | - name: settings[key], | |
| 688 | - num: socer[key], // 添加 socer 的值 | |
| 689 | - })); | |
| 690 | - | |
| 691 | - this.bainjiBox = true; | |
| 692 | - this.secondData = item; | |
| 693 | - }, | |
| 694 | - tikuDel(item) { | |
| 695 | - const h = this.$createElement; | |
| 696 | - this.$msgbox({ | |
| 697 | - title: "消息", | |
| 698 | - message: h("p", null, [h("span", null, "是否删除 ")]), | |
| 699 | - showCancelButton: true, | |
| 700 | - showClose: false, | |
| 701 | - confirmButtonText: "确定", | |
| 702 | - cancelButtonText: "取消", | |
| 703 | - customClass: "oe-dialog-btn", | |
| 704 | - beforeClose: (action, instance, done) => { | |
| 705 | - if (action === "confirm") { | |
| 706 | - QuestionDel({ | |
| 707 | - id: item.id, | |
| 708 | - }).then((res) => { | |
| 709 | - this.getAll(); | |
| 710 | - done(); | |
| 711 | - }); | |
| 712 | - } else { | |
| 713 | - done(); | |
| 714 | - } | |
| 715 | - }, | |
| 716 | - }); | |
| 717 | - }, | |
| 718 | - async tikuBox(val) { | |
| 719 | - this.pageindex.questionBank = val; | |
| 568 | + }); | |
| 569 | + }, | |
| 570 | + // 获取时间 | |
| 571 | + currentTime() { | |
| 572 | + const date = new Date(); | |
| 573 | + const year = date.getFullYear(); | |
| 574 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 575 | + let day = date.getDate(); | |
| 576 | + let hours = date.getHours(); | |
| 577 | + let minutes = date.getMinutes(); | |
| 578 | + let seconds = date.getSeconds(); | |
| 579 | + | |
| 580 | + // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 581 | + month = month < 10 ? "0" + month : month; | |
| 582 | + day = day < 10 ? "0" + day : day; | |
| 583 | + hours = hours < 10 ? "0" + hours : hours; | |
| 584 | + minutes = minutes < 10 ? "0" + minutes : minutes; | |
| 585 | + seconds = seconds < 10 ? "0" + seconds : seconds; | |
| 586 | + | |
| 587 | + // 返回格式化的日期和时间字符串 | |
| 588 | + return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 589 | + }, | |
| 590 | + | |
| 591 | + // 详情 | |
| 592 | + details(val, item) { | |
| 593 | + this.secondData = item; | |
| 720 | 594 | |
| 721 | - const res = await QuestionGetAll(this.pageindex); | |
| 595 | + if (typeof item.optionSettings === "string") { | |
| 596 | + this.secondData.optionSettings = JSON.parse(item.optionSettings); | |
| 597 | + } | |
| 598 | + this.detbox = true; | |
| 599 | + }, | |
| 600 | + addbuss(val, item) { | |
| 601 | + this.detbox = false; | |
| 602 | + this.ggXin = true; | |
| 603 | + }, | |
| 604 | + handleSizeChange(val) { | |
| 605 | + this.pageSize = val; | |
| 606 | + }, | |
| 607 | + handleCurrentChange(val) { | |
| 608 | + // this.currentPage = val | |
| 609 | + this.pageindex.pageNumber = val - 1; | |
| 610 | + QuestionGetAll(this.pageindex).then((res) => { | |
| 722 | 611 | this.tableData = res.data.content; |
| 723 | - this.total = res.data.totalElements; | |
| 724 | - }, | |
| 725 | - addTimu() { | |
| 726 | - this.formInline = { | |
| 727 | - tikuTitle: "", | |
| 728 | - questionType: "", | |
| 729 | - questionBank: "用户端题库", | |
| 730 | - isRequired: "必填", | |
| 731 | - layoutType: 1, | |
| 732 | - questionDescription: "", | |
| 733 | - optionSettings: {}, | |
| 734 | - }; | |
| 735 | - this.options = []; | |
| 736 | - // this.$refs.reform.resetFields() | |
| 737 | - this.ggXin = true; | |
| 738 | - }, | |
| 739 | - validateScore(row) { | |
| 740 | - // 如果输入的不是数字或者是NaN,则重置为1 | |
| 741 | - if (isNaN(row.num) || row.num < 0) { | |
| 742 | - row.num = 0; | |
| 743 | - } | |
| 744 | - // 如果输入的数字大于100,则重置为100 | |
| 745 | - if (row.num > 100) { | |
| 746 | - row.num = 100; | |
| 747 | - } | |
| 748 | - }, | |
| 749 | - answerMoveUp (index) { | |
| 750 | - [this.options[index],this.options[index-1]]=[this.options[index - 1],this.options[index]] | |
| 751 | - console.log(this.options[index]) | |
| 752 | - this.options[index].index = index - 1 | |
| 753 | - this.options.sort() | |
| 754 | - | |
| 755 | - | |
| 756 | - }, | |
| 757 | - answerMoveDown (index) { | |
| 758 | - [this.options[index],this.options[index+1]]=[this.options[index+1],this.options[index]] | |
| 759 | - this.options[index].index = index + 1 | |
| 760 | - this.options.sort() | |
| 761 | - | |
| 762 | - }, | |
| 612 | + }); | |
| 763 | 613 | }, |
| 764 | - }; | |
| 765 | -</script> | |
| 766 | - | |
| 767 | -<style scoped> | |
| 768 | - .zhuti { | |
| 769 | - padding: 0 20px 20px 20px; | |
| 770 | - min-height: calc(100vh - 50px - 20px); | |
| 771 | - background-color: #fff; | |
| 772 | - } | |
| 773 | 614 | |
| 774 | - .chengeXia { | |
| 775 | - border-bottom: 6px solid #3f9b6a; | |
| 776 | - padding-bottom: 4px; | |
| 777 | - color: #3f9b6a; | |
| 778 | - } | |
| 615 | + closeFn(val) { | |
| 616 | + if (val == 1) { | |
| 617 | + this.ggXin = false; | |
| 618 | + } else { | |
| 619 | + this.bainjiBox = false; | |
| 620 | + } | |
| 621 | + }, | |
| 779 | 622 | |
| 780 | - /deep/ .el-form-item__content { | |
| 781 | - line-height: 0; | |
| 782 | - } | |
| 623 | + // 查询按钮 | |
| 624 | + async onSubmit() { | |
| 625 | + const res = await QuestionGetAll(this.formSel); | |
| 626 | + this.tableData = res.data.content; | |
| 627 | + this.total = res.data.totalElements; | |
| 628 | + }, | |
| 629 | + // 重置按钮 | |
| 630 | + resetting() { | |
| 631 | + this.formSel = { | |
| 632 | + questionBank: "用户端题库", | |
| 633 | + pageNumber: 0, | |
| 634 | + pageSize: 10, | |
| 635 | + }; | |
| 636 | + this.currentPage = 1; | |
| 637 | + this.pageindex.pageNumber = 0; | |
| 638 | + this.getAll(); | |
| 639 | + }, | |
| 640 | + addOption() { | |
| 641 | + const newOption = { | |
| 642 | + index: this.options.length + 1, | |
| 643 | + name: "", | |
| 644 | + readonly: false, | |
| 645 | + }; | |
| 646 | + this.options.push(newOption); | |
| 647 | + }, | |
| 648 | + deleteOption(index) { | |
| 649 | + this.options.splice(index, 1); | |
| 650 | + }, | |
| 651 | + bianls(item) { | |
| 652 | + let settings = null; | |
| 653 | + let socer = null; | |
| 654 | + if (typeof item.optionSettings !== "object") { | |
| 655 | + settings = JSON.parse(item.optionSettings); | |
| 656 | + } else { | |
| 657 | + settings = item.optionSettings; | |
| 658 | + } | |
| 659 | + if (typeof item.score !== "object") { | |
| 660 | + socer = JSON.parse(item.score); | |
| 661 | + } else { | |
| 662 | + socer = item.score; | |
| 663 | + } | |
| 664 | + console.log("我是点击后的数据",item) | |
| 665 | + const keys = Object.keys(settings); | |
| 666 | + this.options = keys.map((key) => ({ | |
| 667 | + index: parseInt(key), // 将字符串键转换为整数 | |
| 668 | + name: settings[key], | |
| 669 | + num: socer[key], // 添加 socer 的值 | |
| 670 | + })); | |
| 671 | + | |
| 672 | + this.bainjiBox = true; | |
| 673 | + //判断item.maxChoose是undefined的话,默认为0 | |
| 674 | + | |
| 675 | + this.secondData = item; | |
| 676 | + this.secondData.maxChoose = item.maxChoose || 0; | |
| 677 | + }, | |
| 678 | + tikuDel(item) { | |
| 679 | + const h = this.$createElement; | |
| 680 | + this.$msgbox({ | |
| 681 | + title: "消息", | |
| 682 | + message: h("p", null, [h("span", null, "是否删除 ")]), | |
| 683 | + showCancelButton: true, | |
| 684 | + showClose: false, | |
| 685 | + confirmButtonText: "确定", | |
| 686 | + cancelButtonText: "取消", | |
| 687 | + customClass: "oe-dialog-btn", | |
| 688 | + beforeClose: (action, instance, done) => { | |
| 689 | + if (action === "confirm") { | |
| 690 | + QuestionDel({ | |
| 691 | + id: item.id, | |
| 692 | + }).then((res) => { | |
| 693 | + this.getAll(); | |
| 694 | + done(); | |
| 695 | + }); | |
| 696 | + } else { | |
| 697 | + done(); | |
| 698 | + } | |
| 699 | + }, | |
| 700 | + }); | |
| 701 | + }, | |
| 702 | + async tikuBox(val) { | |
| 703 | + this.pageindex.questionBank = val; | |
| 783 | 704 | |
| 784 | - .tableBtn { | |
| 785 | - display: inline-block; | |
| 786 | - margin-right: 10px; | |
| 787 | - color: #acacac; | |
| 788 | - cursor: pointer; | |
| 789 | - } | |
| 705 | + const res = await QuestionGetAll(this.pageindex); | |
| 706 | + this.tableData = res.data.content; | |
| 707 | + this.total = res.data.totalElements; | |
| 708 | + }, | |
| 709 | + addTimu() { | |
| 710 | + this.formInline = { | |
| 711 | + tikuTitle: "", | |
| 712 | + questionType: "", | |
| 713 | + questionBank: "用户端题库", | |
| 714 | + isRequired: "必填", | |
| 715 | + maxChoose: 0, | |
| 716 | + layoutType: 1, | |
| 717 | + questionDescription: "", | |
| 718 | + optionSettings: {}, | |
| 719 | + }; | |
| 720 | + this.options = []; | |
| 721 | + // this.$refs.reform.resetFields() | |
| 722 | + this.ggXin = true; | |
| 723 | + }, | |
| 724 | + validateScore(row) { | |
| 725 | + // 如果输入的不是数字或者是NaN,则重置为1 | |
| 726 | + if (isNaN(row.num) || row.num < 0) { | |
| 727 | + row.num = 0; | |
| 728 | + } | |
| 729 | + // 如果输入的数字大于100,则重置为100 | |
| 730 | + if (row.num > 100) { | |
| 731 | + row.num = 100; | |
| 732 | + } | |
| 733 | + }, | |
| 734 | + answerMoveUp(index) { | |
| 735 | + [this.options[index], this.options[index - 1]] = [this.options[index - 1], this.options[index]] | |
| 736 | + console.log(this.options[index]) | |
| 737 | + this.options[index].index = index - 1 | |
| 738 | + this.options.sort() | |
| 790 | 739 | |
| 791 | - .formSearch { | |
| 792 | - display: flex; | |
| 793 | - width: 100%; | |
| 794 | - font-size: 14px; | |
| 795 | - justify-content: space-between; | |
| 796 | - } | |
| 797 | 740 | |
| 798 | - .greens { | |
| 799 | - color: #3f9b6a; | |
| 800 | - } | |
| 741 | + }, | |
| 742 | + answerMoveDown(index) { | |
| 743 | + [this.options[index], this.options[index + 1]] = [this.options[index + 1], this.options[index]] | |
| 744 | + this.options[index].index = index + 1 | |
| 745 | + this.options.sort() | |
| 801 | 746 | |
| 802 | - /deep/ .el-table__row { | |
| 803 | - font-size: 14px; | |
| 804 | - color: #000000e6; | |
| 805 | - height: 42px; | |
| 806 | - } | |
| 747 | + }, | |
| 748 | + }, | |
| 749 | +}; | |
| 750 | +</script> | |
| 807 | 751 | |
| 808 | - .fenye { | |
| 809 | - margin-top: 20px; | |
| 810 | - display: flex; | |
| 811 | - justify-content: flex-end; | |
| 752 | +<style scoped> | |
| 753 | +.zhuti { | |
| 754 | + padding: 0 20px 20px 20px; | |
| 755 | + min-height: calc(100vh - 50px - 20px); | |
| 756 | + background-color: #fff; | |
| 757 | +} | |
| 758 | + | |
| 759 | +.chengeXia { | |
| 760 | + border-bottom: 6px solid #3f9b6a; | |
| 761 | + padding-bottom: 4px; | |
| 762 | + color: #3f9b6a; | |
| 763 | +} | |
| 764 | + | |
| 765 | +/deep/ .el-form-item__content { | |
| 766 | + line-height: 0; | |
| 767 | +} | |
| 768 | + | |
| 769 | +.tableBtn { | |
| 770 | + display: inline-block; | |
| 771 | + margin-right: 10px; | |
| 772 | + color: #acacac; | |
| 773 | + cursor: pointer; | |
| 774 | +} | |
| 775 | + | |
| 776 | +.formSearch { | |
| 777 | + display: flex; | |
| 778 | + width: 100%; | |
| 779 | + font-size: 14px; | |
| 780 | + justify-content: space-between; | |
| 781 | +} | |
| 782 | + | |
| 783 | +.greens { | |
| 784 | + color: #3f9b6a; | |
| 785 | +} | |
| 786 | + | |
| 787 | +/deep/ .el-table__row { | |
| 788 | + font-size: 14px; | |
| 789 | + color: #000000e6; | |
| 790 | + height: 42px; | |
| 791 | +} | |
| 792 | + | |
| 793 | +.fenye { | |
| 794 | + margin-top: 20px; | |
| 795 | + display: flex; | |
| 796 | + justify-content: flex-end; | |
| 797 | +} | |
| 798 | + | |
| 799 | +/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 800 | + background-color: #3f9b6a; | |
| 801 | +} | |
| 802 | + | |
| 803 | +.el-row { | |
| 804 | + margin-bottom: 20px; | |
| 805 | + | |
| 806 | + &:last-child { | |
| 807 | + margin-bottom: 0; | |
| 812 | 808 | } |
| 813 | - | |
| 814 | - /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 815 | - background-color: #3f9b6a; | |
| 809 | +} | |
| 810 | + | |
| 811 | +.el-col { | |
| 812 | + border-radius: 4px; | |
| 813 | +} | |
| 814 | + | |
| 815 | +.bg-purple-dark { | |
| 816 | + background: #99a9bf; | |
| 817 | +} | |
| 818 | + | |
| 819 | +.bg-purple { | |
| 820 | + background: #d3dce6; | |
| 821 | +} | |
| 822 | + | |
| 823 | +.bg-purple-light { | |
| 824 | + background: #e5e9f2; | |
| 825 | +} | |
| 826 | + | |
| 827 | +.grid-content { | |
| 828 | + border-radius: 4px; | |
| 829 | + min-height: 36px; | |
| 830 | +} | |
| 831 | + | |
| 832 | +.row-bg { | |
| 833 | + padding: 10px 0; | |
| 834 | + background-color: #f9fafc; | |
| 835 | +} | |
| 836 | + | |
| 837 | +/deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 838 | + background: #fff; | |
| 839 | + height: 50px; | |
| 840 | +} | |
| 841 | + | |
| 842 | +/deep/ .bg-purple[data-v-3bebae82] { | |
| 843 | + background: #fff; | |
| 844 | + height: 50px; | |
| 845 | +} | |
| 846 | + | |
| 847 | +::v-deep .bg-purple { | |
| 848 | + background: #fff; | |
| 849 | + height: 50px; | |
| 850 | +} | |
| 851 | + | |
| 852 | +/deep/ .el-form--label-top .el-form-item__label { | |
| 853 | + padding: 0; | |
| 854 | +} | |
| 855 | + | |
| 856 | +::v-deep .el-form-item { | |
| 857 | + margin-bottom: 16px; | |
| 858 | +} | |
| 859 | + | |
| 860 | +.device-form .el-form-item__label::after { | |
| 861 | + content: "*"; | |
| 862 | + color: #1a1a1a; | |
| 863 | + margin-left: 5px; | |
| 864 | + font-size: 16px; | |
| 865 | +} | |
| 866 | + | |
| 867 | +::v-deep .el-dialog__wrapper { | |
| 868 | + .el-dialog__header { | |
| 869 | + background-color: #fafafa; | |
| 816 | 870 | } |
| 871 | +} | |
| 872 | + | |
| 873 | +::v-deep .el-input__inner:focus { | |
| 874 | + border: #3f9b6a 1px solid; | |
| 875 | +} | |
| 876 | + | |
| 877 | +.dialog-footer { | |
| 878 | + display: flex; | |
| 879 | + justify-content: flex-end; | |
| 880 | + border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 881 | + padding-top: 20px; | |
| 882 | +} | |
| 883 | + | |
| 884 | +::v-deep .el-input__inner:focus { | |
| 885 | + border: #3f9b6a 1px solid; | |
| 886 | +} | |
| 887 | + | |
| 888 | +::v-deep .el-input__inner:hover { | |
| 889 | + border: #3f9b6a 1px solid; | |
| 890 | +} | |
| 891 | + | |
| 892 | +::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 893 | + border-color: #3f9b6a; | |
| 894 | +} | |
| 895 | + | |
| 896 | +.el-select-dropdown__item.selected { | |
| 897 | + color: #3f9b6a; | |
| 898 | +} | |
| 899 | + | |
| 900 | +.el-pagination__sizes .el-input .el-input__inner:hover { | |
| 901 | + border-color: #3f9b6a; | |
| 902 | +} | |
| 903 | + | |
| 904 | +::v-deep .el-dialog__wrapper { | |
| 905 | + .dialog_css { | |
| 906 | + margin-right: 12px; | |
| 907 | + margin-top: 61px !important; | |
| 817 | 908 | |
| 818 | - .el-row { | |
| 819 | - margin-bottom: 20px; | |
| 820 | - | |
| 821 | - &:last-child { | |
| 822 | - margin-bottom: 0; | |
| 909 | + .el-dialog__title { | |
| 910 | + font-size: 16px !important; | |
| 911 | + font-weight: 600; | |
| 912 | + color: #000; | |
| 823 | 913 | } |
| 824 | 914 | } |
| 825 | 915 | |
| 826 | - .el-col { | |
| 827 | - border-radius: 4px; | |
| 828 | - } | |
| 829 | - | |
| 830 | - .bg-purple-dark { | |
| 831 | - background: #99a9bf; | |
| 832 | - } | |
| 833 | - | |
| 834 | - .bg-purple { | |
| 835 | - background: #d3dce6; | |
| 836 | - } | |
| 837 | - | |
| 838 | - .bg-purple-light { | |
| 839 | - background: #e5e9f2; | |
| 840 | - } | |
| 841 | - | |
| 842 | - .grid-content { | |
| 843 | - border-radius: 4px; | |
| 844 | - min-height: 36px; | |
| 845 | - } | |
| 846 | - | |
| 847 | - .row-bg { | |
| 848 | - padding: 10px 0; | |
| 849 | - background-color: #f9fafc; | |
| 850 | - } | |
| 851 | - | |
| 852 | - /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 853 | - background: #fff; | |
| 854 | - height: 50px; | |
| 855 | - } | |
| 856 | - | |
| 857 | - /deep/ .bg-purple[data-v-3bebae82] { | |
| 858 | - background: #fff; | |
| 859 | - height: 50px; | |
| 860 | - } | |
| 861 | - | |
| 862 | - ::v-deep .bg-purple { | |
| 863 | - background: #fff; | |
| 864 | - height: 50px; | |
| 865 | - } | |
| 866 | - | |
| 867 | - /deep/ .el-form--label-top .el-form-item__label { | |
| 868 | - padding: 0; | |
| 916 | + .diaslog_zhong { | |
| 917 | + margin-left: 25%; | |
| 918 | + margin-top: 61px !important; | |
| 869 | 919 | } |
| 920 | +} | |
| 870 | 921 | |
| 871 | - ::v-deep .el-form-item { | |
| 872 | - margin-bottom: 16px; | |
| 873 | - } | |
| 922 | +::v-deep .diaslog_zhong { | |
| 923 | + margin-left: 20%; | |
| 924 | + margin-top: 61px !important; | |
| 874 | 925 | |
| 875 | - .device-form .el-form-item__label::after { | |
| 876 | - content: "*"; | |
| 877 | - color: #1a1a1a; | |
| 878 | - margin-left: 5px; | |
| 879 | - font-size: 16px; | |
| 880 | - } | |
| 926 | + .el-dialog__header { | |
| 927 | + background-color: #fff; | |
| 928 | + border-bottom: 1px solid #efefef; | |
| 881 | 929 | |
| 882 | - ::v-deep .el-dialog__wrapper { | |
| 883 | - .el-dialog__header { | |
| 884 | - background-color: #fafafa; | |
| 930 | + .el-dialog__title { | |
| 931 | + font-size: 14px; | |
| 932 | + color: #000000e6; | |
| 885 | 933 | } |
| 886 | 934 | } |
| 887 | 935 | |
| 888 | - ::v-deep .el-input__inner:focus { | |
| 889 | - border: #3f9b6a 1px solid; | |
| 936 | + .el-dialog__body { | |
| 937 | + padding: 10px 30px 30px 20px; | |
| 890 | 938 | } |
| 939 | +} | |
| 891 | 940 | |
| 892 | - .dialog-footer { | |
| 893 | - display: flex; | |
| 894 | - justify-content: flex-end; | |
| 895 | - border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 896 | - padding-top: 20px; | |
| 897 | - } | |
| 898 | - | |
| 899 | - ::v-deep .el-input__inner:focus { | |
| 900 | - border: #3f9b6a 1px solid; | |
| 901 | - } | |
| 941 | +/deep/ .el-table_1_column_8 .hetong { | |
| 942 | + color: #7dbb9a; | |
| 943 | + text-decoration: underline; | |
| 944 | +} | |
| 902 | 945 | |
| 903 | - ::v-deep .el-input__inner:hover { | |
| 904 | - border: #3f9b6a 1px solid; | |
| 905 | - } | |
| 946 | +/deep/ .first-column-bg { | |
| 947 | + background-color: #fafafa !important; | |
| 948 | +} | |
| 906 | 949 | |
| 907 | - ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 908 | - border-color: #3f9b6a; | |
| 909 | - } | |
| 910 | - | |
| 911 | - .el-select-dropdown__item.selected { | |
| 912 | - color: #3f9b6a; | |
| 913 | - } | |
| 950 | +::v-deep .textarea { | |
| 951 | + width: 85%; | |
| 914 | 952 | |
| 915 | - .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 916 | - border-color: #3f9b6a; | |
| 953 | + .el-textarea__inner { | |
| 954 | + width: 100%; | |
| 917 | 955 | } |
| 956 | +} | |
| 918 | 957 | |
| 919 | - ::v-deep .el-dialog__wrapper { | |
| 920 | - .dialog_css { | |
| 921 | - margin-right: 12px; | |
| 922 | - margin-top: 61px !important; | |
| 923 | - | |
| 924 | - .el-dialog__title { | |
| 925 | - font-size: 16px !important; | |
| 926 | - font-weight: 600; | |
| 927 | - color: #000; | |
| 928 | - } | |
| 929 | - } | |
| 958 | +::v-deep .pass_input { | |
| 959 | + width: 100%; | |
| 930 | 960 | |
| 931 | - .diaslog_zhong { | |
| 932 | - margin-left: 25%; | |
| 933 | - margin-top: 61px !important; | |
| 934 | - } | |
| 961 | + .el-input__inner { | |
| 962 | + border: none; | |
| 963 | + padding: 0; | |
| 935 | 964 | } |
| 965 | +} | |
| 936 | 966 | |
| 937 | - ::v-deep .diaslog_zhong { | |
| 938 | - margin-left: 20%; | |
| 939 | - margin-top: 61px !important; | |
| 940 | - | |
| 941 | - .el-dialog__header { | |
| 942 | - background-color: #fff; | |
| 943 | - border-bottom: 1px solid #efefef; | |
| 967 | +::v-deep .pass_select { | |
| 968 | + width: 100%; | |
| 944 | 969 | |
| 945 | - .el-dialog__title { | |
| 946 | - font-size: 14px; | |
| 947 | - color: #000000e6; | |
| 948 | - } | |
| 949 | - } | |
| 950 | - | |
| 951 | - .el-dialog__body { | |
| 952 | - padding: 10px 30px 30px 20px; | |
| 953 | - } | |
| 954 | - } | |
| 955 | - | |
| 956 | - /deep/ .el-table_1_column_8 .hetong { | |
| 957 | - color: #7dbb9a; | |
| 958 | - text-decoration: underline; | |
| 959 | - } | |
| 960 | - | |
| 961 | - /deep/ .first-column-bg { | |
| 962 | - background-color: #fafafa !important; | |
| 970 | + .el-input__inner { | |
| 971 | + border: none; | |
| 972 | + padding: 0; | |
| 963 | 973 | } |
| 964 | 974 | |
| 965 | - ::v-deep .textarea { | |
| 966 | - width: 85%; | |
| 967 | - | |
| 968 | - .el-textarea__inner { | |
| 969 | - width: 100%; | |
| 970 | - } | |
| 975 | + .el-icon-arrow-up:before { | |
| 976 | + content: ""; | |
| 971 | 977 | } |
| 972 | - | |
| 973 | - ::v-deep .pass_input { | |
| 974 | - width: 100%; | |
| 975 | - | |
| 976 | - .el-input__inner { | |
| 977 | - border: none; | |
| 978 | - padding: 0; | |
| 979 | - } | |
| 978 | +} | |
| 979 | + | |
| 980 | +/deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 981 | + background-color: #fff; | |
| 982 | +} | |
| 983 | +/deep/ .el-input-number__decrease,/deep/.el-input-number__increase{ | |
| 984 | + height: 30px !important; | |
| 985 | + line-height: 32px !important; | |
| 986 | + margin-top: 3px; | |
| 987 | +} | |
| 988 | +</style> | |
| 989 | +<style lang="scss" scoped> | |
| 990 | +::v-deep .bian_css { | |
| 991 | + .el-dialog__header { | |
| 992 | + padding: 0px; | |
| 980 | 993 | } |
| 981 | 994 | |
| 982 | - ::v-deep .pass_select { | |
| 983 | - width: 100%; | |
| 984 | - | |
| 985 | - .el-input__inner { | |
| 986 | - border: none; | |
| 987 | - padding: 0; | |
| 988 | - } | |
| 989 | - | |
| 990 | - .el-icon-arrow-up:before { | |
| 991 | - content: ""; | |
| 992 | - } | |
| 995 | + .el-input__inner { | |
| 996 | + height: 18px; | |
| 997 | + border: 0px; | |
| 998 | + margin-top: 0px; | |
| 993 | 999 | } |
| 994 | 1000 | |
| 995 | - /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 996 | - background-color: #fff; | |
| 1001 | + .el-input__inner:hover { | |
| 1002 | + border: 0px; | |
| 997 | 1003 | } |
| 998 | -</style> | |
| 999 | -<style lang="scss" scoped> | |
| 1000 | - ::v-deep .bian_css { | |
| 1001 | - .el-dialog__header { | |
| 1002 | - padding: 0px; | |
| 1003 | - } | |
| 1004 | - | |
| 1005 | - .el-input__inner { | |
| 1006 | - height: 18px; | |
| 1007 | - border: 0px; | |
| 1008 | - margin-top: 0px; | |
| 1009 | - } | |
| 1010 | - | |
| 1011 | - .el-input__inner:hover { | |
| 1012 | - border: 0px; | |
| 1013 | - } | |
| 1014 | 1004 | |
| 1015 | - .el-input__inner:focus { | |
| 1016 | - border: 0px; | |
| 1017 | - } | |
| 1005 | + .el-input__inner:focus { | |
| 1006 | + border: 0px; | |
| 1018 | 1007 | } |
| 1019 | - | |
| 1020 | - ::v-deep .buttonHover:hover { | |
| 1021 | - color: #3f9b6a !important; | |
| 1022 | - border-color: #c5e1d2 !important; | |
| 1023 | - background-color: #ecf5f0 !important; | |
| 1024 | - outline: none; | |
| 1008 | +} | |
| 1009 | + | |
| 1010 | +::v-deep .buttonHover:hover { | |
| 1011 | + color: #3f9b6a !important; | |
| 1012 | + border-color: #c5e1d2 !important; | |
| 1013 | + background-color: #ecf5f0 !important; | |
| 1014 | + outline: none; | |
| 1015 | +} | |
| 1016 | + | |
| 1017 | +::v-deep .el-pagination__total { | |
| 1018 | + position: absolute; | |
| 1019 | + left: 33px; | |
| 1020 | +} | |
| 1021 | + | |
| 1022 | +::v-deep .diaslog_zhong { | |
| 1023 | + .el-dialog__body { | |
| 1024 | + padding: 10px 20px 20px 20px; | |
| 1025 | 1025 | } |
| 1026 | 1026 | |
| 1027 | - ::v-deep .el-pagination__total { | |
| 1028 | - position: absolute; | |
| 1029 | - left: 33px; | |
| 1027 | + .el-upload--picture-card { | |
| 1028 | + width: 130px; | |
| 1029 | + height: 130px; | |
| 1030 | 1030 | } |
| 1031 | +} | |
| 1031 | 1032 | |
| 1032 | - ::v-deep .diaslog_zhong { | |
| 1033 | - .el-dialog__body { | |
| 1034 | - padding: 10px 20px 20px 20px; | |
| 1035 | - } | |
| 1036 | - | |
| 1037 | - .el-upload--picture-card { | |
| 1038 | - width: 130px; | |
| 1039 | - height: 130px; | |
| 1040 | - } | |
| 1041 | - } | |
| 1042 | 1033 | </style> |
| 1043 | 1034 | \ No newline at end of file | ... | ... |
wenjuan/.DS_Store
0 → 100644
No preview for this file type