王恒
2025-09-04 616e6be49d3f64f2397cb1b1c05d2c06df3db9a3
policy/applyRecordDetails/applyRecordDetails.vue
@@ -1,88 +1,88 @@
<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 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>
               </view>
               <view 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>
               </view>
               <view class="view-form-item" style="margin-top: 20rpx;">
                  <view class="label">随行人员</view>
                  <view>
                     <view style="margin-bottom: 20rpx;"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.regionReason }}
            </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.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 || 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>
@@ -107,34 +107,35 @@
                  </view>
               </view>
            </view>
         </view>
         <view class="base-card" v-if="details.orderStatus == 3 || details.orderStatus == 4">
            <view class="title">
               <text>执法图片</text>
            </view>
            <view class="view-image">
               <image :src="baseUrl+item" mode="widthFix" 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="u-line-1 submit-per">提交人:<text>{{item.nodeUser}}</text></view>
                     <view class="time">{{item.nodeTime}}</view>
                  </view>
               </view>
               <!-- <view class="step-content">
         </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" 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">
                     审批通过
@@ -155,82 +156,103 @@
                     <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: "已结束"
            },
            typeList: '',
            judgeDetails: [],
            baseUrl: config.baseUrl
         }
      },
      onLoad(options) {
         this.getDetails(options.id)
         this.orderNodeList(options.id)
         this.enforceLogList(options.id)
      },
      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
            })
         }
      }
   }
  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";
  @import "./applyRecordDetails.scss";
</style>