serve.vue 4.99 KB
<template>
	<view class="page">
		<view class="screen-list">
			<view class="list">
				<u-input v-model="pageindex.start" type="select" @click="typeShow = true" placeholder='服务记录' />
			</view>
		</view>
		<!-- 记录列表 -->
		<view class="record-list">
			<view class="record-list-box" v-for="(item,index) in recordList" :key="index" @click="recordXq(item)">
				<view class="list">
					<view class="title">
						<view class="left">报修:{{item.warrantyIssue}}</view>
						<view class="right"><u-icon name="arrow-rightward"></u-icon></view>
					</view>
					<view class="info-item">申请时间:{{item.applicationTime}}</view>
					<view class="info-item">状态:<span style="color: #0FBB59;">{{item.status=='1'?'受理中':'已完成'}}</span></view>
					<view style="margin-top: 10px;" v-if="item.status  == '2'">
						<u-button type="success" style="width:30%;height: 28px;margin: 0 10px 0 0;" @click="baoShow(0,item.id)">评价</u-button>
					</view>
				</view>
			</view>
			<view class="record-list-box" v-for="(item,index) in toushu" :key="index" @click="recordXq(item)">
				<view class="list">
					<view class="title">
						<view class="left">投诉:{{item.complaintType}}</view>
						<view class="right"><u-icon name="arrow-rightward"></u-icon></view>
					</view>
					<view class="info-item">申请时间:{{item.applicationTime}}</view>
					<view class="info-item">状态:<span style="color: #0FBB59;">{{item.status=='1'?'受理中':'已完成'}}</span></view>
					<view style="margin-top: 10px;" v-if="item.status  == '2'">
						<u-button type="success" style="width:30%;height: 28px;margin: 0 10px 0 0;" @click="baoShow(1,item.id)">评价</u-button>
					</view>
				</view>
			</view>
		</view>
		<u-select v-model="typeShow" :list="activesType" @confirm="typeChange"></u-select>
		<u-popup class="userForm" v-model="joinShow" mode="center"  border-radius="20" :closeable="true" width="90%" >
			<view style="padding: 30rpx;">
				<view style="text-align: center;font-size: 16px;font-weight: 600;margin-bottom: 30rpx;">评价</view>
			<view class="" style="background-color: #F0F0F0;border-radius: 20rpx;margin-bottom: 15px;">
				<textarea  cols="30" rows="10" placeholder="请输入"  maxlength="150" style="font-size: 24rpx;background-color: #F0F0F0;border-radius: 20rpx;width: 96%;margin: 0 auto;padding: 20rpx;" v-model="form.estimate"></textarea>
				<p style="text-align: right; font-size: 24rpx; color: #666;padding:0 20rpx 10rpx 0;">
				      剩余 {{ remainingCharacters }} 字
				    </p>
			</view>
				<u-button type="success" @click="submit">提交</u-button>
			</view>
		</u-popup>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				recordList:[
					
				],
				toushu:[],
				pageindex: {
					pageNumber: 0,
					pageSize: 10
				},
				activesType: [
					{
					value: 0,
					label: '投诉记录'
				},{
					value: 1,
					label: '报修记录'
				}
				],
				typeShow:false,
				joinShow:false,
				form:{
					estimate:'',
					id:''
				},
				indexMsg :0
			}
		},
		mounted(){
			this.getALL()
		},
		  computed: {
		    remainingCharacters() {
		      const maxLength = 150;
		      return maxLength - this.form.estimate.length;
		    }
		  },
		methods: {
			baoShow(val,ids){
					  this.joinShow = true
					  this.form.estimate = ''
					  this.form.id = ids
					  this.indexMsg = val
			},
			getALL(){
				this.pageindex.createUser =uni.getStorageSync('user').phone
				this.$http.sendRequest('/cereComplaintsSuggestions/queryByPage', 'POST',this.pageindex,1).then(res => {
						this.toushu = res.data.data.content
				}).catch(err => {
					console.log(err)
					//请求失败
				})
			},
			recordXq(item){
				 const encodedItem = encodeURIComponent(JSON.stringify(item));
				uni.navigateTo({
				 url: `/pages/serve/jiDed?item=${encodedItem}`,
				 })
			},
			typeChange(e) {
				
				this.pageindex.start = e[0].labels
				if(e[0].value == 0){
			
				this.$http.sendRequest('/cereComplaintsSuggestions/queryByPage', 'POST',this.pageindex,1).then(res => {
						this.toushu = res.data.data.content
						this.recordList =[]
				})
				}else{
					this.$http.sendRequest('/cereReportIssuesRepairs/queryByPage', 'POST',this.pageindex,1).then(res => {
							this.recordList = res.data.data.content
							this.toushu = []
					})
				}
			},
			submit(){
				 if (!this.form.estimate) {
				 	uni.showToast({
				 		icon: 'none',
				 		title: '请输入评价信息'
				 	});
				 	return;
				 }
				 if(this.indexMsg == 1){
					 this.$http.sendRequest('/cereComplaintsSuggestions/edit', 'POST',this.form,1).then(res => {
					 		uni.showToast({
					 			icon: 'success',
					 			title: '评价成功'
					 		});
					 })
					 this.joinShow = false
				 }else{
					 this.$http.sendRequest('/cereReportIssuesRepairs/edit', 'POST',this.form,1).then(res => {
					 		uni.showToast({
					 			icon: 'success',
					 			title: '评价成功'
					 		});
					 })
					 this.joinShow = false
				 }
			}
		}
	}
</script>

<style scoped lang="scss">
	@import 'serve.scss';
</style>