[测评系统]--前端(用户答题页面)
src/views/exam/paper/values.vue
@@ -5,7 +5,7 @@
            <h1>{{$t('values_step_0_title')}}</h1>
         </el-header>
         <el-main class="">
            <div v-html="$t('values_step_0_content')"></div>
            <div class="text-line" v-html="$t('values_step_0_content')"></div>
            <el-row class="do-align-center">
              <el-button @click="step0_next" type="primary" round>{{$t('startDo')}}</el-button>
            </el-row>
@@ -17,11 +17,12 @@
         </el-header>
         <el-main class="">
            <div>
               <div v-html="$t('values_title_description')"></div>
               <div>{{$t('values_title_description_1')}}<img class="tools-button" src="@/assets/exam-paper/good.png" style="width: 15px;position: absolute;margin-top: 2px"/><span style="margin-left: 20px;">{{$t('values_title_description_1_2')}}</span></div>
               <div>{{$t('values_title_description_2')}}<img class="tools-button" src="@/assets/exam-paper/nogood.png" style="width: 15px;position: absolute;margin-top: 2px"/><span style="margin-left: 20px;">{{$t('values_title_description_2_2')}}</span></div>
               <div>{{$t('values_title_description_3')}}<img class="tools-button" src="@/assets/exam-paper/question.png" style="width: 15px;position: absolute;margin-top: 2px"/><span style="margin-left: 20px;">{{$t('values_title_description_3_2')}}</span></div>
               <div>{{$t('values_title_description_4')}}<img class="tools-button" src="@/assets/exam-paper/scale.png" style="width: 15px;height: 15px;position: absolute;margin-top: 2px"/><span style="margin-left: 20px;">{{$t('values_title_description_4_2')}}</span></div>
               <div class="text-line" v-html="$t('values_title_description')"></div>
               <div class="text-line">{{$t('values_title_description_1')}}<img class="tools-button" src="@/assets/exam-paper/good.png" style="width: 15px;position: absolute;margin-top: 6px"/><span style="margin-left: 20px;">{{$t('values_title_description_1_2')}}</span></div>
               <div class="text-line">{{$t('values_title_description_2')}}<img class="tools-button" src="@/assets/exam-paper/nogood.png" style="width: 15px;position: absolute;margin-top: 6px"/><span style="margin-left: 20px;">{{$t('values_title_description_2_2')}}</span></div>
               <div class="text-line">{{$t('values_title_description_3')}}<img class="tools-button" src="@/assets/exam-paper/question.png" style="width: 15px;position: absolute;margin-top: 6px"/><span style="margin-left: 20px;">{{$t('values_title_description_3_2')}}</span></div>
               <div class="text-line">{{$t('values_title_description_4')}}<img class="tools-button" src="@/assets/exam-paper/scale.png" style="width: 15px;height: 15px;position: absolute;margin-top: 6px"/><span style="margin-left: 20px;">{{$t('values_title_description_4_2')}}</span></div>
               <div class="text-line">{{$t('values_title_description_5')}}</div>
            </div>
            <div style="display: flex;justify-content: flex-start;padding: 10px 0;">
@@ -30,6 +31,9 @@
                  v-if="(step1Start && itemSize>0)">
                  {{$t('next')}}
               </el-button>
            </div>
            <div class="selectCount">
               {{ questionItems.filter(obj=>obj.content===null).length + $t('values_title_description_6') }}
            </div>
            <div class="mullinediv" v-if="step1Start">
               <div v-for="(question,index1) in questionItems" class="mullinediv-item"
@@ -64,9 +68,12 @@
         </el-main>
      </el-container>
      <el-container class="app-item-contain step2" v-if="step === 'step2'">
         <el-header class="">
            <h1>{{$t('values_step_2_title')}}</h1>
         </el-header>
         <el-main class="">
            <div>
               <div class="tag-group" style="display: flex;">
               <!-- <div class="tag-group" style="display: flex;">
                  <span class="tag-group__title"
                     style="padding-right: 10px;font-size: 26px;margin: auto 0px;">{{$t('values_cur_step')}}({{step2SubStep}} /
                     {{step2ScoreRanges.length}})</span>
