From c4ae31671404ac52c0c9316a97de2bfa72fadbaa Mon Sep 17 00:00:00 2001
From: 84702473 <84702473@qq.com>
Date: 星期二, 07 三月 2023 23:38:19 +0800
Subject: [PATCH] 优化

---
 src/views/exam/paper/values.vue |  127 ++++++++++++++++++++++++++++--------------
 1 files changed, 85 insertions(+), 42 deletions(-)

diff --git a/src/views/exam/paper/values.vue b/src/views/exam/paper/values.vue
index 38d8fbf..e12b9db 100644
--- a/src/views/exam/paper/values.vue
+++ b/src/views/exam/paper/values.vue
@@ -14,12 +14,23 @@
 						{{$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 v-for="(question,index1) in questionItems" class="mullinediv-item" v-if="isNull(question.analyze)">
+						<div style="display: flex; justify-content: flex-end;margin-right: -20px;">
+							<el-image
+							      class="tools-button"
+							      :src="require('@/assets/exam-paper/scale.png')" @click="previewImg('qImg'+question.id,question.id)"></el-image>
+						</div>
+						<el-image :ref="'qImg'+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/nogood.png')" @click="unLikeMe(question.id)"></el-image>
+							<el-image
+										class="tools-button"
+										:src="require('@/assets/exam-paper/question.png')" @click="iAmNotSure(question.id)"></el-image>
+							<el-image
+							      class="tools-button"
+							      :src="require('@/assets/exam-paper/good.png')" @click="likeMe(question.id)"></el-image>
 						</div>
 					</div>
 				</div>
@@ -30,7 +41,7 @@
 				<div>
 					<div class="tag-group">
 						<span class="tag-group__title"
-							style="padding-right: 20px;">{{$t('values_cur_step')}}锛坽{step2SubStep}} /
+							style="padding-right: 20px;font-size: 26px;">{{$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"
@@ -59,14 +70,16 @@
 							/ {{getStep2StepItem(step2SubStep).quantity}}</span> </el-divider>
 					<div style="">
 						<div class="inlinediv">
-							<div v-for="question in questionItems" class="mullinediv-item"
+							<div v-for="(question,index2) 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> -->
+								<el-image :ref="'q2SelectImg'+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/no.png')" @click="step2Delete(question.id,getStep2StepItem(step2SubStep).itemOrder)"></el-image>
+									<el-image
+									      class="tools-button"
+									      :src="require('@/assets/exam-paper/scale.png')" @click="previewImg('q2SelectImg'+question.id)"></el-image>
 								</div>
 							</div>
 						</div>
@@ -74,19 +87,20 @@
 						<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"
+								<div v-for="(question,index3) 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> -->
+									<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="sumUnSelectedNum()<=0">
+							<div class="mullinediv" style="" v-if="sumStep2UnSelectedNum()<=0">
 								{{$t('values_no_select')}}
 							</div>
 						</div>
@@ -95,6 +109,10 @@
 		</el-container>
 		<el-container class="app-item-contain step3" v-if="step === 'step3'">
 			<el-main class="">
+				<div style="display: flex;justify-content: flex-end;">
+					<el-button style="margin-top: 12px;" @click="step3_commit" :disabled="submitDisable">
+						{{$t('commit')}}</el-button>
+				</div>
 				<div style="display:flex;">
 					<div style="display: inline-block;min-width: 110px;text-align: right;">
 						<div class="mul-inlinediv-row mul-inlinediv-lineheight"
@@ -123,10 +141,7 @@
 						</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">
@@ -542,6 +557,12 @@
 				//console.log('step1_start...',this.questionItems)
 			},
 			step1_next() {
+				let _this = this
+				let c = this.sumStep1UnSelectedNum()
+				if(c > 0){
+					this.$message.error(_this.$t('values_nextStepTips_choices_all'))
+					return
+				}
 				this.step = "step2"
 				this.sortQuestions()
 				this.caculateScoreRangeSelectedById(this.getStep2StepItem(this.step2SubStep).itemOrder)
@@ -554,7 +575,7 @@
 			step2_next() {
 				let _this = this
 				let stepItem = this.getStep2StepItem(this.step2SubStep)
-				if (stepItem.selected == stepItem.quantity || this.sumUnSelectedNum() == 0) {
+				if (stepItem.selected == stepItem.quantity || this.sumStep2UnSelectedNum() == 0) {
 					_this.answer.verifyStatus = 2
 					_this.submitSubAnswer()
 
@@ -581,7 +602,7 @@
 				this.resetQuestionItemsValueById(qid, "subjectId", null) //鍊熺敤subjectId锛屽瓨鍌�
 				this.caculateScoreRangeSelectedById(sid, -1)
 			},
-			step2Add(value, qid, sid) {
+			step2Add(qid, sid) {
 				//console.log("step2Add....",value,qid,sid)
 				this.resetQuestionItemsValueById(qid, "subjectId", sid) //鍊熺敤subjectId锛屽瓨鍌�
 				this.caculateScoreRangeSelectedById(sid, 1)
@@ -612,10 +633,19 @@
 					}
 				}
 			},
-			sumUnSelectedNum() {
+			sumStep2UnSelectedNum() {
 				let count = 0
 				for (let item of this.questionItems) {
 					if (this.isNull(item['subjectId'])) {
+						count = count + 1
+					}
+				}
+				return count
+			},
+			sumStep1UnSelectedNum() {
+				let count = 0
+				for (let item of this.questionItems) {
+					if (this.isNull(item['analyze'])) {
 						count = count + 1
 					}
 				}
@@ -719,6 +749,11 @@
 				}
 				//console.log('resetQuestionItems...',id,key,value,this.questionItems)
 			},
+			/**
+			 * 璁$畻姝ラid鐨勫凡閫夋嫨鏁伴噺
+			 * @param {Object} id
+			 * @param {Object} value
+			 */
 			caculateScoreRangeSelectedById(id, value) {
 				let sum = 0
 				for (let item of this.questionItems) {
@@ -1421,6 +1456,9 @@
 				return _this.form.titleItems[0].questionItems[_this.order].partOrder !== _this.form.titleItems[0]
 					.questionItems[_this.order - 1].partOrder
 			},
+			previewImg(refName){
+				this.$refs[refName][0].showViewer = true
+			},
 			...mapMutations('user', ['setMemberTocken']),
 			...mapMutations('user', ['setLangType']),
 			...mapMutations('user', ['setLangFlag'])
@@ -1467,7 +1505,7 @@
 		overflow-y: hidden;
 		overflow-x: auto;
 		white-space: nowrap;
-		border: 1px solid gray;
+		//border: 1px solid gray;
 		padding: 10px 0;
 		width: fit-content;
 	}
@@ -1493,14 +1531,14 @@
 		overflow-y: hidden;
 		overflow-x: auto;
 		white-space: nowrap;
-		min-height: 180px;
+		min-height: 360px;
 		display: flex;
 	}
 
 	.inlinediv div {
 		display: inline-table;
 		vertical-align: top;
-		width: 100px;
+		//width: 360px;
 		margin: auto 2px;
 	}
 
@@ -1510,21 +1548,26 @@
 
 	.mullinediv-item {
 		display: flex;
-		display:
-			inline-block;
-		width: 180px;
+		display:inline-block;
+		width: 360px;
 		margin: 5px 4px;
+		padding: 10px 30px;
+		box-shadow: 1px 1px 1px grey, 0 0 5px grey, 0 0 10px grey;
+		
+		.tools-button {
+			width: 20px; height: 20px;cursor: pointer;
+		}
 	}
 
 	.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;
+		// transform: scale(2);
+		// -ms-transform: scale(2);
+		// -webkit-transform: scale(2);
+		// -o-transform: scale(2);
+		// -moz-transform: scale(2);
+		// transition-duration: 0.5s;
 	}
 
 	.container {

--
Gitblit v1.9.1