wjt
2024-06-26 59f4dc012a2c42eebd31301444e0f8df9af088e0
qiye/complaint/details.vue
@@ -18,7 +18,7 @@
                  执法类型
               </view>
               <view class="v">
                  {{type}}
                  {{dictLabel}}
               </view>
            </view>
            <view class="item">
@@ -26,7 +26,7 @@
                  执法人
               </view>
               <view class="v">
                  {{msg.executeUser}}
                  {{details.executeUser}}
               </view>
            </view>
            <view class="item">
@@ -34,7 +34,7 @@
                  执法部门
               </view>
               <view class="v">
                  {{msg.executeDeptName}}
                  {{details.executeDeptName}}
               </view>
            </view>
            <view class="item">
@@ -42,57 +42,93 @@
                  企业
               </view>
               <view class="v">
                  {{msg.companyName}}
                  {{details.companyName}}
               </view>
            </view>
         </view>
         <view style="height: 20rpx;"></view>
         <view class="wbox">
            <view class="item">
               <view class="k">
                  执法主题
         <template v-if="orderId">
            <view class="wbox">
               <view class="item">
                  <view class="k">
                     执法主题
                  </view>
                  <view class="v">
                     {{details.enforceReason}}
                  </view>
               </view>
               <view class="v">
                  {{msg.enforceReason}}
               <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 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 style="height: 20rpx;"></view>
            <view style="height: 20rpx;"></view>
         </template>
         <view class="wbox2">
            <view class="t">
               投诉记录
            </view>
            <view class="jilu" v-for="(item,index) in tousulist">
               <img src="/static/policy/icon.png" class="img" alt="" />
            <view class="jilu" :class="{start: item.nodeName == '发起投诉' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
               <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '发起投诉'"/>
               <image src="/static/guocheng.png" class="img" alt=""  mode="widthFix"  v-if="item.nodeName == '处理中'"/>
               <image src="/static/policy/refject.png" class="img"  mode="widthFix" alt="" v-if="item.nodeName == '已驳回'"/>
               <image src="/static/policy/icon.png" class="img" alt=""  mode="widthFix" v-if="item.nodeName == '已办结'"/>
               <view class="font" style="width: calc(100% - 50rpx);">
                  <view class="h" >
                     <view class="s" >
                        {{item.nodeName}}
                     </view>
                     <view class="time">
                        {{item.nodeTime}}
                     </view>
                  </view>
                  <view class="b">
                     <view class="name" style="margin-bottom: 18rpx;">
                        {{item.nodeUser}}
                     </view>
                     <view class="p" style="margin-bottom: 18rpx;">
                        <span>申诉主题:</span>
                        {{dictLabel1}}
                     </view>
                     <view class="p" style="margin-bottom: 18rpx;">
                        <span>申诉内容:</span>
                        {{details.complaintReason}}
                     </view>
                     <view class="p"  v-if="item.nodeName == '已驳回'">
                        <span>驳回原因:</span>
                        {{item.nodeReason}}
                     </view>
                     <view class="p"  v-if="item.nodeName == '已办结' && item.nodeReason">
                        <span>办结结果:</span>
                        {{item.nodeReason}}
                     </view>
                  </view>
               </view>
            </view>
            <!-- <view class="jilu">
               <image src="/static/policy/refject.png" class="img" alt="" />
               <view class="font">
                  <view class="h">
                     <view class="s">
@@ -104,26 +140,25 @@
                  </view>
                  <view class="b">
                     <view class="name">
                        {{item.nodeUser}}
                        {{details.companyUser}}
                     </view>
                     <view class="p">
                        <span>申诉主题:</span>
                        {{dictLabel1}}
                     </view>
                     <view class="p">
                        <span>申诉内容:</span>
                        {{item.nodeReason}}
                        {{details.complaintReason}}
                     </view>
                  </view>
               </view>
            </view>
            <!-- <view class="jilu">
               <img src="/static/policy/refject.png" class="img" alt="" />
            <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
