| | |
| | | hasHead: true, |
| | | authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', |
| | | webURL: 'https://jmy.jinmingyuan.com/ecosphere-user', |
| | | serverTempl: "http://172.16.60.20:8086", |
| | | serverTempl: "http://172.16.60.251:8086", |
| | | socketTempl: "wss://yqzx.jinmingyuan.com/wsPerCode", |
| | | h5Temp: "https://yqzx.jinmingyuan.com/ecosphere-h5", |
| | | serverUrl: 'http://172.16.60.20:8086', |
| | | serverUrl: 'http://172.16.60.251:8086', |
| | | h5Url: 'http://172.16.60.172:8086/service-merchant', |
| | | ftpUrl: 'https://yqzx.jinmingyuan.com/file', |
| | | // ftpUrl: 'https://echftp.jinmingyuan.com', |
| | | baseUrl: 'http://172.16.60.20:8086', |
| | | baseUrl: 'http://172.16.60.251:8086', |
| | | wx_appid: 'wxad8cc511da676bd4', |
| | | ali_appid: '2021003199690698' |
| | | } |
| | |
| | | <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="wbox"> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法类型 |
| | | </view> |
| | | <view class="v"> |
| | | {{type}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法人 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeUser}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法部门 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeDeptName}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 企业 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.companyName}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view style="height: 20rpx;"></view> |
| | | <view class="wbox"> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法主题 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.enforceReason}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法过程 |
| | | </view> |
| | | </view> |
| | | <view class="imgbox"> |
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" /> |
| | | |
| | | <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" /> |
| | | <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="wbox"> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 检查方式 |
| | | </view> |
| | | <view class="v"> |
| | | {{type}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法人 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeUser}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法部门 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeDeptName}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 企业 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.companyName}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view style="height: 20rpx;"></view> |
| | | <view class="wbox"> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法主题 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.enforceReason}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法过程 |
| | | </view> |
| | | </view> |
| | | <view class="imgbox"> |
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" /> |
| | | |
| | | <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" /> |
| | | <img src="/static/i02.png" class="more" alt="" /> |
| | | <img src="/static/i03.png" class="more" alt="" /> |
| | | <img src="/static/i04.png" class="more" alt="" /> --> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法结果 |
| | | </view> |
| | | <view class="v" style="color: #EB4746;"> |
| | | {{msg.regionReason}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法时间 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeTime}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法结果 |
| | | </view> |
| | | <view class="v" style="color: #EB4746;"> |
| | | {{msg.regionReason}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法时间 |
| | | </view> |
| | | <view class="v"> |
| | | {{msg.executeTime}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { order } from '@/api/index.js' |
| | | import { getDicts } from '@/api/data.js' |
| | | import { config } from '@/common/config' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | msg:{}, |
| | | type:'', |
| | | img:[], |
| | | baseUrl: config.baseUrl |
| | | |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getdata(options.id) |
| | | }, |
| | | methods: { |
| | | getdata(id){ |
| | | order(id).then(val => { |
| | | this.msg = val.data.data |
| | | let arr = this.msg.regionImgs.split(","); |
| | | for(let i = 0;i<arr.length;i++){ |
| | | this.img.push(this.baseUrl+arr[i]) |
| | | } |
| | | console.log(this.img) |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType) |
| | | this.type = value.dictLabel |
| | | }) |
| | | }) |
| | | }, |
| | | imgclick(url){ |
| | | uni.previewImage({ |
| | | urls: [url] |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | import { |
| | | order |
| | | } from '@/api/index.js' |
| | | import { |
| | | getDicts |
| | | } from '@/api/data.js' |
| | | import { |
| | | config |
| | | } from '@/common/config' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | msg: {}, |
| | | type: '', |
| | | img: [], |
| | | baseUrl: config.baseUrl |
| | | |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getdata(options.id) |
| | | }, |
| | | methods: { |
| | | getdata(id) { |
| | | order(id).then(val => { |
| | | this.msg = val.data.data |
| | | let arr = this.msg.regionImgs.split(","); |
| | | for (let i = 0; i < arr.length; i++) { |
| | | this.img.push(this.baseUrl + arr[i]) |
| | | } |
| | | console.log(this.img) |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType) |
| | | this.type = value.dictLabel |
| | | }) |
| | | }) |
| | | }, |
| | | imgclick(url) { |
| | | uni.previewImage({ |
| | | urls: [url] |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | page{ |
| | | background: #F4F4F4; |
| | | } |
| | | |
| | | 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; |
| | | display: grid; |
| | | grid-template-columns: 1fr 1fr 1fr; |
| | | grid-gap: 10rpx; |
| | | border-radius: 10rpx; |
| | | img{ |
| | | width: 198rpx; |
| | | height: 198rpx; |
| | | margin-bottom: 20rpx; |
| | | border-radius: 10rpx; |
| | | } |
| | | } |
| | | } |
| | | .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; |
| | | display: grid; |
| | | grid-template-columns: 1fr 1fr 1fr; |
| | | grid-gap: 10rpx; |
| | | border-radius: 10rpx; |
| | | |
| | | img { |
| | | width: 198rpx; |
| | | height: 198rpx; |
| | | margin-bottom: 20rpx; |
| | | border-radius: 10rpx; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <template slot="center"> |
| | | <view style="color: white;">申请详情</view> |
| | | </template> |
| | | </u-navbar> |
| | | <view class="top-content"></view> |
| | | <view class="main-page"> |
| | | <view class="status"> |
| | | {{mapStatus[details.orderStatus]}} |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>基本信息</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view>{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view>{{details.companyName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view>{{details.planTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法类型</view> |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <template slot="center"> |
| | | <view style="color: white;">申请详情</view> |
| | | </template> |
| | | </u-navbar> |
| | | <view class="top-content"></view> |
| | | <view class="main-page"> |
| | | <view class="status"> |
| | | {{mapStatus[details.orderStatus]}} |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>基本信息</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view>{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view>{{details.companyName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view>{{details.planTime || details.planMonth || ''}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">检查方式</view> |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <view class="view-form-item" > |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">是否通知企业</view> |
| | | <view>{{details.isNoticeCompany == 0 ? '否': '是'}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">申请时间</view> |
| | | <view>{{details.applyTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">当前状态</view> |
| | | <view>{{mapStatus[details.orderStatus]}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser || ''}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName || details.applyDeptNames || ''}}</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <view class="view-form-item"> |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">是否通知企业</view> |
| | | <view>{{details.isNoticeCompany == 0 ? '否': '是'}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">申请时间</view> |
| | | <view>{{details.applyTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">当前状态</view> |
| | | <view>{{mapStatus[details.orderStatus]}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <view class="title"> |
| | | <text>审批情况</text> |
| | | </view> |
| | |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法进度</text> |
| | | </view> |
| | | <view class="view-step"> |
| | | <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image> |
| | | <view class="top-title"> |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <view class="base-card" |
| | | v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" |
| | | v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法进度</text> |
| | | </view> |
| | | <view class="view-step"> |
| | | <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" |
| | | :key="index"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image> |
| | | <view class="top-title"> |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class=" submit-per" v-if="item.nodeUser">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> |
| | | <view class="top-title"> |
| | | 审批通过 |
| | |
| | | <view class="time">2024-06-07 12:14</view> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | orderDetails, |
| | | orderNodeList, |
| | | enforceLogList |
| | | } from '@/api/policy.js' |
| | | import { getDicts } from '@/api/data.js' |
| | | import { config } from '@/common/config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | details: {}, |
| | | nodeList: [], |
| | | mapStatus: { |
| | | 1: '待审批', |
| | | 2: "待执行", |
| | | 3: "待上报", |
| | | '-1':"已拒绝", |
| | | 4: "已上报", |
| | | 5: "企业已去人" |
| | | }, |
| | | typeList: '', |
| | | judgeDetails: [], |
| | | baseUrl: config.baseUrl |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | if(options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | | orderDetails({ |
| | | orderId |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | if(this.details.regionImgs){ |
| | | this.details.regionImgs = this.details.regionImgs.split(",") |
| | | } |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 节点 |
| | | orderNodeList(orderId) { |
| | | orderNodeList({orderId}).then(val => { |
| | | this.nodeList = val.data.data |
| | | }) |
| | | }, |
| | | // 申请记录 |
| | | enforceLogList(orderId) { |
| | | enforceLogList({orderId}).then(val => { |
| | | // console.log(val.data.rows) |
| | | this.judgeDetails = val.data.rows |
| | | }) |
| | | }, |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | import { |
| | | orderDetails, |
| | | orderNodeList, |
| | | enforceLogList |
| | | } from '@/api/policy.js' |
| | | import { |
| | | getDicts |
| | | } from '@/api/data.js' |
| | | import { |
| | | config |
| | | } from '@/common/config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | details: {}, |
| | | nodeList: [], |
| | | mapStatus: { |
| | | 1: '待审批', |
| | | 2: "待执行", |
| | | 3: "待上报", |
| | | '-1': "已拒绝", |
| | | 4: "已上报", |
| | | 5: "企业已去人" |
| | | }, |
| | | typeList: '', |
| | | judgeDetails: [], |
| | | baseUrl: config.baseUrl |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | if (options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | | orderDetails({ |
| | | orderId |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | if (this.details.regionImgs) { |
| | | this.details.regionImgs = this.details.regionImgs.split(",") |
| | | } |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 节点 |
| | | orderNodeList(orderId) { |
| | | orderNodeList({ |
| | | orderId |
| | | }).then(val => { |
| | | this.nodeList = val.data.data |
| | | }) |
| | | }, |
| | | // 申请记录 |
| | | enforceLogList(orderId) { |
| | | enforceLogList({ |
| | | orderId |
| | | }).then(val => { |
| | | // console.log(val.data.rows) |
| | | this.judgeDetails = val.data.rows |
| | | }) |
| | | }, |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./applyRecordDetails.scss"; |
| | | </style> |
| | | @import "./applyRecordDetails.scss"; |
| | | </style> |
| | |
| | | <template> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <template slot="center"> |
| | | <view style="color: white;">审批详情</view> |
| | | </template> |
| | | </u-navbar> |
| | | <view class="top-content"></view> |
| | | <view class="main-page"> |
| | | <view class="status"> |
| | | {{mapStatus[details.checkStatus]}} |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>基本信息</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view>{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view>{{details.companyName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view>{{details.planTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法类型</view> |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <view class="view-form-item" > |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">是否通知企业</view> |
| | | <view>{{details.isNoticeCompany == 0 ? '否': '是'}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">申请时间</view> |
| | | <view>{{details.applyTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">当前状态</view> |
| | | <view>{{mapStatus[details.checkStatus]}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <template slot="center"> |
| | | <view style="color: white;">审批详情</view> |
| | | </template> |
| | | </u-navbar> |
| | | <view class="top-content"></view> |
| | | <view class="main-page"> |
| | | <view class="status"> |
| | | {{mapStatus[details.checkStatus]}} |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>基本信息</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view>{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view>{{details.companyName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view>{{details.planTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">检查方式</view> |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <view class="view-form-item"> |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">是否通知企业</view> |
| | | <view>{{details.isNoticeCompany == 0 ? '否': '是'}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">申请时间</view> |
| | | <view>{{details.applyTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">当前状态</view> |
| | | <view>{{mapStatus[details.checkStatus]}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <view class="title"> |
| | | <text>审批情况</text> |
| | | </view> |
| | |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>审批进度</text> |
| | | </view> |
| | | <view class="view-step"> |
| | | <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image> |
| | | <view class="top-title"> |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <view class="base-card" |
| | | v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" |
| | | v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>审批进度</text> |
| | | </view> |
| | | <view class="view-step"> |
| | | <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" |
| | | :key="index"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image> |
| | | <view class="top-title"> |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> |
| | | <view class="top-title"> |
| | | 审批通过 |
| | |
| | | <view class="time">2024-06-07 12:14</view> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | orderDetails, |
| | | orderNodeList, |
| | | enforceLogList |
| | | } from '@/api/policy.js' |
| | | import { getDicts } from '@/api/data.js' |
| | | import { config } from '@/common/config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | details: {}, |
| | | nodeList: [], |
| | | mapStatus: { |
| | | // 1: '待审批', |
| | | // 2: "待执行", |
| | | // 3: "待上报", |
| | | // '-1':"已拒绝", |
| | | // 4: "已结束" |
| | | // -1拒绝,0待审批,1审批中,2通过 |
| | | "-1": '已拒绝', |
| | | 0: '待审批', |
| | | 1: '审批中', |
| | | 2: "已审批" |
| | | }, |
| | | |
| | | typeList: '', |
| | | judgeDetails: [], |
| | | baseUrl: config.baseUrl |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | if(options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | | orderDetails({ |
| | | orderId |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | if(this.details.regionImgs){ |
| | | this.details.regionImgs = this.details.regionImgs.split(",") |
| | | } |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 节点 |
| | | orderNodeList(orderId) { |
| | | orderNodeList({orderId}).then(val => { |
| | | this.nodeList = val.data.data |
| | | }) |
| | | }, |
| | | // 申请记录 |
| | | enforceLogList(orderId) { |
| | | enforceLogList({orderId}).then(val => { |
| | | // console.log(val.data.rows) |
| | | this.judgeDetails = val.data.rows |
| | | }) |
| | | }, |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | import { |
| | | orderDetails, |
| | | orderNodeList, |
| | | enforceLogList |
| | | } from '@/api/policy.js' |
| | | import { |
| | | getDicts |
| | | } from '@/api/data.js' |
| | | import { |
| | | config |
| | | } from '@/common/config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | details: {}, |
| | | nodeList: [], |
| | | mapStatus: { |
| | | // 1: '待审批', |
| | | // 2: "待执行", |
| | | // 3: "待上报", |
| | | // '-1':"已拒绝", |
| | | // 4: "已结束" |
| | | // -1拒绝,0待审批,1审批中,2通过 |
| | | "-1": '已拒绝', |
| | | 0: '待审批', |
| | | 1: '审批中', |
| | | 2: "已审批" |
| | | }, |
| | | |
| | | typeList: '', |
| | | judgeDetails: [], |
| | | baseUrl: config.baseUrl |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | if (options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | | orderDetails({ |
| | | orderId |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | if (this.details.regionImgs) { |
| | | this.details.regionImgs = this.details.regionImgs.split(",") |
| | | } |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 节点 |
| | | orderNodeList(orderId) { |
| | | orderNodeList({ |
| | | orderId |
| | | }).then(val => { |
| | | this.nodeList = val.data.data |
| | | }) |
| | | }, |
| | | // 申请记录 |
| | | enforceLogList(orderId) { |
| | | enforceLogList({ |
| | | orderId |
| | | }).then(val => { |
| | | // console.log(val.data.rows) |
| | | this.judgeDetails = val.data.rows |
| | | }) |
| | | }, |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./judgeApply.scss"; |
| | | @import "./judgeApply.scss"; |
| | | </style> |
| | |
| | | </view> |
| | | <view class="form-item" @click="showType = true"> |
| | | <view class="form-label require"> |
| | | 执法类型 |
| | | 检查方式 |
| | | </view> |
| | | <view class="input"> |
| | | <input type="text" placeholder="请选择" v-model.trim="form.enforceTypeName" disabled /> |
| | |
| | | return '请填写执法时间' |
| | | } |
| | | if (!this.form.enforceTypeName) { |
| | | return '请选择执法类型' |
| | | return '请选择检查方式' |
| | | } |
| | | console.log(!this.form.enforceContent.replace(/\s+/g, "")) |
| | | if (!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) { |
| | |
| | | <template> |
| | | <view class="page-box"> |
| | | <view class="box"> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view class="input">{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view class="input">{{details.companyName}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view class="input">{{details.planTime}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法类型</view> |
| | | <view class="input">{{enforceType}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view class="input">{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view class="input">{{details.executeDeptName}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="box"> |
| | | <view class="form-input"> |
| | | <view class="form-input-item" style="margin-bottom: 40rpx;"> |
| | | <view class="form-label require" style="margin-bottom: 40rpx;">执法结果</view> |
| | | <view> |
| | | <u-radio-group v-model="form.regionStatus"> |
| | | <u-radio shape="circle" label="正常" name="0"></u-radio> |
| | | <u-radio shape="circle" label="待整改" name="1"></u-radio> |
| | | </u-radio-group> |
| | | </view> |
| | | </view> |
| | | <view class="form-input-item"> |
| | | <view class="form-label require">执法结果说明</view> |
| | | <u-textarea placeholder="请输入..." count v-model="form.regionReason" maxlength="500"></u-textarea> |
| | | </view> |
| | | |
| | | <view class="form-input-item"> |
| | | <view class="form-label require">执法照片</view> |
| | | <view> |
| | | <view class="show-hint">可上传9张图,单张不得超过10M</view> |
| | | </view> |
| | | <view> |
| | | <uploadImage ref="uploadImage"></uploadImage> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="down"> |
| | | <view class="button" @click="startReport"> |
| | | 上报结果 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="page-box"> |
| | | <view class="box"> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view class="input">{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view class="input">{{details.companyName}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view class="input">{{details.planTime}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">检查方式</view> |
| | | <view class="input">{{enforceType}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view class="input">{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view class="input">{{details.executeDeptName}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="box"> |
| | | <view class="form-input"> |
| | | <view class="form-input-item" style="margin-bottom: 40rpx;"> |
| | | <view class="form-label require" style="margin-bottom: 40rpx;">执法结果</view> |
| | | <view> |
| | | <u-radio-group v-model="form.regionStatus"> |
| | | <u-radio shape="circle" label="正常" name="0"></u-radio> |
| | | <u-radio shape="circle" label="待整改" name="1"></u-radio> |
| | | </u-radio-group> |
| | | </view> |
| | | </view> |
| | | <view class="form-input-item"> |
| | | <view class="form-label require">执法结果说明</view> |
| | | <u-textarea placeholder="请输入..." count v-model="form.regionReason" maxlength="500"></u-textarea> |
| | | </view> |
| | | |
| | | <view class="form-input-item"> |
| | | <view class="form-label require">执法照片</view> |
| | | <view> |
| | | <view class="show-hint">可上传9张图,单张不得超过10M</view> |
| | | </view> |
| | | <view> |
| | | <uploadImage ref="uploadImage"></uploadImage> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="down"> |
| | | <view class="button" @click="startReport"> |
| | | 上报结果 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uploadImage from '@/policy/components/upload.vue' |
| | | import { orderDetails,orderUpd } from '@/api/policy.js' |
| | | import { getDicts } from '@/api/data.js' |
| | | export default { |
| | | components: { |
| | | uploadImage |
| | | }, |
| | | data() { |
| | | return { |
| | | form: { |
| | | regionReason: '', |
| | | regionStatus: '0' |
| | | }, |
| | | fileList1: [], |
| | | details: {}, |
| | | enforceType: "" |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.orderDetails(options.id) |
| | | }, |
| | | methods: { |
| | | // 获取执法类型枚举 |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | if(val.data.data) { |
| | | this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel |
| | | } |
| | | }) |
| | | }, |
| | | // 获取执法单详情 |
| | | orderDetails(id) { |
| | | orderDetails({orderId: id}).then(val => { |
| | | this.details = val.data.data |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 上报执行结果 |
| | | startReport() { |
| | | if(!this.form.regionReason){ |
| | | uni.showToast({ |
| | | title: '请填写执法结果', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | const image = this.$refs.uploadImage.imageList |
| | | if(!image.length){ |
| | | uni.showToast({ |
| | | title: '请上传执法图片', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | this.details.regionReason = this.form.regionReason |
| | | this.form.regionImgs = image.join() |
| | | this.form.orderId = this.details.orderId |
| | | orderUpd(this.form).then(val =>{ |
| | | if(val.data.code == 200) { |
| | | uni.showToast({ |
| | | title: '上报成功', |
| | | icon: 'none' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 500) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | import uploadImage from '@/policy/components/upload.vue' |
| | | import { |
| | | orderDetails, |
| | | orderUpd |
| | | } from '@/api/policy.js' |
| | | import { |
| | | getDicts |
| | | } from '@/api/data.js' |
| | | export default { |
| | | components: { |
| | | uploadImage |
| | | }, |
| | | data() { |
| | | return { |
| | | form: { |
| | | regionReason: '', |
| | | regionStatus: '0' |
| | | }, |
| | | fileList1: [], |
| | | details: {}, |
| | | enforceType: "" |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.orderDetails(options.id) |
| | | }, |
| | | methods: { |
| | | // 获取执法类型枚举 |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | if (val.data.data) { |
| | | this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel |
| | | } |
| | | }) |
| | | }, |
| | | // 获取执法单详情 |
| | | orderDetails(id) { |
| | | orderDetails({ |
| | | orderId: id |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 上报执行结果 |
| | | startReport() { |
| | | if (!this.form.regionReason) { |
| | | uni.showToast({ |
| | | title: '请填写执法结果', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | const image = this.$refs.uploadImage.imageList |
| | | if (!image.length) { |
| | | uni.showToast({ |
| | | title: '请上传执法图片', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | this.details.regionReason = this.form.regionReason |
| | | this.form.regionImgs = image.join() |
| | | this.form.orderId = this.details.orderId |
| | | orderUpd(this.form).then(val => { |
| | | if (val.data.code == 200) { |
| | | uni.showToast({ |
| | | title: '上报成功', |
| | | icon: 'none' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 500) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./reportDetails.scss"; |
| | | ::v-deep .u-radio{ |
| | | margin-right: 80rpx; |
| | | } |
| | | @import "./reportDetails.scss"; |
| | | |
| | | ::v-deep .u-radio { |
| | | margin-right: 80rpx; |
| | | } |
| | | </style> |
| | |
| | | <text>执法主题:</text>{{item.enforceReason}} |
| | | </view> |
| | | <view class="set-line"> |
| | | <text>执法类型:</text>{{handlerType(item.enforceType)}} |
| | | <text>检查方式:</text>{{handlerType(item.enforceType)}} |
| | | </view> |
| | | <view class="set-line set-line-flex"> |
| | | <text>执法内容:</text> |
| | |
| | | <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}} |
| | | <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="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; |
| | | } |
| | | } |
| | | <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> |
| | |
| | | <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.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;"> |
| | | <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.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"> |
| | | <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> |
| | | </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 |
| | | }) |
| | | }, |
| | | 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 |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | 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 |
| | | }) |
| | | }, |
| | | 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; |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | .page-main { |
| | | position: relative; |
| | | top: -380rpx; |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | .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> |
| | |
| | | <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.isEva==0">未评价</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.isEva==0">未评价</template>
|
| | | <template v-if="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">
|
| | | {{type}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法人
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeUser || msg.applyUser}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法部门
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeDeptName || msg.applyDeptName}}
|
| | | </view>
|
| | | </view>
|
| | | <!-- <view class="item">
|
| | | </view>
|
| | | <view class="wbox">
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 检查方式
|
| | | </view>
|
| | | <view class="v">
|
| | | {{type}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法人
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeUser || msg.applyUser}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法部门
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeDeptName || msg.applyDeptName}}
|
| | | </view>
|
| | | </view>
|
| | | <!-- <view class="item">
|
| | | <view class="k">
|
| | | 企业
|
| | | </view>
|
| | |
| | | {{msg.companyName}}
|
| | | </view>
|
| | | </view> -->
|
| | | </view>
|
| | | <view style="height: 20rpx;"></view>
|
| | | <view class="wbox">
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法主题
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.enforceReason}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法内容
|
| | | </view>
|
| | | <view class="v" v-if="!img.length">
|
| | | {{ msg.enforceContent}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="imgbox" v-if="img.length">
|
| | | <template >
|
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" />
|
| | | </template>
|
| | | |
| | | <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" />
|
| | | </view>
|
| | | <view style="height: 20rpx;"></view>
|
| | | <view class="wbox">
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法主题
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.enforceReason}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法内容
|
| | | </view>
|
| | | <view class="v" v-if="!img.length">
|
| | | {{ msg.enforceContent}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="imgbox" v-if="img.length">
|
| | | <template>
|
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" />
|
| | | </template>
|
| | |
|
| | | <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" />
|
| | | <img src="/static/i02.png" class="more" alt="" />
|
| | | <img src="/static/i03.png" class="more" alt="" />
|
| | | <img src="/static/i04.png" class="more" alt="" /> -->
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法结果
|
| | | </view>
|
| | | <view class="v" style="color: #EB4746;">
|
| | | {{msg.regionReason || '--'}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法时间
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.inTime || msg.planTime}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view style="height: 20rpx;"></view>
|
| | | <view class="wbox2" v-if="msg.isEva==1">
|
| | | <view class="t">
|
| | | 执法评价
|
| | | </view>
|
| | | <template v-for="(item,index) in qlist">
|
| | | <view class="sbox" v-if="item.questionType==2">
|
| | | <view class="t2">
|
| | | {{item.questionName}}
|
| | | </view>
|
| | | <view class="xbox">
|
| | | <view>
|
| | | <img src="/static/qiye/xing1.png" alt="" />
|
| | | <view>
|
| | | 很糟糕
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=2" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==2?'hei':''">
|
| | | 不满意
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=3" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==3?'hei':''">
|
| | | 一般般
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=4" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==4?'hei':''">
|
| | | 满意
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=5" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==5?'hei':''">
|
| | | 非常满意
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | <view class="sbox" v-if="item.questionType==1">
|
| | | <view class="t2">
|
| | | {{item.questionName}}
|
| | | </view>
|
| | | <u-radio-group v-model="item.remark">
|
| | | <u-radio v-for="(aa, ii) in item.answerList" :key="ii" :name="aa.answerId" |
| | | :disabled="item.remark!=aa.answerId">
|
| | | {{aa.answerName}}
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | | <!-- <u-radio-group v-model="value">
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法结果
|
| | | </view>
|
| | | <view class="v" style="color: #EB4746;">
|
| | | {{msg.regionReason || '--'}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法时间
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.inTime || msg.planTime}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view style="height: 20rpx;"></view>
|
| | | <view class="wbox2" v-if="msg.isEva==1">
|
| | | <view class="t">
|
| | | 执法评价
|
| | | </view>
|
| | | <template v-for="(item,index) in qlist">
|
| | | <view class="sbox" v-if="item.questionType==2">
|
| | | <view class="t2">
|
| | | {{item.questionName}}
|
| | | </view>
|
| | | <view class="xbox">
|
| | | <view>
|
| | | <img src="/static/qiye/xing1.png" alt="" />
|
| | | <view>
|
| | | 很糟糕
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=2" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==2?'hei':''">
|
| | | 不满意
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=3" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==3?'hei':''">
|
| | | 一般般
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=4" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==4?'hei':''">
|
| | | 满意
|
| | | </view>
|
| | | </view>
|
| | | <view>
|
| | | <img v-if="item.getScore>=5" src="/static/qiye/xing1.png" alt="" />
|
| | | <img v-else src="/static/qiye/xing2.png" alt="" />
|
| | | <view :class="item.getScore==5?'hei':''">
|
| | | 非常满意
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | <view class="sbox" v-if="item.questionType==1">
|
| | | <view class="t2">
|
| | | {{item.questionName}}
|
| | | </view>
|
| | | <u-radio-group v-model="item.remark">
|
| | | <u-radio v-for="(aa, ii) in item.answerList" :key="ii" :name="aa.answerId"
|
| | | :disabled="item.remark!=aa.answerId">
|
| | | {{aa.answerName}}
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | | <!-- <u-radio-group v-model="value">
|
| | | <u-radio name="orange">选中</u-radio>
|
| | | <u-radio name="1" :disabled="true">未选中</u-radio>
|
| | | </u-radio-group> -->
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | </template>
|
| | | |
| | | |
| | | <view class="sbox" v-if="msg.evaluateVo.questionRemark">
|
| | | <view class="t2">
|
| | | 对我们的评价
|
| | | </view>
|
| | | <view class="pjbox">
|
| | | {{msg.evaluateVo.questionRemark}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="bottom" v-if=" msg.orderStatus== 5">
|
| | | <view class="one" v-if="msg.isComplaint != 1 && msg.isEva == 1">
|
| | | <view class="b1" @click="open()">
|
| | | 投诉
|
| | | </view>
|
| | | </view>
|
| | | <view class="two" v-if="msg.isComplaint != 1 && msg.isEva != 1">
|
| | | <view class="b2" @click="open()" >
|
| | | 投诉
|
| | | </view>
|
| | | <view class="b3" @click="pingjia()">
|
| | | 我要评价
|
| | | </view>
|
| | | </view>
|
| | | <view class="one" v-if="msg.isComplaint == 1 && msg.isEva != 1">
|
| | | <view class="b1" @click="pingjia()">
|
| | | 我要评价
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="bottom" v-if=" msg.orderStatus == 4">
|
| | | <view class="one" >
|
| | | <view class="b1" style="background-color: #1171E0;color: white;" @click="enterOrder()">
|
| | | 确认
|
| | | </view>
|
| | | </view>
|
| | | |
| | | |
| | | </view>
|
| | | <u-popup :show="show" @close="close" mode="bottom" round="10" closeable>
|
| | | <view class="page-box">
|
| | | <view class="title1">
|
| | | 企业投诉
|
| | | </view>
|
| | | <view class="border"></view>
|
| | | <view class="padding">
|
| | | <view class="font">
|
| | | 投诉主题
|
| | | </view>
|
| | | <view>
|
| | | <u-radio-group v-model="complaintType">
|
| | | <u-radio v-for="(aa, ii) in list" :key="ii" :name="aa.dictCode">
|
| | | {{aa.dictLabel}}
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | | </view>
|
| | | <view class="font">
|
| | | 投诉内容
|
| | | </view>
|
| | | <view class="margin-top">
|
| | | <u-textarea :cursorSpacing="70" v-model="complaintReason" placeholder="请输入..."></u-textarea>
|
| | | </view>
|
| | | </view>
|
| | | <view class="down">
|
| | | <view class="enter" @click="entery()">提交</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | </view>
|
| | | <view class="line"></view>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
|
| | | <view class="sbox" v-if="msg.evaluateVo.questionRemark">
|
| | | <view class="t2">
|
| | | 对我们的评价
|
| | | </view>
|
| | | <view class="pjbox">
|
| | | {{msg.evaluateVo.questionRemark}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="bottom" v-if=" msg.orderStatus== 5">
|
| | | <view class="one" v-if="msg.isComplaint != 1 && msg.isEva == 1">
|
| | | <view class="b1" @click="open()">
|
| | | 投诉
|
| | | </view>
|
| | | </view>
|
| | | <view class="two" v-if="msg.isComplaint != 1 && msg.isEva != 1">
|
| | | <view class="b2" @click="open()">
|
| | | 投诉
|
| | | </view>
|
| | | <view class="b3" @click="pingjia()">
|
| | | 我要评价
|
| | | </view>
|
| | | </view>
|
| | | <view class="one" v-if="msg.isComplaint == 1 && msg.isEva != 1">
|
| | | <view class="b1" @click="pingjia()">
|
| | | 我要评价
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="bottom" v-if=" msg.orderStatus == 4">
|
| | | <view class="one">
|
| | | <view class="b1" style="background-color: #1171E0;color: white;" @click="enterOrder()">
|
| | | 确认
|
| | | </view>
|
| | | </view>
|
| | |
|
| | |
|
| | | </view>
|
| | | <u-popup :show="show" @close="close" mode="bottom" round="10" closeable>
|
| | | <view class="page-box">
|
| | | <view class="title1">
|
| | | 企业投诉
|
| | | </view>
|
| | | <view class="border"></view>
|
| | | <view class="padding">
|
| | | <view class="font">
|
| | | 投诉主题
|
| | | </view>
|
| | | <view>
|
| | | <u-radio-group v-model="complaintType">
|
| | | <u-radio v-for="(aa, ii) in list" :key="ii" :name="aa.dictCode">
|
| | | {{aa.dictLabel}}
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | | </view>
|
| | | <view class="font">
|
| | | 投诉内容
|
| | | </view>
|
| | | <view class="margin-top">
|
| | | <u-textarea :cursorSpacing="70" v-model="complaintReason" placeholder="请输入..."></u-textarea>
|
| | | </view>
|
| | | </view>
|
| | | <view class="down">
|
| | | <view class="enter" @click="entery()">提交</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import { order } from '@/api/index.js'
|
| | | import { getDicts } from '@/api/data.js'
|
| | | import { config } from '@/common/config'
|
| | | import { orderComplaint, confirmOrderId } from '@/api/qiye.js'
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | complaintType:'',
|
| | | complaintReason:'',
|
| | | id:'',
|
| | | msg:{},
|
| | | type:'',
|
| | | img:[],
|
| | | baseUrl: config.baseUrl,
|
| | | xing: 5,
|
| | | value: 'orange',
|
| | | //type: 2,
|
| | | show: false,
|
| | | list: [
|
| | | ],
|
| | | qlist:[]
|
| | | }
|
| | | },
|
| | | onLoad(options) {
|
| | | this.id = options.id
|
| | | //this.getdata(options.id)
|
| | | getDicts('complaint_type').then(val => {
|
| | | this.list = val.data.data
|
| | | console.log(this.list)
|
| | | // const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
|
| | | // this.type = value.dictLabel
|
| | | })
|
| | | // this.getdata()
|
| | | },
|
| | | onShow(options) {
|
| | | this.getdata()
|
| | | },
|
| | | methods: {
|
| | | enterOrder() {
|
| | | uni.showModal({
|
| | | title: '提示',
|
| | | content: '确认该订单?',
|
| | | success: val => {
|
| | | if(val.confirm) {
|
| | | confirmOrderId({orderId: this.msg.orderId}).then(val => {
|
| | | if(val.data.code == 200) {
|
| | | uni.showToast({
|
| | | title: '确认成功',
|
| | | icon: 'none'
|
| | | })
|
| | | this.getdata()
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | | |
| | | })
|
| | | |
| | | },
|
| | | getdata(){
|
| | | order(this.id).then(val => {
|
| | | |
| | | this.msg = val.data.data
|
| | | getDicts('enforce_type').then(val => {
|
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
|
| | | this.type = value.dictLabel
|
| | | })
|
| | | let arr = this.msg.regionImgs.split(",");
|
| | | for(let i = 0;i<arr.length;i++){
|
| | | this.img.push(this.baseUrl+arr[i])
|
| | | }
|
| | | this.qlist = this.msg.evaluateVo.questionList
|
| | | for(let i = 0;i<this.qlist.length;i++){
|
| | | if(this.qlist[i].questionType==1&&this.qlist[i].remark){
|
| | | this.qlist[i].remark = Number(this.qlist[i].remark)
|
| | | }
|
| | | }
|
| | | |
| | | })
|
| | | },
|
| | | daxing(a) {
|
| | | this.xing = a
|
| | | },
|
| | | imgclick(url) {
|
| | | uni.previewImage({
|
| | | urls: [url]
|
| | | })
|
| | | },
|
| | | pingjia(){
|
| | | uni.navigateTo({
|
| | | url: `/qiye/record/evaluate?id=${this.msg.orderId}`
|
| | | })
|
| | | },
|
| | | open() {
|
| | | this.show = true
|
| | | },
|
| | | close() {
|
| | | this.show = false
|
| | | this.$emit('cancel')
|
| | | },
|
| | | entery() {
|
| | | this.$emit('entery')
|
| | | if(this.complaintType==''){
|
| | | uni.showToast({
|
| | | title: '请选择投诉主题',
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | if(this.complaintReason==''){
|
| | | uni.showToast({
|
| | | title: '请输入投诉内容',
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | let data = {
|
| | | orderId:Number(this.id),
|
| | | complaintType:this.complaintType,
|
| | | complaintReason:this.complaintReason
|
| | | }
|
| | | console.log(data)
|
| | | //return;
|
| | | orderComplaint(data).then(val => {
|
| | | uni.showToast({
|
| | | title: '提交成功',
|
| | | icon: 'none'
|
| | | })
|
| | | this.show = false
|
| | | })
|
| | | },
|
| | | import {
|
| | | order
|
| | | } from '@/api/index.js'
|
| | | import {
|
| | | getDicts
|
| | | } from '@/api/data.js'
|
| | | import {
|
| | | config
|
| | | } from '@/common/config'
|
| | | import {
|
| | | orderComplaint,
|
| | | confirmOrderId
|
| | | } from '@/api/qiye.js'
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | complaintType: '',
|
| | | complaintReason: '',
|
| | | id: '',
|
| | | msg: {},
|
| | | type: '',
|
| | | img: [],
|
| | | baseUrl: config.baseUrl,
|
| | | xing: 5,
|
| | | value: 'orange',
|
| | | //type: 2,
|
| | | show: false,
|
| | | list: [],
|
| | | qlist: []
|
| | | }
|
| | | },
|
| | | onLoad(options) {
|
| | | this.id = options.id
|
| | | //this.getdata(options.id)
|
| | | getDicts('complaint_type').then(val => {
|
| | | this.list = val.data.data
|
| | | console.log(this.list)
|
| | | // const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
|
| | | // this.type = value.dictLabel
|
| | | })
|
| | | // this.getdata()
|
| | | },
|
| | | onShow(options) {
|
| | | this.getdata()
|
| | | },
|
| | | methods: {
|
| | | enterOrder() {
|
| | | uni.showModal({
|
| | | title: '提示',
|
| | | content: '确认该订单?',
|
| | | success: val => {
|
| | | if (val.confirm) {
|
| | | confirmOrderId({
|
| | | orderId: this.msg.orderId
|
| | | }).then(val => {
|
| | | if (val.data.code == 200) {
|
| | | uni.showToast({
|
| | | title: '确认成功',
|
| | | icon: 'none'
|
| | | })
|
| | | this.getdata()
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | })
|
| | |
|
| | | },
|
| | | getdata() {
|
| | | order(this.id).then(val => {
|
| | |
|
| | | this.msg = val.data.data
|
| | | getDicts('enforce_type').then(val => {
|
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
|
| | | this.type = value.dictLabel
|
| | | })
|
| | | let arr = this.msg.regionImgs.split(",");
|
| | | for (let i = 0; i < arr.length; i++) {
|
| | | this.img.push(this.baseUrl + arr[i])
|
| | | }
|
| | | this.qlist = this.msg.evaluateVo.questionList
|
| | | for (let i = 0; i < this.qlist.length; i++) {
|
| | | if (this.qlist[i].questionType == 1 && this.qlist[i].remark) {
|
| | | this.qlist[i].remark = Number(this.qlist[i].remark)
|
| | | }
|
| | | }
|
| | |
|
| | | })
|
| | | },
|
| | | daxing(a) {
|
| | | this.xing = a
|
| | | },
|
| | | imgclick(url) {
|
| | | uni.previewImage({
|
| | | urls: [url]
|
| | | })
|
| | | },
|
| | | pingjia() {
|
| | | uni.navigateTo({
|
| | | url: `/qiye/record/evaluate?id=${this.msg.orderId}`
|
| | | })
|
| | | },
|
| | | open() {
|
| | | this.show = true
|
| | | },
|
| | | close() {
|
| | | this.show = false
|
| | | this.$emit('cancel')
|
| | | },
|
| | | entery() {
|
| | | this.$emit('entery')
|
| | | if (this.complaintType == '') {
|
| | | uni.showToast({
|
| | | title: '请选择投诉主题',
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | if (this.complaintReason == '') {
|
| | | uni.showToast({
|
| | | title: '请输入投诉内容',
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | let data = {
|
| | | orderId: Number(this.id),
|
| | | complaintType: this.complaintType,
|
| | | complaintReason: this.complaintReason
|
| | | }
|
| | | console.log(data)
|
| | | //return;
|
| | | orderComplaint(data).then(val => {
|
| | | uni.showToast({
|
| | | title: '提交成功',
|
| | | icon: 'none'
|
| | | })
|
| | | this.show = false
|
| | | })
|
| | | },
|
| | |
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style>
|
| | | page {
|
| | | background: #F4F4F4;
|
| | | }
|
| | | page {
|
| | | background: #F4F4F4;
|
| | | }
|
| | | </style>
|
| | | <style lang="scss" scoped>
|
| | | .page-main {
|
| | | position: relative;
|
| | | top: -380rpx;
|
| | | }
|
| | | .page-main {
|
| | | position: relative;
|
| | | top: -380rpx;
|
| | | }
|
| | |
|
| | | .donw-box {
|
| | | width: 100%;
|
| | | height: 380rpx;
|
| | | flex-shrink: 0;
|
| | | background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
|
| | | }
|
| | | .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;
|
| | | .wbox {
|
| | | background: #fff;
|
| | | border-radius: 5px;
|
| | | padding: 24rpx;
|
| | | box-sizing: border-box;
|
| | | margin: 0 32rpx;
|
| | |
|
| | | .item {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | font-size: 30rpx;
|
| | | .item {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | font-size: 30rpx;
|
| | |
|
| | | .k {
|
| | | color: #7E8596;
|
| | | width: 30%;
|
| | | .k {
|
| | | color: #7E8596;
|
| | | width: 30%;
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | .v {
|
| | | color: #202D44;
|
| | | width: 70%;
|
| | | .v {
|
| | | color: #202D44;
|
| | | width: 70%;
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .item:last-child {
|
| | | margin-bottom: 0;
|
| | | }
|
| | | .item:last-child {
|
| | | margin-bottom: 0;
|
| | | }
|
| | |
|
| | | .imgbox {
|
| | | display: grid;
|
| | | grid-template-columns: 1fr 1fr 1fr;
|
| | | grid-gap: 10rpx;
|
| | | // display: flex;
|
| | | // flex-wrap: wrap;
|
| | | // justify-content: space-between;
|
| | | border-radius: 10rpx;
|
| | | .imgbox {
|
| | | display: grid;
|
| | | grid-template-columns: 1fr 1fr 1fr;
|
| | | grid-gap: 10rpx;
|
| | | // display: flex;
|
| | | // flex-wrap: wrap;
|
| | | // justify-content: space-between;
|
| | | border-radius: 10rpx;
|
| | |
|
| | | img {
|
| | | width: 198rpx;
|
| | | height: 198rpx;
|
| | | margin-bottom: 20rpx;
|
| | | border-radius: 10rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | img {
|
| | | width: 198rpx;
|
| | | height: 198rpx;
|
| | | margin-bottom: 20rpx;
|
| | | border-radius: 10rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .title {
|
| | | color: #ffffff;
|
| | | font-size: 44rpx;
|
| | | font-weight: bold;
|
| | | padding-left: 32rpx;
|
| | | margin-top: 24rpx;
|
| | | margin-bottom: 24rpx;
|
| | | .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;
|
| | | .wbox2 {
|
| | | background: #fff;
|
| | | border-radius: 5px;
|
| | | box-sizing: border-box;
|
| | | margin: 0 32rpx;
|
| | |
|
| | | .t {
|
| | | padding: 24rpx;
|
| | | border-bottom: 1px solid #EEEEEE;
|
| | | color: #202d44;
|
| | | font-size: 36rpx;
|
| | | font-weight: bold;
|
| | | }
|
| | | .t {
|
| | | padding: 24rpx;
|
| | | border-bottom: 1px solid #EEEEEE;
|
| | | color: #202d44;
|
| | | font-size: 36rpx;
|
| | | font-weight: bold;
|
| | | }
|
| | |
|
| | | .sbox {
|
| | | padding: 24rpx;
|
| | | .sbox {
|
| | | padding: 24rpx;
|
| | |
|
| | | .line {
|
| | | border-bottom: 1px dashed #f1f1f1;
|
| | | margin-top: 32rpx;
|
| | | }
|
| | | .line {
|
| | | border-bottom: 1px dashed #f1f1f1;
|
| | | margin-top: 32rpx;
|
| | | }
|
| | |
|
| | | .xbox {
|
| | | display: flex;
|
| | | margin-top: 36rpx;
|
| | | justify-content: space-between;
|
| | | .xbox {
|
| | | display: flex;
|
| | | margin-top: 36rpx;
|
| | | justify-content: space-between;
|
| | |
|
| | | img {
|
| | | width: 74rpx;
|
| | | height: 74rpx;
|
| | | }
|
| | | img {
|
| | | width: 74rpx;
|
| | | height: 74rpx;
|
| | | }
|
| | |
|
| | | >view {
|
| | | text-align: center;
|
| | | font-size: 28rpx;
|
| | | color: #C3C6CD;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | >view {
|
| | | text-align: center;
|
| | | font-size: 28rpx;
|
| | | color: #C3C6CD;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .pjbox {
|
| | | background: #F4F4F4;
|
| | | border-radius: 5px;
|
| | | margin: 10rpx 0;
|
| | | padding: 24rpx;
|
| | | color: #202d44;
|
| | | font-size: 32rpx;
|
| | | .pjbox {
|
| | | background: #F4F4F4;
|
| | | border-radius: 5px;
|
| | | margin: 10rpx 0;
|
| | | padding: 24rpx;
|
| | | color: #202d44;
|
| | | font-size: 32rpx;
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | ::v-deep .u-radio-group {
|
| | | margin-top: 20rpx;
|
| | | flex-wrap: wrap;
|
| | | .u-radio {
|
| | | margin-right: 20rpx;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | | ::v-deep .u-radio-group {
|
| | | margin-top: 20rpx;
|
| | | flex-wrap: wrap;
|
| | |
|
| | | .hei {
|
| | | color: #202D44;
|
| | | }
|
| | | .u-radio {
|
| | | margin-right: 20rpx;
|
| | | margin-bottom: 20rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .bottom {
|
| | | position: fixed;
|
| | | bottom: 0;
|
| | | width: 100%;
|
| | | left: 0;
|
| | | height: 132rpx;
|
| | | background: #fff;
|
| | | .hei {
|
| | | color: #202D44;
|
| | | }
|
| | |
|
| | | .one {
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | height: 100%;
|
| | | .bottom {
|
| | | position: fixed;
|
| | | bottom: 0;
|
| | | width: 100%;
|
| | | left: 0;
|
| | | height: 132rpx;
|
| | | background: #fff;
|
| | |
|
| | | .b1 {
|
| | | width: 686rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #F7F7F7;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | }
|
| | | }
|
| | | .one {
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | height: 100%;
|
| | |
|
| | | .two {
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | height: 100%;
|
| | | .b1 {
|
| | | width: 686rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #F7F7F7;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | }
|
| | | }
|
| | |
|
| | | .b2 {
|
| | | width: 146rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #F7F7F7;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | margin-right: 18rpx;
|
| | | }
|
| | | .two {
|
| | | display: flex;
|
| | | justify-content: center;
|
| | | align-items: center;
|
| | | height: 100%;
|
| | |
|
| | | .b3 {
|
| | | width: 524rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #1171E0;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | color: #fff;
|
| | | }
|
| | | }
|
| | | }
|
| | | .b2 {
|
| | | width: 146rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #F7F7F7;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | margin-right: 18rpx;
|
| | | }
|
| | |
|
| | | .page-box {
|
| | | padding: 24rpx 0;
|
| | | .font{
|
| | | color: #4a4e60;
|
| | | font-size: 32rpx;
|
| | | margin-top: 20rpx;
|
| | | }
|
| | | .title1 {
|
| | | font-size: 36rpx;
|
| | | font-weight: 700;
|
| | | padding: 0 32rpx;
|
| | | border-bottom: 2rpx solid #F4F4F4;
|
| | | padding-bottom: 24rpx;
|
| | | }
|
| | | .b3 {
|
| | | width: 524rpx;
|
| | | height: 88rpx;
|
| | | border-radius: 10px;
|
| | | background: #1171E0;
|
| | | line-height: 88rpx;
|
| | | text-align: center;
|
| | | color: #fff;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .padding {
|
| | | padding: 0 24rpx;
|
| | | }
|
| | | .page-box {
|
| | | padding: 24rpx 0;
|
| | |
|
| | | .margin-top {
|
| | | margin-top: 20rpx;
|
| | | }
|
| | | .font {
|
| | | color: #4a4e60;
|
| | | font-size: 32rpx;
|
| | | margin-top: 20rpx;
|
| | | }
|
| | |
|
| | | .down {
|
| | | padding: 34rpx 30rpx 30rpx;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | .title1 {
|
| | | font-size: 36rpx;
|
| | | font-weight: 700;
|
| | | padding: 0 32rpx;
|
| | | border-bottom: 2rpx solid #F4F4F4;
|
| | | padding-bottom: 24rpx;
|
| | | }
|
| | |
|
| | | >view {
|
| | | display: inline-block;
|
| | | }
|
| | | .padding {
|
| | | padding: 0 24rpx;
|
| | | }
|
| | |
|
| | | .button {
|
| | | padding: 20rpx 40rpx;
|
| | | background: #F7F7F7;
|
| | | border-radius: 20rpx;
|
| | | }
|
| | | .margin-top {
|
| | | margin-top: 20rpx;
|
| | | }
|
| | |
|
| | | .enter {
|
| | | width: 100%;
|
| | | background: #1171E0;
|
| | | color: white;
|
| | | border-radius: 20rpx;
|
| | | padding: 20rpx 40rpx;
|
| | | text-align: center;
|
| | | }
|
| | | }
|
| | | }
|
| | | .down {
|
| | | padding: 34rpx 30rpx 30rpx;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
|
| | | ::v-deep .u-textarea {
|
| | | background-color: #F4F4F4;
|
| | | }
|
| | | >view {
|
| | | display: inline-block;
|
| | | }
|
| | |
|
| | | .button {
|
| | | padding: 20rpx 40rpx;
|
| | | background: #F7F7F7;
|
| | | border-radius: 20rpx;
|
| | | }
|
| | |
|
| | | .enter {
|
| | | width: 100%;
|
| | | background: #1171E0;
|
| | | color: white;
|
| | | border-radius: 20rpx;
|
| | | padding: 20rpx 40rpx;
|
| | | text-align: center;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | ::v-deep .u-textarea {
|
| | | background-color: #F4F4F4;
|
| | | }
|
| | | </style> |