Explorar o código

Merge branch 'develop3.0-tmd' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop3.0-tmd

zhouj1203@hotmail.com %!s(int64=4) %!d(string=hai) anos
pai
achega
9df918c098

+ 1 - 1
TEAMModelOS/ClientApp/package.json

@@ -77,7 +77,7 @@
 		"vuex": "^3.0.1",
 		"vuex-oidc": "^3.3.0",
 		"vuex-router-sync": "^5.0.0",
-		"wangeditor": "^3.1.1",
+		"wangeditor": "4.5.2",
 		"xlsx": "^0.15.1"
 	},
 	"devDependencies": {

+ 46 - 36
TEAMModelOS/ClientApp/src/components/learnactivity/BaseVoteForm.vue

@@ -1,26 +1,26 @@
 <template>
     <div class="component-vote-form">
-        <Form ref="hwForm" :model="hwForm" label-position="top" :rules="ruleValidate" :disabled="!voteFormEdit">
+        <Form ref="voteForm" :model="voteForm" label-position="top" :rules="ruleValidate" :disabled="!voteFormEdit">
             <FormItem label="投票名称" prop="name">
-                <Input :class="!voteFormEdit ? 'vote-form-disabled':''" v-model="hwForm.name" placeholder="请输入投票名称"></Input>
+                <Input :class="!voteFormEdit ? 'vote-form-disabled':''" v-model="voteForm.name" placeholder="请输入投票名称"></Input>
             </FormItem>
             <FormItem label="投票对象" prop="targetClassIds">
 				<div v-if="!voteFormEdit && curVoteItem" class="vote-class">
 					<span v-for="item in curVoteItem.targetClassIds" class="vote-class-item">{{ getTargetName(item) }}</span>
 				</div>
-				<Select multiple v-model="hwForm.targetClassIds" :class="!voteFormEdit ? 'vote-form-disabled':''" placeholder="请选择投票发布对象" v-else>
+				<Select multiple v-model="voteForm.targetClassIds" :class="!voteFormEdit ? 'vote-form-disabled':''" placeholder="请选择投票发布对象" v-else>
 				    <Option v-for="item in classRooms" :value="item.id" :key="item.id">{{ item.name }}</Option>
 				</Select>
             </FormItem>
 			
-			<FormItem label="起止时间" prop="startTime">
-			    <!-- <DatePicker type="datetime" :class="!voteFormEdit ? 'vote-form-disabled':''" :editable="isDateEdit" placeholder="请选择投票结束时间" v-model="hwForm.endTime"  :options="endTimeOptions"></DatePicker> -->
-				<DatePicker type="datetimerange" @on-change="onChangeRange" format="yyyy-MM-dd HH:mm" :class="!voteFormEdit ? 'vote-form-disabled':''" :editable="isDateEdit" :value="[hwForm.startTime,hwForm.endTime]" placeholder="请选择投票结束时间"></DatePicker>
+			<FormItem label="起止时间" prop="rangeTime">
+			    <!-- <DatePicker type="datetime" :class="!voteFormEdit ? 'vote-form-disabled':''" :editable="isDateEdit" placeholder="请选择投票结束时间" v-model="voteForm.endTime"  :options="endTimeOptions"></DatePicker> -->
+				<DatePicker type="datetimerange" @on-change="onChangeRange" format="yyyy-MM-dd HH:mm" :class="!voteFormEdit ? 'vote-form-disabled':''" :editable="isDateEdit" :value="[voteForm.startTime,voteForm.endTime]" placeholder="请选择投票结束时间"></DatePicker>
 			</FormItem>
 
             <FormItem label="投票描述" prop="description">
                 <div ref="descriptionEditor" style="text-align:left" v-show="voteFormEdit"></div>
-                <div v-html="hwForm.description" v-show="!voteFormEdit" style="margin:10px;font-size:16px;font-weight:bold;color:#fff"></div>
+                <div v-html="voteForm.description" v-show="!voteFormEdit" style="margin:10px;font-size:16px;font-weight:bold;color:#fff"></div>
             </FormItem>
 
             <FormItem label="选项设置" prop="attachment" ref="optionsBox">
@@ -41,25 +41,25 @@
             </FormItem>
 
             <!--<FormItem label="投票记录" prop="isReset" v-show="editable && isEdit">
-                <CheckboxGroup v-model="hwForm.isReset">
+                <CheckboxGroup v-model="voteForm.isReset">
                     <Checkbox label="reset">清空投票提交记录</Checkbox>
                 </CheckboxGroup>
             </FormItem>-->
 
             <FormItem label="可投票数" prop="selectMax">
-                <!--<Input :class="!voteFormEdit ? 'vote-form-disabled':''" v-model="hwForm.count" placeholder="请输入投票名称"></Input>-->
-                <InputNumber :max="10" :min="1" v-model="hwForm.selectMax"></InputNumber>
+                <!--<Input :class="!voteFormEdit ? 'vote-form-disabled':''" v-model="voteForm.count" placeholder="请输入投票名称"></Input>-->
+                <InputNumber :max="10" :min="1" v-model="voteForm.selectMax"></InputNumber>
             </FormItem>
 
             <FormItem label="其他" prop="secret">
-                <CheckboxGroup v-model="hwForm.secret">
+                <CheckboxGroup v-model="voteForm.secret">
                     <Checkbox label="secret">开启匿名投票</Checkbox>
                 </CheckboxGroup>
             </FormItem>
 
             <FormItem v-show="voteFormEdit">
-                <Button type="primary" class="btn-save" @click="handleSubmit('hwForm')" :loading="isBtnLoading">保存</Button>
-                <Button @click="handleCancel('hwForm')" class="btn-reset" style="margin-left: 8px">取消</Button>
+                <Button type="primary" class="btn-save" @click="handleSubmit('voteForm')" :loading="isBtnLoading">保存</Button>
+                <Button @click="handleCancel('voteForm')" class="btn-reset" style="margin-left: 8px">取消</Button>
             </FormItem>
         </Form>
     </div>
@@ -98,13 +98,13 @@
                 },
                 voteOptions: [...new Array(2).keys()], // 默认四个选项,
                 voteOptionsContent:[],
