From d1eecb4abff242f3f3a642e56de99dd2793adc8a Mon Sep 17 00:00:00 2001
From: 84702473 <84702473@qq.com>
Date: 星期六, 04 三月 2023 23:40:12 +0800
Subject: [PATCH] 价值观测试产品

---
 src/lang/zh.js                  |   22 
 src/lang/en.js                  |   21 
 src/views/exam/paper/values.vue | 1555 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 package.json                    |    2 
 src/router.js                   |   14 
 5 files changed, 1,610 insertions(+), 4 deletions(-)

diff --git a/package.json b/package.json
index 18e8d34..3955f9c 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
   "dependencies": {
     "axios": "^0.19.0",
     "core-js": "^2.6.9",
-    "element-ui": "^2.10.1",
+    "element-ui": "^2.14.1",
     "es6-promise": "^4.2.8",
     "js-cookie": "2.2.0",
     "normalize.css": "8.0.1",
diff --git a/src/lang/en.js b/src/lang/en.js
index 1b3817e..7f88b40 100644
--- a/src/lang/en.js
+++ b/src/lang/en.js
@@ -53,5 +53,24 @@
   finishPersonalityInfo: 'You have completed the personality quetionnaire, and the data has been successfully uploaded to the server and saved. ',
   finishPersonalityDownInfo: 'You may click the red button below to download your test report.',
   langWelcomeThai: '喔⑧复喔權笖喔掂笗喔笝喔`副喔氞釜喔灌箞喙�喔о箛喔氞箘喔嬥涪喙屶釜喔赤斧喔`副喔氞笚喔赤箒喔氞笟喔椸笖喔腑喔氞競喔竾',
-  langOptionThai: '喔佮福喔膏笓喔侧箑喔ム阜喔竵喔犩覆喔┼覆 喙佮弗喔班竸喔ム复喔� 鈥溹笖喔赤箑喔權复喔權竵喔侧福喔曕箞喔�.'
+  langOptionThai: '喔佮福喔膏笓喔侧箑喔ム阜喔竵喔犩覆喔┼覆 喙佮弗喔班竸喔ム复喔� 鈥溹笖喔赤箑喔權复喔權竵喔侧福喔曕箞喔�.',
+	values_finishValuesInfo:'The test is over! All your option data have been uploaded to the server and saved. You can close the browser and exit the answer interface.',
+	values_nextStepTips_del_unnecessary:'Please delete redundant selections',
+	values_nextStepTips_add_enough:'Please add enough choices',
+	values_title:'Pre-Sort Your Responses',
+	values_title_description:'For each statement,click the pictures that aligns most with your view.',
+	next:'Next Step',
+	pre:'Pre Step',
+	commit:'Commit',
+	values_cur_step:'Current step',
+	values_step_tips1:'Select the most ',
+	values_step_tips2:'like me for ',
+	values_step_tips3:' pictures',
+	values_step_tips4:'did not ',
+	values_select_tips:'Select from the following figure',
+	values_select:'Select',
+	values_select_exchange:'exchange',
+	values_mostLikeMe:'Most like me ',
+	values_mostUnLikeMe:'Most unlike me',
+	values_no_select:'No picture optional'
 }
diff --git a/src/lang/zh.js b/src/lang/zh.js
index 628b60f..d80093e 100644
--- a/src/lang/zh.js
+++ b/src/lang/zh.js
@@ -53,5 +53,25 @@
   finishPersonalityInfo: '鎮ㄥ凡缁忓畬鎴愪簡浜烘牸娴嬭瘯闂嵎锛屾暟鎹凡缁忔垚鍔熺殑涓婁紶鑷虫湇鍔″櫒锛屽苟宸茬粡淇濆瓨濂姐��',
   finishPersonalityDownInfo: '鎮ㄥ彲浠ョ偣鍑讳笅闈㈢孩鑹叉寜閽笅杞芥偍鐨勭粨鏋滄姤鍛娿��',
   langWelcomeThai: '喔⑧复喔權笖喔掂笗喔笝喔`副喔氞釜喔灌箞喙�喔о箛喔氞箘喔嬥涪喙屶釜喔赤斧喔`副喔氞笚喔赤箒喔氞笟喔椸笖喔腑喔氞競喔竾',
-  langOptionThai: '喔佮福喔膏笓喔侧箑喔ム阜喔竵喔犩覆喔┼覆 喙佮弗喔班竸喔ム复喔� 鈥溹笖喔赤箑喔權复喔權竵喔侧福喔曕箞喔�.'
+  langOptionThai: '喔佮福喔膏笓喔侧箑喔ム阜喔竵喔犩覆喔┼覆 喙佮弗喔班竸喔ム复喔� 鈥溹笖喔赤箑喔權复喔權竵喔侧福喔曕箞喔�.',
+	values_finishValuesInfo: '娴嬭瘯缁撴潫锛佹偍鐨勬墍鏈夐�夐」鏁版嵁宸茬粡涓婁紶鑷虫湇鍔″櫒锛屽苟宸蹭繚瀛樺ソ銆傛偍鍙互鍏抽棴娴忚鍣紝閫�鍑虹瓟棰樼晫闈€��',
+	values_nextStepTips_del_unnecessary:'璇峰垹闄ゅ浣欑殑閫夋嫨',
+	values_nextStepTips_add_enough:'璇锋坊鍔犺冻澶熺殑閫夋嫨',
+	values_title:'棰勫厛鎺掑簭鎮ㄧ殑鍥炵瓟',
+	values_title_description:'瀵逛簬姣忎釜璇彞锛屽崟鍑讳笌瑙嗗浘鏈�瀵归綈鐨勫浘鏍囥��',
+	next:'涓嬩竴姝�',
+	pre:'涓婁竴姝�',
+	commit:'鎻愪氦',
+	values_cur_step:'褰撳墠姝ラ',
+	values_step_tips1:'閫夋嫨鏈�',
+	values_step_tips2:'鍍忔垜鐨�',
+	values_step_tips3:'涓浘鐗�',
+	values_step_tips4:'涓�',
+	values_select_tips:'浠庝笅鍥句腑閫夋嫨',
+	values_select:'閫変腑',
+	values_select_exchange:'瀵硅皟',
+	values_mostLikeMe:'鏈�鍍忔垜',
+	values_mostUnLikeMe:'鏈�涓嶅儚鎴�',
+	values_no_select:'鏃犲浘鍙��'
+	
 }
diff --git a/src/router.js b/src/router.js
index 8e831c6..7d65a90 100644
--- a/src/router.js
+++ b/src/router.js
@@ -118,7 +118,19 @@
           meta: { title: '' }
         }
       ]
-    }
+    },
+		{
+		  path: '/exam',
+		  component: Layout,
+		  children: [
+		    {
+		      path: 'values',
+		      component: () => import('@/views/exam/paper/values'),
+		      name: 'ExamPaperValues',
+		      meta: { title: 'values' }
+		    }
+		  ]
+		}
   ]
 })
 