@@ -84,18 +91,24 @@
                        </el-tag>
                        </div>
                     </div>
               </div>
               </div> -->
               <div style="display: flex;justify-content: space-between;">
                  <div style="line-height: 50px;text-indent: 2em;">
                  <div class="text-line" style="text-indent: 2em;">
                     <div v-if="step2SubStep == 1">
                        {{ $t('values_step_tips_for_1') }}
                     </div>
                     <div
                        v-if="(step2SubStep == step2ScoreRanges.length) && (step2ScoreRanges.length % 2 == 1)">
                        {{$t('values_step_tips_for_3').replace('%N',getStep2StepItem(step2SubStep).quantity).replace('%C',getStep2StepItem(step2SubStep).stepName.toUpperCase())}}
                        {{$t('values_step_tips_for_0').replace('%N',getStep2StepItem(step2SubStep).quantity).replace('%C',getStep2StepItem(step2SubStep).stepName.toUpperCase())}}
                     </div>
                     <div v-else>
                        {{$t('values_step_tips_for_1').replace('%N',getStep2StepItem(step2SubStep).quantity).replace('%C',getStep2StepItem(step2SubStep).stepName.toUpperCase())}}
                        {{$t('values_step_tips_for_2').replace('%N',getStep2StepItem(step2SubStep).quantity).replace('%C',getStep2StepItem(step2SubStep).stepName.toLowerCase())}}
                     </div>
                     <div class="text-line">{{$t('values_step_tips_for_3')}}<img class="tools-button" src="@/assets/exam-paper/yes.png" style="width: 15px;position: absolute;margin-top: 6px;margin-left: 5px;"/><span style="margin-left: 22px;">{{$t('values_step_tips_for_3_1')}}</span></div>
                     <div class="text-line">{{$t('values_step_tips_for_4')}}<img class="tools-button" src="@/assets/exam-paper/no.png" style="width: 15px;position: absolute;margin-top: 6px;margin-left: 5px;"/><span style="margin-left: 22px;">{{$t('values_step_tips_for_4_1')}}</span></div>
                     <div class="text-line">{{$t('values_step_tips_for_5')}}<img class="tools-button" src="@/assets/exam-paper/scale.png" style="width: 15px;position: absolute;margin-top: 6px;margin-left: 5px;"/><span style="margin-left: 22px;">{{$t('values_step_tips_for_5_1')}}</span></div>
                     <div style="color: red;">
                        {{$t('values_step_tips')}}
                        {{$t('values_step_tips').replace('%N',getStep2StepItem(step2SubStep).quantity)}}
                     </div>
                  </div>
                  <div style="margin-top: auto;">
@@ -124,7 +137,151 @@
                     </div>
                  </div>
               </div>
               <el-divider content-position="left">{{$t('values_select_tips')}}</el-divider>
               <!-- 选择相似的图片 -->
               <div v-if="step2SubStep % 2 >= 1">
                  <!-- 与我相似 -->
                  <el-divider content-position="left">{{$t('values_select_tips_like')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>Number(obj.content)===0).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>Number(obj.content)===0)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===0 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
                  <!-- 不确定 -->
                  <el-divider content-position="left">{{$t('values_select_tips_neutral')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>Number(obj.content)===1).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>Number(obj.content)===1)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===1 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
                  <!-- 与我不相似 -->
                  <el-divider content-position="left">{{$t('values_select_tips_unlike')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>obj.content===2).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>obj.content===2)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <!-- <div class="mullinediv" style="" v-if="sumStep2UnSelectedNum()<=0">
                        {{$t('values_no_select')}}
                     </div> -->
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===2 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
               </div>
               <!-- 选择不相似的图片 -->
               <div v-if="step2SubStep % 2 == 0">
                  <!-- 与我不相似 -->
                  <el-divider content-position="left">{{$t('values_select_tips_unlike')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>Number(obj.content)===2).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>Number(obj.content)===2)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===2 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
                  <!-- 不确定 -->
                  <el-divider content-position="left">{{$t('values_select_tips_neutral')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>Number(obj.content)===1).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>Number(obj.content)===1)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===1 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
                  <!-- 与我相似 -->
                  <el-divider content-position="left">{{$t('values_select_tips_like')}}</el-divider>
                  <div style="height: auto;overflow: auto;">
                     <div class="mullinediv" style="" v-if="questionItems && questionItems.filter(obj=>Number(obj.content)===0).length>0">
                        <div v-for="(question,index3) in questionItems.filter(obj=>Number(obj.content)===0)" class="mullinediv-item"
                           v-if="isNull(question.subjectId)">
                           <el-image :ref="'q2Img'+question.id" :src="question.imgUrl" lazy
                              :preview-src-list="[question.imgUrl]"></el-image>
                           <div style="display: flex; justify-content: space-between;">
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/yes.png')"
                                 @click="step2Add(question.id,getStep2StepItem(step2SubStep).itemOrder)">
                              </el-image>
                              <el-image class="tools-button" :src="require('@/assets/exam-paper/scale.png')"
                                 @click="previewImg('q2Img'+question.id)"></el-image>
                           </div>
                        </div>
                     </div>
                     <div class="noSelect" style="" v-if="questionItems.filter(obj=>Number(obj.content)===0 && obj.subjectId===null).length==0">
                        {{$t('values_no_select')}}
                     </div>
                  </div>
               </div>
               <!-- <el-divider content-position="left">{{$t('values_select_tips')}}</el-divider>
               <div style="height: auto;overflow: auto;">
                  <div class="mullinediv" style="" v-if="questionItems && questionItems.length>0">
                     <div v-for="(question,index3) in questionItems" class="mullinediv-item"
