wjt
2024-06-26 59f4dc012a2c42eebd31301444e0f8df9af088e0
qiye/complaint/details.vue
@@ -8,7 +8,9 @@
      <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">
@@ -16,7 +18,7 @@
                  执法类型
               </view>
               <view class="v">
                  司法检查
                  {{dictLabel}}
               </view>
            </view>
            <view class="item">
@@ -24,7 +26,7 @@
                  执法人
               </view>
               <view class="v">
                  刘欢欢
                  {{details.executeUser}}
               </view>
            </view>
            <view class="item">
@@ -32,7 +34,7 @@
                  执法部门
               </view>
               <view class="v">
                  农业局
                  {{details.executeDeptName}}
               </view>
            </view>
            <view class="item">
@@ -40,59 +42,123 @@
                  企业
               </view>
               <view class="v">
                  汉庭酒店
                  {{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">
                  汉庭酒店司法检查233号文件
               <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 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;">
                  停业整顿
               </view>
            </view>
            <view class="item">
               <view class="k">
                  执法时间
               </view>
               <view class="v">
                  2024-10-10 16:24
               </view>
            </view>
         </view>
         <view style="height: 20rpx;"></view>
            <view style="height: 20rpx;"></view>
         </template>
         <view class="wbox2">
            <view class="t">
               投诉记录
            </view>
            <view class="jilu">
               <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">
                        已驳回
                        {{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
@@ -100,45 +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 class="jilu">
               <img src="/static/policy/refject.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">
                        林小零
                     </view>
                     <view class="p">
                        <span>申诉主题:</span>
                        汉庭酒店司法检查233号文件
                     </view>
                     <view class="p">
                        <span>申诉内容:</span>
                        我是一个内容;我是一个内容;我是一个内容;我是一个内容
                     </view>
                  </view>
               </view>
            </view>
          -->
         </view>
      </view>
      
@@ -146,25 +187,88 @@
</template>
<script>
   import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
   import { orderDetails } from '@/api/policy.js'
   import { config } from '@/common/config.js'
   import { getDicts } from '@/api/data.js'
   export default {
      data() {
         return {
            details: {},
            orderId: "",
            orderDetailsMsg: {},
            baseUrl: config.baseUrl,
            dictLabel: "",
            dictLabel1: "",
            nodeList: []
         }
      },
      onLoad(options) {
         this.complaint(options.id)
         if(options.orderId) {
            this.orderId = options.orderId
            this.orderDetails()
         } else {
            this.orderNodeList(options.id)
         }
      },
      methods: {
         orderNodeList(id) {
            orderNodeList({id}).then(val => {
               // console.log(val)
               this.nodeList = val.data.data
            })
         },
         // 获取投诉类型
         getComtype() {
            getDicts('complaint_type').then(val => {
               console.log(val)
               this.dictLabel1 = val.data.data.find(item => item.dictCode == this.details.complaintType).dictLabel
            })
         },
         enforceType() {
            getDicts('enforce_type').then(val => {
               console.log(val)
               this.dictLabel = val.data.data.find(item => item.dictCode == this.orderDetailsMsg.enforceType).dictLabel
            })
         },
         imgclick(url) {
            url = this.baseUrl + url
            uni.previewImage({
               urls: [url]
            })
         },
         complaint(details) {
            complaintDetails(details).then(val => {
               // console.log(val.data.data)
               this.details = val.data.data
               this.getComtype()
            })
         },
         orderDetails() {
            orderDetails({ orderId: this.orderId}).then(val => {
               // console.log(val.data.data)
               val.data.data.regionImgs = val.data.data.regionImgs.split(",")
               this.orderDetailsMsg = val.data.data
               this.orderComplaintNodeList()
               this.enforceType()
            })
         },
         orderComplaintNodeList() {
            orderComplaintNodeList({ orderId: this.orderId }).then(val => {
               console.log(val.data.data, 'val===')
               this.nodeList = val.data.data
            })
         }
      }
   }
</script>
<style>
   page {
      background: #F4F4F4;
   page {
      background: #F4F4F4;
   }
</style>
<style lang="scss" scoped>
@@ -237,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;
@@ -247,16 +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: 70rpx;
         width: 50rpx;
         height: 50rpx;
         margin-right: 24rpx;
         position: relative;
         z-index: 100;
      }
      .font{
         width: calc(100% - 70rpx);
         .h{
            display: flex;
            justify-content: space-between;
@@ -291,5 +413,20 @@
            }
         }
      }
   }
   }
   .handler{
      &::before {
         background: #fe7b320d;
      }
   }
   .start{
      &::before{
         background: #E7F8F0;
      }
   }
   .nonde{
      &::before{
         background: none;
      }
   }
</style>