王恒
2025-08-13 bdb3123664234ec9bfe7f43be21fac7250f9479f
policy/applyRecordDetails/applyRecordDetails.vue
@@ -1,122 +1,153 @@
<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">
            已结束
         </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>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法对象</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法时间</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法时间</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法类型</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法人员</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">执法部门</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">随行人员数量</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">是否通知企业</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">申请时间</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">当前状态</view>
                  <view>24年5月份消防突击检查</view>
               </view>
            </view>
         </view>
         <view class="base-card">
            <view class="title">
               <text>执法内容</text>
            </view>
            <view class="view-content">
               灭火器使用:不同类型的灭火器适用于不同种类的火灾,如二氧化碳灭火器适用于固体、液体、气体和带电设备火灾,干粉灭火器同样适用于多种火灾类型。使用时应先拔掉保险销,然后瞄准火焰根部进行喷射。
               消防栓使用:使用消防栓时,应确保至少有3人参与,其中2人握紧水枪,1人负责开启阀门。使用前应检查水带及接头是否完好,避免扭折,并确保水带与水枪正确连接。
               防火措施:包括但不限于不乱丢烟蒂、不私拉乱接电线、不超负荷使用电器、定期检查电线和电器设备是否老化或破损、家中不存放易燃易爆物品等。
               火灾逃生:发生火灾时,应迅速判断火势来源,选择与火源相反的方向逃生。切勿使用电梯逃生,应通过安全通道撤离。逃生过程中应保持低姿势,用湿毛巾掩护口鼻,减少吸入有毒烟雾。
               报警和自救:发现火情后,应立即拨打“119”火警电话报警,并详细说明火灾地点、火势大小等信息。在等待救援时,应尽量保持冷静,采取正确的自救措施,如使用灭火器、消防栓等。
            </view>
         </view>
         <view class="base-card">
  <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>
            <view class="view-form">
               <view class="view-form-item">
                  <view class="label">审批结果</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">审批人</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">审批部门</view>
                  <view>24年5月份消防突击检查</view>
               </view>
               <view class="view-form-item">
                  <view class="label">审批时间</view>
                  <view>24年5月份消防突击检查</view>
               <view v-for="(item,index) in judgeDetails" :key="index">
                  <view class="view-form-item">
                     <view class="label">审批结果</view>
                     <view v-if="item.checkStatus == 1" style="color: #3EB47A;">通过</view>
                     <view v-else style="color: red">拒绝</view>
                  </view>
                  <view class="view-form-item">
                     <view class="label">审批人</view>
                     <view>{{item.checkUser}}</view>
                  </view>
                  <view class="view-form-item">
                     <view class="label">审批部门</view>
                     <view>{{item.checkDeptName}}</view>
                  </view>
                  <view class="view-form-item">
                     <view class="label">审批时间</view>
                     <view>{{item.checkTime}}</view>
                  </view>
               </view>
            </view>
         </view>
         <view class="base-card">
            <view class="title">
               <text>执法图片</text>
            </view>
            <view class="view-image">
               <image src="https://picsum.photos/200/300" mode="widthFix"></image>
               <image src="https://picsum.photos/200/300" mode="widthFix"></image>
               <image src="https://picsum.photos/200/300" mode="widthFix"></image>
               <image src="https://picsum.photos/200/300" mode="widthFix"></image>
               <image src="https://picsum.photos/200/300" mode="widthFix"></image>
            </view>
         </view>
         <view class="base-card">
            <view class="title">
               <text>执法进度</text>
            </view>
            <view class="view-step">
               <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">
                     审批通过
                  </view>
                  <view class="down-tips">
                     <view>提交人:<text>林小零</text></view>
                     <view class="time">2024-06-07 12:14</view>
                  </view>
               </view>
               <view class="step-content none">
                  <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image>
                  <image src="/static/policy/refject.png" mode="widthFix" class="icon"></image>
                  <view class="top-title">
                     提交申请
                  </view>
@@ -124,30 +155,104 @@
                     <view>提交人:<text>林小零</text></view>
                     <view class="time">2024-06-07 12:14</view>
                  </view>
               </view>
            </view>
         </view>
      </view>
   </view>
               </view> -->
        </view>
      </view>
    </view>
  </view>
</template>
<script>
   export default {
      data() {
         return {
         }
      },
      methods: {
      }
   }
  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>