瀏覽代碼

Merge branch 'develop5.0-tmd' of http://106.12.23.251:10000/TEAMMODEL/TEAMModelOS into develop5.0-tmd

CrazyIter_Bin 4 年之前
父節點
當前提交
c671d1cdff

二進制
TEAMModelOS/ClientApp/src/assets/image/bak_light.jpg


+ 2 - 2
TEAMModelOS/ClientApp/src/components/syllabus/DragTree.vue

@@ -720,13 +720,13 @@
 					// 判断是否为一级节点,如果是二级节点则需要拿对应的一级节点去做判断
 					let chapterId = nodeData.pid === this.volume.id ? nodeData.id : this.getChapterIdById(nodeData.id)
 					let chapterNode = this.treeDatas.find(i => i.id === chapterId)
-					return this.$access.can('admin.*|Syllabus_Edit') || this.volume.auth.map(i => i.tmdid).includes(userId) || (chapterNode && chapterNode.auth && chapterNode.auth.length && chapterNode.auth.map(i => i.tmdid).includes(userId))
+					return (!this.isSchool && !this.inShareView) || this.$access.can('admin.*|Syllabus_Edit') || this.volume.auth.map(i => i.tmdid).includes(userId) || (chapterNode && chapterNode.auth && chapterNode.auth.length && chapterNode.auth.map(i => i.tmdid).includes(userId))
 				}
 			},
 			// 判断当前用户是否可以删除当前章节
 			canDeleteChapter(){
 				let userId = this.$store.state.userInfo.TEAMModelId
-				return this.$access.can('admin.*|Syllabus_Edit') || this.volume.auth.map(i => i.tmdid).includes(userId)
+				return this.$access.can('admin.*|Syllabus_Edit') || this.volume.auth.map(i => i.tmdid).includes(userId) || !this.isSchool
 			},
 			curCode() {
 				return this.isSchool ? this.$store.state.userInfo.schoolCode : this.$store.state.userInfo.TEAMModelId

+ 1 - 1
TEAMModelOS/ClientApp/src/components/vote/BaseVoteForm.vue

@@ -90,7 +90,7 @@
 				<CheckboxGroup v-model="voteForm.secret">
 					<Checkbox label="secret">{{ $t('vote.form.openSecret') }}</Checkbox>
 				</CheckboxGroup>
-				<CheckboxGroup v-model="voteForm.repeat">
+				<CheckboxGroup v-model="voteForm.repeat" v-if="voteForm.selectMax > 1">
 					<Checkbox label="repeat">{{ $t('vote.form.openRepeat') }}</Checkbox>
 				</CheckboxGroup>
 			</FormItem>

+ 4 - 1
TEAMModelOS/ClientApp/src/locale/lang/en-US/learnActivity.js

@@ -272,7 +272,7 @@ export default{
         no:'否',
         allQu:'所有題目',
         noSet:'暫未設置',
-        quNoSet:'題設置',
+        quNoSet:'題設置',
         startErr:'請設置閱卷開始時間',
         endErr:'請設置閱卷結束時間',
         typeErr:'請設置分配方式',
@@ -285,6 +285,9 @@ export default{
         teacherErr:'閱捲和相關老師設置',
         saveOk:'保存成功! ',
         saveErr:'保存失敗! ',
+        byStuTips:'批閱整份試卷',
+        byQuTips:'批閱指定題目',
+        quBlock:'題目劃塊',
         //ByqU.vue & ByStu.vue
         quit:'退出阅卷',
         examName:'考试名称:',

+ 5 - 1
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/learnActivity.js

@@ -272,7 +272,7 @@ export default{
         no:'否',
         allQu:'所有题目',
         noSet:'暂未设置',
-        quNoSet:'题设置',
+        quNoSet:'题设置',
         startErr:'请设置阅卷开始时间',
         endErr:'请设置阅卷结束时间',
         typeErr:'请设置分配方式',
@@ -285,6 +285,10 @@ export default{
         teacherErr:'阅卷和相关老师设置',
         saveOk:'保存成功!',
         saveErr:'保存失败!',
+        byStuTips:'批阅整份试卷',
+        byQuTips:'批阅指定题目',
+        quBlock:'题目分块',
+        addBlock:'添加分块',
         //ByqU.vue & ByStu.vue
         quit:'退出阅卷',
         examName:'考试名称:',

+ 4 - 1
TEAMModelOS/ClientApp/src/locale/lang/zh-TW/learnActivity.js

@@ -272,7 +272,7 @@ export default {
         no:'否',
         allQu:'所有題目',
         noSet:'暫未設置',
-        quNoSet:'題設置',
+        quNoSet:'題設置',
         startErr:'請設置閱卷開始時間',
         endErr:'請設置閱卷結束時間',
         typeErr:'請設置分配方式',
@@ -285,6 +285,9 @@ export default {
         teacherErr:'閱捲和相關老師設置',
         saveOk:'保存成功! ',
         saveErr:'保存失敗! ',
+        byStuTips:'批閱整份試卷',
+        byQuTips:'批閱指定題目',
+        quBlock:'題目劃塊',
         //ByqU.vue & ByStu.vue
         quit:'退出閱卷',
         examName:'考試名稱:',

+ 1 - 2
TEAMModelOS/ClientApp/src/router/routes.js

@@ -270,8 +270,7 @@ export const routes = [
 				activeName: 'system',
 				// isKeep: true
 			},
-			// component: resolve => require(['@/view/schoolmgmt/SystemSetting/SystemSetting.vue'], resolve) //原来的基础设置UI
-			component: resolve => require(['@/view/schoolmgmt/SystemSetting/NewSystemSetting.vue'], resolve) //调整中的UI
+			component: resolve => require(['@/view/schoolmgmt/SystemSetting/SystemSetting.vue'], resolve) //调整中的UI
 		},
 		//班级教室管理
 		{

+ 15 - 7
TEAMModelOS/ClientApp/src/view/answersheet/BaseEditor.vue

@@ -286,6 +286,7 @@
 			// 渲染问答题
 			doInsertSubjective(items) {
 				this.$nextTick(() => {
+					let startPageIndex = 0
 					let scrollDom = this.$parent.$parent.$parent.$parent.$parent.$refs["evScroll"]
 					if (!scrollDom) return
 					let editorDom = this.myEditor.$textElem.elems[0]
@@ -355,7 +356,7 @@
 						let leftHeight = paperH - curEditorY - lastBottomGap - SVG_BORDER_MB;
 						let fixHeight = curEditorH - leftHeight + 20
 						// console.log(itemOrder, '距离第一页顶点的Y', Y);
-						if(itemOrder === 6){
+						// if(itemOrder === 6){
 							console.log(itemOrder, 'rectTop', rectTop);
 							console.log(itemOrder, 'scrollDis', scrollDis);
 							console.log(itemOrder, '距离第一页顶点的Y', Y);
@@ -363,15 +364,18 @@
 							console.log(itemOrder, '高度', curEditorH)
 							console.log(itemOrder, 'LEFT高度', leftHeight)
 							console.log(itemOrder, '需要fix的高度', fixHeight)
-						}
+						// }
+						
+						
 						
 						// 如果 渲染当前富文本的时候 需要渲染的高度超过当前页的剩余高度 则需要进行加页处理
 						if (curEditorY + curEditorH + lastBottomGap + SVG_BORDER_MB > PAPER_H) {
+							startPageIndex++
 							// console.log(itemOrder, Y , curEditorY , curEditorH , '超出了')
+							console.log('++++++++++++',itemOrder, '需要增加页码')
 							// 如果剩余高度满足渲染一部分区域 并且需要补充的区域 则需要进行跨页处理
 							if (leftHeight > 100) {
 								this.$store.commit("addPage");
-								console.log(itemOrder, '需要增加页码')
 								let heightArr = []
 								this.myEditor.config.height = leftHeight + 20;
 								heightArr.push(leftHeight)
@@ -394,7 +398,6 @@
 									splitHtmlArr.forEach((curEditorContent,editorIndex) => {
 										// console.log('富文本的分割高度',heightArr)
 										// console.log('富文本的分割',splitHtmlArr)
-										
 										let editorHeight = curEditorContent.html === '' ? heightArr[editorIndex] : heightArr[editorIndex]
 										// let curEditorContent = this.getSplitHtml(this.pArr,curEditorHeight)
 										if(editorIndex !== 0){
@@ -409,13 +412,18 @@
 							} else {
 								// 跨页处理不需要补充作答区域
 								this.$store.commit("addPage");
-								console.log(itemOrder, '需要增加页码')
-								document.getElementById(this.ids).style.marginTop = (PAPER_H - curEditorY + lastBottomGap + SVG_BORDER_PROP.y) + "px";
-								document.getElementById(this.ids + 'btn').style.top = (PAPER_H - curEditorY + lastBottomGap + SVG_BORDER_PROP.y + 20) + "px";
+								if(this.$parent.subjectiveItems.map(i => i.id).indexOf(this.curItemId) === 0){
+									this.$EventBus.$emit('titleMovePage','subjective')
+								}else{
+									document.getElementById(this.ids).style.marginTop = (PAPER_H - curEditorY + lastBottomGap + SVG_BORDER_PROP.y) + "px";
+									document.getElementById(this.ids + 'btn').style.top = (PAPER_H - curEditorY + lastBottomGap + SVG_BORDER_PROP.y + 20) + "px";
+								}
+								
 							}
 						} else {
 							document.getElementById(this.ids + 'btn') && (document.getElementById(this.ids + 'btn').style.top =  "20px")
 						}
+						console.log(itemOrder, '题目所在页码', this.$store.state.answerSheet.pages)
 						this.$root.$children[0].spinShow = false;
 						
 						

+ 4 - 3
TEAMModelOS/ClientApp/src/view/answersheet/SheetObjective.vue

@@ -101,7 +101,7 @@
 
 			// 渲染客观题目
 			doRenderItems(items, number) {
-				this.blockHeight = 26 * number
+				this.blockHeight = 24 * number
 				this.objectiveGroup && this.objectiveGroup.remove(); // 先清除之前的绘制内容
 				if (this.snap) {
 					this.objectiveGroup = this.snap.paper.g();
@@ -188,7 +188,7 @@
 				// 如果不够排满一列 则最后一块渲染的高度就是 差值的高度
 				let objectiveHeight = this.leftItems.length >= 0 ? refHeight - 26 * diff : refHeight
 				console.log(this.blockHeight,refHeight,this.leftItems.length);
-				console.log(startY,number,objectiveHeight);
+				console.log(startY,number,objectiveHeight); 
 				this.anchorRectY = startY +  objectiveHeight
 				console.log(this.anchorRectY)
 				for (let index = 0; index < 28; index++) {
@@ -205,6 +205,7 @@
 				// 添加纵向定位锚点
 				let anchorCount = this.objectiveItems.length > number ? number : this.objectiveItems.length
 				this.blockList.forEach((blockItem, blockIndex) => {
+					anchorCount = blockIndex === this.blockList.length - 1 ? Math.min(this.number,this.leftItems.length) : anchorCount
 					for (let index = 0; index < anchorCount; index++) {
 						this.objectiveGroup.add(
 							snap.rect(20, startY + GAP * index - 10 + (this.blockHeight * blockIndex),
@@ -306,7 +307,7 @@
 							objectiveArr.includes(item.type)
 						);
 
-						this.blockHeight = 26 * this.number
+						this.blockHeight = 24 * this.number
 						this.leftItems = JSON.parse(JSON.stringify(this.objectiveItems))
 						this.$nextTick(() => {
 							this.doRenderItems(this.objectiveItems, this.number);

+ 10 - 3
TEAMModelOS/ClientApp/src/view/answersheet/index.vue

@@ -12,18 +12,18 @@
 					<div v-for="(group,groupIndex) in groups" :key="groupIndex" class="sheet-group-item">
 						<div v-if="group.type === 'objective'">
 							<BaseTitleEditor :ids="'titleEditor' + groupIndex"
-								:content="titleContent(groupIndex,group)"></BaseTitleEditor>
+								:content="titleContent(groupIndex,group)" ref="objectiveTitleRef"></BaseTitleEditor>
 							<SheetObjective :items="items" v-show="groupItems.objectiveItems.length"
 								@onRendered="onRendered"></SheetObjective>
 						</div>
 						<div v-else-if="group.type === 'complete'">
 							<BaseTitleEditor :ids="'titleEditor' + groupIndex"
-								:content="titleContent(groupIndex,group)"></BaseTitleEditor>
+								:content="titleContent(groupIndex,group)" ref="completeTitleRef"></BaseTitleEditor>
 							<SheetComplete :items="items" v-if="groupItems.completeItems.length"></SheetComplete>
 						</div>
 						<div v-else>
 							<BaseTitleEditor :ids="'titleEditor' + groupIndex"
-								:content="titleContent(groupIndex,group)"></BaseTitleEditor>
+								:content="titleContent(groupIndex,group)" ref="subjectiveTitleRef"></BaseTitleEditor>
 							<SheetSubjective :items="groupItems.subjectiveItems"
 								v-show="groupItems.subjectiveItems.length"></SheetSubjective>
 						</div>
@@ -386,6 +386,13 @@
 				}
 				this.$EventBus.$emit('doRefresh')
 			})
+			this.$EventBus.$off('titleMovePage')
+			this.$EventBus.$on('titleMovePage', val => {
+				this.$nextTick(() => {
+					console.log(this.$refs.subjectiveTitleRef)
+					this.$refs.subjectiveTitleRef[0].$el.style.marginTop = '200px'
+				})
+			})
 		},
 		beforeRouteEnter(to, from, next) {
 			next(vm => {

+ 190 - 11
TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkSetting.vue

@@ -32,11 +32,17 @@
                             <Col :md="24" :lg="24" :xl="12" :xxl="8">
                             <FormItem :label="$t('learnActivity.mark.allocation')" class="setting-item-wrap" prop="mode">
                                 <RadioGroup v-model="setting.mode" style="color:white">
-                                    <Radio label="full">
+                                    <Radio label="stu">
                                         {{$t('learnActivity.mark.allocationByStu')}}
+                                        <Tooltip :content="$t('learnActivity.mark.byStuTips')">
+                                            <Icon type="md-help-circle" color="#a5a5a5" />
+                                        </Tooltip>
                                     </Radio>
-                                    <Radio disabled label="qu" style="margin-left:20px">
-                                        {{$t('learnActivity.mark.allocationByQu')}}(开发中)
+                                    <Radio label="qu" style="margin-left:20px">
+                                        {{$t('learnActivity.mark.allocationByQu')}}
+                                        <Tooltip :content="$t('learnActivity.mark.byQuTips')">
+                                            <Icon type="md-help-circle" color="#a5a5a5" />
+                                        </Tooltip>
                                     </Radio>
                                 </RadioGroup>
                             </FormItem>
@@ -95,7 +101,7 @@
                                 </Select>
                             </FormItem>
                             </Col>
-                            <Col :md="24" :lg="24" :xl="24" :xxl="24">
+                            <Col :md="24" :lg="24" :xl="24" :xxl="24" v-if="setting.mode == 'stu'">
                             <!-- 阅卷老师 -->
                             <FormItem :label="$t('learnActivity.mark.markRole')" class="setting-item-wrap dark-iview-table" prop="markers">
                                 <Table :columns="teaCol" :data="markers" border :no-data-text="$t('learnActivity.mark.noTea')">
@@ -112,8 +118,8 @@
                                         <span>{{`${row.count}/${evInfo.stuCount * setting.num}`}}</span>
                                     </template>
                                     <template slot-scope="{ row }" slot="qu">
-                                        <span :style="{color:setting.mode == 'full' ? '#2db7f5' : row.qu.length ? '#FFFFFF' : '#ed4014'}">
-                                            {{setting.mode == 'full' ? $t('learnActivity.mark.allQu') : row.qu.length ? row.qu.join(',') : $t('learnActivity.mark.noSet')}}
+                                        <span :style="{color:setting.mode == 'stu' ? '#2db7f5' : row.qu.length ? '#FFFFFF' : '#ed4014'}">
+                                            {{setting.mode == 'stu' ? $t('learnActivity.mark.allQu') : row.qu.length ? row.qu.join(',') : $t('learnActivity.mark.noSet')}}
                                         </span>
                                     </template>
                                 </Table>
@@ -123,11 +129,42 @@
                                 </span>
                             </FormItem>
                             </Col>
+                            <Col :md="24" :lg="24" :xl="24" :xxl="24" v-else>
+                            <!-- 题目划块 -->
+                            <FormItem :label="$t('learnActivity.mark.quBlock')" class="setting-item-wrap dark-iview-table" prop="markers">
+                                <Table :columns="blockCol" :data="blockData" border>
+                                    <template slot-scope="{ row,index }" slot="action">
+                                        <Button type="info" size="small" style="margin-right:10px" @click="setQuStatus = true">
+                                            {{$t('learnActivity.mgtScEv.edit')}}
+                                        </Button>
+                                        <Button type="error" size="small" @click="removeMarker(row,index)">{{$t('learnActivity.mark.remove')}}</Button>
+                                    </template>
+                                    <template slot-scope="{ row }" slot="count">
+                                        <span>{{`${row.count}/${evInfo.stuCount * setting.num}`}}</span>
+                                    </template>
+                                    <template slot-scope="{ row }" slot="quLabel">
+                                        <span style="word-break: break-word;">
+                                            {{getQuLabels(row.quNo).join(', ')}}
+                                        </span>
+                                    </template>
+                                    <template slot-scope="{ row }" slot="teachers">
+                                        <span style="word-break: break-word;">
+                                            {{row.teachers.map(item=>item.name).join(', ')}}
+                                        </span>
+                                    </template>
+                                </Table>
+                                <span class="add-tea-btn" v-if="$access.can('admin.*|schoolAc-upd')" @click="setQuStatus = true">
+                                    <Icon type="md-add" />
+                                    {{$t('learnActivity.mark.addBlock')}}
+                                </span>
+                            </FormItem>
+                            </Col>
                         </Row>
                     </Form>
                 </div>
             </div>
         </vuescroll>
+        <!-- 按人分配设置阅卷老师 -->
         <Modal v-model="addTeaStatus" :title="$t('learnActivity.mark.addTeaTitle')" class-name="dark-iview-modal dark-iview-table" @on-ok="okAddTea" :width="1000">
             <Table ref="sltTea" :columns="teacherCol" :data="teacherList" style="margin-top:10px" @on-selection-change="(selection)=>{sltTeachers = selection}" height="600">
                 <template slot-scope="{ row }" slot="picture">
@@ -138,8 +175,27 @@
                 </template>
             </Table>
         </Modal>
-        <Modal v-model="setQuStatus" :title="$t('learnActivity.mark.quNoSet')" class-name="dark-iview-modal dark-iview-table" @on-ok="okSetQu" :width="1000">
-
+        <!-- 按题分配设置题块和老师 -->
+        <Modal v-model="setQuStatus" class-name="dark-iview-modal dark-iview-table" @on-ok="okSetQu" :width="1000">
+            <Tabs value="name1" style="color:white">
+                <TabPane label="题目" name="name1">
+                    <CheckboxGroup v-model="quBlock" style="margin-left:10px">
+                        <Checkbox v-for="(item,index) in quNoList" :key="index" :label="item.value">
+                            <span class="qu-no-label">{{item.label}}</span>
+                        </Checkbox>
+                    </CheckboxGroup>
+                </TabPane>
+                <TabPane label="教师" name="name2">
+                    <Table ref="quTea" :columns="teacherCol" :data="teacherList" @on-selection-change="(selection)=>{quTeachers = selection}" height="600">
+                        <template slot-scope="{ row }" slot="picture">
+                            <PersonalPhoto :name="row.name" :picture="row.picture" />
+                        </template>
+                        <template slot-scope="{ row }" slot="job">
+                            <span>{{row.job || '--'}}</span>
+                        </template>
+                    </Table>
+                </TabPane>
+            </Tabs>
         </Modal>
     </div>
 </template>
@@ -168,6 +224,8 @@ export default {
     data() {
         let _this = this
         return {
+            quBlock: [],
+            blockData: [],
             isSetting: false,
             ruleValidate: {
                 startTime: [
@@ -209,7 +267,7 @@ export default {
                 createTime: '',
                 endTime: '',
                 scode: '',//评测的分区键
-                mode: 'full',//阅卷模式 按人 full  按题 qu
+                mode: 'stu',//阅卷模式 按人 stu  按题 qu
                 num: 1,//阅卷次数
                 isErr: 0, //是否有异常处理流程 0/1
                 isArb: 0, //是否有仲裁处理流程 0/1
@@ -234,7 +292,8 @@ export default {
             },
             addTeaStatus: false,
             teacherList: [],
-            sltTeachers: [],
+            sltTeachers: [], //按人分配时,设置老师
+            quTeachers:[], //按题分配时,设置老师
             teacherCol: [
                 {
                     type: 'selection',
@@ -295,6 +354,37 @@ export default {
                     align: 'center'
                 },
             ],
+            blockCol: [
+                {
+                    title: '序号',
+                    type: 'index',
+                    align: 'center',
+                    width: 80
+                },
+                {
+                    title: '题号',
+                    slot: 'quLabel',
+                    align: 'center',
+                    width: 180
+                },
+                {
+                    title: '阅卷教师',
+                    slot: 'teachers',
+                    align: 'center'
+                },
+                {
+                    title: '阅卷量',
+                    key: 'num',
+                    align: 'center',
+                    width: 120
+                },
+                {
+                    title: '',
+                    slot: 'action',
+                    align: 'center',
+                    width: 150
+                },
+            ],
             dateOpt: {
                 disabledDate(date) {
                     return date && date.valueOf() < Date.now() - 86400000
@@ -314,6 +404,38 @@ export default {
         MarkProgress, CptCount, ScanProgress, PersonalPhoto
     },
     methods: {
+        getQuLabels() {
+            return this.quNoList.filter(item => {
+                return this.quBlock.includes(item.value)
+            }).map(item => {
+                return item.label
+            })
+        },
+        /**
+         * index 题目index 必传
+         * childIndex 小题index 非必传 
+         */
+        getScoreIndex(index, childIndex) {
+            let realIndex = 0
+            this.curPaper.item.forEach((item, itemIndex) => {
+                if (itemIndex <= index) {
+                    //综合题
+                    if (item.children.length) {
+                        item.children.forEach((childItem, cIndex) => {
+                            if (itemIndex < index) {
+                                realIndex++
+                            } else if (cIndex <= childIndex) {
+                                realIndex++
+                            }
+                        })
+                    }
+                    else {
+                        realIndex++
+                    }
+                }
+            })
+            return --realIndex
+        },
         //移除阅卷老师
         removeMarker(row, index) {
             if (this.$access.can('admin.*|schoolAc-upd')) {
@@ -334,7 +456,10 @@ export default {
         },
         //确认设置阅卷题号
         okSetQu() {
-
+            this.blockData.push({
+                quNo: this.quBlock,
+                teachers: [...this.quTeachers]
+            })
         },
         /**
          * 将日期控件时间格式转成时间戳
@@ -443,6 +568,7 @@ export default {
                             this.setting.code = this.$store.state.userInfo.schoolCode
                             this.setting.scode = this.evInfo.code
                             this.setting.creatorId = this.$store.state.userInfo.TEAMModelId
+                            this.setting.mode = 'stu'
                             this.setting.createTime = new Date().getTime()
                             this.setting.startTime = new Date().getTime()
                             this.setting.endTime = new Date().getTime() + 86400000 * 2
@@ -481,6 +607,7 @@ export default {
     watch: {
         'evInfo.id': {
             handler(n, o) {
+                console.log('评测数据', this.evInfo)
                 if (this.evInfo.id) {
                     this.findSettingInfo()
                 } else {
@@ -555,11 +682,63 @@ export default {
             } else {
                 return []
             }
+        },
+        //当前科目试卷信息
+        curPaper() {
+            let defData = {
+                item: []
+            }
+            if (this.subjects.length) {
+                let curSub = this.subjects[this.curSubIndex]
+                if (curSub) {
+                    let paper = this.evInfo.papers.find(item => {
+                        return item.subjectId == curSub.id
+                    })
+                    if (paper) {
+                        return paper
+                    }
+                }
+            }
+            return defData
+        },
+        //试卷题号列表
+        quNoList() {
+            if (this.curPaper.item.length) {
+                let objectiveQu = ['single', 'multiple', 'judge']
+                let data = []
+                let realIndex = 0
+                this.curPaper.item.forEach((item, index) => {
+                    if (item.children.length) {
+                        item.children.forEach((childItem, childIndex) => {
+                            data.push({
+                                label: (index + 1) + '-' + (childIndex + 1),
+                                value: realIndex++,
+                                disabled: objectiveQu.includes(childItem.type)
+                            })
+                        })
+                    } else {
+                        data.push({
+                            label: index + 1,
+                            value: realIndex++,
+                            disabled: objectiveQu.includes(item.type)
+                        })
+                    }
+                })
+                return data
+            }
+            return []
         }
     }
 }
 </script>
 <style scoped lang="less">
+.qu-no-label {
+    color: white;
+    margin-right: 15px;
+    margin-bottom: 10px;
+    width: 60px;
+    display: inline-block;
+}
 .publish-status-box {
     width: 360px;
     height: 315px;

TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/NewSystemSetting.less → TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/SystemSetting.less


+ 1 - 1
TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/NewSystemSetting.vue

@@ -1361,7 +1361,7 @@ export default {
 </script>
 
 <style lang="less" scoped>
-@import "./NewSystemSetting.less";
+@import "./SystemSetting.less";
 </style>
 <style lang="less">
 .semester-name-label .ivu-input-wrapper {

+ 4 - 4
TEAMModelOS/ClientApp/src/view/syllabus/Syllabus.vue

@@ -67,7 +67,7 @@
 									</div>
 								</Tooltip>
 							</p>
-							<p class="volume-item-info" v-if="inShareView && volume.isDel">
+							<p class="volume-item-info" v-if="inShareView">
 								<span style="display: flex;align-items: center;"
 									@click.stop="onDeleteShareVolume(volume)">
 									<Icon type="ios-remove-circle-outline"
@@ -93,7 +93,7 @@
 					<span>{{ $t('syllabus.syllabusMenu') }}</span>
 					<span class="syllabus-content-header-tools"
 						v-if="volumeList.length && curVolume.id && !inShareView">
-						<Icon type="md-add" @click="isAddTreeModal = true" v-if="hasSyllabusAuth || hasVolumeAuth" />
+						<Icon type="md-add" @click="isAddTreeModal = true" v-if="hasSyllabusAuth || hasVolumeAuth(volume.auth)" />
 					</span>
 				</div>
 				<div class="syllabus-tree-box">
@@ -196,7 +196,7 @@
 								:placeholder="$t('syllabus.place2')"></Input>
 							<Input v-else v-model="addVolumeForm.name" :placeholder="$t('syllabus.place3')"></Input>
 						</FormItem>
-						<FormItem :label="$t('syllabus.authors')">
+						<FormItem :label="$t('syllabus.authors')" v-if="isSchool">
 							<Select v-model="addVolumeForm.auth" multiple filterable>
 								<Option v-for="(item,index) in teacherList" :value="item.id" :key="index">{{item.name}}
 								</Option>
@@ -1719,7 +1719,7 @@
 			},
 			hasVolumeAuth(){
 				return auth => {
-					return this.$access.can('admin.*|Syllabus_Edit') || auth.map(i => i.tmdid).includes(this.$store.state.userInfo.TEAMModelId)
+					return (!this.isSchool && !this.inShareView) || this.$access.can('admin.*|Syllabus_Edit') || (auth && auth.length && auth.map(i => i.tmdid).includes(this.$store.state.userInfo.TEAMModelId))
 				}
 			},
 			hasEditAuth() {