@@ -143,16 +300,26 @@
                  <div class="mullinediv" style="" v-if="sumStep2UnSelectedNum()<=0">
                     {{$t('values_no_select')}}
                  </div>
               </div>
               </div> -->
            </div>
         </el-main>
      </el-container>
      <el-container class="app-item-contain step3" v-if="step === 'step3'">
         <el-main class="">
            <div style="position: fixed;z-index: 999; width:90%; top: 56px;">
            <div style="position: fixed;z-index: 999; width:90%; top: 50px;">
               <div style="display: flex;justify-content: flex-end;padding: 10px;background-color: #f5f7fa;">
                  <div style="padding-right: 20px;width:50%;" v-html="$t('values_pic_tmpArea_desc')"></div>
                  <div style="padding: 0 10px;width:80px;">{{$t('values_pic_tmpArea')}}</div>
                  <div class="text-line" style="padding-right: 20px;width:50%;">
                     <div v-html="$t('values_pic_tmpArea_desc')">
                     </div>
                     <el-button type="primary" round style="height: fit-content;margin-top:5px"
                        @click="step3_commit" :disabled="submitDisable">
                        {{$t('commit')}}
                     </el-button>
                  </div>
                  <div style="padding: 0 10px;width:80px;">
                     {{$t('values_pic_tmpArea')}}
                  </div>
                  <draggable animation="300" class="pic-tmparea-div"
                     style="border: 1px solid gray;padding: 10px;width: 45%;"
                     :list="step3EWEIArea[0]" :options="{group:{name:'EWEIArea',pull:'clone'}}"
@@ -163,14 +330,14 @@
                        <el-image :src="q.imgUrl" :preview-src-list="[q.imgUrl]" fit="fill"></el-image>
                     </div>
                  </draggable>
                  <el-button type="primary" round style="height: fit-content;margin: 0 10px;"
                  <!-- <el-button type="primary" round style="height: fit-content;margin: 0 10px;"
                     @click="step3_commit" :disabled="submitDisable">
                     {{$t('commit')}}
                  </el-button>
                  </el-button> -->
               </div>
            </div>
            <div style="display:flex;margin-top: 200px;">
               <div style="display: inline-block;min-width: 150px;text-align: right;padding-right: 5px;">
               <div style="display: inline-block;min-width: 160px;text-align: right;padding-right: 5px;">
                  <div class="mul-inlinediv-row mul-inlinediv-lineheight"
                     v-for="(item,index) in step2ScoreRanges">
                     <span v-if="item.stepName=='不确定是否相似'">
