k94314517
2025-05-19 16e8c7adbee6c9ee9bac09a80d44d3bfd3fe2f0c
wx/pages/report_details/report_details.vue
@@ -94,12 +94,15 @@
            <view class="info_list">
               <view class="info_list_item f">
                  <view class="info_list_item_label1">1、员工关系证明资料</view>
                  <view class="info_list_item_tu" v-if="info && info.relationFileList">
                  <view class="info_list_item_tu" v-if="info">
                     <view class="info_list_item_tu_img" v-for="(item,index) in info.relationFileList" :key="index">
                        <view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
                           <image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
                        </view>
                        <image :src="item.fileurlFull" mode="widthFix" v-if="item.type == 0"></image>
                        <video :src="item.fileurlFull" v-if="item.type == 1" />
                     </view>
                     <view class="info_list_item_tu_up">
                     <view class="info_list_item_tu_up" @click="upload(2)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
                        <u-icon name="plus" color="#222222" size="20"></u-icon>
                     </view>
                     <view class="info_list_item_tu_zw"></view>
@@ -109,12 +112,15 @@
               </view>
               <view class="info_list_item f">
                  <view class="info_list_item_label1">2、医疗资料</view>
                  <view class="info_list_item_tu" v-if="info && [...info.outpatientFileList, ...info.hospitalFileList, ...info.disabilityFileList].length > 0">
                     <view class="info_list_item_tu_img" v-for="(item, index) in [].concat(info.outpatientFileList).concat(info.hospitalFileList).concat(info.disabilityFileList)" :key="index">
                  <view class="info_list_item_tu" v-if="info">
                     <view class="info_list_item_tu_img" v-for="(item, index) in info.outpatientFileList" :key="index">
                        <view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
                           <image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
                        </view>
                        <image :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
                        <video :src="item.fileurlFull" v-if="item.type === 1"></video>
                     </view> 
                     <view class="info_list_item_tu_up">
                     <view class="info_list_item_tu_up" @click="upload(3)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
                        <u-icon name="plus" color="#222222" size="20"></u-icon>
                     </view>
                     <view class="info_list_item_tu_zw"></view>
@@ -124,12 +130,15 @@
               </view>
               <view class="info_list_item f">
                  <view class="info_list_item_label1">3、赔付结案资料</view>
                  <view class="info_list_item_tu" v-if="info && info.compensationFileList">
                  <view class="info_list_item_tu" v-if="info">
                     <view class="info_list_item_tu_img" v-for="(item, index) in info.compensationFileList" :key="index">
                        <view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
                           <image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
                        </view>
                        <image :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
                        <video :src="item.fileurlFull" v-if="item.type === 0"></video>
                        <video :src="item.fileurlFull" v-if="item.type === 1"></video>
                     </view>
                     <view class="info_list_item_tu_up">
                     <view class="info_list_item_tu_up" @click="upload(6)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
                        <u-icon name="plus" color="#222222" size="20"></u-icon>
                     </view>
                     <view class="info_list_item_tu_zw"></view>
@@ -166,7 +175,8 @@
                     <view class="info_list_row_info_nr" v-if="item.content">
                        <view class="info_list_row_info_nr_title" :style="{ color: info.settleClaimsLogList.length - 1 === index ? '#437CB3' : '' }">处理进展:</view>
                        <view class="info_list_row_info_nr_val">
                           {{item.content}}
                           <text>{{item.content}}</text>
                           <text v-if="item.objType === 3">医疗理赔:{{JSON.parse(item.afterContent).ylClaimAccount}}元,误工理赔:{{JSON.parse(item.afterContent).wgClaimAccount}}元,伤残理赔:{{JSON.parse(item.afterContent).scClaimAccount}}元,死亡理赔:{{JSON.parse(item.afterContent).swClaimAccount}}元,理赔总额:{{JSON.parse(item.afterContent).claimAccount}}元。</text>
                        </view>
                     </view>
                  </view>
@@ -194,6 +204,7 @@
</template>
<script>
   import { mapState } from 'vuex'
   export default {
      data() {
         return {
@@ -209,8 +220,57 @@
      onLoad(option) {
         this.id = option.id
         this.getDetails()
         uni.$on('update', (data) => {
            this.getDetails()
         })
      },
      computed: {
         ...mapState(['cookies'])
      },
      methods: {
         // 删除附件
         deleFile(id, objId) {
            this.$u.api.delFile(objId, id)
               .then(res => {
                  if (res.code === 200) {
                     this.getDetails()
                  }
               })
         },
         // 上传材料
         upload(type) {
            var that = this
            uni.chooseMedia({
               count: 1,
               maxDuration: 60,
               success(res) {
                  uni.uploadFile({
                     url: that.$baseUrl + 'public/upload',
                     filePath: res.tempFiles[0].tempFilePath,
                     name: 'file',
                     header: {
                        'doumee-auth-token': that.cookies
                     },
                     formData: {
                        'folder': 'settle'
                     },
                     success: (uploadFileRes) => {
                        let data = JSON.parse(uploadFileRes.data).data
                        console.log(JSON.parse(uploadFileRes.data).data)
                        that.$u.api.claimsUploadFile({
                           fileName: '',
                           fileType: data.type,
                           fileUrl: data.imgaddr,
                           id: that.id,
                           objType: type
                        }).then(result => {
                           that.getDetails()
                        })
                     }
                  });
               }
            })
         },
         openBC() {
            this.value = ''
            this.show = true
@@ -240,7 +300,6 @@
            this.$u.api.settleClaimsById(this.id)
               .then(res => {
                  if (res.code === 200) {
                     console.log(res)
                     this.info = res.data
                  }
               })
@@ -357,12 +416,11 @@
            bottom: 0;
            left: 0;
            z-index: 99;
            padding: 10rpx 30rpx;
            padding: 10rpx 30rpx calc(env(safe-area-inset-bottom) + 10rpx) 30rpx;
            box-sizing: border-box;
            background-color: #ffffff;
            display: flex;
            align-items: center;
            padding-bottom: env(safe-area-inset-bottom);
         }
         .box_head_infoA {
            width: 100%;
@@ -465,11 +523,19 @@
                           font-style: normal;
                        }
                        .info_list_row_info_nr_val {
                           font-weight: 400;
                           font-size: 26rpx;
                           color: #666666;
                           font-style: normal;
                           display: flex;
                           flex-direction: column;
                           margin-top: 12rpx;
                           text {
                              font-weight: 400;
                              font-size: 26rpx;
                              color: #666666;
                              font-style: normal;
                              margin-bottom: 20rpx;
                              &:last-child {
                                 margin: 0 !important;
                              }
                           }
                        }
                     }
                  }
@@ -517,6 +583,15 @@
                        align-items: center;
                        justify-content: center;
                        overflow: hidden;
                        position: relative;
                        .info_list_item_tu_img_dele {
                           width: 50rpx;
                           height: 50rpx;
                           position: absolute;
                           right: 0;
                           top: 0;
                           z-index: 9;
                        }
                        image {
                           width: 100%;
                           height: 100%;