Commit 9738b0bf authored by youjie's avatar youjie

111

parents 31c84542 0204f873
......@@ -55,7 +55,8 @@
toRefs,
onMounted,
getCurrentInstance,
inject
inject,
watch
} from "vue";
export default {
......@@ -64,7 +65,6 @@
},
components: {},
setup(props) {
let data = reactive({
dataList: props.dataList
});
......
<template>
<view class="setComments-box">
<view class="setComments-add"><van-icon name="plus" /><text>创建评价</text> </view>
<view class="index-student-information">
<view class="setComments-content-box">
<view class="setComments-content">
<view class="center-line"></view>
<view class="setComments-title flex">
<text class="setComments-title-left">第一次评价</text>
<view class="setComments-title-right">
<view class="setComments-options flex">
<view class="setComments-options-title flex" @click="clickOptionsShow">
<view class="point"></view>
<text>{{optionsObj.text?optionsObj.text:'选择'}}</text>
<van-icon :name="optionsShow?'arrow-down':'arrow'" />
</view>
<view v-if="optionsShow" class="setComments-options-text flex">
<text
v-for="(item,index) in optionsList"
:key="index"
@click="clickoptions(item)">
{{item.text}}
</text>
</view>
</view>
</view>
</view>
<view class="setComments-source flex">
<text>来源: 5555</text>
<view>时间:2022-05-30</view>
</view>
<view class="setComments-Evaluation">
<view>
<text>学员评价</text>
<text>评价规则</text>
</view>
</view>
</view>
</view>
</view>
<view class="setComments-add">
<van-icon name="plus" /><text>创建评价</text> </view>
<view class="index-student-information">
<view class="setComments-content-box">
<template v-for="(item,index) in dataList">
<view class="setComments-content">
<view class="center-line"></view>
<view class="setComments-title flex">
<text class="setComments-title-left">{{item.Times}}次评价</text>
<view class="setComments-title-right">
<view class="setComments-options flex">
<view class="setComments-options-title flex" @click="clickOptionsShow(item)">
<view class="point"></view>
<text>{{item.ShowTypeStr}}</text>
<van-icon :name="item.optionsShow?'arrow-down':'arrow'" />
</view>
<view v-if="item.optionsShow" class="setComments-options-text flex">
<text v-for="(subItem,index) in optionsList" :key="index" @click="clickoptions(item,subItem)">
{{subItem.text}}
</text>
</view>
</view>
</view>
</view>
<view class="setComments-source flex">
<text>来源:{{item.CreateTypeStr}}</text>
<view>时间:{{item.CreateTime}}</view>
</view>
</view>
</template>
</view>
</view>
</view>
</template>
<script>
......@@ -46,70 +41,80 @@
toRefs,
onMounted,
getCurrentInstance,
inject
inject,
watch
} from "vue";
import navbar from '../../components/navbar.vue'
export default {
props: {
},
props: ["CourseCommentTimesList"],
emits: ['refreshData'],
components: {
navbar,
},
setup() {
let {
},
setup(props, context) {
let {
proxy
} = getCurrentInstance();
let data = reactive({
optionsObj:{
text:'',
value:''
},
optionsShow:false,
optionsList:[
{ text: '部分可见', value: 0 },
{ text: '可见', value: 1 },
{ text: '不可见', value: 2 },
],
radioList:[
{name:'使用默认配置',id:1,checked:true},
{name:'自定义评价',id:2}
],
checked:'1',
obj:{},
Msg: {
HomeWorkId: '',
},
showPhone: false,
showLogin: true, //多次点击
HomeWorkId:'',
jobDetails: {},
dataList:[],
pageState:'more'
optionsList: [{
text: '可见',
value: 1
},
{
text: '部分可见',
value: 2
},
{
text: '不可见',
value: 3
},
],
dataList: [],
});
let methods = {
back(){
let methods = {
back() {
uni.navigateBack({
delta: 1
})
},
clickOptionsShow(){
data.optionsShow=!data.optionsShow
},
clickoptions(item){
data.optionsObj = item
data.optionsShow = false
}
}
},
clickOptionsShow(item) {
item.optionsShow = !item.optionsShow;
},
clickoptions(item,subItem) {
let showTypeMsg = {
CourseId: item.CourseId,
Times: item.Times,
ShowType: subItem.value
};
proxy.$request("/Teacher/SetStuCommentShowTypeByTimes", showTypeMsg).then(res => {
if (res) {
}
})
item.optionsShow = false;
//调用父组件方法
context.emit('refreshData');
}
};
//监听属性数组
watch(() => props["CourseCommentTimesList"], (newValue, oldValue) => {
if (newValue != oldValue && newValue && newValue.length > 0) {
data.dataList = newValue;
}
}, {
deep: true,
});
return {
...toRefs(data),
...methods
...methods
};
},
onLoad(option) {
this.Msg.HomeWorkId = option.HomeWorkId
},
onLoad(option) {
},
};
</script>
<style scoped>
......
......@@ -43,7 +43,7 @@
>
<operation v-if="tabNme=='作业情况'" :dataList="homeWorks"></operation>
<studentList @selected="selectStuHandler" v-if="tabNme=='学生列表'" :dataList="students"></studentList>
<examList v-if="tabNme=='考试信息'" :dataList="exams" :CourseId="currentCourseId"></examList>
<examList v-if="tabNme=='考试信息'" :dataList="exams"></examList>
</scroll-view>
<Loadmore :state="pageState" />
</view>
......@@ -113,7 +113,7 @@
homeWorks:[],
exams:[],
pageState: "more",
currentCourseId:0,
currentCourseId:189666293,
userData:{},
loading:false
});
......@@ -138,9 +138,9 @@
},
changeCourseHandler(id){
console.log(id,'........................')
data.Msg.CourseId=id
data.OperationMsg.courseId=id
data.currentCourseId=id
data.Msg.courseId=189666293
data.OperationMsg.courseId=189666293
data.currentCourseId=189666293
methods.getCourseStuList()
methods.getExamPageList()
methods.getCourseHomeWorkList()
......
......@@ -2,10 +2,11 @@
<view class="commentRulesList-box">
<navbar class="navbarSticky" bg="#FFFFFF">
<view class="commentRulesList-header-box flex">
<van-icon class="commentRulesList-header-left" name="arrow-left" @click="back"/>
<van-icon class="commentRulesList-header-left" name="arrow-left" @click="back" />
<text class="commentRulesList-header-title">评论规则</text>
</view>
</navbar>
<<<<<<< .merge_file_a12332
<view class="commentRulesList-content">
<view class="commentRulesList-title flex">
<van-image class="img" width="35rpx" height="40rpx" fit="cover"
......@@ -42,11 +43,45 @@
</view>
</view>
<rulesPopup ref="getrulesPopup"></rulesPopup>
=======
<view class="commentRulesList-content">
<view class="commentRulesList-title flex">
<van-image class="img" width="35rpx" height="40rpx" fit="cover" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653980136000_413.png" />
<text>{{courseRule.Title}}</text>
</view>
<view class="commentRulesList-list" v-if="courseRule" v-for="(item,index) in courseRule.CommentDetails">
<view class="commentRulesList-cross" v-if="courseRule.Id>0" @click="deleteRules">
<van-icon name="cross" />
</view>
<view class="commentRulesList-img flex">
<view>百分比: {{item.StartNum}}%-{{item.EndNum}}%</view>
<van-image v-if="courseRule.Id>0" @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" />
</view>
<view class="commentRulesList-comment">
{{item.Info}}
</view>
</view>
<view class="noData" v-else>
<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653902791000_806.png" mode="widthFix"></image>
<view>暂无评论规则数据</view>
</view>
</view>
<view class="commentRulesList-footer-box">
<view class="commentRulesList-footer flex">
<view class="add flex">
<text>添加自定义规则</text>
<view class="Wire"></view>
</view>
<view class="save flex"><text>保存</text></view>
</view>
</view>
<rulesPopup></rulesPopup>
>>>>>>> .merge_file_a02420
</view>
</template>
<script>
import rulesPopup from '@/components/setComments/rulesPopup'
import setComments from '@/components/setComments/setComments'
import rulesPopup from '@/components/setComments/rulesPopup'
import setComments from '@/components/setComments/setComments'
import {
ref,
reactive,
......@@ -58,46 +93,43 @@
import navbar from '../../components/navbar.vue'
export default {
props: {
},
components: {
navbar,
setComments,
rulesPopup
},
setComments,
rulesPopup
},
setup() {
<<<<<<< .merge_file_a12332
let { refs } = getCurrentInstance();
let {
=======
let {
>>>>>>> .merge_file_a02420
proxy
} = getCurrentInstance();
let data = reactive({
value:1,
optionsList:[
{ text: '部分可见', value: 0 },
{ text: '可见不可见', value: 1 },
{ text: '活动商品', value: 2 },
],
radioList:[
{name:'使用默认配置',id:1,checked:true},
{name:'自定义评价',id:2}
],
checked:'1',
obj:{},
Msg: {
HomeWorkId: '',
CourseId: '',
},
<<<<<<< .merge_file_a12332
showPhone: false,
showLogin: true, //多次点击
HomeWorkId:'',
jobDetails: {},
dataList:[],
pageState:'more',
=======
courseRule: {}, //课程规则
>>>>>>> .merge_file_a02420
});
let methods = {
back(){
let methods = {
back() {
uni.navigateBack({
delta: 1
})
<<<<<<< .merge_file_a12332
},
saveRules(){//保存规则
......@@ -131,32 +163,67 @@
onMounted (() => {
})
=======
},
editRules() { //编辑规则
},
deleteRules() { //删除规则
uni.showModal({
title: '提示',
content: '将删除该规则,是否继续',
success: function(res) {
if (res.confirm) {
console.log('---')
} else if (res.cancel) {
uni.showToast({
title: '已取消',
icon: 'none',
duration: 500
})
}
}
});
},
//获取课程规则信息
getCourseRule() {
proxy.$request("/Teacher/GetCourseComment", data.Msg).then(res => {
if (res) {
data.courseRule = res.Data;
}
})
}
}
>>>>>>> .merge_file_a02420
return {
...toRefs(data),
...methods
...methods
};
},
onLoad(option) {
this.Msg.HomeWorkId = option.HomeWorkId
onLoad(option) {
this.Msg.CourseId = option.CourseId;
this.getCourseRule();
},
};
</script>
<style scoped>
.noData{
.noData {
text-align: center;
flex:1;
flex: 1;
width: 100%;
}
.noData image{
width:200rpx;
.noData image {
width: 200rpx;
margin-bottom: 40rpx;
}
.noData view{
.noData view {
font-size: 24rpx;
color: #cecece;
text-align: center;
}
<<<<<<< .merge_file_a12332
.save{
margin-left: 24rpx;
}
......@@ -280,6 +347,153 @@
padding-right: 40rpx;
}
.navbarSticky {
=======
.save {
margin-left: 24rpx;
}
.Wire {
width: 2rpx;
height: 32rpx;
background: #DCDCDC;
margin-left: 24rpx;
flex-shrink: 0;
margin-top: 25rpx;
}
.save text {
background: #D13A48;
color: #FFFFFF;
}
.add text {
background: #FFFFFF;
color: #D13A48;
}
.add text,
.save text {
line-height: 88rpx;
flex-grow: 2;
border: 1rpx solid #D13A48;
border-radius: 44rpx;
text-align: center;
font-weight: bold;
font-size: 30rpx;
letter-spacing: 1rpx;
}
.add,
.save {
flex: 0 0 50%;
flex-shrink: 0;
}
.commentRulesList-footer {
padding: 29rpx 70rpx;
align-items: center;
}
.commentRulesList-footer-box {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 21rpx 0rpx rgba(165, 165, 165, 0.34);
}
.commentRulesList-comment {
font-size: 30rpx;
font-weight: 400;
color: #282828;
line-height: 58rpx;
letter-spacing: 1rpx;
}
.commentRulesList-img .img {
margin-top: 5rpx;
flex-shrink: 0;
}
.commentRulesList-img view {
flex-grow: 1;
margin-right: 15rpx;
}
.commentRulesList-img {
justify-content: space-between;
align-items: center;
font-size: 30rpx;
font-weight: bold;
color: #D9868D;
margin-bottom: 34rpx;
}
.commentRulesList-cross {
position: absolute;
right: -12rpx;
top: -12rpx;
width: 44rpx;
height: 44rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 21rpx 0rpx rgba(165, 165, 165, 0.34);
border-radius: 10rpx;
font-size: 26rpx;
color: #D9868D;
text-align: center;
line-height: 44rpx;
}
.commentRulesList-list {
background: #FCEEEF;
border-radius: 30px;
position: relative;
padding: 37rpx 38rpx 36rpx 45rpx;
margin-bottom: 40rpx;
min-height: 290rpx;
}
.commentRulesList-title .img {
flex-shrink: 0;
display: inline-block;
margin-top: 5rpx;
}
.commentRulesList-title text {
font-size: 40rpx;
font-weight: bold;
color: #282828;
margin-left: 29rpx;
letter-spacing: 1rpx;
}
.commentRulesList-title {
align-items: center;
margin-bottom: 35rpx;
}
.commentRulesList-content {
padding: 0 50rpx;
margin-bottom: 240rpx;
}
.commentRulesList-box {
background: #FFFFFF;
}
.commentRulesList-header-title {
font-size: 32rpx;
font-weight: 500;
color: #282828;
flex: 1;
text-align: center;
padding-right: 40rpx;
}
.navbarSticky {
>>>>>>> .merge_file_a02420
display: sticky;
top: 0;
z-index: 9;
......
......@@ -2,38 +2,41 @@
<view class="setComments-index-box">
<navbar class="navbarSticky" bg="#F6F6F6">
<view class="setComments-index-header-box flex">
<van-icon class="setComments-index-header-left" name="arrow-left" @click="back"/>
<van-icon class="setComments-index-header-left" name="arrow-left" @click="back" />
<text class="setComments-index-header-title">设置评语</text>
</view>
</navbar>
<view class="setComments-index-content">
<view class="setComments-index-setType flex">
<view class="setComments-setType-left flex">
<view>
<van-image class="img" width="29rpx" height="29rpx" fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653977710000_475.png" />
</view>
<view class="setComments-setType-text flex">
<text>自定义评价</text>
<view>从自动评价规则进入修改</view>
</view>
</view>
<view class="setComments-setType-right flex" @click="goRules">
<view>
<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>
<setComments></setComments>
</view>
<view class="setComments-index-content">
<view class="setComments-index-setType flex">
<view class="setComments-setType-left flex">
<view>
<van-image class="img" width="29rpx" height="29rpx" fit="cover" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653977710000_475.png" />
</view>
<view class="setComments-setType-text flex">
<text>
<template v-if="courseRule&&courseRule.Id>0">自定义评价</template>
<template v-else>使用默认配置</template>
</text>
<view>
<template v-if="courseRule&&courseRule.Id>0">从自定义评价规则进入修改</template>
<template v-else>不喜欢默认配置可自行设置</template>
</view>
</view>
</view>
<view class="setComments-setType-right flex" @click="goRules">
<view>
<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>
<setComments :CourseCommentTimesList="courseTimeList" @refreshData="getCourseCommentTimes"></setComments>
</view>
</view>
</template>
<script>
import setComments from '@/components/setComments/setComments'
import setComments from '@/components/setComments/setComments'
import {
reactive,
toRefs,
......@@ -44,124 +47,167 @@
import navbar from '../../components/navbar.vue'
export default {
props: {
},
components: {
navbar,
setComments
},
setComments
},
setup() {
let {
let {
proxy
} = getCurrentInstance();
let data = reactive({
value:1,
optionsList:[
{ text: '部分可见', value: 0 },
{ text: '可见不可见', value: 1 },
{ text: '活动商品', value: 2 },
],
radioList:[
{name:'使用默认配置',id:1,checked:true},
{name:'自定义评价',id:2}
],
checked:'1',
obj:{},
value: 1,
optionsList: [{
text: '部分可见',
value: 0
},
{
text: '可见不可见',
value: 1
},
{
text: '活动商品',
value: 2
},
],
radioList: [{
name: '使用默认配置',
id: 1,
checked: true
},
{
name: '自定义评价',
id: 2
}
],
checked: '1',
Msg: {
HomeWorkId: '',
CourseId: '',
},
showPhone: false,
showLogin: true, //多次点击
HomeWorkId:'',
jobDetails: {},
dataList:[],
pageState:'more'
courseTimeList: [], //课程自动生成评论次数
courseRule: {}, //课程评价规则
});
let methods = {
back(){
let methods = {
back() {
uni.navigateBack({
delta: 1
})
},
goRules(){
uni.navigateTo({
url:'/pages/setComments/commentRulesList'
})
}
}
},
radioChange(e) {
console.log("打印国家名称", e.target.value)
},
//获取课程评论次数列表
getCourseCommentTimes() {
proxy.$request("/Teacher/GetCourseCommentTimes", data.Msg).then(res => {
if (res) {
data.courseTimeList = res.Data;
}
})
},
//获取课程评价规则信息
getCourseRule() {
proxy.$request("/Teacher/GetCourseComment", data.Msg).then(res => {
if (res) {
data.courseRule = res.Data;
}
})
},
goRules() {
uni.navigateTo({
url: '/pages/setComments/commentRulesList?CourseId=' + data.Msg.CourseId
})
}
};
return {
...toRefs(data),
...methods
...methods
};
},
onLoad(option) {
this.Msg.HomeWorkId = option.HomeWorkId
onLoad(option) {
this.Msg.CourseId = option.CourseId;
this.getCourseRule();
this.getCourseCommentTimes();
},
};
</script>
<style scoped>
.setComments-setType-right view text{
margin-right: 11rpx;
}
.setComments-setType-right view{
color: #D9868D;
background: #F5DEE0;
border-radius: 25rpx;
width: 200rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
letter-spacing: 1rpx;
}
.setComments-setType-right{
flex-shrink: 0;
font-size: 24rpx;
font-weight: 500;
}
.setComments-setType-text view{
font-size: 24rpx;
color: #AFAFAF;
font-weight: 400;
margin-top: 15rpx;
}
.setComments-setType-text text{
font-size: 30rpx;
font-weight: bold;
color: #282828;
}
.setComments-setType-text{
flex-direction: column;
margin-left: 26rpx;
letter-spacing: 1rpx;
}
.setComments-setType-left view:first-child{
flex-shrink: 0;
}
.setComments-setType-left{
flex-grow: 1;
margin-right: 32rpx;
}
.setComments-index-setType{
background: #FCEEEF;
box-shadow: 0rpx 6rpx 52rpx 0rpx rgba(230, 65, 80, 0.19);
border-radius: 50rpx;
margin: 55rpx 50rpx 50rpx 50rpx;
padding: 33rpx 50rpx;
}
.setComments-index-box{
background: #F6F6F6;
}
.setComments-index-header-title{
font-size: 32rpx;
font-weight: 500;
color: #282828;
flex:1;
text-align: center;
padding-right: 40rpx;
}
.navbarSticky {
.setComments-setType-right view text {
margin-right: 11rpx;
}
.setComments-setType-right view {
color: #D9868D;
background: #F5DEE0;
border-radius: 25rpx;
width: 200rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
letter-spacing: 1rpx;
}
.setComments-setType-right {
flex-shrink: 0;
font-size: 24rpx;
font-weight: 500;
}
.setComments-setType-text view {
font-size: 24rpx;
color: #AFAFAF;
font-weight: 400;
margin-top: 15rpx;
}
.setComments-setType-text text {
font-size: 30rpx;
font-weight: bold;
color: #282828;
}
.setComments-setType-text {
flex-direction: column;
margin-left: 26rpx;
letter-spacing: 1rpx;
}
.setComments-setType-left view:first-child {
flex-shrink: 0;
}
.setComments-setType-left {
flex-grow: 1;
margin-right: 32rpx;
}
.setComments-index-setType {
background: #FCEEEF;
box-shadow: 0px 6px 52px 0px rgba(230, 65, 80, 0.19);
border-radius: 50px;
margin: 55rpx 50rpx 50rpx 50rpx;
padding: 33rpx 50rpx;
}
.setComments-index-box {
background: #F6F6F6;
}
.setComments-index-header-title {
font-size: 32rpx;
font-weight: 500;
color: #282828;
flex: 1;
text-align: center;
padding-right: 40rpx;
}
.navbarSticky {
display: sticky;
top: 0;
z-index: 9;
......
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