Commit c12ff145 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/youjie/thinkapp

parents 1bced2d0 3d8b5a9a
......@@ -5,14 +5,14 @@
<view class="index-student-information">
<view class="commentDetailsList-content">
<view class="commentDetailsList-list" v-for="(item,index) in CourseCommentTimesList" :key="index">
<view class="commentDetailsList-cross" @click="deleteRules">
<!-- <view class="commentDetailsList-cross" @click="deleteRules">
<van-icon name="cross" />
</view>
</view> -->
<view class="commentDetailsList-img flex">
<view>{{item.StuName}}</view>
<view class="flex">
<text>{{item.ShowTypeStr}}</text>
<van-image @click="editRules" class="img" width="31rpx" height="30rpx" fit="cover" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653980151000_180.png" />
<van-image @click="editRules(item)" class="img" width="31rpx" height="30rpx" fit="cover" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653980151000_180.png" />
</view>
<view class="Wire"></view>
</view>
......@@ -27,7 +27,10 @@
<view>暂无评论规则数据</view>
</view>
</view>
<commentDetailsPopu ref="getcommentPopup"></commentDetailsPopu>
<template v-show="show">
<commentDetailsPopu ref="getcommentPopup" @change="changeData"></commentDetailsPopu>
</template>
</view>
</template>
<script>
......@@ -55,20 +58,6 @@
proxy
} = getCurrentInstance();
let data = reactive({
optionsList: [{
text: '可见',
value: 1
},
{
text: '部分可见',
value: 2
},
{
text: '不可见',
value: 3
},
],
dataList: [],
show:false
});
......@@ -87,9 +76,9 @@
data.show = true
refs.getcommentPopup.$vm.showFun()
},
editRules(){//编辑规则
editRules(item){//编辑规则
data.show = true
refs.getcommentPopup.$vm.showFun()
refs.getcommentPopup.$vm.showFun(item)
},
deleteRules (){//删除规则
uni.showModal({
......@@ -111,8 +100,8 @@
clickOptionsShow(item) {
item.optionsShow = !item.optionsShow;
},
//实在评价可见性
clickoptions(item,subItem) {
let showTypeMsg = {
CourseId: item.CourseId,
Times: item.Times,
......@@ -125,6 +114,12 @@
})
item.optionsShow = false;
//调用父组件方法
context.emit('refreshData');
},
//刷新数据
changeData()
{
//调用父组件方法
context.emit('refreshData');
}
......
<template>
<view class="commentPopup-box">
<van-popup :show="show" :round="true" @close="closepopup">
<view class="commentPopup-box">
<van-icon class="commentPopup-closure" name="cross" @click="closepopup"/>
<view class="commentPopup-title">修改评语</view>
<view class="commentPopup-content">
<textarea placeholder="请填写评语内容"></textarea>
</view>
<view class="commentPopup-save flex">
<view @click="save">确认</view>
</view>
</view>
</van-popup>
<van-popup :show="show" :round="true" @close="closepopup">
<view class="commentPopup-box">
<van-icon class="commentPopup-closure" name="cross" @click="closepopup" />
<view class="commentPopup-title">修改评语</view>
<view class="commentPopup-content">
<textarea placeholder="请填写评语内容" v-model="stuCommentObj.Info"></textarea>
</view>
<view class="commentPopup-save flex">
<view @click="save">确认</view>
</view>
</view>
</van-popup>
</view>
</template>
<script>
import {
ref,
ref,
reactive,
toRefs,
onMounted,
getCurrentInstance,
inject,
watch
watch
} from "vue";
import { uploadFile } from "@/utils/index";
import {
uploadFile
} from "@/utils/index";
export default {
props: {
},
components: {},
setup(props,ctx) {
// 双滑块模式时,值必须是数组
const value = ref([10, 50]);
let {
emits: ['change'],
setup(props, ctx) {
// 双滑块模式时,值必须是数组
const value = ref([10, 50]);
let {
proxy
} = getCurrentInstance();
let data = reactive({
valueNum: ref([0, 0]),
show: false,
loading: false,
show: false,
loading: false,
stuCommentObj: {
Id: 0,
Info: ""
}
});
let methods = {
showFun(){
data.show = true
},
closepopup(){
data.show = false
},
onChange(value){
console.log(value)
// data.valueNum = value
// console.log(data.valueNum)
},
save(){
data.show = false
}
};
let methods = {
showFun(item) {
if (item) {
data.stuCommentObj.Id = item.Id;
data.stuCommentObj.Info = item.Info;
}
data.show = true
},
closepopup() {
data.show = false
},
save() {
proxy.$request("/Teacher/SetStuCommentInfo", data.stuCommentObj).then(res => {
if (res.Code == 1) {
uni.showToast({
icon: 'none',
duration: 500
});
}
});
ctx.emit("change");
data.show = false
}
};
let that = methods;
return {
...toRefs(data),
value,
...methods
value,
...methods
};
},
onLoad(){
},
onShow() {
onLoad() {
},
onShow() {
}
};
</script>
<style scoped>
.custom-button {
width: 26rpx;
color: #fff;
font-size: 20rpx;
line-height: 36rpx;
text-align: center;
background-color: #ee0a24;
border-radius: 100rpx;
}
.commentPopup-content{
background: #F7F7F7;
border-radius: 30rpx;
min-height: 152rpx;
padding: 37rpx 43rpx;
}
.commentPopup-save view{
background: #C91727;
font-size: 30rpx;
font-weight: bold;
letter-spacing: 1rpx;
width: 260rpx;
line-height: 88rpx;
border-radius: 44rpx;
text-align: center;
color: #FFFFFF;
}
.commentPopup-save{
justify-content: center;
margin-top: 40rpx;
}
.commentPopup-box .noData{
.commentPopup-content {
background: #F7F7F7;
border-radius: 30rpx;
min-height: 152rpx;
padding: 37rpx 43rpx;
}
.commentPopup-save view {
background: #C91727;
font-size: 30rpx;
font-weight: bold;
letter-spacing: 1rpx;
width: 260rpx;
line-height: 88rpx;
border-radius: 44rpx;
text-align: center;
flex:1;
color: #FFFFFF;
}
.commentPopup-title {
width: 100%;
text-align: center;
font-size: 30rpx;
font-weight: 500;
margin-bottom: 73rpx;
letter-spacing: 1rpx;
}
.commentPopup-box .noData image{
width:200rpx;
margin-bottom: 40rpx;
.commentPopup-closure {
position: absolute;
right: 31rpx;
top: 31rpx;
color: #282828;
font-size: 38rpx;
}
.commentPopup-box .noData view{
font-size: 24rpx;
color: #cecece;
text-align: center;
.commentPopup-box {
position: relative;
width: 548rpx;
padding: 48rpx 55rpx 60rpx 55rpx;
}
.commentPopup-name{
background-color: #F7F7F7;
text-align: center;
border: 1px solid #F7F7F7;
height: 88rpx;
line-height: 88rpx;
padding: 0 10rpx;
border-radius: 44rpx;
font-size: 30rpx;
letter-spacing: 1rpx;
}
.commentPopup-title{
width: 100%;
text-align: center;
font-size: 30rpx;
font-weight: 500;
margin-bottom: 73rpx;
letter-spacing: 1rpx;
}
.commentPopup-closure{
position: absolute;
right: 31rpx;
top: 31rpx;
color: #282828;
font-size: 38rpx;
}
.commentPopup-box{
position: relative;
width: 548rpx;
padding: 48rpx 55rpx 60rpx 55rpx;
}
.commentPopup-box{
}
.commentPopup-box {}
</style>
<template>
<van-popup :show="show" :round="true" position="bottom"
custom-style="height: 80%" @close="closepopup">
<view class="studentsPopu-box flex">
<view class="studentsPopu-title">选择学员 <text>(2/50)</text></view>
<view class="studentsPopu-search flex">
<van-search
:value="Keywords"
shape="round"
style="border-radius: 20rpx;width: 100%;"
input-align="center"
background="#F6F6F6"
@change="searchKeywords"
placeholder="请输入搜索关键词"
/>
</view>
<view class="studentsPopuImg">
<view class="studentsPopu-img-box flex">
<view class="studentsPopu-img-list active flex" @click="clickChoose">
<view class="studentsPopu-imgbox flex">
<view class="studentsPopu-img flex">
<view>
<van-image width="119rpx" height="119rpx" fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653894197000_691.png" />
</view>
</view>
</view>
<text class="studentsPopu-text">学员名称</text>
</view>
<view class="studentsPopu-img-list flex" @click="clickChoose">
<view class="studentsPopu-imgbox flex">
<view class="studentsPopu-img flex">
<view>
<van-image width="119rpx" height="119rpx" fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653894197000_691.png" />
</view>
</view>
</view>
<text class="studentsPopu-text">学员名称</text>
</view>
</view>
</view>
<view class="footer">
<view class="studentsPopu-save flex">
<view @click="save">确认</view>
</view>
</view>
</view>
</van-popup>
</template>
<script>
import {
ref,
reactive,
toRefs,
onMounted,
getCurrentInstance,
inject,
watch
} from "vue";
import { uploadFile } from "@/utils/index";
export default {
props: {
},
components: {},
setup(props,ctx) {
let {
proxy
} = getCurrentInstance();
let data = reactive({
show: false,
loading: false,
Keywords:''
});
let methods = {
// 选中
clickChoose(){
},
// 搜索
searchKeywords(){
},
showFun(){
data.show = true
},
closepopup(){
data.show = false
},
save(){
data.show = false
}
};
let that = methods;
return {
...toRefs(data),
...methods
};
},
onLoad(){
},
onShow() {
}
};
</script>
<style scoped>
.studentsPopu-text{
text-align: center;
font-weight: 500;
font-size: 26rpx;
color: #282828;
letter-spacing: 1rpx;
margin-top: 15rpx;
}
.studentsPopu-img view{
width: 119rpx;
height: 119rpx;
/* border: 1rpx solid #E5E5E5; */
background: #E5E5E5;
border-radius: 50%;
overflow: hidden;
}
.studentsPopu-img-list.active .studentsPopu-img{
background: #C91928;
box-shadow: 0rpx 0rpx 59rpx 0rpx rgba(201, 23, 39, 0.34);
}
.studentsPopu-img{
width: 130rpx;
height: 130rpx;
background: #FFFFFF;
box-shadow: 0rpx 6rpx 29rpx 0rpx rgba(76, 76, 76, 0.09);
border-radius: 50%;
justify-content: center;
align-items: center;
}
.studentsPopu-imgbox{
justify-content: center;
}
.studentsPopu-img-list{
flex: 0 0 25%;
flex-direction: column;
}
.studentsPopu-img-box{
height: 90%;
padding: 40rpx 25rpx;
flex-wrap: wrap;
margin-bottom: 100rpx;
overflow-y: auto;
}
.studentsPopuImg{
max-height: 670rpx;
overflow: hidden;
}
.studentsPopu-search{
padding: 30rpx 27rpx 5rpx 27rpx;
}
.studentsPopu-title text{
font-size: 26rpx;
color: #949494;
font-weight: 400;
margin-left: 20rpx;
}
.studentsPopu-title{
font-size: 36rpx;
font-weight: 800;
color: #282828;
letter-spacing: 1rpx;
padding: 48rpx 55rpx 0 55rpx;
}
.studentsPopu-save view{
background: #C91727;
font-size: 30rpx;
font-weight: bold;
letter-spacing: 1rpx;
width: 260rpx;
line-height: 88rpx;
border-radius: 44rpx;
text-align: center;
color: #FFFFFF;
}
.studentsPopu-save{
justify-content: center;
margin-top: 40rpx;
margin-bottom: 40rpx;
}
.studentsPopu-box{
background: #f6f6f6;
/* padding: 48rpx 0 60rpx 0; */
flex-direction: column;
height: 100%;
overflow: hidden;
}
.footer{
position: fixed;
left: 0;
right: 0;
bottom: 0;
}
</style>
......@@ -14,13 +14,18 @@
</view>
</view>
</navbar>
<view style="margin: 40rpx 0 10rpx 0;">
<view style="margin: 40rpx 0 10rpx 0;" class="workSituationAccountName flex">
<view style="padding:0 50rpx;font-weight: 800;color: #282828;">
<view style="font-size: 36rpx;">Hi,</view>
<view style="font-size: 50rpx;">{{userData.AccountName}}老师</view>
</view>
<view @click="goSet">设置评语</view>
<view class="set-text">
<view class="flex" @click="goSet">
<text>设置评语</text>
<van-image class="img" width="14rpx" height="13rpx" fit="cover" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653977684000_601.png" />
</view>
</view>
</view>
<courseCard @change="changeCourseHandler"></courseCard>
<view class="index-student-information">
......@@ -113,7 +118,7 @@
homeWorks:[],
exams:[],
pageState: "more",
currentCourseId:189666293,
currentCourseId:45329247,
userData:{},
loading:false
});
......@@ -137,10 +142,9 @@
})
},
changeCourseHandler(id){
console.log(id,'........................')
data.Msg.courseId=189666293
data.OperationMsg.courseId=189666293
data.currentCourseId=189666293
data.Msg.courseId=45329247
data.OperationMsg.courseId=45329247
data.currentCourseId=45329247
methods.getCourseStuList()
methods.getExamPageList()
methods.getCourseHomeWorkList()
......@@ -150,14 +154,6 @@
},
toggleTitle(t) {
data.tabNme = t
// if(t=='学生列表'){
// this.getCourseStuList()
// }else if(data.tabNme=='作业情况'){
// this.getCourseHomeWorkList()
// }else{
// this.getExamPageList()
// }
},
//获取学生列表
getCourseStuList(){
......@@ -244,31 +240,13 @@
};
},
onLoad(option) {
// this.tabNme = option.tabNme
// this.OperationMsg.courseId = option.courseId
// this.Msg.courseId = option.courseId
},
onShow() {
// if(this.tabNme=='学生列表'){
// this.getCourseStuList()
// }else if(this.tabNme=='作业情况'){
// this.getGetCourseHomeWorkList()
// }else{
// this.getExamPageList()
// }
// this.tabNme = option.tabNme?option.tabNme:'作业情况'
// this.OperationMsg.courseId = option.courseId
// this.Msg.CourseId = option.courseId
},
onShow() {
// this.dataList = []
// if(this.tabNme=='学生列表'){
// this.getCourseStuList()
// }else if(this.tabNme=='作业情况'){
// this.getCourseHomeWorkList()
// }else{
// this.getExamPageList()
// }
},
......@@ -290,6 +268,29 @@
</script>
<style scoped>
.set-text view .img{
margin-left: 10rpx;
}
.set-text view{
width: 160rpx;
line-height: 50rpx;
background: #FFFFFF;
border: 1rpx solid #E6A9AE;
border-radius: 25rpx;
justify-content: center;
font-size: 24rpx;
font-weight: bold;
color: #C91727;
letter-spacing: 1rpx;
}
.set-text{
width: 160rpx;
flex-shrink: 0;
margin-right: 50rpx;
}
.workSituationAccountName{
justify-content: space-between;
}
.num{
font-size: 20rpx;
display: inline-block;
......
......@@ -14,23 +14,49 @@
</text>
</view>
<view class="addComment-img-box flex">
<view class="addComment-img-list flex">
<view class="addComment-img">
<view>
<van-icon name="plus" />
<view class="addComment-img-list activeOne flex" @click="selectStudents">
<view class="addComment-imgbox flex">
<view class="addComment-img">
<view>
<van-icon name="plus" />
</view>
</view>
</view>
<text class="addComment-text">添加学员</text>
</view>
<view class="addComment-img-list flex">
<view class="addComment-imgbox flex">
<view class="addComment-img">
<view>
<van-image width="119rpx" height="119rpx" fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653894197000_691.png" />
</view>
</view>
</view>
<text class="addComment-text">学员名称</text>
</view>
</view>
<!-- <setComments :CourseCommentTimesList="courseTimeList" @refreshData="getCourseCommentTimes"></setComments> -->
<view class="addComment-textarea-box">
<view class="content-textarea-box">
<textarea placeholder="请填写评论内容"></textarea>
</view>
<view class="Sure-button flex">
<view v-if="clickShow" @click="clickSure" >确定</view>
<view v-else class="active" >确定</view>
</view>
</view>
<template v-show="show">
<studentsPopu ref="getstudentsPopup"></studentsPopu>
</template>
</view>
<view class="addComment-bj"></view>
</view>
</template>
<script>
import setComments from '@/components/setComments/setComments'
import studentsPopu from '@/components/setComments/studentsPopu'
import {
ref,
reactive,
toRefs,
onMounted,
......@@ -44,9 +70,12 @@
},
components: {
navbar,
setComments
studentsPopu
},
setup() {
let {
refs
} = getCurrentInstance();
let {
proxy
} = getCurrentInstance();
......@@ -81,6 +110,8 @@
},
courseTimeList: [], //课程自动生成评论次数
courseRule: {}, //课程评价规则
clickShow:true,
show:false
});
let methods = {
back() {
......@@ -89,6 +120,19 @@
})
},
// 点击弹出学员列表
selectStudents(){
data.show = true
setTimeout(()=>{
refs.getstudentsPopup.$vm.showFun()
},500)
},
// 点击确定
clickSure(){
data.clickShow = false
console.log(data.clickShow)
},
radioChange(e) {
console.log("打印国家名称", e.target.value)
},
......@@ -129,12 +173,81 @@
};
</script>
<style scoped>
.Sure-button view.active{
background-color: #F6F6F6;
color: #C91727;
}
.Sure-button view{
width: 359rpx;
line-height: 88rpx;
background-color: #C91727;
border-radius: 44rpx;
color: #FFFFFF;
font-size: 30rpx;
font-weight: bold;
text-align: center;
letter-spacing: 1rpx;
}
.Sure-button{
justify-content: center;
margin-top: 67rpx;
}
.content-textarea-box textarea{
width: 100%;
}
.content-textarea-box{
background: #F6F6F6;
border-radius: 30rpx;
padding: 33rpx 37rpx;
min-height: 537rpx;
}
.addComment-textarea-box{
border-radius: 50rpx 50rpx 0 0;
/* background: #FFFFFF; */
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1654049334000_485.png') no-repeat top 0 center #FFFFFF;
background-size: 141rpx 41rpx;
padding: 50rpx 50rpx 37rpx 50rpx;
}
.addComment-text{
text-align: center;
font-weight: 500;
font-size: 26rpx;
color: #282828;
letter-spacing: 1rpx;
margin-top: 15rpx;
}
.addComment-img-list.activeOne .addComment-img view{
text-align: center;
line-height: 123rpx;
color: #DCDCDC;
font-weight: bold;
font-size: 50rpx;
}
.addComment-img view{
width: 119rpx;
height: 119rpx;
border: 1rpx solid #DBDBDB;
border-radius: 50%;
margin: 5rpx;
overflow: hidden;
}
.addComment-img{
width: 130rpx;
height: 130rpx;
background: #FFFFFF;
border-radius: 50%;
}
.addComment-imgbox{
justify-content: center;
}
.addComment-img-list{
flex: 0 0 25%;
flex-direction: column;
}
.addComment-img-box{
padding: 0 50rpx;
justify-content: space-between;
padding: 0 20rpx;
flex-wrap: wrap;
margin-bottom: 50rpx;
}
.addComment-title van-icon{
font-size: 38rpx;
......@@ -165,6 +278,19 @@
position: relative;
z-index: 3;
}
.addComment-content{
position: relative;
z-index: 1;
}
.addComment-bj{
position: fixed;
right: 0;
left: 0;
top: 0;
bottom: 0;
z-index: 0;
background: #F6F6F6;
}
.navbarSticky {
display: sticky;
top: 0;
......
......@@ -25,7 +25,7 @@
</view>
</view>
</view>
<commentDetails :CourseCommentTimesList="courseTimeList" @refreshData="getCourseCommentTimes"></commentDetails>
<commentDetails :CourseCommentTimesList="courseTimeList" @refreshData="getStuCommentList"></commentDetails>
</view>
......@@ -96,8 +96,8 @@
uni.navigateBack({
delta: 1
})
},
//获取系统生成学员评价列表
getStuCommentList(){
proxy.$request("/Teacher/GetStuCommentList", data.Msg).then(res => {
if (res) {
......
......@@ -38,7 +38,9 @@
<view class="save flex"><text v-if="!isDefaultRule" @click="saveRules">保存</text></view>
</view>
</view>
<rulesPopup ref="getrulesPopup" @change="changeData"></rulesPopup>
<template v-show="show">
<rulesPopup ref="getrulesPopup" @change="changeData"></rulesPopup>
</template>
</view>
</template>
<script>
......@@ -81,6 +83,7 @@
}, //课程规则
isDefaultRule: true, //是否是默认规则(
detailItem: {}, //当前编辑项
show:false
});
let methods = {
back() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment