| | |
| | | <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"> |
| | | <view class="k"> |
| | | 执法类型 |
| | | </view> |
| | | <view class="v"> |
| | | {{dictLabel}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <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 == '发起投诉'"/> |
| | | <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 } 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) { |
| | | 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 => { |
| | | console.log(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 |
| | | 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> |