You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

279 lines
6.2 KiB
Vue

<template>
<view class="client-appraise">
<view class="operation">
<view class="">
<button v-if="index!=5" @click="upday()" class="cu-btn round line-red">上一天</button>
</view>
<view class="">
<picker mode="date" :value="date" :start="timeArr[5]" :end="currentDate" @change="bindDateChange">
<text class="text-red">{{date}}</text>
</picker>
</view>
<view class="">
<button v-if="index!=-1" @click="dowmday" class="cu-btn round line-red">下一天</button>
</view>
</view>
<view v-if="todayList.length==0">
<view class='empty cuIcon-info'></view>
<view class='empty-text text-gray'>暂无数据</view>
</view>
<view class="client radius shadow shadow-lg bg-white " v-for="(item,index) in todayList" :key="index">
<!-- -->
<view class="cu-bar bg-white margin-top">
<view class='action '>
<text class='cuIcon-titles text-orange'></text>
<text class='text-black'>{{item.tradeName}}</text>
</view>
</view>
<view class="cu-card case no-card ">
<view class="cu-item shadow">
<view class="appraise">
<text>态度评价:</text>
<uni-rate disabledColor='#ffca3e' :disabled='true' :margin='10' class="margin-left" v-model="item.csAttitudeStar" />
</view>
<view class="appraise">
<text>技术评价:</text>
<uni-rate disabledColor='#ffca3e' :disabled='true' :margin='10' class="margin-left" v-model="item.csTechnicalStar" />
</view>
<view class="appraise">
<text>其他评价:</text>
<uni-rate disabledColor='#ffca3e' :disabled='true' :margin='10' class="margin-left" v-model="item.csOtherStar" />
</view>
<view class="appraise" style="margin-bottom: 10upx;">
<text>评价内容:</text>
<text style="width: 60%; padding: 0 20upx; ">{{item.csAppraise}}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
const currentDate = this.getDate({
format: true
})
return {
userInfo: null,
todayList: [{
tradeName: '精品玻尿酸疗程',
csOtherStar: 5, //其他
csTechnicalStar: 5, //技术
csAttitudeStar: 2, //态度
nr: '这是评价内容这是评价内容这是评价是评价内容'
}, {
tradeName: '精品玻尿酸疗程',
csOtherStar: 5, //其他
csTechnicalStar: 5, //技术
csAttitudeStar: 2, //态度
nr: '这是评价内容这是评价内容这是评价是评价内容'
}],
currentDate: currentDate,
date: currentDate,
timeArr: [],
index: -1,
}
},
onLoad() {
this.timeArr = this.GetTime()
},
methods: {
bindDateChange(e){
this.date = e.detail.value
this.timeArr.forEach((item,index)=>{
if(this.date==item){
this.index = index
}
})
this.selectMemberCsByStaff()
},
GetTime() {
var date = new Date();
var base = Date.parse(date); // 转换为时间戳
var year = date.getFullYear(); //获取当前年份
var mon = date.getMonth() + 1; //获取当前月份
var day = date.getDate(); //获取当前日
var oneDay = 24 * 3600 * 1000
var daytime = `${year}${mon >= 10 ? mon : '0' + mon}${day >= 10 ? day : '0' + day}`; //今日时间
this.$data.daytime = daytime; // 今日时间赋值给变量
var daytimeArr = []
for (var i = 1; i < 7; i++) { //前七天的时间
var now = new Date(base -= oneDay);
var myear = now.getFullYear();
var month = now.getMonth() + 1;
var mday = now.getDate()
daytimeArr.push([myear, month >= 10 ? month : '0' + month, mday >= 10 ? mday : '0' + mday].join('-'))
}
return daytimeArr
},
upday() {
this.index += 1
this.date = this.timeArr[this.index]
this.selectMemberCsByStaff()
},
dowmday() {
this.index -= 1
this.date = this.timeArr[this.index]
if (this.index == -1) {
this.date = this.currentDate
}
this.selectMemberCsByStaff()
},
selectMemberCsByStaff() {
this.userInfo = uni.getStorageSync('userInfo')
var form = {
docDate: new Date(this.date),
staffIds: this.userInfo.id,
storeId: this.userInfo.storeId,
state: 1
}
this.$api.selectMemberCsByStaff(form).then(res => {
if (res.code == '000000') {
this.todayList = res.rows
}
})
},
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate()
month = month > 9 ? month : '0' + month;;
day = day > 9 ? day : '0' + day;;
return `${year}-${month}-${day}`
},
},
onShow:function() {
this.newdate = new Date()
this.selectMemberCsByStaff()
}
}
</script>
<style>
.client {
margin: 0 3%;
border-radius: 20upx;
}
.operation {
width: 100%;
height: 80upx;
background-color: #FFFFFF;
}
.operation view {
padding: 10upx 0;
display: inline-block;
text-align: center;
}
.operation view:nth-child(2n-1) {
width: 30%;
}
.operation view:nth-child(2n) {
width: 40%;
}
.client-appraise .appraise {
padding: 5upx 5%;
font-size: 24upx;
}
.client-appraise .appraise text {
font-size: 24upx;
padding-right: 10upx;
}
.stars-wrapper {
display: inline-block;
background-color: #FFFFFF;
padding: 0upx 30upx;
}
.the-month,
.last-month,
.season,
.half-a-year,
.this-year {
background: white;
padding-top: 30rpx;
position: absolute;
top: 90rpx;
bottom: 0;
left: 0;
right: 0;
}
/* 汇总标题 */
.month-title {
display: flex;
padding: 20rpx 20rpx 20rpx 25rpx;
}
.month-title view {
text-align: center;
font-size: 31rpx;
}
.month-title .projectname {
flex: 5;
font-size: 31rpx;
}
.month-title .servicenums {
flex: 2.5;
}
.month-title .averagescore {
flex: 2.5;
}
/* 汇总列表 */
.month-content {
display: flex;
align-items: center;
padding: 10rpx 20rpx 30rpx 25rpx;
}
.month-content view {
text-align: center;
font-size: 28rpx;
}
.month-content .projectname-list {
flex: 5;
}
.month-content .servicenums-list {
flex: 2.5;
}
.month-content .averagescore-list {
flex: 2.5;
display: flex;
justify-content: center;
align-items: center;
font-size: 29rpx;
}
.averagescore-icon {
margin-right: 10rpx;
}
.averagescore-fraction {
font-weight: 550;
color: orange;
}
</style>