Commit bc1a4ba5 authored by 黄奎's avatar 黄奎

页面修改

parent acbf7c79
...@@ -2,26 +2,19 @@ ...@@ -2,26 +2,19 @@
<view class="rulesPopup-box"> <view class="rulesPopup-box">
<van-popup :show="show" :round="true" @close="closepopup"> <van-popup :show="show" :round="true" @close="closepopup">
<view class="rulesPopup-box"> <view class="rulesPopup-box">
<van-icon class="rulesPopup-closure" name="cross" @click="closepopup"/> <van-icon class="rulesPopup-closure" name="cross" @click="closepopup" />
<view class="rulesPopup-title">自定义评论规则</view> <view class="rulesPopup-title">自定义评论规则</view>
<view class="rulesPopup-content"> <view class="rulesPopup-content">
<input v-model="uploadParm.ExamName" class="rulesPopup-name" placeholder="请输入本组自定义规则名称"/> <input v-model="ruleObj.Title" class="rulesPopup-name" placeholder="请输入本组自定义规则名称" />
<view class="rulesPopup-RuleSettings"> <view class="rulesPopup-RuleSettings">
<text class="RuleSettings-title">规则设置</text> <text class="RuleSettings-title">规则设置</text>
<view class="RuleSettings-slider"> <view class="RuleSettings-slider">
<van-slider v-model="value" bar-height="10rpx" active-color="#ee0a24"> <van-slider v-model="valueNum" :range="isRange" @change="onChange" />
<template #button>
<div class="custom-button">{{ value }}</div>
</template>
</van-slider>
<!-- <van-slider v-model="valueNum" range
bar-height="4px" active-color="#ee0a24"
@change="onChange" /> -->
</view> </view>
</view> </view>
</view> </view>
<view class="RuleSettings-content"> <view class="RuleSettings-content">
<textarea placeholder="请填写评论内容"></textarea> <textarea placeholder="请填写评论内容" v-model="ruleObj.Info"></textarea>
</view> </view>
<view class="rulesPopup-save flex"> <view class="rulesPopup-save flex">
<view @click="save">保存</view> <view @click="save">保存</view>
...@@ -40,48 +33,67 @@ ...@@ -40,48 +33,67 @@
inject, inject,
watch watch
} from "vue"; } from "vue";
import { uploadFile } from "@/utils/index"; import {
uploadFile
} from "@/utils/index";
export default { export default {
props: { props: {
}, },
emits: ['change'],
components: {}, components: {},
setup(props,ctx) { setup(props, ctx) {
// 双滑块模式时,值必须是数组
const value = ref([10, 50]);
let { let {
proxy proxy
} = getCurrentInstance(); } = getCurrentInstance();
let data = reactive({ let data = reactive({
valueNum: ref([0, 0]), valueNum: [10, 50],
show: false, show: false,
loading: false, loading: false,
isRange: true,
ruleObj: {
DetailId: 0, //详情编号
Title: "", //标题
StartNum: 0, //开始值
EndNum: 0, //结束值
Info: "", //评价
}
}); });
let methods = { let methods = {
showFun(){ showFun(item) {
if (item) {
data.ruleObj.DetailId = item.DetailId;
data.ruleObj.StartNum = item.StartNum;
data.ruleObj.EndNum = item.EndNum;
data.ruleObj.Info = item.Info;
} else {
data.ruleObj.DetailId = 0;
data.ruleObj.StartNum = 0;
data.ruleObj.EndNum = 0;
data.ruleObj.Info = "";
}
data.show = true data.show = true
}, },
closepopup(){ closepopup() {
data.show = false data.show = false
}, },
onChange(value){ onChange(value) {
console.log(value) console.log(value)
// data.valueNum = value
// console.log(data.valueNum)
}, },
save(){ save() {
data.ruleObj.StartNum = data.valueNum[0];
data.ruleObj.EndNum = data.valueNum[1];
ctx.emit("change", data.ruleObj);
data.show = false data.show = false
} }
}; };
let that = methods; let that = methods;
return { return {
...toRefs(data), ...toRefs(data),
value,
...methods ...methods
}; };
}, },
onLoad(){ onLoad() {
}, },
onShow() { onShow() {
...@@ -99,10 +111,12 @@ ...@@ -99,10 +111,12 @@
background-color: #ee0a24; background-color: #ee0a24;
border-radius: 100rpx; border-radius: 100rpx;
} }
.RuleSettings-slider{
.RuleSettings-slider {
padding: 52rpx 0 66rpx 0; padding: 52rpx 0 66rpx 0;
} }
.rulesPopup-save view{
.rulesPopup-save view {
background: #C91727; background: #C91727;
font-size: 30rpx; font-size: 30rpx;
font-weight: bold; font-weight: bold;
...@@ -113,46 +127,55 @@ ...@@ -113,46 +127,55 @@
text-align: center; text-align: center;
color: #FFFFFF; color: #FFFFFF;
} }
.rulesPopup-save{
.rulesPopup-save {
justify-content: flex-end; justify-content: flex-end;
margin-top: 40rpx; margin-top: 40rpx;
} }
.RuleSettings-content textarea{
.RuleSettings-content textarea {
width: 100%; width: 100%;
} }
.RuleSettings-content{
.RuleSettings-content {
background: #F7F7F7; background: #F7F7F7;
border-radius: 30rpx; border-radius: 30rpx;
min-height: 152rpx; min-height: 152rpx;
padding: 37rpx 43rpx; padding: 37rpx 43rpx;
} }
.RuleSettings-title{
.RuleSettings-title {
font-size: 30rpx; font-size: 30rpx;
font-weight: bold; font-weight: bold;
color: #282828; color: #282828;
} }
.rulesPopup-box .noData{
.rulesPopup-box .noData {
text-align: center; text-align: center;
flex:1; flex: 1;
width: 100%; width: 100%;
} }
.rulesPopup-box .noData image{
width:200rpx; .rulesPopup-box .noData image {
width: 200rpx;
margin-bottom: 40rpx; margin-bottom: 40rpx;
} }
.rulesPopup-box .noData view{
.rulesPopup-box .noData view {
font-size: 24rpx; font-size: 24rpx;
color: #cecece; color: #cecece;
text-align: center; text-align: center;
} }
.rulesPopup-RuleSettings{
.rulesPopup-RuleSettings {
background: #FCEEEF; background: #FCEEEF;
border-radius: 30rpx; border-radius: 30rpx;
padding: 35rpx 41rpx; padding: 35rpx 41rpx;
margin-top: 51rpx; margin-top: 51rpx;
margin-bottom: 40rpx; margin-bottom: 40rpx;
} }
.rulesPopup-name{
.rulesPopup-name {
background-color: #F7F7F7; background-color: #F7F7F7;
text-align: center; text-align: center;
border: 1px solid #F7F7F7; border: 1px solid #F7F7F7;
...@@ -163,7 +186,8 @@ ...@@ -163,7 +186,8 @@
font-size: 30rpx; font-size: 30rpx;
letter-spacing: 1rpx; letter-spacing: 1rpx;
} }
.rulesPopup-title{
.rulesPopup-title {
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 30rpx; font-size: 30rpx;
...@@ -171,19 +195,20 @@ ...@@ -171,19 +195,20 @@
margin-bottom: 73rpx; margin-bottom: 73rpx;
letter-spacing: 1rpx; letter-spacing: 1rpx;
} }
.rulesPopup-closure{
.rulesPopup-closure {
position: absolute; position: absolute;
right: 31rpx; right: 31rpx;
top: 31rpx; top: 31rpx;
color: #282828; color: #282828;
font-size: 38rpx; font-size: 38rpx;
} }
.rulesPopup-box{
.rulesPopup-box {
position: relative; position: relative;
width: 548rpx; width: 548rpx;
padding: 48rpx 55rpx 60rpx 55rpx; padding: 48rpx 55rpx 60rpx 55rpx;
} }
.rulesPopup-box{
} .rulesPopup-box {}
</style> </style>
...@@ -6,44 +6,19 @@ ...@@ -6,44 +6,19 @@
<text class="commentRulesList-header-title">评论规则</text> <text class="commentRulesList-header-title">评论规则</text>
</view> </view>
</navbar> </navbar>
<!-- <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>默认评论规则</text>
</view>
<view class="commentRulesList-list">
<view class="commentRulesList-cross" @click="deleteRules">
<van-icon name="cross" />
</view>
<view class="commentRulesList-img flex">
<view>百分比: 0%-40%</view>
<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" />
</view>
<view class="commentRulesList-comment">
这位学员很优秀,平时课上的问题都
能积极回答,正确率非常高
。这次考试得分也很高,希望再接再厉
</view>
</view>
<view class="noData">
<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-content"> <view class="commentRulesList-content">
<view class="commentRulesList-title flex"> <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" /> <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> <text>{{courseRule.Title}}</text>
</view> </view>
<view class="commentRulesList-list" v-if="courseRule" v-for="(item,index) in courseRule.CommentDetails"> <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"> <view class="commentRulesList-cross" v-if="courseRule.Id>0" @click="deleteRules(item,index)">
<van-icon name="cross" /> <van-icon name="cross" />
</view> </view>
<view class="commentRulesList-img flex"> <view class="commentRulesList-img flex">
<view>百分比: {{item.StartNum}}%-{{item.EndNum}}%</view> <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" /> <van-image v-if="courseRule.Id>0" @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>
<view class="commentRulesList-comment"> <view class="commentRulesList-comment">
{{item.Info}} {{item.Info}}
...@@ -60,15 +35,15 @@ ...@@ -60,15 +35,15 @@
<text @click="addRules">添加自定义规则</text> <text @click="addRules">添加自定义规则</text>
<view class="Wire"></view> <view class="Wire"></view>
</view> </view>
<view class="save flex"><text @click="saveRules">保存</text></view> <view class="save flex"><text v-if="!isDefaultRule" @click="saveRules">保存</text></view>
</view> </view>
</view> </view>
<rulesPopup ref="getrulesPopup"></rulesPopup> <rulesPopup ref="getrulesPopup" @change="changeData"></rulesPopup>
</view> </view>
</template> </template>
<script> <script>
import rulesPopup from '@/components/setComments/rulesPopup' import rulesPopup from '@/components/setComments/rulesPopup'
import setComments from '@/components/setComments/setComments'
import { import {
ref, ref,
reactive, reactive,
...@@ -84,11 +59,12 @@ ...@@ -84,11 +59,12 @@
}, },
components: { components: {
navbar, navbar,
setComments,
rulesPopup rulesPopup
}, },
setup() { setup() {
let { refs } = getCurrentInstance(); let {
refs
} = getCurrentInstance();
let { let {
proxy proxy
} = getCurrentInstance(); } = getCurrentInstance();
...@@ -96,13 +72,15 @@ ...@@ -96,13 +72,15 @@
Msg: { Msg: {
CourseId: '', CourseId: '',
}, },
showPhone: false, //课程规则
showLogin: true, //多次点击 courseRule: {
HomeWorkId:'', Id: 0,
jobDetails: {}, Title: "",
dataList:[], CourseId: 0,
pageState:'more', CommentDetails: [], //规则详情
courseRule: {}, //课程规则 }, //课程规则
isDefaultRule: true, //是否是默认规则(
detailItem: {}, //当前编辑项
}); });
let methods = { let methods = {
back() { back() {
...@@ -110,44 +88,54 @@ ...@@ -110,44 +88,54 @@
delta: 1 delta: 1
}) })
}, },
saveRules(){//保存规则 saveRules() { //保存规则
proxy.$request("/Teacher/SetCourseComment", data.courseRule).then(res => {
if (res) {
uni.showToast({
title: '操作成功!',
icon: 'none',
duration: 500
})
this.getCourseRule()
}
})
}, },
addRules(){//添加规则 //添加规则
addRules() {
data.show = true data.show = true
refs.getrulesPopup.$vm.showFun() refs.getrulesPopup.$vm.showFun()
}, },
editRules(){//编辑规则 //编辑规则
editRules(item) {
data.show = true data.show = true
refs.getrulesPopup.$vm.showFun()
refs.getrulesPopup.$vm.showFun(item)
}, },
deleteRules (){//删除规则 //删除规则
deleteRules(item, index) {
let self=this;
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '将删除该规则,是否继续', content: '将删除该规则,是否继续',
success: function (res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
console.log('---') if (item.DetailId > 0) {
} else if (res.cancel) { let delMsg = {
DetailIds: item.DetailId
};
proxy.$request("/Teacher/RemoveCourseCommentDetail", delMsg).then(res => {
if (res.Code == 1) {
uni.showToast({ uni.showToast({
title:'已取消', title: '删除成功!',
icon:'none', icon: 'none',
duration: 500 duration: 500
}) });
self.getCourseRule();
} }
})
} else {
data.courseRule.CommentDetails.splice(index, 1);
} }
});
},
editRules() { //编辑规则
},
deleteRules() { //删除规则
uni.showModal({
title: '提示',
content: '将删除该规则,是否继续',
success: function(res) {
if (res.confirm) {
console.log('---')
} else if (res.cancel) { } else if (res.cancel) {
uni.showToast({ uni.showToast({
title: '已取消', title: '已取消',
...@@ -162,9 +150,49 @@ ...@@ -162,9 +150,49 @@
getCourseRule() { getCourseRule() {
proxy.$request("/Teacher/GetCourseComment", data.Msg).then(res => { proxy.$request("/Teacher/GetCourseComment", data.Msg).then(res => {
if (res) { if (res) {
data.courseRule = res.Data; var tempData = res.Data;
if (tempData) {
data.courseRule.Id = tempData.Id;
data.courseRule.Title = tempData.Title;
data.courseRule.CourseId = tempData.CourseId;
data.courseRule.CommentDetails = tempData.CommentDetails;
}
if (res.Data.Id == 0) {
data.isDefaultRule = true;
} else {
data.isDefaultRule = false;
}
} }
}) })
},
//获取子组件数据
changeData(item) {
console.log("item", item);
if (item) {
if (item.Title && item.Title != '') {
data.courseRule.Title = item.Title
}
if (data.isDefaultRule) {
data.courseRule.CommentDetails = [];
}
let obj = {
DetailId: item.DetailId,
StartNum: item.StartNum,
EndNum: item.EndNum,
Info: item.Info
}
if (item.DetailId > 0 && data.courseRule.CommentDetails.length > 0) {
let chooseIndex = data.courseRule.CommentDetails.findIndex(qitem => qitem.DetailId == item.DetailId);
data.courseRule.CommentDetails[chooseIndex].StartNum = obj.StartNum;
data.courseRule.CommentDetails[chooseIndex].EndNum = obj.EndNum;
data.courseRule.CommentDetails[chooseIndex].Info = obj.Info;
} else {
data.courseRule.CommentDetails.push(obj)
}
}
if (data.isDefaultRule) {
data.isDefaultRule = false;
}
} }
} }
return { return {
...@@ -195,10 +223,12 @@ ...@@ -195,10 +223,12 @@
color: #cecece; color: #cecece;
text-align: center; text-align: center;
} }
.save{
.save {
margin-left: 24rpx; margin-left: 24rpx;
} }
.Wire{
.Wire {
width: 2rpx; width: 2rpx;
height: 32rpx; height: 32rpx;
background: #DCDCDC; background: #DCDCDC;
...@@ -206,15 +236,19 @@ ...@@ -206,15 +236,19 @@
flex-shrink: 0; flex-shrink: 0;
margin-top: 25rpx; margin-top: 25rpx;
} }
.save text{
.save text {
background: #D13A48; background: #D13A48;
color: #FFFFFF; color: #FFFFFF;
} }
.add text{
.add text {
background: #FFFFFF; background: #FFFFFF;
color: #D13A48; color: #D13A48;
} }
.add text,.save text{
.add text,
.save text {
line-height: 88rpx; line-height: 88rpx;
flex-grow: 2; flex-grow: 2;
border: 1rpx solid #D13A48; border: 1rpx solid #D13A48;
...@@ -224,15 +258,19 @@ ...@@ -224,15 +258,19 @@
font-size: 30rpx; font-size: 30rpx;
letter-spacing: 1rpx; letter-spacing: 1rpx;
} }
.add,.save{
.add,
.save {
flex: 0 0 50%; flex: 0 0 50%;
flex-shrink: 0; flex-shrink: 0;
} }
.commentRulesList-footer{
.commentRulesList-footer {
padding: 29rpx 70rpx; padding: 29rpx 70rpx;
align-items: center; align-items: center;
} }
.commentRulesList-footer-box{
.commentRulesList-footer-box {
position: fixed; position: fixed;
left: 0; left: 0;
right: 0; right: 0;
...@@ -241,22 +279,26 @@ ...@@ -241,22 +279,26 @@
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0rpx 0rpx 21rpx 0rpx rgba(165, 165, 165, 0.34); box-shadow: 0rpx 0rpx 21rpx 0rpx rgba(165, 165, 165, 0.34);
} }
.commentRulesList-comment{
.commentRulesList-comment {
font-size: 30rpx; font-size: 30rpx;
font-weight: 400; font-weight: 400;
color: #282828; color: #282828;
line-height: 58rpx; line-height: 58rpx;
letter-spacing: 1rpx; letter-spacing: 1rpx;
} }
.commentRulesList-img .img{
.commentRulesList-img .img {
margin-top: 5rpx; margin-top: 5rpx;
flex-shrink: 0; flex-shrink: 0;
} }
.commentRulesList-img view{
.commentRulesList-img view {
flex-grow: 1; flex-grow: 1;
margin-right: 15rpx; margin-right: 15rpx;
} }
.commentRulesList-img{
.commentRulesList-img {
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
font-size: 30rpx; font-size: 30rpx;
...@@ -264,7 +306,8 @@ ...@@ -264,7 +306,8 @@
color: #D9868D; color: #D9868D;
margin-bottom: 34rpx; margin-bottom: 34rpx;
} }
.commentRulesList-cross{
.commentRulesList-cross {
position: absolute; position: absolute;
right: -12rpx; right: -12rpx;
top: -12rpx; top: -12rpx;
...@@ -278,7 +321,8 @@ ...@@ -278,7 +321,8 @@
text-align: center; text-align: center;
line-height: 44rpx; line-height: 44rpx;
} }
.commentRulesList-list{
.commentRulesList-list {
background: #FCEEEF; background: #FCEEEF;
border-radius: 30px; border-radius: 30px;
position: relative; position: relative;
...@@ -286,37 +330,44 @@ ...@@ -286,37 +330,44 @@
margin-bottom: 40rpx; margin-bottom: 40rpx;
min-height: 290rpx; min-height: 290rpx;
} }
.commentRulesList-title .img{
.commentRulesList-title .img {
flex-shrink: 0; flex-shrink: 0;
display: inline-block; display: inline-block;
margin-top: 5rpx; margin-top: 5rpx;
} }
.commentRulesList-title text{
.commentRulesList-title text {
font-size: 40rpx; font-size: 40rpx;
font-weight: bold; font-weight: bold;
color: #282828; color: #282828;
margin-left: 29rpx; margin-left: 29rpx;
letter-spacing: 1rpx; letter-spacing: 1rpx;
} }
.commentRulesList-title{
.commentRulesList-title {
align-items: center; align-items: center;
margin-bottom: 35rpx; margin-bottom: 35rpx;
} }
.commentRulesList-content{
.commentRulesList-content {
padding: 0 50rpx; padding: 0 50rpx;
margin-bottom: 240rpx; margin-bottom: 240rpx;
} }
.commentRulesList-box{
.commentRulesList-box {
background: #FFFFFF; background: #FFFFFF;
} }
.commentRulesList-header-title{
.commentRulesList-header-title {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: #282828; color: #282828;
flex:1; flex: 1;
text-align: center; text-align: center;
padding-right: 40rpx; padding-right: 40rpx;
} }
.save { .save {
margin-left: 24rpx; margin-left: 24rpx;
} }
......
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