<template>
	<view>
		<view class="consult">
			<dHeader :title="$lang.lang.complaint.complaint"></dHeader>
		</view>
		<view class="start-bar"></view>
		<view class="consult-list">
			<view class="consult-list-it" v-for="(item, index) in data" v-if="item.content" @click="toInfo(item.id)" :key="index">
				<view class="consult-list-top">
					<view class="">{{$lang.lang.complaint.name}}：{{item.contacter}}</view>
					<text>{{$lang.lang.complaint.orderNo}}：{{item.orderId}}</text>
				</view>
				<view class="times">
					<text>{{$lang.lang.complaint.title}}：{{item.title}}</text>
					<text>{{$lang.lang.complaint.type}}：{{getTypeName(item.type)}}</text>
				</view>
				<view class="times">
					<view>
						{{$lang.lang.complaint.time}}：{{$request.getLocalTime(item.createTime)}}
					</view>
					<view :class="item.status == 1 ? 'tags': item.status==2?'tags3' : 'tags2'">
						{{$lang.lang.complaint.status}}：{{getStatusName(item.status)}}
					</view>
				</view>
				<view class="times" v-if="item.status==3">
					<view>{{$lang.lang.complaint.disposeTime}}：{{$request.getLocalTime(item.handleAt)}}</view>
				</view>
			</view>
		</view>

		<view class="bom">
			<view class="" @click="$request.goPage('../complaint_add/complaint_add')">
				<image src="../../static/img/feed.png" mode=""></image>
				<text>{{$lang.lang.complaint.new}}</text>
			</view>
			<view class="" @click="$request.goPage('../consult/consult')">
				<image src="../../static/img/zixun.png" mode=""></image>
				<text>{{$lang.lang.complaint.change}}</text>
			</view>
		</view>
	</view>
</template>

<script>
	import dHeader from '../../components/dHeader/index.vue'
	export default {
		components: {
			dHeader
		},
		data() {
			return {
				data: [],
				page: 1,
				totalPage: 1,
				typeData:[],
				statusData:[]
			}
		},
		onLoad() {
			this.getType()
			this.getStatus()
		},
		onShow () {
			this.page = 1
			this.getData()
		},
		onPullDownRefresh() {
			this.page = 1
			this.data = []
			this.getData()
			uni.stopPullDownRefresh()
		},
		onReachBottom() {
			if(this.totalPage > this.page){
				this.page ++
				this.getData()
			}
		},
		methods: {
			getData () {
				this.$request.get('/app-api/ecw/customer-complaint/page', {pageNo: this.page, pageSize: 20}).then(res => {
					console.log(res)
					if(res.code == 0&&res.data){
						if(this.page == 1){
							this.data = res.data.list
						} else {
							this.data = this.data.concat(res.data.list)
						}
						this.totalPage = res.data.pages
					}
				})
			},
			toInfo(id){
				uni.navigateTo({
					url:'../complaint_info/complaint_info?id='+id
				})
			},
			getType(){
				this.$request.getConfig('customer_complaint_type').then(res => {
					if(res.code == 0&&res.data&&res.data.list.length > 0){
						this.typeData = res.data.list
					}
				})
			},
			getTypeName(value){
				var data = this.typeData.find(item=>item.value == value)
				if(data) {
          return data[this.$lang.label];
				}
			},
			getStatus(){
				this.$request.getConfig('customer_complaint_status').then(res => {
					if(res.code == 0&&res.data&&res.data.list.length > 0){
						this.statusData = res.data.list
					}
				})
			},
			getStatusName(value){
				var data = this.statusData.find(item=>item.value == value)
				if(data) {
					if(this.$lang.locale=='zh'){
						return data.label
					}else if(this.$lang.locale=='en'){
						return data.labelEn
					} else {
						return data.labelFr
					}
				}
			},
		}
	}
</script>

<style>
	@import url("../../static/css/complaint.css");
</style>