-                hwForm: {
+                voteForm: {
                     name: '',
                     targetClassIds: [],
                     endTime: '',
                     publishModel:'0',
                     startTime:'',
-					rangeTime:[],
+					rangeTime:null,
                     description: '',
                     isReset: [],
                     selectMax:1,
@@ -149,9 +149,12 @@
                     startTime: [
                         { required: true, type: 'date', message: '请设置起止时间', trigger: 'change' }
                     ],
-                    // rangeTime: [
-                    //     { required: true,  message: '请设置起止时间', trigger: 'change' }
-                    // ]
+                    rangeTime: [{
+                    	required: true,
+                    	message: '日期不能为空!',
+                    	trigger: 'change',
+                    	type: 'array'
+                    }]
                     
                 }
             }
@@ -162,9 +165,15 @@
 		},
         methods: {
 			
-			onChangeRange(arr){
-				this.hwForm.startTime = this.getTimestampByString(arr[0])
-				this.hwForm.endTime = this.getTimestampByString(arr[1])
+			onChangeRange(arr) {
+				if(arr[0] === ''){
+					this.voteForm.rangeTime = null
+				}else{
+					this.voteForm.startTime = this.getTimestampByString(arr[0])
+					this.voteForm.endTime = this.getTimestampByString(arr[1])
+					this.voteForm.rangeTime = arr
+				}
+				console.log(this.rangeTime)
 			},
 			
 			getTimestampByString(str){
@@ -180,25 +189,25 @@
             async handleSubmit(name) {
 				this.isBtnLoading = true
                 this.$refs[name].validate(async (valid) => {
-                    if (valid && this.getSimpleText(this.hwForm.description) && this.voteOptionsContent.length) {
-						console.log(this.hwForm)
+                    if (valid && this.getSimpleText(this.voteForm.description) && this.voteOptionsContent.length) {
+						console.log(this.voteForm)
                         let params = Object.assign({}, this.defaultParams)
                         let target = []
 						let fileName = this.$tools.guid()
-                        let isReset = this.hwForm.isReset.length > 0
+                        let isReset = this.voteForm.isReset.length > 0
                         params.code = this.getCurCode,
                         params.scope = this.getCurScope,
-                        params.name = this.hwForm.name
-                        params.startTime = this.hwForm.startTime
-                        params.endTime = this.hwForm.endTime
-                        params.description = this.hwForm.description
-                        params.selectMax = this.hwForm.selectMax
-                        params.secret = this.hwForm.secret.indexOf('secret') > -1
+                        params.name = this.voteForm.name
+                        params.startTime = this.voteForm.startTime
+                        params.endTime = this.voteForm.endTime
+                        params.description = this.voteForm.description
+                        params.selectMax = this.voteForm.selectMax
+                        params.secret = this.voteForm.secret.indexOf('secret') > -1
                         params.options = this.voteOptionsContent
                         if (this.isEdit && this.editInfo.id && this.editInfo.code) {
                             params.id = this.editInfo.id
                         }                                   
-                        params.targetClassIds = this.hwForm.targetClassIds
+                        params.targetClassIds = this.voteForm.targetClassIds
 						console.log(params)
 						/* 保存BLOB以及COSMOS */
 						this.saveorUpdateVote({ vote: params, reset: isReset }).then(res => {
@@ -365,7 +374,7 @@
              * @param name
              */
             handleCancel() {
-                console.log(this.curVoteItem)
+				// 如果是新增的问卷点击取消编辑 则需要进行特殊处理
 				if(!this.curVoteItem.id){
 					this.$emit('onCancelVote')
 				}
@@ -411,12 +420,13 @@
 				this.voteOptionsContent = []
 				this.voteOptions = []
 				this.initEditors()
-                this.hwForm = {
+                this.voteForm = {
                     name: item.name,
 					code:item.code,
                     targetClassIds: item.targetClassIds || [],
                     startTime: item.startTime,
                     endTime: item.endTime,
+					rangeTime: item.endTime ? [item.startTime,item.endTime] : null,
                     description: item.description,
                     secret: item.secret ? ['secret'] : [],
                     selectMax: item.selectMax,
@@ -447,7 +457,7 @@
             //this.initEditors()
             let descriptionEditor = new E(this.$refs.descriptionEditor)
             descriptionEditor.customConfig = this.defaultConfig
-            descriptionEditor.customConfig.onchange = (html) => { this.hwForm.description = html }
+            descriptionEditor.customConfig.onchange = (html) => { this.voteForm.description = html }
             descriptionEditor.create()
             this.descriptionEditor = descriptionEditor
 
@@ -463,7 +473,7 @@
         },
         computed:{
         	getDisableDays(){
-        		return this.hwForm.startTime
+        		return this.voteForm.startTime
         	},
 			getCurCode(){
 				return this.$route.name === 'personalVote' ? this.$store.state.userInfo.TEAMModelId : this.$store.state.userInfo.schoolCode
@@ -486,7 +496,7 @@
                     } else {
                         /** 新增 */
 						console.log(newValue)
-                        this.handleReset('hwForm')
+                        this.handleReset('voteForm')
                         this.isEdit = false
                         this.editInfo = null
                     }

+ 0 - 1
TEAMModelOS/ClientApp/src/components/learnactivity/NewChooseContent.vue

@@ -600,7 +600,6 @@ import { json } from 'd3'
             //获取区班校基础数据
             getSchoolBaseInfo() {
                 //直接读取登录成功拿到得学校基础信息
-                console.log(JSON.stringify(this.$store.state.user.schoolProfile.school_base))
                 let schoolBase = JSON.parse(JSON.stringify(this.$store.state.user.schoolProfile.school_base))
                 if (schoolBase) {
                     if (schoolBase.period.length > 0) {

+ 2 - 2
TEAMModelOS/ClientApp/src/components/questionnaire/BaseJudge.vue

@@ -9,7 +9,7 @@
 			<div v-if="options.length">
 				<div v-for="(item,index) in options" :key="index" class="option-editor-wrap" style="margin-top:10px;display:flex">
 					<span class="fl-center option-order">{{String.fromCharCode(64 + parseInt(index+1))}}</span>
-					<div :ref="'singleOption'+item" style="text-align:left" class="option-editor" @click="optionClick(item)"></div>
+					<div :ref="'singleOption'+item" style="text-align:left" class="qn-option-editor" @click="optionClick(item)"></div>
 					<span class="fl-center option-delete" @click="deleteOption(index)"><Icon type="md-close" /></span>
 				</div>
 			</div>
@@ -68,7 +68,7 @@
 
                         // 选项编辑器失焦隐藏工具栏
                         editor.customConfig.onblur = function () {
-                            let allToolbars = document.getElementsByClassName('option-editor')
+                            let allToolbars = document.getElementsByClassName('qn-option-editor')
                             for (let i = 0; i < allToolbars.length; i++) {
                                 if (allToolbars[i].children.length) {
                                     allToolbars[i].children[0].style.visibility = 'hidden'

+ 2 - 2
TEAMModelOS/ClientApp/src/components/questionnaire/BaseMultiple.vue

@@ -9,7 +9,7 @@
 			<div v-if="options.length">
 				<div v-for="(item,index) in options" :key="index" class="option-editor-wrap" style="margin-top:10px;display:flex">
 					<span class="fl-center option-order">{{String.fromCharCode(64 + parseInt(index+1))}}</span>
-					<div :ref="'singleOption'+item" style="text-align:left" class="option-editor" @click="optionClick(item)"></div>
+					<div :ref="'singleOption'+item" style="text-align:left" class="qn-option-editor" @click="optionClick(item)"></div>
 					<span class="fl-center option-delete" @click="deleteOption(index)"><Icon type="md-close" /></span>
 				</div>
 			</div>
@@ -67,7 +67,7 @@
 
                         // 选项编辑器失焦隐藏工具栏
                         editor.customConfig.onblur = function () {
-                            let allToolbars = document.getElementsByClassName('option-editor')
+                            let allToolbars = document.getElementsByClassName('qn-option-editor')
                             for (let i = 0; i < allToolbars.length; i++) {
                                 if (allToolbars[i].children.length) {
                                     allToolbars[i].children[0].style.visibility = 'hidden'

+ 18 - 26
TEAMModelOS/ClientApp/src/components/questionnaire/BaseQnForm.vue

@@ -11,9 +11,9 @@
 				</Select>
 			</FormItem>
 
-			<FormItem label="起止时间" prop="startTime">
+			<FormItem label="起止时间" prop="rangeTime">
 				<DatePicker type="datetimerange" @on-change="onChangeRange" format="yyyy-MM-dd HH:mm" :class="!qnFormEdit ? 'qn-form-disabled':''"
-				  :editable="isDateEdit" placeholder="请选择问卷起止时间" :value="[qnForm.startTime,qnForm.endTime]">
+				 :editable="isDateEdit" placeholder="请选择问卷起止时间" :value="[qnForm.startTime,qnForm.endTime]">
 
 				</DatePicker>
 			</FormItem>
@@ -75,6 +75,7 @@
 					targetClassIds: [],
 					endTime: '',
 					publishModel: '0',
+					rangeTime: [],
 					startTime: '',
 					description: '',
 					isReset: [],
@@ -90,16 +91,6 @@
 					resource: []
 				},
 				uploadList: [],
-				startTimeOptions: {
-					disabledDate: date => {
-						return date && date.valueOf() < Date.now() - 86400000;
-					}
-				},
-				endTimeOptions: {
-					disabledDate: date => {
-						return date && date.valueOf() < this.getDisableDays;
-					}
-				},
 				ruleValidate: {
 					name: [{
 						required: true,
@@ -120,27 +111,27 @@
 						required: true,
 						message: '问卷对象不能为空'
 					}],
-					startTime: [{
-						required: true,
-						type: 'date',
-						message: '请设置发布时间',
-						trigger: 'change'
-					}],
-					endTime: [{
+					rangeTime: [{
 						required: true,
-						type: 'date',
-						message: '请设置结束时间',
-						trigger: 'change'
+						message: '日期不能为空!',
+						trigger: 'change',
+						type: 'array'
 					}]
-
 				}
 			}
 		},
 		methods: {
 
 			onChangeRange(arr) {
-				this.qnForm.startTime = this.getTimestampByString(arr[0])
-				this.qnForm.endTime = this.getTimestampByString(arr[1])
+				if(arr[0] === ''){
+					this.qnForm.rangeTime = null
+					this.qnForm.startTime = ''
+					this.qnForm.rangeTime = ''
+				}else{
+					this.qnForm.startTime = this.getTimestampByString(arr[0])
+					this.qnForm.endTime = this.getTimestampByString(arr[1])
+					this.qnForm.rangeTime = arr
+				}
 			},
 
 			getTimestampByString(str) {
@@ -252,7 +243,8 @@
 					targetClassIds: item.targetClassIds || [],
 					startTime: item.endTime ? item.startTime : '',
 					endTime: item.endTime ? item.endTime : '',
-					description: item.description
+					description: item.description,
+					rangeTime: item.endTime ? [item.startTime,item.endTime] : null
 				}
 				this.currentState = item.state
 

+ 1 - 1
TEAMModelOS/ClientApp/src/components/questionnaire/BaseQuestionnaire.vue

@@ -202,7 +202,7 @@
 
 			/* 编辑单个题目 */
 			onItemEdit(item, index) {
-				if(this.editIndex === index){
+				if(this.editIndex === index && this.curItem === item ){
 					// this.$refs.addItem.doRender(item)
 				}else{
 					this.curItem = item

+ 18 - 21
TEAMModelOS/ClientApp/src/components/questionnaire/BaseSingle.less

@@ -7,6 +7,8 @@
 	@second-fontSize: 16px;
 	.question-single{
 		
+		padding: 0 20px;
+		
 		.w-e-toolbar {
 		    background: @main-bgColor !important;
 		    border-color: @borderColor !important;
@@ -22,8 +24,13 @@
 			}
 		}
 		
+		.w-e-text{
+			// overflow: hidden;
+		}
+		
 		.w-e-text-container {
 		    height: 150px !important;
+		    min-height: 150px !important;
 			background: #3b3b3b;
 		    border-color: @borderColor !important;
 		    z-index: 0 !important;
@@ -37,6 +44,9 @@
 			margin: 7px 10px;
 			font-size: 18px;
 			color: #bfbfbf;
+			display: flex;
+			align-items: center;
+			justify-content: center;
 		}
 		
 		.option-add{
@@ -53,40 +63,27 @@
 		
 		    .option-order {
 				position: relative;
-		        display: inline-block;
-		        height: 42px;
+		        display: inline-flex;
+		        min-height: 42px;
 		        width: 10%;
 		        float: left;
 		        color: #a0a0a0;
 		        background: @main-bgColor;
-		        text-align: center;
-		        line-height: 42px;
-				
-				&:hover{
-					.btn-delete{
-						visibility: visible;
-					}
-				}
-				
-				.btn-delete{
-					position: absolute;
-					left: 35%;
-					top: 5px;
-					visibility: hidden;
-					cursor: pointer;
-				}
+		        align-items: center;
+				justify-content: center;
 		    }
 		
-		    .option-editor {
+		    .qn-option-editor {
 		        position: relative;
 		        display: inline-block;
-		        height: 42px;
+		        min-height: 42px;
 		        border: none;
 		        width: 100%;
 		    }
 		
 		    .w-e-text-container {
-		        height: 42px !important;
+		        height: auto !important;
+		        min-height: 42px !important;
 		        z-index: 0 !important;
 				border-top: 1px solid #4e4e4e !important;
 				border-left: none !important;

+ 11 - 7
TEAMModelOS/ClientApp/src/components/questionnaire/BaseSingle.vue

@@ -9,7 +9,7 @@
 			<div v-if="options.length">
 				<div v-for="(item,index) in options" :key="index" class="option-editor-wrap" style="margin-top:10px;display:flex">
 					<span class="fl-center option-order">{{String.fromCharCode(64 + parseInt(index+1))}}</span>
-					<div :ref="'singleOption'+item" style="text-align:left" class="option-editor" @click="optionClick(item)"></div>
+					<div :ref="'singleOption'+item" style="text-align:left" class="qn-option-editor" @click="optionClick(item)"></div>
 					<!-- <span :class="['fl-center', 'option-setting', trueIndex === index ? 'option-true':'']" @click="settingAnswer(index)">{{ trueIndex === index ? '正确答案' :'设为答案' }}</span> -->
 					<span class="fl-center option-delete" @click="deleteOption(index)"><Icon type="md-close" /></span>
 				</div>
@@ -69,7 +69,7 @@
 
                         // 选项编辑器失焦隐藏工具栏
                         editor.customConfig.onblur = function () {
-                            let allToolbars = document.getElementsByClassName('option-editor')
+                            let allToolbars = document.getElementsByClassName('qn-option-editor')
                             for (let i = 0; i < allToolbars.length; i++) {
                                 if (allToolbars[i].children.length) {
                                     allToolbars[i].children[0].style.visibility = 'hidden'
@@ -121,6 +121,7 @@
                 let optionsLength = this.options.length
                 if (optionsLength < 10) {
                     this.options.push(newIndex)
+                    this.optionsContent.push({code:String.fromCharCode(64 + parseInt(newIndex + 1)),value:''})
                     this.$nextTick(() => {
                         let editor = new E(that.$refs['singleOption' + newIndex][0])
                         editor.customConfig = this.defaultConfig
@@ -147,9 +148,14 @@
             },
             // 删除选项
             deleteOption(index) {
+                console.log(index);
                 console.log(this.options);
                 console.log(this.optionsContent.map(i => i.value));
                 let curEditor = this.optionEditors[index + 4]
+				let nextValue = index !== this.optionsContent.length - 1 ? this.optionsContent[index + 1].value : ''
+				console.log(this.optionsContent[index].value)
+				console.log('下一个选项的值为' + nextValue)
+				console.log('当前编辑器ID' + curEditor.toolbarElemId)
                 if (this.options.length > 2) {
                     this.options.splice(index, 1)
                     this.optionsContent.splice(index, 1)
@@ -160,11 +166,9 @@
                             this.optionsContent[i].code = String.fromCharCode(64 + parseInt(parseInt(i) + 1))
                         }
                     }
-                    curEditor.txt.html(this.optionsContent[index].value)
-                    console.log('删除后');
-                    console.log(this.options);
+                    nextValue && curEditor.txt.html(nextValue)
                     console.log(this.optionsContent.map(i => i.value));
-                    console.log(this.optionEditors);
+                    console.log(this.optionEditors.map(i => i.toolbarElemId));
                 } else {
                     this.$Message.warning('至少保留两个选项!')
                 }
@@ -242,6 +246,6 @@
         }
     }
 </script>
-<style lang="less">
+<style lang="less" scoped>
 	@import "./BaseSingle.less";
 </style>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 878 - 1034
TEAMModelOS/ClientApp/src/view/evaluation/bank/ExerciseList.vue


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 806 - 991
TEAMModelOS/ClientApp/src/view/evaluation/components/BaseEditExercise.vue


+ 1 - 3
TEAMModelOS/ClientApp/src/view/evaluation/components/BaseExerciseList.vue

@@ -203,7 +203,6 @@
 
 
 <script>
-	import BaseEditExercise from './BaseEditExercise'
 	import BaseChild from '../components/BaseChild'
 	export default {
 		props: {
@@ -217,8 +216,7 @@
 			}
 		},
 		components: {
-			BaseChild,
-			BaseEditExercise
+			BaseChild
 		},
 		data() {
 			return {

+ 0 - 4
TEAMModelOS/ClientApp/src/view/evaluation/components/BaseImport.vue

@@ -42,12 +42,8 @@
 </template>
 <script>
     import Loading from '@/common/Loading.vue'
-    import BaseEditExercise from './BaseEditExercise'
 	import FileSaver from "file-saver";
     export default {
-        components: {
-            Loading, BaseEditExercise
-        },
         props: ['period', 'subject'],
         data() {
             return {

+ 1 - 1
TEAMModelOS/ClientApp/src/view/knowledge-point/index/Index.vue

@@ -378,7 +378,7 @@
 			// 获取当前学校学段学科等基本信息
 			initSchoolData() {
 				this.$store.dispatch('user/getSchoolProfile').then(res => {
-						let schoolBaseInfo = res
+						let schoolBaseInfo = res.school_base
 						if(schoolBaseInfo){
 						this.schoolInfo = schoolBaseInfo
 						this.originSchoolData = schoolBaseInfo // 默认选择第一个

+ 6 - 1
TEAMModelOS/ClientApp/src/view/questionnaire/ManageQuestionnaire.vue

@@ -169,6 +169,7 @@
 						endTime: "",
 						startTime: "",
 						description: "",
+						rangeTime:[],
 						isReset: [],
 						progress: "pending",
 						other: [],
@@ -409,9 +410,12 @@
 			},
 
 			onCancelEditQn() {
+				console.log(this.currentQn)
+				console.log(this.qnList)
 				if (this.currentQn.id && this.qnList.length > 0) {
 					this.$refs.qnForm.qnFormEdit = false;
-					this.onQnClick(this.currentQn, this.activeQnIndex);
+					// this.onQnClick(this.currentQn, this.activeQnIndex);
+					this.$refs.qnForm.doRender(this.currentQn)
 				} else if (!this.currentQn.id && this.qnList.length > 1) {
 					this.onQnClick(this.qnList[1], 1)
 				} else {
@@ -422,6 +426,7 @@
 					this.activeQnIndex = 0;
 					this.isEmptyData = true;
 				}
+				this.isBtnLoading = false;
 				this.editable = false;
 			},
 

+ 1 - 2
TEAMModelOS/ClientApp/src/view/settings/SchoolMgmt.vue

@@ -153,7 +153,7 @@
 										type: 'primary'
 									},
 									style: {
-										display: this.mySchoolList.length ? (this.mySchoolList.map(i => i.schoolId).indexOf(params.row.id)  > -1 ? 'none' : 'unset') : 'unset'
+										display: this.originMySchoolList.length ? (this.originMySchoolList.map(i => i.schoolId).indexOf(params.row.id)  > -1 ? 'none' : 'unset') : 'unset'
 									},
 									on: {
 										click: () => {
@@ -332,7 +332,6 @@
 			
 			/* 搜索我的学校 */
 			onSearchChange(val){
-				console.log(val)
 				this.mySchoolList = this.originMySchoolList.filter(item => item.name.indexOf(this.mySchoolSearch) > -1)
 			},
 			

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 728 - 882
TEAMModelOS/ClientApp/src/view/student-analysis/total-analysis/EvaluationList/TotalIndex.vue