diff --git a/src/views/exam/paper/values.vue b/src/views/exam/paper/values.vue
new file mode 100644
index 0000000..d8da3b6
--- /dev/null
+++ b/src/views/exam/paper/values.vue
@@ -0,0 +1,1555 @@
+<template>
+  <div>
+		<el-container class="app-item-contain step1" v-if="step === 'step1'">
+			<el-header class="">
+			  <h1>{{$t('values_title')}}</h1>
+			</el-header>
+			<el-main class="" style="padding-top: 3%;">
+				<div>
+				  {{$t('values_title_description')}}
+				</div>
+				<div style="display: flex;justify-content: flex-start;padding: 10px 0;">
+          <el-button @click="step1_start" type="primary" v-if="!step1Start">{{$t('start')}}</el-button>
+					<el-button style="margin-top: 12px;" @click="step1_next" v-if="(step1Start && itemSize>0)">{{$t('next')}}</el-button>
+				</div>
+				<div class="mullinediv" v-if="step1Start">
+					<div v-for="question in questionItems" class="mullinediv-item" v-if="isNull(question.analyze)">
+						 <el-image  :src="question.imgUrl" lazy :preview-src-list="[question.imgUrl]"></el-image>
+							<div style="display: flex; justify-content: space-between;padding: 5px 10px;margin-top: -5px;">
+								<i class="el-icon-success" @click="likeMe(question.id)"></i>
+								<i class="el-icon-question" @click="iAmNotSure(question.id)"></i>
+								<i class="el-icon-error" @click="unLikeMe(question.id)"></i>
+							</div>
+					</div>
+				</div>
+			</el-main>
+		</el-container>
+		<el-container class="app-item-contain step2" v-if="step === 'step2'">
+			<el-main class="">
+				<div>
+					<div class="tag-group">
+					  <span class="tag-group__title" style="padding-right: 20px;">{{$t('values_cur_step')}}锛坽{step2SubStep}} / {{step2ScoreRanges.length}})</span>
+					  <el-tag
+					    v-for="item in step2ScoreRanges"
+					    :key="item.itemOrder"
+					    :type="getStep2StepTagType(item.step)"
+							style="margin: 0 2px;font-size: 26px;"
+              size="large"
+					    effect="light">
+					    {{ item.quantity }}
+					  </el-tag>
+					</div>
+					<div style="display: flex;justify-content: space-between;">
+						<div style="line-height: 50px;text-indent: 2em;">
+              {{$t('values_step_tips1')}}{{(step2SubStep % 2 == 0)?$t('values_step_tips4'):''}}{{$t('values_step_tips2')}}{{getStep2StepItem(step2SubStep).quantity}}{{$t('values_step_tips3')}}
+						</div>
+						<div style="display: flex;justify-content: flex-end;">
+							<el-button style="" @click="step2_pre" v-if="step2SubStep>1">{{$t('pre')}}</el-button>
+							<el-button style="" @click="step2_next">{{$t('next')}}</el-button>
+						</div>
+					</div>
+				</div>
+				<div>
+					<el-divider content-position="left"><span :style="'padding: 0 10px;background-color: ' + ((getStep2StepItem(step2SubStep).selected>getStep2StepItem(step2SubStep).quantity)?'red;':'#c8c3c3;')">{{getStep2StepItem(step2SubStep).selected}} / {{getStep2StepItem(step2SubStep).quantity}}</span> </el-divider>
+					<div style="">
+						<div class="inlinediv">
+							<div v-for="question in questionItems" class="mullinediv-item" v-if="getStep2StepItem(step2SubStep).itemOrder == question.subjectId">
+								<el-image  :src="question.imgUrl" lazy :preview-src-list="[question.imgUrl]"></el-image>
+								<div style="display: flex;justify-content: center;padding: 5px 10px;"><!--/*background-color: #c8c3c3;*/-->
+									<i class="el-icon-delete" @click="step2Delete(question.id,getStep2StepItem(step2SubStep).itemOrder)"></i>
+									<!-- <i class="el-icon-zoom-in"></i> -->
+								</div>
+							</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 in questionItems" class="mullinediv-item" v-if="isNull(question.subjectId)">
+						<el-image  :src="question.imgUrl" lazy :preview-src-list="[question.imgUrl]"></el-image>
+							<div style="display: flex; justify-content: center;padding: 5px 10px;margin-top: -5px;">
+								<el-checkbox @change="checked=>step2Add(checked,question.id,getStep2StepItem(step2SubStep).itemOrder)">{{$t('values_select')}}</el-checkbox>
+								<!-- <i class="el-icon-check"></i> -->
+								<!-- <i class="el-icon-zoom-in"></i> -->
+							</div>
+					</div>
+				</div>
+				<div class="mullinediv" style="" v-if="sumUnSelectedNum()<=0">
+					{{$t('values_no_select')}}
+				</div>
+				</div>
+				</div>
+			</el-main>
+		</el-container>
+		<el-container class="app-item-contain step3" v-if="step === 'step3'">
+			<el-main class="">
+        <div style="display:flex;">
+          <div style="display: inline-block;min-width: 110px;text-align: right;">
+              <div class="mul-inlinediv-row mul-inlinediv-lineheight" v-for="(item,index) in step2ScoreRanges">
+                 {{(index == 0)?$t('values_mostLikeMe'):''}}{{(index == (step2ScoreRanges.length-1))?$t('values_mostUnLikeMe'):''}} {{item.deviate}}
+              </div>
+          </div>
+          <div class="mul-inlinediv-box">
+						<div class="mul-inlinediv" v-for="item in step2ScoreRanges">
+							<div class="mul-inlinediv-row">
+							<div v-for="question in questionItems" class="mullinediv-item" v-if="question.subjectId == item.itemOrder">
+								<el-image  :src="question.imgUrl" lazy :preview-src-list="[question.imgUrl]"></el-image>
+								<div style="display: flex;justify-content: center;padding: 5px 10px;"><!--/*background-color: #c8c3c3;*/-->
+									<el-checkbox v-model="question['checked']" @change="checked=>step3Change(checked,question)" :disabled="(step3ChangeSrc.subjectId != question.subjectId || step3ChangeSrc.id == question.id)?false:true">
+										{{(step3ChangeSrc.id==null)?$t('values_select'):(question.id==step3ChangeSrc.id)?$t('values_select'):$t('values_select_exchange')}}
+									</el-checkbox>
+								</div>
+							</div>
+							</div>
+						</div>
+          </div>
+        </div>
+			<div style="display: flex;justify-content: center;">
+				<el-button style="margin-top: 12px;" @click="step3_commit" :disabled="submitDisable">{{$t('commit')}}</el-button>
+			</div>
+			</el-main>
+		</el-container>
+    <el-row class="do-exam-title footer">
+      <el-col :span="24">
+        <span class="do-exam-time">
+        </span>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, mapGetters, mapMutations } from 'vuex'
+import { formatDate } from '@/utils'
+import examPaperApi from '@/api/examPaper'
+import examPaperAnswerApi from '@/api/examPaperAnswer'
+import demographyApi from '@/api/demography'
+
+export default {
+  name: 'values',
+  data () {
+    return {
+			step:'step1',
+			step1Start:false,
+			step1SelectedNum:0,
+      step2ScoreRanges: [
+          // {
+          //     "itemOrder": 1,
+          //     "quantity": 2,
+          //     "score": 5,
+          //     "completed": false,
+          //     "questionReports": null
+          // }
+      ],
+      step2ScoreRangesDefault: [
+          {
+              "itemOrder": 0,
+              "quantity": 0,
+              "score": 0,
+              "completed": false,
+              "questionReports": null,
+              "step":0,
+              "selected":0
+          }
+      ],
+      step2SubStep:1,
+      step3ChangeSrc:{
+        "id": null,
+        "subjectId": null,
+      },
+      form: {
+        "id": 92,
+        "level": 1,
+        "subjectId": null,
+        "paperType": 1,
+        "name": "VAQ",
+        "suggestTime": null,
+        "limitDateTime": null,
+        "titleItems": [
+            {
+                "guide": "",
+                "name": "",
+                "description": "",
+                "permanentId": null,
+                "questionOrder": 0,
+                "questionReport": null,
+                "questionItems": [
+                    {
+                        "id": 786,
+                        "questionType": 1,
+                        "subjectId": null,
+                        "title": "楹诲皢妗�",
+                        "gradeLevel": null,
+                        "items": [
+                            {
+                                "prefix": "1",
+                                "content": "0",
+                                "score": "0"
+                            }
+                        ],
+                        "analyze": null,
+                        "correctArray": null,
+                        "correct": null,
+                        "score": "0",
+                        "difficult": null,
+                        "itemOrder": 1,
+                        "questionOrder": 0,
+                        "permanentId": "VAQ00001",
+                        "questionReport": null,
+                        "startTime": null,
+                        "endTime": null,
+                        "partOrder": 1,
+                        "parentQuestionId": null,
+                        "template": null,
+                        "questionNumber": null,
+                        "content": null,
+                        "imgUrl": "http://127.0.0.1:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+                    },
+                    {
+                        "id": 787,
+                        "questionType": 1,
+                        "subjectId": null,
+                        "title": "楹诲皢妗�2",
+                        "gradeLevel": null,
+                        "items": [
+                            {
+                                "prefix": "1",
+                                "content": "0",
+                                "score": "0"
+                            }
+                        ],
+                        "analyze": null,
+                        "correctArray": null,
+                        "correct": null,
+                        "score": "0",
+                        "difficult": null,
+                        "itemOrder": 2,
+                        "questionOrder": 1,
+                        "permanentId": "VAQ00002",
+                        "questionReport": null,
+                        "startTime": null,
+                        "endTime": null,
+                        "partOrder": 2,
+                        "parentQuestionId": null,
+                        "template": null,
+                        "questionNumber": null,
+                        "content": null,
+                        "imgUrl": "http://127.0.0.1:8090/profile/images/2022/12/26/123f79ad0cc38507368c22b8a7ec9b09.jpg"
+                    },
+                    {
+                        "id": 788,
+                        "questionType": 1,
+                        "subjectId": null,
+                        "title": "娴嬭瘯1",
+                        "gradeLevel": null,
+                        "items": [
+                            {
+                                "prefix": "1",
+                                "content": "0",
+                                "score": "0"
+                            }
+                        ],
+                        "analyze": null,
+                        "correctArray": null,
+                        "correct": null,
+                        "score": "0",
+                        "difficult": null,
+                        "itemOrder": 3,
+                        "questionOrder": 2,
+                        "permanentId": "VAQ00003",
+                        "questionReport": null,
+                        "startTime": null,
+                        "endTime": null,
+                        "partOrder": 3,
+                        "parentQuestionId": null,
+                        "template": null,
+                        "questionNumber": null,
+                        "content": null,
+                        "imgUrl": "http://127.0.0.1:8090/profile/images/2023/01/09/6b80baab47a9eba6ceeec5a723397109.jpg"
+                    },
+                    {
+                        "id": 789,
+                        "questionType": 1,
+                        "subjectId": null,
+                        "title": "娴嬭瘯2",
+                        "gradeLevel": null,
+                        "items": [
+                            {
+                                "prefix": "1",
+                                "content": "0",
+                                "score": "0"
+                            }
+                        ],
+                        "analyze": null,
+                        "correctArray": null,
+                        "correct": null,
+                        "score": "0",
+                        "difficult": null,
+                        "itemOrder": 4,
+                        "questionOrder": 3,
+                        "permanentId": "VAQ00004",
+                        "questionReport": null,
+                        "startTime": null,
+                        "endTime": null,
+                        "partOrder": 4,
+                        "parentQuestionId": null,
+                        "template": null,
+                        "questionNumber": null,
+                        "content": null,
+                        "imgUrl": "http://127.0.0.1:8090/profile/images/2023/01/09/3f8e18280f1d47362c69b18e80ddf1a3.jpg"
+                    },
+                    {
+                        "id": 790,
+                        "questionType": 1,
+                        "subjectId": null,
+                        "title": "娴嬭瘯3",
+                        "gradeLevel": null,
+                        "items": [
+                            {
+                                "prefix": "1",
+                                "content": "0",
+                                "score": "0"
+                            }
+                        ],
+                        "analyze": null,
+                        "correctArray": null,
+                        "correct": null,
+                        "score": "0",
+                        "difficult": null,
+                        "itemOrder": 5,
+                        "questionOrder": 4,
+                        "permanentId": "VAQ00005",
+                        "questionReport": null,
+                        "startTime": null,
+                        "endTime": null,
+                        "partOrder": 5,
+                        "parentQuestionId": null,
+                        "template": null,
+                        "questionNumber": null,
+                        "content": null,
+                        "imgUrl": "http://127.0.0.1:8090/profile/images/2023/01/09/447616cb14745241f0ac700b56d0770b.jpg"
+                    }
+                ],
+                "startTime": null,
+                "endTime": null,
+                "parts": [],
+                "scoreRanges": [
+                    {
+                        "itemOrder": 1,
+                        "quantity": 2,
+                        "score": 5,
+                        "completed": false,
+                        "questionReports": null
+                    },
+                    {
+                        "itemOrder": 2,
+                        "quantity": 1,
+                        "score": 10,
+                        "completed": false,
+                        "questionReports": null
+                    },
+                    {
+                        "itemOrder": 3,
+                        "quantity": 2,
+                        "score": 5,
+                        "completed": false,
+                        "questionReports": null
+                    }
+                ]
+            }
+        ],
+        "score": null,
+        "guide": "VAQ",
+        "questionOrder": [
+            0,
+            1,
+            2,
+            3,
+            4
+        ],
+        "parts": [],
+        "questionTemplateId": "values",
+        "reportTemplateId": "61",
+        "memberName": "test4",
+        "optionOrder": null,
+        "timeOut": null,
+        "jobDescriptionFile": null
+      },
+      formLoading: false,
+      answer: {
+        questionId: null,
+        doTime: 0,
+        answerItems: [],
+        verifyStatus: 2
+      },
+      timer: null,
+
+      titleItemsLength: 0,
+      remainTime: 0,
+      titleItemName: '', // 鑰冭瘯绗簩鏍囬
+      itemOrder: '', // 棰樼洰鐨勫簭鍙�
+      questionItem: {}, // 棰樼洰
+      questionItems: [], // 棰樼洰闆�
+      itemSize: '', // 棰樼洰闀垮害
+      titleItems: [],
+
+      order: 0,
+      guide: false,
+      answered: [],
+      submitDisable: false,
+      doTime: 0,
+      preDisable: false,
+      nextDisable: false,
+      partOrder: 0,
+      parts: [],
+      guideTitle: '',
+      guideDescirption: '',
+      isCallTain: '',
+      memberName: '',
+      startDoDisable: true,
+
+    }
+  },
+  created: function () {
+    console.log("created......",this.$route.query.formDo,typeof(this.$route.query.formDo))
+    //console.log(".....................Test. config start......................")
+    //if(this.memberToken == '' || this.memberToken == undefined) this.setMemberTocken("4bdcf437-185c-4f4e-9528-382c99509ea6")
+    //console.log(".....................Test. config ednd.......................")
+    let _this = this
+    // 澶氳瑷�
+    _this.setLangFlag(false)
+    _this.form = this.$route.query.formDo
+    if (_this.form !== {} && _this.form !== undefined && typeof(_this.form) !== "string") {
+      _this.formLoading = true
+      _this.remainTime = _this.form.suggestTime * 60
+      _this.titleItemsLength = _this.form.titleItems.length
+      _this.titleItems.push(_this.form.titleItems[0])
+      _this.questionItem = _this.form.titleItems[0].questionItems[0]
+			_this.questionItems = _this.form.titleItems[0].questionItems
+      _this.partOrder = _this.questionItem.partOrder
+      _this.itemOrder = _this.form.titleItems[0].questionItems[0].itemOrder
+			_this.itemSize = _this.form.titleItems[0].questionItems.length
+      _this.timeReduce()
+      _this.initAnswer()
+      _this.formLoading = false
+      _this.memberName = _this.form.memberName
+			_this.initStep2ScoreRanges(_this.form.titleItems[0].scoreRanges)
+      
+    } else {
+      _this.formLoading = true
+      // 闃叉鍒锋柊鎴愪簡涓嶅悓鐨勮瑷�
+      demographyApi.queryDemographyParamInfo(_this.memberToken).then(
+        re => {
+					console.log('queryDemographyParamInfo...',re)
+          if (re.response[0].langType !== null || re.response[0].langType.trim() !== '') {
+            _this.setLangType(re.response[0].langType)
+          }
+          // 鍔犺浇棰樼洰
+          examPaperApi.select(_this.memberToken, _this.langType).then(re => {
+						console.log('select...',re)
+            _this.form = re.response
+            _this.remainTime = re.response.suggestTime * 60
+            _this.titleItemsLength = _this.form.titleItems.length
+            _this.titleItems.push(_this.form.titleItems[0])
+            _this.itemOrder = _this.form.titleItems[0].questionItems[_this.order].itemOrder
+            _this.itemSize = _this.form.titleItems[0].questionItems.length
+            _this.questionItem = _this.form.titleItems[0].questionItems[_this.order]
+            _this.questionItems = _this.form.titleItems[0].questionItems
+            _this.partOrder = _this.questionItem.partOrder
+            _this.initAnswer()
+            _this.formLoading = false
+            _this.memberName = _this.form.memberName
+						_this.initStep2ScoreRanges(_this.form.titleItems[0].scoreRanges)
+
+            examPaperApi.selectTokenId(_this.memberToken).then(re => {
+              _this.answered = re.response.examItemOrderAndContentList
+              _this.doTime = re.response.doTime
+              _this.timeReduce()
+
+              if (_this.answered !== null) {
+                _this.answered.forEach(it => {
+                  _this.answer.answerItems[parseInt(it.itemOrder) - 1].content = it.content
+                  _this.answer.answerItems[parseInt(it.itemOrder) - 1].completed = true
+                })
+              }
+
+              for (let i = 0; i < _this.answer.answerItems.length; i++) {
+                if (!_this.answer.answerItems[i].completed || _this.answer.answerItems[i].content === null || _this.answer.answerItems[i].content === '') {
+                  _this.questionItem = _this.form.titleItems[0].questionItems[i]
+                  _this.partOrder = _this.questionItem.partOrder
+                  _this.itemOrder = _this.form.titleItems[0].questionItems[i].itemOrder
+                  _this.order = i
+                  _this.preDisable = true
+                  break
+                }
+
+                if (_this.isForFinish(i)) {
+                  _this.$router.push({ path: '/exam/finish', query: { name: '', content: _this.$t('finishMsg'), tokenId: _this.memberToken } })
+                }
+              }
+              // 濡傛灉涓婁竴棰樹笉鏄湰娈碉紝鍒欎笉鑳借繑鍥炰笂涓�娈�
+              if (this.isDiffPartOrder()) {
+                _this.preDisable = false
+              }
+
+              if (this.isDiffPartOrder()) {
+                _this.showNextGuide(re.response.signalObject, false)
+              }
+            }).catch(e => {
+              // _this.$message.error('棰樼洰鏌ヨ寮傚父')
+            })
+          }).catch(e => {
+            _this.$message.info(_this.$t('noquestionMsg'))
+          })
+        }
+      ).catch(e => {
+      })
+    }
+  },
+  mounted () {
+    //console.log("mounted......")
+  },
+  beforeDestroy () {
+    window.clearInterval(this.timer)
+  },
+  methods: {
+    step1_start(){
+    	this.step = "step1"
+			this.step1Start = true
+			this.questionItems.sort(function(i2, i1){return (i2.id - i1.id)})
+			//console.log('step1_start...',this.questionItems)
+    },
+		step1_next(){
+			this.step = "step2"
+			this.sortQuestions()
+			this.caculateScoreRangeSelectedById(this.getStep2StepItem(this.step2SubStep).itemOrder)
+		},
+		step2_pre(){
+      if(this.step2SubStep > 1){
+        this.step2SubStep = this.step2SubStep - 1
+      }
+		},
+		step2_next(){
+			let _this = this
+      let stepItem = this.getStep2StepItem(this.step2SubStep)
+      if(stepItem.selected == stepItem.quantity || this.sumUnSelectedNum() == 0 ){
+				_this.answer.verifyStatus = 2
+				_this.submitSubAnswer()
+				
+        this.step2SubStep = this.step2SubStep + 1
+        if(this.step2SubStep > this.step2ScoreRanges.length){
+          this.step = "step3"
+        }
+				
+				this.sortQuestions()
+				this.caculateScoreRangeSelectedById(this.getStep2StepItem(this.step2SubStep).itemOrder)
+      } else {
+        //this.$message.error(_this.$t('noquestionMsg'))
+        if(stepItem.selected > stepItem.quantity){
+          this.$message.error(_this.$t('values_nextStepTips_del_unnecessary'))
+        } else {
+          this.$message.error(_this.$t('values_nextStepTips_add_enough'))
+        }
+      }
+		},
+    step2Delete(qid,sid){
+       this.resetQuestionItemsValueById(qid,"subjectId",null)//鍊熺敤subjectId锛屽瓨鍌�
+       this.caculateScoreRangeSelectedById(sid,-1)
+    },
+    step2Add(value,qid,sid){
+      //console.log("step2Add....",value,qid,sid)
+      this.resetQuestionItemsValueById(qid,"subjectId",sid)//鍊熺敤subjectId锛屽瓨鍌�
+      this.caculateScoreRangeSelectedById(sid,1)
+    },
+    step3Change(value,question){
+      console.log('step3Change...',this.step3ChangeSrc)
+      if(this.step3ChangeSrc.id == null){
+        //棣栨鐐瑰嚮锛屼复鏃跺瓨鍌�
+        this.step3ChangeSrc.id = question.id
+        this.step3ChangeSrc.subjectId = question.subjectId
+				for (let item of this.questionItems) {
+				  if(item.id == question.id) item['checked'] = true
+				}
+      } else {
+        if(this.step3ChangeSrc.id == question.id){
+          //瀵硅皟鑷繁
+        } else {
+          //瀵硅皟
+          this.resetQuestionItemsValueById(this.step3ChangeSrc.id,"subjectId",question.subjectId)//鍊熺敤subjectId锛屽瓨鍌�
+          this.resetQuestionItemsValueById(question.id,"subjectId",this.step3ChangeSrc.subjectId)//鍊熺敤subjectId锛屽瓨鍌�
+        }
+				//娓呯悊
+				this.step3ChangeSrc.id = null
+				this.step3ChangeSrc.subjectId = null
+				for (let item of this.questionItems) {
+					item['checked'] = false
+				}
+      }
+    },
+    sumUnSelectedNum(){
+      let count = 0
+      for (let item of this.questionItems) {
+        if(this.isNull(item['subjectId'])){
+            count = count + 1
+        }
+      }
+      return count
+    },
+		step3_commit(){
+			let _this = this
+			window.clearInterval(_this.timer)
+			_this.submitDisable = true
+			_this.formLoading = true
+			_this.answer.verifyStatus = 1
+			_this.answer.finish = 1
+			_this.submitAnswer(_this.$t('values_finishValuesInfo'))
+		},
+		getLikeTypeByScoreRangeItemOrder(itemOrder){
+			let step = 0
+			for (let item of this.step2ScoreRanges) {
+			  if(item.itemOrder === itemOrder){
+					step = item['step']
+					break
+			  }
+			}
+			return this.getLikeType(step)
+		},
+		getLikeType(step){
+			if(this.step2ScoreRanges.length % 2 == 0){//鍋舵暟姝ラ
+				if(step % 2 == 0){
+					//2-UnLike
+					return 2
+				} else {
+					//0-Like
+					return 0
+				}
+			} else {//濂囨暟姝ラ
+				if(step == this.step2ScoreRanges.length) {
+					//1-NotSure
+					return 1
+				} else {
+					if(step % 2 == 0){
+						//2-UnLike
+						return 2
+					} else {
+						//0-Like
+						return 0
+					}
+				}
+			}
+		},
+		sortQuestions(){
+			let type = this.getLikeType(this.step2SubStep)
+			switch (type) {
+				case 0://0:鏈�鍍忔垜
+					this.questionItems.sort(function(i2, i1){return (i2.analyze == 'Like')?-1:1})
+					break
+				case 1://1:鏈夌枒闂�
+					this.questionItems.sort(function(i2, i1){return (i2.analyze == 'NotSure')?-1:1})
+					break
+				case 2://2:鏈�涓嶅儚鎴�
+					this.questionItems.sort(function(i2, i1){return (i2.analyze == 'UnLike')?-1:1})
+					break
+			}
+		},
+		
+		likeMe(id){
+			this.step1SelectedNum = this.step1SelectedNum + 1
+      this.resetQuestionItemsValueById(id,"analyze","Like")//鍊熺敤analyze锛屽瓨鍌�
+		},
+		iAmNotSure(id){
+			this.step1SelectedNum = this.step1SelectedNum + 1
+			this.resetQuestionItemsValueById(id,"analyze","NotSure")
+		},
+		unLikeMe(id){
+			this.step1SelectedNum = this.step1SelectedNum + 1
+			this.resetQuestionItemsValueById(id,"analyze","UnLike")
+		},
+    resetQuestionItemsValueById(id,key,value){
+      for (let item of this.questionItems) {
+        if(item.id === id){
+            item[key] = value
+						if("subjectId" == key){
+							item['content'] = this.getLikeTypeByScoreRangeItemOrder(value)
+						}
+        }
+      }
+      //console.log('resetQuestionItems...',id,key,value,this.questionItems)
+    },
+    caculateScoreRangeSelectedById(id,value){
+			let sum = 0
+			for (let item of this.questionItems) {
+			  if(item.subjectId === id){
+			      sum = sum + 1
+			  }
+			}
+      for (let item of this.step2ScoreRanges) {
+        if(item.itemOrder === id){
+					item['selected'] = sum
+        }
+      }
+    },
+    initTestData(){
+      let _this = this
+      //for test
+      _this.step2ScoreRanges = [].concat([
+        {
+            "itemOrder": 1,
+            "quantity": 1,
+            "score": 5,
+            "completed": false,
+            "questionReports": null
+        },
+        {
+            "itemOrder": 2,
+            "quantity": 2,
+            "score": 5,
+            "completed": false,
+            "questionReports": null
+        },
+        {
+            "itemOrder": 3,
+            "quantity": 10,
+            "score": 5,
+            "completed": false,
+            "questionReports": null
+        },
+        {
+            "itemOrder": 4,
+            "quantity": 2,
+            "score": 5,
+            "completed": false,
+            "questionReports": null
+        },
+        {
+            "itemOrder": 5,
+            "quantity": 1,
+            "score": 5,
+            "completed": false,
+            "questionReports": null
+        },
+        // {
+        //     "itemOrder": 6,
+        //     "quantity": 2,
+        //     "score": 5,
+        //     "completed": false,
+        //     "questionReports": null
+        // },
+        // {
+        //     "itemOrder": 7,
+        //     "quantity": 2,
+        //     "score": 5,
+        //     "completed": false,
+        //     "questionReports": null
+        // },
+        // {
+        //     "itemOrder": 8,
+        //     "quantity": 2,
+        //     "score": 5,
+        //     "completed": false,
+        //     "questionReports": null
+        // },
+      ])
+
+      _this.questionItems = _this.questionItems.concat([
+        {
+            "id": 100,
+            "questionType": 1,
+            "subjectId": 3,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "Like",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 101,
+            "questionType": 1,
+            "subjectId": 3,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "UnLike",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 102,
+            "questionType": 1,
+            "subjectId": 3,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "NotSure",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 103,
+            "questionType": 1,
+            "subjectId": 3,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "Like",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 104,
+            "questionType": 1,
+            "subjectId": 3,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "UnLike",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 105,
+            "questionType": 1,
+            "subjectId": 1,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "NotSure",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 106,
+            "questionType": 1,
+            "subjectId": 1,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "Like",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 107,
+            "questionType": 1,
+            "subjectId": 2,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "NotSure",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+        {
+            "id": 108,
+            "questionType": 1,
+            "subjectId": 2,
+            "title": "楹诲皢妗�",
+            "gradeLevel": null,
+            "items": [
+                {
+                    "prefix": "1",
+                    "content": "0",
+                    "score": "0"
+                }
+            ],
+            "analyze": "NotSure",
+            "correctArray": null,
+            "correct": null,
+            "score": "0",
+            "difficult": null,
+            "itemOrder": 1,
+            "questionOrder": 0,
+            "permanentId": "VAQ00001",
+            "questionReport": null,
+            "startTime": null,
+            "endTime": null,
+            "partOrder": 1,
+            "parentQuestionId": null,
+            "template": null,
+            "questionNumber": null,
+            "content": null,
+            "imgUrl": "http://47.114.179.216:8090/profile/images/2022/12/26/b698d623e7c9a55d9017ffa08477b121.jpg"
+        },
+      ])
+    },
+    initStep2ScoreRanges(arr){
+      let _this = this
+      _this.step2ScoreRanges = _this.step2ScoreRanges.concat(arr)
+      //this.initTestData()
+      let s = 1
+      let a = 2//-2
+      let max = _this.step2ScoreRanges.length
+      let max4O = (max % 2 == 0)?(max):(max+1)
+      let max4J = (max % 2 == 0)?(max+1):(max)
+      let deviate = 0//鍋忕鍊�
+      for (let i = 0; i < _this.step2ScoreRanges.length; i++) {
+        //璁剧疆姣忛」step鏁�
+      	if(a > 0){//+
+      		if(s < max){
+      			_this.step2ScoreRanges[i]['step'] = s
+      			a = 2
+      			s = s + a
+      		} else if(s == max) {
+      			_this.step2ScoreRanges[i]['step'] = s
+      			a = -2
+      			s = s + 1
+      		} else {
+      			_this.step2ScoreRanges[i]['step'] = s - 1
+      			a = -2
+      			s = s - 1
+      		}
+      	} else {//-
+      		s = s + a
+      		_this.step2ScoreRanges[i]['step'] = s
+      	}
+        //璁剧疆姣忛」step鍋忕鏈�鍚巗tep鐨勬璐熻窛绂诲�硷紙濂囨暟step姝e亸绂伙紝鍋舵暟step璐熷亸绂伙級
+        if(_this.step2ScoreRanges[i]['step'] % 2 == 0){//鍋舵暟
+          deviate = (max4O - _this.step2ScoreRanges[i]['step']) - (max4O - _this.step2ScoreRanges[i]['step'])/2
+          _this.step2ScoreRanges[i]['deviate'] = 0 - deviate
+        } else {
+          deviate = (max4J - _this.step2ScoreRanges[i]['step']) - (max4J - _this.step2ScoreRanges[i]['step'])/2
+          _this.step2ScoreRanges[i]['deviate'] = deviate
+        }
+        //璁剧疆姣忛」宸查�夋嫨鐨勬暟閲�
+        _this.step2ScoreRanges[i]['selected'] = 0
+      }
+      console.log('initStep2ScoreRanges...',this.step2ScoreRanges)
+    },
+    getStep2StepTagType(step){
+      if(this.step2SubStep > step){
+        return ''
+      } else if(this.step2SubStep == step){
+        return 'success'
+      } else {
+        return 'info'
+      }
+    },
+    getStep2StepItem(step){
+      //console.log('getStep2StepItem',step,this.step2ScoreRanges)
+      let _this = this
+      for (let i = 0; i < _this.step2ScoreRanges.length; i++) {
+        if(_this.step2ScoreRanges[i]['step'] == step){
+          return _this.step2ScoreRanges[i]
+        }
+      }
+      return _this.step2ScoreRangesDefault[0];
+    },
+    formatDate (time, formatsrc) {
+      return formatDate(time, formatsrc)
+    },
+    timeReduce: function () {
+      let _this = this
+      _this.answer.doTime += _this.doTime
+      this.timer = setInterval(function () {
+        if (_this.answer.doTime <= 0) {
+          _this.answer.doTime = 0
+        }
+        ++_this.answer.doTime
+      }, 1000)
+    },
+    questionCompleted (completed) {
+      return this.enumFormat(this.doCompletedTag, completed)
+    },
+    goAnchor (selector) {
+      let _this = this
+      let num = parseInt(selector.substr(10)) - 1
+      this.itemOrder = _this.form.titleItems[0].questionItems[num].itemOrder
+      this.questionItem = _this.form.titleItems[0].questionItems[num]
+      _this.order = num
+      setTimeout(function () {
+        _this.$el.querySelector(selector).scrollIntoView({ behavior: 'instant', block: 'center', inline: 'nearest' })
+      }, 200)
+      _this.$refs['popovertag'].doClose()
+    },
+    initAnswer () {
+      this.answer.id = this.form.id
+      this.answer.questionOrder = this.form.questionOrder
+      let titleItemArray = this.form.titleItems
+      for (let tIndex in titleItemArray) {
+        let questionArray = titleItemArray[tIndex].questionItems
+        for (let qIndex in questionArray) {
+          let question = questionArray[qIndex]
+          this.answer.answerItems.push({ title: question.title, permanentId: question.permanentId, questionId: question.id, content: question.content, contentArray: [], completed: false, itemOrder: question.itemOrder, lastContent: null, startTime: question.startTime, endTime: question.endTime, partOrder: question.partOrder, questionReport: {}, readOnly: false, imgUrl: question.imgUrl})
+        }
+      }
+
+      // 鍒濆鍖栧紑濮嬫椂闂达紝璁剧疆绗竴涓椂闂�
+      for (let i = 0; i < this.answer.answerItems.length; i++) {
+        if (this.answer.answerItems[i].startTime == null || this.answer.answerItems[i].startTime.trim() === '') {
+          this.answer.answerItems[i].startTime = this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
+          break
+        }
+      }
+    },
+    isContentNotEmpty: function (num) {
+      let _this = this
+      return _this.answer.answerItems[num].content !== '' && _this.answer.answerItems[num].content !== null && _this.answer.answerItems[num].content.trim() !== ''
+    },
+    nextQuestion: function (nowPartOrder) {
+      let _this = this
+      let num = ++_this.order
+      _this.itemOrder = _this.form.titleItems[0].questionItems[num].itemOrder
+      // 璺冲埌娌℃湁绛旂殑棰樼洰
+      while (_this.isContentNotEmpty(num) && num !== _this.answer.answerItems.length - 1) {
+        num = ++_this.order
+        this.getEmptySubjct(num)
+      }
+      _this.questionItem = _this.form.titleItems[0].questionItems[num]
+      _this.partOrder = _this.questionItem.partOrder
+      if (_this.partOrder !== nowPartOrder) {
+        _this.isShowGuide(true)
+      }
+      _this.preDisable = true
+      _this.nextDisable = false
+      _this.answer.answerItems[_this.order].startTime = _this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
+
+      // 濡傛灉鏄渶鍚庝竴涓苟涓斿凡缁忓畬鎴愪簡锛屽氨鎻愪氦
+      if (num === _this.answer.answerItems.length - 1 && _this.isForFinish(num)) {
+        this.submitForm()
+      }
+    },
+    nextQuestionOrder: function (nowPartOrder) {
+      if (this.order < this.itemSize - 1) {
+        this.nextQuestion(nowPartOrder)
+      } else {
+        this.submitDisable = false
+      }
+    },
+    isNextShowGuide: function (nowPartOrder) {
+      let _this = this
+      // 鏈鐨勬瘡涓�棰橀兘鎵撳畬瑕佹寚瀵艰
+      let showGuideFlag = true
+      for (let i = 0; i < _this.answer.answerItems.length; i++) {
+        if (_this.form.titleItems[0].questionItems[i].partOrder === nowPartOrder && !_this.isContentNotEmpty(i)) {
+          showGuideFlag = false
+        }
+      }
+      return showGuideFlag
+    },
+    catThaiSubmit: function (answerSubmit) {
+      answerSubmit.isCallTain = 'CallThai'
+    },
+    getEmptySubjct: function (order) {
+      let _this = this
+      _this.itemOrder = _this.form.titleItems[0].questionItems[order].itemOrder
+      _this.questionItem = _this.form.titleItems[0].questionItems[order]
+      _this.partOrder = _this.questionItem.partOrder
+      _this.preDisable = false
+      _this.answer.answerItems[order].readOnly = false
+      // _this.answer.answerItems[order].content = ''
+      // _this.answer.answerItems[order].completed = false
+      _this.order = order
+    },
+    isNotEmpty (obj) {
+      return obj !== null && obj !== undefined && obj !== ''
+    },
+    isEmpty (obj) {
+      return !this.isNotEmpty(obj)
+    },
+    nextSubject: function () {
+      let _this = this
+      _this.isShowGuide(false)
+      let nowPartOrder = _this.partOrder
+      // 璁剧疆涓婁竴棰樼殑缁撴潫鏃堕棿
+      this.answer.answerItems[_this.order].endTime = _this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
+      // 寰幆娌℃湁绛旂殑棰樼洰,杩欓噷鍚屾椂鍐冲畾浜嗛棶绛旈鎵撳畬鍙互杩涘叆涓嬩竴棰�
+      for (let i = 0; i < _this.order; i++) {
+        if (!this.isContentNotEmpty(i)) {
+          // 杩斿洖涔嬪墠娌″仛鐨勯偅閬撻
+          this.getEmptySubjct(i)
+          return
+        }
+        // 濡傛灉寰幆鍒版渶鍚庝竴棰樺氨鎻愪氦
+        if (_this.isForFinish(i)) {
+          _this.submitForm()
+          return
+        }
+      }
+
+      // 鍏ㄩ儴绛斿畬浜嗗氨鍙互鎻愪氦浜�,浣嗘槸濡傛灉鏄渶鍚庝竴棰樺氨鑷繁鎻愪氦
+      for (let i = 0; i < _this.answer.answerItems.length; i++) {
+        if (!_this.isContentNotEmpty(i)) {
+          break
+        }
+        if (i === _this.answer.answerItems.length - 1 && _this.order !== _this.answer.answerItems.length - 1) {
+          _this.submitForm()
+          return
+        }
+      }
+      this.answer.answerItems[_this.order].readOnly = true
+      let answerSubmit = _this.getSubmitAnswerValue(nowPartOrder)
+      // 宸茬粡绛斿埌浜嗘渶鍚庝竴棰樹簡,涓嶇敤鑷姩璺冲埌涓嬩竴棰�
+      if (this.order + 1 > this.itemSize - 1) {
+        this.submitDisable = false
+        return
+      }
+      // 濡傛灉鏄渶鍚庝竴棰樺氨涓婇潰鎻愪氦浜嗭紝涓嶄細璧板埌杩欓噷
+      let loading = null
+      if (this.isNextShowGuide(nowPartOrder)) {
+        this.catThaiSubmit(answerSubmit)
+        loading = _this.$loading({
+          lock: false,
+          text: _this.$t('nextPartInfo'),
+          spinner: 'el-icon-loading'
+        })
+      }
+      examPaperAnswerApi.answerSubmit(answerSubmit, _this.memberToken).then(re => {
+        if (_this.isNotEmpty(loading)) {
+          loading.close()
+        }
+        if (re.code !== 1) {
+          _this.$message.error(re.message)
+          throw (re.message)
+        }
+
+        // 灞曠ず鎸囧璇�
+        if (this.isNextShowGuide(nowPartOrder)) {
+          // 灞曠ず鎸囧璇�
+          _this.showNextGuide(re.response.signalObject, true)
+        } else {
+          this.nextQuestionOrder(nowPartOrder)
+        }
+      }).catch(e => {
+        if (_this.isNotEmpty(loading)) {
+          loading.close()
+        }
+        _this.reloadPage(e)
+      })
+    },
+    getSubmitAnswerValue (nowPartOrder) {
+      let _this = this
+      let answerSubmit = JSON.parse(JSON.stringify(_this.answer))
+			//add answerItems
+      answerSubmit.answerItems.forEach(answerItem => {
+        // 棰樼洰鎶ヨ〃锛屽鏋滄病鏈夌粨鏉熸椂闂达紝寮�濮嬫椂闂翠篃涓嶉渶瑕�
+        if (answerItem.endTime == null || answerItem.endTime === '') {
+          answerItem.startTime = ''
+        }
+				answerItem.completed = true
+				//answerItem.content = this.getLikeTypeByScoreRangeItemOrder(answerItem.subjectId)
+        answerItem.questionReport = { 
+					questionOrder: answerItem.questionId, 
+					questionTitle: answerItem.title, 
+					permanentId: answerItem.permanentId, 			
+					startTime: answerItem.startTime, 
+					endTime: answerItem.endTime, 
+					langType: _this.langType, 
+					partOrder: answerItem.partOrder, 
+					imgUrl: answerItem.imgUrl,
+					answer: answerItem.content }
+      })
+      answerSubmit.langType = _this.langType
+      answerSubmit.isCallTain = _this.isCallTain
+      answerSubmit.partOrder = nowPartOrder
+      answerSubmit.itemOrder = _this.itemOrder
+			//add scoreRanges
+			if(_this.step2SubStep >= _this.step2ScoreRanges.length){
+				answerSubmit['scoreRanges'] =	_this.form.titleItems[0].scoreRanges
+			} else {
+				let item = _this.getStep2StepItem(_this.step2SubStep)
+				console.log('getStep2StepItem',_this.step2SubStep,item)
+				answerSubmit['scoreRanges'] =	[]
+				answerSubmit['scoreRanges'].push(item)
+			}
+			console.log('answerSubmit.scoreRanges=',answerSubmit['scoreRanges'])
+			for (let item of answerSubmit['scoreRanges']) {
+				item['completed'] = true
+				item['questionReports'] = []
+				for (let question of _this.questionItems) {
+				  if(question.subjectId === item.itemOrder){
+						item['questionReports'].push({
+							questionOrder:question.questionOrder,  //棰樼洰ID
+							questionTitle:question.questionTitle, //棰樼洰鏍囬
+							permanentId:question.permanentId, //棰樼洰姘镐箙缂栧彿
+							startTime:question.startTime, //绛旈寮�濮嬫椂闂�
+							endTime:question.endTime, //绛旈缁撴潫鏃堕棿
+							langType:question.langType, //绛旈璇█
+							partOrder:question.partOrder,  //鍒嗙墖
+							imgUrl:question.imgUrl,  //鍥剧墖鍦板潃
+							answer:question.content  //棰樼洰绛旀 
+						})
+				  }
+				}
+			}
+      return answerSubmit
+    },
+    preSubject () {
+      let _this = this
+      _this.isShowGuide(false)
+      if (_this.order > 0) {
+        let num = --_this.order
+        _this.itemOrder = _this.form.titleItems[0].questionItems[num].itemOrder
+        _this.questionItem = _this.form.titleItems[0].questionItems[num]
+        _this.partOrder = _this.questionItem.partOrder
+        _this.preDisable = false
+        _this.nextDisable = true
+        _this.answer.answerItems[_this.order].readOnly = false
+      }
+    },
+    submitSubAnswer: function () {
+      let _this = this
+      this.answer.answerItems[_this.order].endTime = this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
+      // 鎻愪氦閮ㄥ垎
+      let answerSubmit = _this.getSubmitAnswerValue(_this.partOrder)
+      let loading = _this.$loading({
+        lock: false,
+        text: _this.$t('uploadInfo'),
+        spinner: 'el-icon-loading'
+      })
+      examPaperAnswerApi.answerSubmit(answerSubmit, _this.memberToken).then(re => {
+        loading.close()
+        if (re.code === 1) {
+					console.log('answerSubmit...',re)
+        }
+        _this.formLoading = false
+      }).catch(e => {
+        _this.reloadPage(e)
+        loading.close()
+      })
+    },
+    submitAnswer: function (mess) {
+      let _this = this
+      this.answer.answerItems[_this.order].endTime = this.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
+      // 鎻愪氦涔嬪墠鎻愪氦鏈�鍚庝竴娈�
+      let answerSubmit = _this.getSubmitAnswerValue(_this.partOrder)
+      let loading = _this.$loading({
+        lock: false,
+        text: _this.$t('uploadInfo'),
+        spinner: 'el-icon-loading'
+      })
+      examPaperAnswerApi.answerSubmit(answerSubmit, _this.memberToken).then(re => {
+        loading.close()
+        if (re.code === 1) {
+          _this.$router.push({ path: '/exam/finish', query: { name: _this.form.name, content: mess, tokenId: _this.memberToken } })
+        } else {
+          _this.$message.error(re.message + '/exam/finish')
+        }
+        _this.formLoading = false
+      }).catch(e => {
+        _this.reloadPage(e)
+        loading.close()
+      })
+    },
+    showNextGuide: function (signalObject, nextQuestion) {
+      let _this = this
+      _this.guideDescirption = signalObject.signalDescription
+      if (_this.guideDescirption !== null && _this.guideDescirption !== undefined && _this.guideDescirption !== '') {
+        _this.isShowGuide(true)
+        _this.preDisable = false
+      } else {
+        throw (signalObject.message)
+      }
+      if (Object.keys(_this.guideDescirption).length === 0) {
+        _this.isShowGuide(false)
+        _this.preDisable = false
+      }
+      _this.startDoDisable = false
+      if (!nextQuestion) {
+        return
+      }
+      _this.nextQuestionOrder()
+    },
+    isNull: function (obj) {
+      return obj === null || obj === undefined
+    },
+    isShowGuide (flag) {
+      let _this = this
+      _this.guide = flag
+      // _this.isCallTain = flag ? 'callTain' : ''
+    },
+    reloadPage (e) {
+      let _this = this
+      let mes = ''
+      if (e.message !== null && e.message !== undefined && e.message.indexOf('timeout') !== -1) {
+        mes = _this.$t('submitTimeout') + ',' + 'order:' + _this.order + ',' + e.message// 鎻愪氦鍚庡彴瓒呮椂
+      } else {
+        mes = JSON.stringify(e) + ',' + 'order:' + _this.order + ',' + e.message
+      }
+      // 璋冭瘯鐢�
+      // _this.$router.push({ path: '/exam/exception', query: { name: _this.form.name, content: _this.$t('submitExceptionInfo') + '<br>' + mes } })
+      _this.$router.push({ path: '/exam/exception', query: { name: _this.form.name, content: _this.$t('submitExceptionInfo') } })
+      _this.formLoading = false
+      _this.submitDisable = false
+    },
+    isForFinish (i) {
+      return i === this.answer.answerItems.length - 1 && (this.answer.answerItems[i].content !== null && this.answer.answerItems[i].content !== '')
+    },
+    isDiffPartOrder: function () {
+      let _this = this
+      return _this.form.titleItems[0].questionItems[_this.order].partOrder !== _this.form.titleItems[0].questionItems[_this.order - 1].partOrder
+    },
+    ...mapMutations('user', ['setMemberTocken']),
+    ...mapMutations('user', ['setLangType']),
+    ...mapMutations('user', ['setLangFlag'])
+  },
+  computed: {
+    ...mapGetters('enumItem', ['enumFormat']),
+    ...mapState('enumItem', { doCompletedTag: state => state.exam.question.answer.doCompletedTag }),
+    ...mapState('user', { memberToken: state => state.memberToken }),
+    ...mapState('user', { langType: state => state.langType }),
+    ...mapState('user', { langFlag: state => state.langFlag }),
+    ...mapState('exam', { doUrl: state => state.doUrl })
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+	.app-item-contain{
+			margin-top: 45px;
+	}
+  .align-center {
+    text-align: center;
+  }
+
+  .exam-question-item {
+    padding: 10px;
+    font-size: large;
+
+    .el-form-item__label {
+      font-size: large !important;
+    }
+  }
+
+  .question-title-padding {
+    padding-left: 25px;
+    padding-right: 25px;
+  }
+  .footer {
+    position: absolute;
+    position: fixed;
+    z-index: 1000;
+    bottom: 0px;
+  }
+</style>
+<style lang="scss" scpoed>
+	.mul-inlinediv-box{
+		overflow: auto;
+		display: block;
+		-webkit-box-flex: 1;
+	}
+  .mul-inlinediv {
+    overflow-y: hidden;
+    overflow-x: auto;
+    white-space: nowrap;
+    border: 1px solid gray;
+    padding: 10px 0;
+    width: fit-content;
+  }
+  .mul-inlinediv div div{
+    display: inline-table;
+    vertical-align: top;
+    width: 180px;
+    margin: 0 2px;
+  }
+  .mul-inlinediv-row{
+    min-height: 210px;
+    margin: 0 10px;
+  }
+  .mul-inlinediv-lineheight{
+    line-height: 210px;
+    padding: 10px 0;
+  }
+  .inlinediv {
+    overflow-y: hidden;
+    overflow-x: auto;
+    white-space: nowrap;
+    min-height: 180px;
+    display: flex;
+  }
+  .inlinediv div{
+    display: inline-table;
+    vertical-align: top;
+    width: 100px;
+    margin: auto 2px;
+  }
+  .mullinediv{
+    display: contents;
+  }
+  .mullinediv-item{
+    display: flex;display:
+    inline-block;
+    width: 180px;
+    margin: 5px 4px;
+  }
+  .mullinediv-item:hover {
+  }
+  img:hover {
+     transform: scale(2);
+    // -ms-transform: scale(2);
+    // -webkit-transform: scale(2);
+    // -o-transform: scale(2);
+    // -moz-transform: scale(2);
+    transition-duration: 0.5s;
+  }
+	.container {
+	  padding: 32px 20px;
+	  .configuration {
+	    width: 600px;
+	  }
+	}
+
+	.bg-purple {
+	    background: #d3dce6;
+	  }
+</style>

--
Gitblit v1.9.1