@@ -244,6 +411,7 @@
   import examPaperAnswerApi from '@/api/examPaperAnswer'
   import demographyApi from '@/api/demography'
   import draggable from 'vuedraggable'
   import seedrandom from 'seedrandom'
   export default {
      name: 'values',
@@ -334,6 +502,10 @@
            _this.titleItems.push(_this.form.titleItems[0])
            _this.questionItem = _this.form.titleItems[0].questionItems[0]
            _this.questionItems = _this.form.titleItems[0].questionItems
            // 使用token生成随机数排序数组
            _this.tokenSort(_this.questionItems)
            _this.partOrder = _this.questionItem.partOrder
            _this.itemOrder = _this.form.titleItems[0].questionItems[0].itemOrder
            _this.itemSize = _this.form.titleItems[0].questionItems.length
@@ -364,6 +536,10 @@
                     _this.itemSize = _this.form.titleItems[0].questionItems.length
                     _this.questionItem = _this.form.titleItems[0].questionItems[_this.order]
                     _this.questionItems = _this.form.titleItems[0].questionItems
                     // 使用token生成随机数排序数组
                     _this.tokenSort(_this.questionItems)
                     _this.partOrder = _this.questionItem.partOrder
                     _this.initAnswer()
                     _this.formLoading = false
@@ -443,15 +619,26 @@
         window.clearInterval(this.timer)
      },
      methods: {
         // 根据token生成随机数并根据随机数排序questionItems
         tokenSort(array) {
            // 使用token创建随机数生成器
            let rng = seedrandom(this.memberToken)
            if (array) {
               array.sort((a,b)=>{
                  return rng() - 0.5
               })
            }
            console.log("list:", this.questionItems)
         },
         step0_next(){
            this.step = "step1"
         },
         step1_start() {
            this.step = "step1"
            this.step1Start = true
            this.questionItems.sort(function(i2, i1) {
               return (i2.id - i1.id)
            })
            // this.questionItems.sort(function(i2, i1) {
            //    return (i2.id - i1.id)
            // })
            //test
            //this.initTestData()
            //回显,没有可选的时候,进入下一步
@@ -480,7 +667,7 @@
        });
            */
            this.step = "step2-0"
            this.step2_0_next()
         },
         step2_0_next(){
            let _this = this
@@ -496,6 +683,7 @@
         step2_next() {
            let _this = this
            let stepItem = this.getStep2StepItem(this.step2SubStep)
            console.log("questionItems.filter(obj=>Number(obj.content)===0)", this.questionItems.filter(obj=>Number(obj.content)===0))
            if (stepItem.selected == stepItem.quantity || this.sumStep2UnSelectedNum() == 0) {
               _this.answer.verifyStatus = 2
               _this.submitSubAnswer()
@@ -526,6 +714,11 @@
            this.caculateScoreRangeSelectedById(sid, -1)
         },
         step2Add(qid, sid) {
            let stepItem = this.getStep2StepItem(this.step2SubStep)
            if (stepItem.selected == stepItem.quantity || this.sumStep2UnSelectedNum() == 0) {
               this.$message.error(this.$t('values_nextStepTips_del_unnecessary'))
               return;
            }
            //console.log("step2Add....",value,qid,sid)
            this.resetQuestionItemsSubjectIdById(qid, sid) //借用subjectId,存储
            this.caculateScoreRangeSelectedById(sid, 1)
@@ -762,8 +955,19 @@
         resetQuestionItemsSubjectIdById(id, value) {
            for (let item of this.questionItems) {
               if (item.id == id) {
                  item["subjectId"] = value
                  item['content'] = this.getLikeTypeByScoreRangeItemOrder(value)
                  // 如果为null,就是从选择中取消
                  if (value == null) {
                     item["subjectId"] = value
                     item['content'] = item['tempContent']
                  } else {
                     if (item['content'] != null && item['content'] != undefined) {
                        item['tempContent'] = item['content']
                     }
                     item["subjectId"] = value
                     item['content'] = this.getLikeTypeByScoreRangeItemOrder(value)
                  }
                  console.log("更改content:", item)
               }
            }
            //console.log('resetQuestionItems...', id, value, this.questionItems)
@@ -774,6 +978,9 @@
               if (this.isNull(item[key])) {
                  item[key] = value
                  if ("subjectId" == key) {
                     if (item['content'] != null && item['content'] != undefined) {
                        item['tempContent'] = item['content']
                     }
                     item['content'] = this.getLikeTypeByScoreRangeItemOrder(value)
                  }
               }
@@ -1289,6 +1496,10 @@
      margin-top: 45px;
   }
   .text-line {
      line-height: 1.5em;
   }
   .footer {
      position: absolute;
      position: fixed;
@@ -1375,6 +1586,13 @@
   .mullinediv {
      display: contents;
      width:100%;
   }
   .noSelect {
      width: 100%;
      text-align: center;
      color: #9f9f9f;
      font-size: 14px;
   }
   .mullinediv-item {
@@ -1447,4 +1665,17 @@
         background-repeat: no-repeat;
   background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAA4CAYAAAAM7IPNAAAACXBIWXMAABnWAAAZ1gEY0crtAAAGrWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTAzLTIxVDIxOjQxOjE3KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0wMy0yMVQyMzowMzoyNyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMy0wMy0yMVQyMzowMzoyNyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMzgzOTg1Zi03OGUwLTU2NGQtYmVlZi1mNmI5YjNkMDRmOWMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZTY2NWMzZTQtYjM4Yi05MjQ0LThiNTUtYTczMTQ4NGQzN2UwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZTY2NWMzZTQtYjM4Yi05MjQ0LThiNTUtYTczMTQ4NGQzN2UwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplNjY1YzNlNC1iMzhiLTkyNDQtOGI1NS1hNzMxNDg0ZDM3ZTAiIHN0RXZ0OndoZW49IjIwMjMtMDMtMjFUMjE6NDE6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDQyZDFjNWEtOTZmZS1lMzQ1LTlkN2EtM2NhY2I4YjAyODA3IiBzdEV2dDp3aGVuPSIyMDIzLTAzLTIxVDIyOjQyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjEzODM5ODVmLTc4ZTAtNTY0ZC1iZWVmLWY2YjliM2QwNGY5YyIgc3RFdnQ6d2hlbj0iMjAyMy0wMy0yMVQyMzowMzoyNyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn/gmj0AAAR7SURBVFiF7ZffSyNXFMfPmNikE7OpP5BUEidmmMmMEyc6Mkj8kUSxIT745ItPBQsFoQ99Kbj9A4pKn31SVrq4rKAvSgpFqBCMoaQ0mmgslm7UWA3+qCVZTVC33j64W3RN4kSnUpb9wn2Ye+bezz33Hu49BxBCcFsbHx//3OPxIAC40ViWRQMDAxNS5imCB5QkGEJIgRB6GFg+YRgGGIY9DKwQSd3Gh4PJBZQcILlsr8/sb9lgckmWbXw3o1GqV5JhEoCvZIXJIVlCX1bYa2BOm6zRKNt1FY1GyycnJ3uj0Wj5XSe57Qbxer2fLC8vf6xMJpOV0Wj0eSQSearX638jSTJoMplCHMf9KRGUtX9hYcG2sbHRuLm5KaTT6Y9cLteosri4+Oz09HRyYmLiU4VCAXV1deByuYaOjo4m29rawgAAp6en2ouLi6yTIoTg/Pwcf/O9tLRkWFtb6/D5fJ8Fg0Hn1tYWuN1uaGtr+04piuKLg4ODUa/X2xuLxSAQCMDq6urj6enpxxaLJWS325+vr6+3ptPprLCzszPY2dlhx8bGvohEIp6VlRX39vb2B6lUCk5OTkCr1YLD4fiapmm/EgCAJMmfWZZ9cXR0RO7t7UEymYT9/X1IJBJCPB4XUqkU7O/vZ4UdHh5CKBQSdnd3hXg8DolEAo6PjwEAQKPRgMlkAqvVOkdRVObfzGd4eHiwqakpawZ110YQBOrv7/8xFosprmVXDodjnKbpUNbl31FGoxE6OztHampqLqP1al43ODj4rcFgQEql8t5e6XQ61NfXF8iZN9I07ed5HlQq1b29MplMwLKs72rfNZjFYvE7nc4hHMfhvhJF0V9fX//9tc63U+S5ublWq9WKVCrVnbZPoVAgHMfRyMjIV7em3wRB/GKz2cJlZWV38kir1QLHcUBR1E9v227AaJrOtLe3jxoMhjvBKisrwe12PzEYDKs3jNmqjfX19Q97enp+LzQqMQxDTqfzVSAQYCVXMTRNZxiG8VVXVxfklV6vB4vF4rfb7b9ms+d8z3ie/4Hn+YJgNE2DzWbz5rLnhDU2Ns7Y7fahQmCiKE61tLQ8KxhGkuQZTdOLDMNASUlJXoharQaCIIBl2XmbzZYoGAYAQBDEcmtrq7+8PP8jrtVqQRAEIEkymO+/vLCGhoY/uru7v9Hr9XlhFRUV0NXV9aXRaAzn/VFK4d3b27ui0+myhrtGo0Fut/uvcDhcKUsBX1tb6yMIIqutqqoKOI6b53k+++t6RZJgoihO1dfXZz0PjuOgubk5ZwQWDPN4PD6r1TqP4zgUFV0OwTAM1Go11NbWPhUEYUY2GAAARVGLLMuCRqMBAIDi4mKgKAosFovPbDbLW3mazeZgV1fXk4qKCgAAwHEcOjo6Zmia9kudQ1I0vmk+n88miiIqKipCVVVVaHZ21lPIeKXkVQGAw+EIMwwTymQygl6vf0lR1GIh4wuCAVzemY8ePRJKS0unGIZ5+Z/CmpubnzEM41Or1QWBAAAwucohKfr/lbnvYe9h7x7sHwGftes0162GAAAAAElFTkSuQmCC);
      }
   .selectCount {
      width: 100%;
      height: 40px;
      line-height: 40px;
      background: #3c8dbc;
      border-radius: 5px;
      text-align: center;
      font-size: 18px;
      color: #fff;
      font-weight: bold;
      margin-bottom: 20px;
   }
</style>