xinelu-applet-ui/pagesC/servicerecord/servicerecord.vue

251 lines
7.1 KiB
Vue
Raw Normal View History

2023-09-28 14:34:36 +08:00
<template>
<view class="app">
<u-tabs :list="tabslist" :is-scroll="false" :current="tabscurrent" @change="tabschange" :show-bar='false'
active-color='#26A888'></u-tabs>
2023-10-18 15:14:17 +08:00
<view class="" v-if="tabscurrent==0">
<!-- tabscurrent==0?servicelist:tabscurrent==1?noFileLists:tabscurrent==2?FileList:'' -->
<view class="record" v-for="(item,indexc) in servicelist" :key="indexc">
<view class="top">
<span>{{item.formName}}</span>
<span>{{item.performanceCount}}/{{item.serviceFreq}}</span>
<span v-if="item.orderEvaluateInfo==null">未评价</span>
<span v-if="item.orderEvaluateInfo">已评价</span>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 15:14:17 +08:00
<view class="recorddata">
<view class="recorditem">
{{item.packageName}}
</view>
<view class="recorditem">
履约时间{{item.performanceTime}}
</view>
<view class="recorditem recordbottom">
下次履约时间
<span v-if="item.performanceNextTime!=null">{{item.performanceNextTime}}</span>
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 15:14:17 +08:00
<view class="evaluate" @tap="evaluatetime(item)" v-if="item.orderEvaluateInfo==null">
<view class="evaluatedata">
立即评价
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 16:37:52 +08:00
<view class="evaluate" v-else>
<span>{{item.orderEvaluateInfo.createTime}}</span>
<span>
<u-rate v-model="item.orderEvaluateInfo.compositeScore" size="50" active-color="#FFA115"
inactive-color="#b2b2b2" gutter="20" disabled></u-rate></span>
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 15:14:17 +08:00
</view>
<view class="" v-for="(item,indexa) in noFileLists" :key="indexa">
<view class="record" v-if="tabscurrent==1&&item.orderEvaluateInfo==null">
<view class="top">
<span>{{item.formName}}</span>
<span>{{item.performanceCount}}/{{item.serviceFreq}}</span>
<span v-if="item.orderEvaluateInfo==null">未评价</span>
<span v-if="item.orderEvaluateInfo">已评价</span>
</view>
<view class="recorddata">
<view class="recorditem">
{{item.packageName}}
</view>
<view class="recorditem">
履约时间{{item.performanceTime}}
</view>
<view class="recorditem recordbottom">
下次履约时间
<span v-if="item.performanceNextTime!=null">{{item.performanceNextTime}}</span>
</view>
</view>
<view class="evaluate" @tap="evaluatetime(item)" v-if="item.orderEvaluateInfo==null">
<view class="evaluatedata">
立即评价
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 16:37:52 +08:00
<view class="evaluate" v-else>
<span>{{item.orderEvaluateInfo.createTime}}</span>
<span><u-rate v-model="item.orderEvaluateInfo.compositeScore" size="50" active-color="#FFA115"
inactive-color="#b2b2b2" gutter="20" disabled></u-rate></span>
</view>
2023-09-28 14:34:36 +08:00
</view>
</view>
2023-10-18 15:14:17 +08:00
<view class="" v-for="(item,indexb) in FileList" :key="indexb">
<view class="record" v-if="item.orderEvaluateInfo!=null&&tabscurrent==2">
<view class="top">
<span>{{item.formName}}</span>
<span>{{item.performanceCount}}/{{item.serviceFreq}}</span>
<span v-if="item.orderEvaluateInfo==null">未评价</span>
<span v-if="item.orderEvaluateInfo">已评价</span>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 15:14:17 +08:00
<view class="recorddata">
<view class="recorditem">
{{item.packageName}}
</view>
<view class="recorditem">
履约时间{{item.performanceTime}}
</view>
<view class="recorditem recordbottom">
下次履约时间<span v-if="item.performanceNextTime!=null">{{item.performanceNextTime}}</span>
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 15:14:17 +08:00
<view class="evaluate" @tap="evaluatetime(item)" v-if="item.orderEvaluateInfo==null">
<view class="evaluatedata">
立即评价
</view>
2023-09-28 14:34:36 +08:00
</view>
2023-10-18 16:37:52 +08:00
<view class="evaluate" v-else>
<span>{{item.orderEvaluateInfo.createTime}}</span>
<span><u-rate v-model="item.orderEvaluateInfo.compositeScore" size="50" active-color="#FFA115"
inactive-color="#b2b2b2" gutter="20" disabled></u-rate></span>
</view>
2023-10-18 15:14:17 +08:00
2023-09-28 14:34:36 +08:00
</view>
</view>
2023-10-18 15:14:17 +08:00
<u-empty v-if="servicelist.orderEvaluateInfo==0" text="暂无"></u-empty>
2023-09-28 14:34:36 +08:00
<u-popup v-model="evaluateshow" mode="bottom" length="45%" border-radius="30" :closeable='true'>
<view class="evaluateserver">
立即评价
</view>
<view class="star">
<view class="evaluatstar">
<span>评分</span>
2023-10-18 15:14:17 +08:00
<u-rate size="50" active-color="#FFA115" inactive-color="#b2b2b2" gutter="20" :count="count"
v-model="list.compositeScore"></u-rate>
2023-09-28 14:34:36 +08:00
</view>
</view>
<view class="star">
<view class="evaluatstar">
<span>评价</span>
2023-10-18 15:14:17 +08:00
<u-input v-model="list.evaluateContent" type="textarea" placeholder="请输入" />
2023-09-28 14:34:36 +08:00
</view>
</view>
<view class="submits">
2023-10-27 17:09:42 +08:00
<span @tap="cancel()">取消</span>
2023-10-18 15:14:17 +08:00
<span @tap="submit(item)">提交</span>
2023-09-28 14:34:36 +08:00
</view>
</u-popup>
2023-10-18 15:14:17 +08:00
<u-toast ref="uToast" />
2023-09-28 14:34:36 +08:00
</view>
</template>
<script>
2023-10-18 15:14:17 +08:00
import {
record,
add
} from '@/api/pagesC/servicerecord/servicerecord.js'
2023-09-28 14:34:36 +08:00
export default {
data() {
return {
2023-10-18 15:14:17 +08:00
count: 4,
value: 2,
2023-09-28 14:34:36 +08:00
tabslist: [{
name: '全部',
orderStatus: '',
}, {
name: '未评价',
2023-10-18 15:14:17 +08:00
orderStatus: '1',
2023-09-28 14:34:36 +08:00
}, {
name: '已评价',
2023-10-18 15:14:17 +08:00
orderStatus: '2',
2023-09-28 14:34:36 +08:00
}, ],
2023-10-18 15:14:17 +08:00
servicelist: [],
2023-09-28 14:34:36 +08:00
tabscurrent: 0,
value: 4,
evaluateshow: false,
2023-10-18 15:14:17 +08:00
list: {
compositeScore: '',
evaluateContent: '',
patientId: '',
openId: '',
orderNo: '',
orderSource: 'FAMILY_DOCTOR',
evaluateChanne: 'WE_CHAT_APPLET',
},
query: {
pageNum: 1,
pageSize: 10,
2023-10-18 16:39:53 +08:00
identity: '',
2023-10-18 15:14:17 +08:00
isEvaluate: '',
},
FileList: [],
noFileLists: [],
2023-09-28 14:34:36 +08:00
}
},
2023-10-18 15:14:17 +08:00
onShow() {
const value = uni.getStorageSync('userinfo');
2023-10-18 16:39:53 +08:00
this.query.identity=value.cardNo
2023-10-18 15:14:17 +08:00
this.info()
},
2023-09-28 14:34:36 +08:00
methods: {
2023-10-27 17:09:42 +08:00
cancel(){
this.evaluateshow=false
},
2023-10-18 15:14:17 +08:00
submit(item) {
console.log(this.list, '45')
add(this.list).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
title: '评价成功',
type: 'success',
duration: '1500'
})
this.evaluateshow = false;
this.info()
} else if (res.code == 500) {
this.$refs.uToast.show({
title: res.msg,
type: 'error',
duration: '1500'
})
}
})
},
info() {
2023-10-18 16:37:52 +08:00
this.FileList = []
this.noFileLists = []
this.servicelist = []
2023-10-18 15:14:17 +08:00
record(this.query.identity).then(res => {
2023-10-18 16:37:52 +08:00
if (res.code == 200) {
2023-10-18 15:14:17 +08:00
res.data.forEach(e => {
if (e.orderEvaluateInfo) {
this.FileList.push(e)
} else {
this.noFileLists.push(e)
}
})
this.servicelist = res.data
2023-10-18 16:37:52 +08:00
} else if (res.code == 500) {
2023-10-18 15:14:17 +08:00
this.$refs.uToast.show({
title: res.msg,
type: 'error',
duration: '1500'
})
}
})
},
2023-09-28 14:34:36 +08:00
//点击tabs
tabschange(index) {
this.tabscurrent = index;
},
// 立即评价
2023-10-18 15:14:17 +08:00
evaluatetime(item) {
console.log(item, '58')
2023-09-28 14:34:36 +08:00
this.evaluateshow = true;
2023-10-18 15:14:17 +08:00
this.list = item
this.list.orderNo = item.performanceNo
this.list.patientId = uni.getStorageSync('patientId');
this.list.openId = uni.getStorageSync('openid');
this.list.orderSource = 'FAMILY_DOCTOR'
this.list.evaluateChanne = 'WE_CHAT_APPLET'
2023-09-28 14:34:36 +08:00
}
}
}
</script>
<style lang="scss">
@import './servicerecord.scss'
2023-10-18 16:37:52 +08:00
</style>