<template>
	<view class="container">
		<view class="select">
			<text>学年:</text>
			<uni-data-select @change="change" placeholder="请选择学年" v-model="gradeyear" :localdata="options"
				:clear="false"></uni-data-select>
			<button type="primary" size="mini" @click="queryscires()">查询</button>
		</view>
		<view>
			<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="text"
				activeColor="#007aff"></uni-segmented-control>
			<view class="content">
				<view v-show="current === 0">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><uni-file-picker limit="3" @select="(e) => select(e, item.attachmentList)" @progress='progress'  @success="success" @fail="fail" v-model="fileLists" :listStyles="imageStyles" file-mediatype="all" file-extname="png,jpg,gif"><button type="default" size="mini" plain="true">佐证资料:<br>(点击上传)</button></uni-file-picker></view><view class="itemright">{{item.attachmentList}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view v-show="current === 1">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><button type="default" size="mini" plain="true">佐证资料:<br>(点击上传)</button></view><view class="itemright">{{item.attachmentList.fileName}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view v-show="current === 2">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><button type="default" size="mini" plain="true">佐证资料:<br>(点击上传)</button></view><view class="itemright">{{item.attachmentList.fileName}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view v-show="current === 3">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><button type="default" size="mini" plain="true">佐证资料:<br>(点击上传)</button></view><view class="itemright">{{item.attachmentList.fileName}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view v-show="current === 4">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><button type="default" size="mini" plain="true">佐证资料:<br>(点击上传)</button></view><view class="itemright">{{item.attachmentList.fileName}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view v-show="current === 5">
					<uni-group v-for="item in currentableData" mode="card" :title="item.pointName">
						<view class="row"><view class="itemleft">评分标准:</view><view class="itemright">{{item.pointMemo}}</view></view>
						<view class="row"><view class="itemleft"><button type="default" size="mini" plain="true" @click="upload">佐证资料:<br>(点击上传)</button></view><view class="itemright">{{item.attachmentList.fileName}}</view></view>
						<view class="row"><view class="itemleft">得分:</view><view class="itemright"><uni-number-box v-model="item.selfScore" :min="0" :max="100"></uni-number-box></view></view>
						<view class="row"><view class="itemleft">得分依据:</view><view class="itemright"><uni-easyinput type="textarea" autoHeight v-model="item.detail" placeholder="请输入内容"></uni-easyinput></view></view>
					</uni-group>
				</view>
				<view class="btns">
					<button type="primary" size="mini" @click="Savedate" :loading="isSaving">{{savetext}}</button>
					<button type="primary" size="mini" @click="Submitdate">提交</button>
				</view>
			</view>
		</view>
	</view>
</template>
<script>
	import {getGradeYears,getDeatil,saveDate,upDate} from '@/utils/student.js'
	export default {
		data() {
			return {
				gradeyear: 0,
				options: [],
				studentXh: '',
				items: ['思想', '职业', '身心', '文化', '劳动'],
				current: 0,
				score: '',
				tableData: [],
				currentableData:[],
				vModelValue: 3,
				value: '',
				savetext:'保存',
				isSaving:false,
				imageValue:[],
				imageStyles: {
					width: 64,
					height: 64,
					border: {
						radius: '50%'
					}
				},
				fileLists: []
			}
		},
		mounted() {
			uni.getStorage({
				key: 'studentxh',
				success: function(res) {
					this.studentXh = res.data
				}
			})
			this.getYears()
			this.onClickItem({currentIndex: 0})
		},
		methods: {
			// 获取上传状态
				select(e,al,index){
					
					console.log('index:',index)
					console.log('选择文件:',e)
					// al.push({fileName:e.tempFiles.name,url:e.tempFiles.cloudPath})
					// console.log('al:',al)
					// console.log(al)
				},
				progress(e){
					console.log('进度',e)
				},
				// 上传成功
				success(e){
					console.log('上传成功',e)
				},
				
				// 上传失败
				fail(e){
					console.log('上传失败:',e)
				},
			change(e) {
				this.gradeyear = e
			},
			getYears() {
				getGradeYears({xh: this.studentXh}).then(res => {
					if (res.msg == '成功') {
						const All = res.data
						let myrange = []
						All.forEach((val, index) => {
							myrange.push({
								value: val.gradeYear, // 选项id
								text: val.gradeYear // 选项名称
							})
						})
						this.options = myrange
						if (this.options.length > 0) {
							this.gradeyear = this.options[0].value
							this.queryscires()
						}
					}
				})
			},
			queryscires() {
				getDeatil({
					studentId: this.studentXh,
					gradeYear: this.gradeyear
				}).then(res => {
					if (res.msg == '成功') {
						this.score = res.data.score
						this.tableData = res.data.list
						// console.log(this.tableData)
						// this.onClickItem()
						this.selectdata()
					}
				})
			},
			selectdata(){
			      let index = Number.parseInt(this.current) + 1
				  console.log(index)
			      let start,end;
			      start = this.tableData.findIndex(item=>item.itemName.startsWith(index))
			      end = this.tableData.findIndex(item=>item.itemName.startsWith(index+1))
			      if(end == -1){
			        this.currentableData = this.tableData.slice(start)
					console.log(this.currentableData)
			      }
			      else{
			        this.currentableData = this.tableData.slice(start,end)
			        if(this.currentableData.length>0){
						console.log(this.currentableData)
			        }
			      }
			},
			//保存数据
			Savedate(){
				let data = {studentId:this.studentXh,gradeYear:this.gradeyear,scoreList:this.tableData}
				saveDate(data).then(res=>{
					console.log(res)
				}).catch(()=>{})
			},
			//提交数据
			Submitdate(){
			    let data = {studentId:this.studentXh,gradeYear:this.gradeyear,scoreList:this.tableData}
			    upDate(data).then(res=>{
					console.log(res)
					this.queryscires()
			    }).catch(()=>{})
			},
			onClickItem(e) {
				// if (this.current != e.currentIndex) {
					this.current = e.currentIndex;
					// this.queryscires()
					this.selectdata()
				// }
			}
		}
	}
</script>

原文地址: https://www.cveoy.top/t/topic/o3kx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录