<template>
|
<view>
|
<u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true">
|
<template slot="center">
|
<view style="color: white;">投诉记录</view>
|
</template>
|
</u-navbar>
|
<view class="donw-box"></view>
|
<view class="page-main">
|
<view class="title">
|
<template v-if="msg.orderStatus>2&&msg.isEva==0">已执法待评价</template>
|
<template v-if="msg.orderStatus>2&&msg.isEva==1">已评价</template>
|
<template v-if="msg.orderStatus==2">待执法</template>
|
</view>
|
<view class="wbox">
|
<view class="item" v-if="dictLabel">
|
<view class="k">
|
执法类型
|
</view>
|
<view class="v">
|
{{dictLabel}}
|
</view>
|
</view>
|
<view class="item" v-if="details.executeUser">
|
<view class="k">
|
执法人
|
</view>
|
<view class="v">
|
{{details.executeUser}}
|
</view>
|
</view>
|
<view class="item">
|
<view class="k">
|
执法部门
|
</view>
|
<view class="v">
|
{{details.executeDeptName}}
|
</view>
|
</view>
|
<view class="item">
|
<view class="k">
|
企业
|
</view>
|
<view class="v">
|
{{details.companyName}}
|
</view>
|
</view>
|
</view>
|
<view style="height: 20rpx;"></view>
|
<template v-if="orderId">
|
<view class="wbox">
|
<view class="item">
|
<view class="k">
|
执法主题
|
</view>
|
<view class="v">
|
{{details.enforceReason}}
|
</view>
|
</view>
|
<view class="item">
|
<view class="k">
|
执法过程
|
</view>
|
</view>
|
<view class="imgbox">
|
<img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more" @click="imgclick(item)" alt="" />
|
|
</view>
|
<view class="item">
|
<view class="k">
|
执法结果
|
</view>
|
<view class="v" style="color: #EB4746;">
|
<!-- {{details.regionStatus == 0? "正常" : "停业整顿" }} -->
|
{{orderDetailsMsg.regionReason}}
|
</view>
|
</view>
|
<view class="item">
|
<view class="k">
|
执法时间
|
</view>
|
<view class="v">
|
{{details.executeTime}}
|
</view>
|
</view>
|
</view>
|
<view style="height: 20rpx;"></view>
|
</template>
|
<view class="wbox2">
|
<view class="t">
|
投诉记录
|
</view>
|
<view class="jilu" :class="{start: item.nodeName == '发起投诉' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
|
<image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '发起投诉' || item.nodeName == '发起诉求'"/>
|
<image src="/static/guocheng.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '处理中'"/>
|
<image src="/static/policy/refject.png" class="img" mode="widthFix" alt="" v-if="item.nodeName == '已驳回'"/>
|
<image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '已办结'"/>
|
<view class="font" style="width: calc(100% - 50rpx);">
|
<view class="h" >
|
<view class="s" >
|
{{item.nodeName}}
|
</view>
|
<view class="time">
|
{{item.nodeTime}}
|
</view>
|
</view>
|
<view class="b">
|
<view class="name" style="margin-bottom: 18rpx;">
|
{{item.nodeUser}}
|
</view>
|
<view class="p" style="margin-bottom: 18rpx;">
|
<span>申诉主题:</span>
|
{{dictLabel1}}
|
</view>
|
<view class="p" style="margin-bottom: 18rpx;">
|
<span>申诉内容:</span>
|
{{details.complaintReason}}
|
</view>
|
<view class="p" v-if="item.nodeName == '已驳回'">
|
<span>驳回原因:</span>
|
{{item.nodeReason}}
|
</view>
|
<view class="p" v-if="item.nodeName == '已办结' && item.nodeReason">
|
<span>办结结果:</span>
|
{{item.nodeReason}}
|
</view>
|
</view>
|
</view>
|
</view>
|
<!-- <view class="jilu">
|
<image src="/static/policy/refject.png" class="img" alt="" />
|
<view class="font">
|
<view class="h">
|
<view class="s">
|
{{item.nodeName}}
|
</view>
|
<view class="time">
|
{{item.nodeTime}}
|
</view>
|
</view>
|
<view class="b">
|
<view class="name">
|
{{details.companyUser}}
|
</view>
|
<view class="p">
|
<span>申诉主题:</span>
|
{{dictLabel1}}
|
</view>
|
<view class="p">
|
<span>申诉内容:</span>
|
{{details.complaintReason}}
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="jilu">
|
<image src="/static/guocheng.png" class="img" alt="" />
|
<view class="font">
|
<view class="h">
|
<view class="s">
|
处理中
|
</view>
|
<view class="time">
|
2024-06-07 12:14
|
</view>
|
</view>
|
<view class="b">
|
<view class="name">
|
{{details.companyUser}}
|
</view>
|
<view class="p">
|
<span>申诉主题:</span>
|
{{dictLabel1}}
|
</view>
|
<view class="p">
|
<span>申诉内容:</span>
|
{{details.complaintReason}}
|
</view>
|
</view>
|
</view>
|
</view>
|
-->
|
</view>
|
</view>
|
|
</view>
|
</template>
|
|
<script>
|
import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
|
import { orderDetails, orderDetailsLog } from '@/api/policy.js'
|
import { config } from '@/common/config.js'
|
import { getDicts } from '@/api/data.js'
|
export default {
|
data() {
|
return {
|
details: {},
|
orderId: "",
|
orderDetailsMsg: {},
|
baseUrl: config.baseUrl,
|
dictLabel: "",
|
dictLabel1: "",
|
nodeList: []
|
}
|
},
|
onLoad(options) {
|
this.complaint(options.id)
|
if(options.orderId && options.orderId !== 'null') {
|
this.orderId = options.orderId
|
this.orderDetails()
|
} else {
|
this.orderNodeList(options.id)
|
}
|
},
|
methods: {
|
orderNodeList(id) {
|
orderNodeList({id}).then(val => {
|
// console.log(val)
|
this.nodeList = val.data.data
|
})
|
},
|
// 获取投诉类型
|
getComtype() {
|
getDicts('complaint_type').then(val => {
|
this.dictLabel1 = val.data.data.find(item => item.dictCode == this.details.complaintType).dictLabel
|
|
})
|
},
|
enforceType() {
|
getDicts('enforce_type').then(val => {
|
console.log(val)
|
this.dictLabel = val.data.data.find(item => item.dictCode == this.orderDetailsMsg.enforceType).dictLabel
|
|
})
|
},
|
imgclick(url) {
|
url = this.baseUrl + url
|
uni.previewImage({
|
urls: [url]
|
})
|
},
|
complaint(details) {
|
complaintDetails(details).then(val => {
|
// console.log(val.data.data)
|
this.details = val.data.data
|
this.getComtype()
|
})
|
},
|
orderDetails() {
|
orderDetails({ orderId: this.orderId}).then(val => {
|
// console.log(val.data.data)
|
val.data.data.regionImgs = val.data.data.regionImgs.split(",")
|
this.orderDetailsMsg = val.data.data
|
if(this.orderId) {
|
this.orderComplaintNodeList()
|
}
|
this.enforceType()
|
})
|
},
|
orderComplaintNodeList() {
|
orderComplaintNodeList({ orderId: this.orderId }).then(val => {
|
console.log(val.data.data, 'val===')
|
this.nodeList = val.data.data
|
})
|
}
|
}
|
}
|
</script>
|
|
<style>
|
page {
|
background: #F4F4F4;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.page-main {
|
position: relative;
|
top: -380rpx;
|
}
|
|
.donw-box {
|
width: 100%;
|
height: 380rpx;
|
flex-shrink: 0;
|
background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
|
}
|
.wbox {
|
background: #fff;
|
border-radius: 5px;
|
padding: 24rpx;
|
box-sizing: border-box;
|
margin: 0 32rpx;
|
|
.item {
|
display: flex;
|
margin-bottom: 20rpx;
|
font-size: 30rpx;
|
|
.k {
|
color: #7E8596;
|
width: 30%;
|
|
}
|
|
.v {
|
color: #202D44;
|
width: 70%;
|
|
}
|
}
|
|
.item:last-child {
|
margin-bottom: 0;
|
}
|
|
.imgbox {
|
display: flex;
|
flex-wrap: wrap;
|
justify-content: space-between;
|
border-radius: 10rpx;
|
|
img {
|
width: 198rpx;
|
height: 198rpx;
|
margin-bottom: 20rpx;
|
|
}
|
}
|
}
|
.title {
|
color: #ffffff;
|
font-size: 44rpx;
|
font-weight: bold;
|
padding-left: 32rpx;
|
margin-top: 24rpx;
|
margin-bottom: 24rpx;
|
|
}
|
|
.wbox2 {
|
background: #fff;
|
border-radius: 5px;
|
box-sizing: border-box;
|
margin: 0 32rpx;
|
position: relative;
|
z-index: 10;
|
.t {
|
padding: 24rpx;
|
border-bottom: 1px solid #EEEEEE;
|
color: #202d44;
|
font-size: 36rpx;
|
font-weight: bold;
|
}
|
|
}
|
|
.jilu{
|
display: flex;
|
justify-content: space-between;
|
padding: 24rpx;
|
position: relative;
|
&::before{
|
content: '';
|
display: inline-block;
|
width: 2rpx;
|
height: 100%;
|
background: #eb47460d;
|
position: absolute;
|
left: 44rpx;
|
top: 30rpx;
|
z-index: 99;
|
}
|
|
.img{
|
width: 50rpx;
|
height: 50rpx;
|
margin-right: 24rpx;
|
position: relative;
|
z-index: 100;
|
}
|
.font{
|
width: calc(100% - 70rpx);
|
.h{
|
display: flex;
|
justify-content: space-between;
|
margin-bottom: 20rpx;
|
.s{
|
color: #202d44;
|
font-size: 32rpx;
|
}
|
.time{
|
color: #7e8596;
|
font-size: 24rpx;
|
}
|
}
|
.b{
|
// width: 289px;
|
// height: 111px;
|
// flex-shrink: 0;
|
border-radius: 4px;
|
background: #F6F6F6;
|
padding: 24rpx;
|
.name{
|
color: #202d44;
|
font-size: 32rpx;
|
}
|
.p{
|
color: #202d44;
|
font-size: 26rpx;
|
span{
|
color: #666666;
|
|
}
|
}
|
}
|
}
|
}
|
.handler{
|
&::before {
|
background: #fe7b320d;
|
}
|
}
|
.start{
|
&::before{
|
background: #E7F8F0;
|
}
|
}
|
.nonde{
|
&::before{
|
background: none;
|
}
|
}
|
</style>
|