@@ -131,19 +166,20 @@
                  </view>
                  <view class="b">
                     <view class="name">
                        林小零
                        {{details.companyUser}}
                     </view>
                     <view class="p">
                        <span>申诉主题:</span>
                        汉庭酒店司法检查233号文件
                        {{dictLabel1}}
                     </view>
                     <view class="p">
                        <span>申诉内容:</span>
                        我是一个内容;我是一个内容;我是一个内容;我是一个内容
                        {{details.complaintReason}}
                     </view>
                  </view>
               </view>
            </view> -->
            </view>
          -->
         </view>
      </view>
      
@@ -151,66 +187,88 @@
</template>
<script>
   import { complaint } from '@/api/qiye.js'
   import { config } from '@/common/config'
   import { order } from '@/api/index.js'
   import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
   import { orderDetails } from '@/api/policy.js'
   import { config } from '@/common/config.js'
   import { getDicts } from '@/api/data.js'
   export default {
      data() {
         return {
            id:'',
            msg:{},
            type:'',
            img:[],
            details: {},
            orderId: "",
            orderDetailsMsg: {},
            baseUrl: config.baseUrl,
            orderId:'',
            tousulist:[]
            dictLabel: "",
            dictLabel1: "",
            nodeList: []
         }
      },
      onLoad(options) {
         this.id = options.id
         this.orderId = options.orderId
         order(this.orderId).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
            })
         })
         complaint({orderId:this.orderId}).then(val => {
            this.tousulist = val.data.data
            // 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])
            // }
            // getDicts('enforce_type').then(val => {
            //     const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
            //     this.type = value.dictLabel
            // })
         })
         this.complaint(options.id)
         if(options.orderId) {
            this.orderId = options.orderId
            this.orderDetails()
         } else {
            this.orderNodeList(options.id)
         }
      },
      methods: {
         orderNodeList(id) {
            orderNodeList({id}).then(val => {
               // console.log(val)
               this.nodeList = val.data.data
            })
         },
         // 获取投诉类型
         getComtype() {
            getDicts('complaint_type').then(val => {
               console.log(val)
               this.dictLabel1 = val.data.data.find(item => item.dictCode == this.details.complaintType).dictLabel
            })
         },
         enforceType() {
            getDicts('enforce_type').then(val => {
               console.log(val)
               this.dictLabel = val.data.data.find(item => item.dictCode == this.orderDetailsMsg.enforceType).dictLabel
            })
         },
         imgclick(url) {
            url = this.baseUrl + url
            uni.previewImage({
               urls: [url]
            })
         },
         complaint(details) {
            complaintDetails(details).then(val => {
               // console.log(val.data.data)
               this.details = val.data.data
               this.getComtype()
            })
         },
         orderDetails() {
            orderDetails({ orderId: this.orderId}).then(val => {
               // console.log(val.data.data)
               val.data.data.regionImgs = val.data.data.regionImgs.split(",")
               this.orderDetailsMsg = val.data.data
               this.orderComplaintNodeList()
               this.enforceType()
            })
         },
         orderComplaintNodeList() {
            orderComplaintNodeList({ orderId: this.orderId }).then(val => {
               console.log(val.data.data, 'val===')
               this.nodeList = val.data.data
            })
         }
      }
   }
</script>
<style>
   page {
      background: #F4F4F4;
   page {
      background: #F4F4F4;
   }
</style>
<style lang="scss" scoped>
@@ -283,7 +341,8 @@
      border-radius: 5px;
      box-sizing: border-box;
      margin: 0 32rpx;
      position: relative;
      z-index: 10;
      .t {
         padding: 24rpx;
         border-bottom: 1px solid #EEEEEE;
@@ -293,17 +352,33 @@
      }
   
   }
   .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: 40rpx;
         height: 40rpx;
         width: 50rpx;
         height: 50rpx;
         margin-right: 24rpx;
         position: relative;
         z-index: 100;
      }
      .font{
         width: 90%;
         width: calc(100% - 70rpx);
         .h{
            display: flex;
            justify-content: space-between;
@@ -338,5 +413,20 @@
            }
         }
      }
   }
   }
   .handler{
      &::before {
         background: #fe7b320d;
      }
   }
   .start{
      &::before{
         background: #E7F8F0;
      }
   }
   .nonde{
      &::before{
         background: none;
      }
   }
</style>