yuanhao
2025-05-19 cc610ef597a4b600b4c48c80026f3a99be171f3b
policy/translate/translate.vue
@@ -1,8 +1,8 @@
<template>
   <view class="page-box">
      <view class="list">
         <view class="select-box" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
            <view class="select-image" v-if="isJudege" @click="setIsSelect(index)">
         <view class="select-box" @click="setIsSelect(index)" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
            <view class="select-image" v-if="isJudege" >
               <image src="/static/policy/checkbox.png" mode="widthFix" v-show="item.isSelect"></image>
               <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!item.isSelect"></image>
            </view>
@@ -13,29 +13,51 @@
               </view>
               <view class="user-info">
                  <text>{{item.applyUser}}</text>
                  <view class="driver"></view>
               <!--    <view class="driver"></view>
                  <text>{{item.checkDeptName}}</text> -->
               </view>
               <view class="user-info">
                  <!-- <text>{{item.applyUser}}</text>
                  <view class="driver"></view> -->
                  <text>{{item.checkDeptName}}</text>
               </view>
               <view class="set-line">
                  <text>执法对象:</text>{{item.companyName}}
               </view>
               <view class="line"></view>
               <view class="set-flex set-start set-flex-content-between">
                  <view>
                  <view style="width: 75%;">
                     <view class="set-line1">
                        <text>执法时间:</text>{{item.planTime}}
                     </view>
                     <view class="set-line1">
                        <text>申请时间:</text>{{item.applyTime}}
                     </view>
                     <view class="look" v-if="item.show">
                        <view class="set-line">
                           <text>执法主题:</text>{{item.enforceReason}}
                        </view>
                        <view class="set-line">
                           <text>执法类型:</text>{{handlerType(item.enforceType)}}
                        </view>
                        <view class="set-line set-line-flex">
                           <text>执法内容:</text> <view>{{item.enforceContent}}</view>
                        </view>
                     </view>
                  </view>
                  <view class="button" v-if="!isJudege" @click="goStartJudeg([item.orderId])">
                  <view class="button" v-if="!isJudege" @click.self="goStartJudeg([item.orderId])">
                     审批
                  </view>
               </view>
               <view @click="showItem(item)" class="icon" style="text-align: center;display: flex;justify-content: center;align-items: center;">
                  <u-icon name="arrow-down" color="#bfbfbf" size="20" v-if="!item.show"></u-icon>
                  <u-icon name="arrow-up" color="#bfbfbf" size="20" v-else></u-icon>
               </view>
            </view>
         </view>
         <u-empty v-if="!list.length"></u-empty>
         <u-empty v-if="!list.length" style="margin-top: 200rpx;"></u-empty>
      </view>
      <view class="down" v-if="!isJudege">
         <view class="button" @click="goRecord">审批记录</view>
@@ -56,6 +78,7 @@
<script>
   import popupCom from '@/policy/components/popup.vue'
   import { checkLogList, checkUpd } from '@/api/policy.js'
   import { getDicts } from '@/api/data.js'
   export default {
      components: {
         popupCom
@@ -70,9 +93,12 @@
            queryms: {
               pageNum: 1,
               pageSize: 10,
               checkStatus: 0
               orderStatus: 1,
               isAsc: "desc",
               orderByColumn: "apply_time"
            },
            recordList: []
            recordList: [],
            typeList: []
         }
      },
      computed: {
@@ -86,7 +112,8 @@
         }
      },
      onLoad() {
         this.checkLogList()
         this.getDicts()
      },
      onReachBottom() {
         if(this.total == this.list.length) {
@@ -94,8 +121,26 @@
         }
         this.queryms.pageNum++
         this.checkLogList()
      },
      methods: {
         showItem(item) {
            item.show = !item.show
         },
         handlerType(type) {
            const value = this.typeList.find(item => item.dictCode == type)
            if(value) {
               return value.dictLabel
            } else {
               return ''
            }
         },
         getDicts(type) {
            getDicts('enforce_type').then(val => {
               this.typeList = val.data.data
               this.checkLogList()
            })
         },
         goRecord() {
            uni.navigateTo({
               url: `/policy/translateRecord/translateRecord`
@@ -116,6 +161,9 @@
            this.isJudege = true
         },
         setIsSelect(index){
            if(!this.isJudege) {
               return
            }
            this.list[index].isSelect = !this.list[index].isSelect
         },
         allSelect() {
@@ -160,6 +208,7 @@
            checkLogList(this.queryms).then(val => {
               val.data.rows.map(item => {
                  item.isSelect = false
                  item.show = false
               })
               this.list = [...this.list,...val.data.rows ]
               this.total = val.data.total
@@ -176,12 +225,24 @@
<style lang="scss" scoped>
   @import "./translate.scss";
   /deep/ .u-radio {
   ::v-deep .u-radio {
      margin-right: 84rpx !important;
   }
   /deep/ .u-textarea {
   ::v-deep .u-textarea {
      background-color: #F4F4F4 !important;
      border: none;
   }
   .set-line-flex{
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      text{
         width: 28%;
         display: inline-block;
      }
      & > view{
         width: 70%;
      }
   }
</style>