jiangping
2025-06-25 e1749501b9ea6400ff064f206a45bf7df7074ccc
提交一把订单
已修改3个文件
85 ■■■■■ 文件已修改
company/src/components/business/OpearaCaseEntryWindow.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/common/uploadProgress.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/onlineReporting.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaCaseEntryWindow.vue
@@ -604,7 +604,7 @@
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -628,7 +628,7 @@
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -652,7 +652,7 @@
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -676,7 +676,7 @@
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
company/src/components/common/uploadProgress.vue
@@ -14,8 +14,8 @@
        </div>
        <div style="display: block;">
          <input type="file" ref="file" :accept="accept" @change="getFile" />
          <progress id="progressBar" value="0" max="100" ></progress>
          <span id="status">0%</span>
<!--          <progress id="progressBar" value="0" max="100" ></progress>-->
<!--          <span id="status">0%</span>-->
        </div>
    </div>
</template>
@@ -48,7 +48,9 @@
  },
  data () {
    return {
      loading:null,
      uuid: null,
      message:'开始上传',
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload',
      uploadProgressUrl: process.env.VUE_APP_API_PREFIX + '/public'
    }
@@ -64,24 +66,27 @@
    },
    getFile (e) {
      if (e.target && e.target.files.length > 0) {
        var that = this
        const config = {
          onUploadProgress: function (progressEvent) {
            console.log(progressEvent)
            const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)
            document.getElementById('progressBar').value = percentCompleted
            document.getElementById('status').textContent = '准备' + percentCompleted + '%'
            // document.getElementById('progressBar').value = percentCompleted
            // document.getElementById('status').textContent = '准备' + percentCompleted + '%'
            that.loading.setText('准备【 ' + percentCompleted + ' 】%')
          },
          headers: {
            'Content-Type': 'multipart/form-data'
          }
        }
        // const loading = this.$loading({
        //   lock: true,
        //   text: '上传中,请等待',
        //   spinner: 'el-icon-loading',
        //   background: 'rgba(0, 0, 0, 0.7)'
        // })
        // this.$emit('loading')
        this.loading = this.$loading({
          lock: true,
          text: '上传中,请等待',
          spinner: 'el-icon-loading',
          customClass: 'loadingclz',
          background: 'rgba(0, 0, 0, 0.7)'
        })
        this.$emit('loading')
        const formdate = new FormData()
        this.uuid = this.generateUUID().replaceAll('-', '')
        formdate.append('file', e.target.files[0])
@@ -89,13 +94,17 @@
        formdate.append('uuid', this.uuid)
        axios.post(this.uploadImgUrl, formdate, config)
          .then(res => {
            if(res.data.data == null || res.data.data.imgaddr == null){
              this.$message.error('数据上传失败!')
            }else{
            this.$emit('success', res.data.data)
            }
          })
          .catch(e => {
            this.$message.error(e)
          })
          .finally(() => {
            // loading.close()
            that.loading.close()
            this.$refs.file.value = null
          })
        this.startProgress()
@@ -109,21 +118,24 @@
            if (res != null && res.data && res.data.data) {
              if (res.data.data.status === 1) {
                const percentCompleted = Math.round(res.data.data.rate || 0)
                document.getElementById('progressBar').value = percentCompleted
                document.getElementById('status').textContent = '上传中' + percentCompleted + '%'
                // document.getElementById('progressBar').value = percentCompleted
                // document.getElementById('status').textContent = '上传中' + percentCompleted + '%'
                that.loading.setText('上传中 【 ' + percentCompleted + ' 】%')
              } else if (res.data.data.status === 2){
                document.getElementById('progressBar').value = 100
                document.getElementById('status').textContent = '已完成' + 100 + '%'
                // document.getElementById('progressBar').value = 100
                // document.getElementById('status').textContent = '已完成' + 100 + '%'
                that.loading.setText( '已完成 【 ' + 100 + ' 】%')
                clearInterval(timer)
              } else if (res.data.data.status === 3){
                const percentCompleted = Math.round(res.data.data.rate || 0)
                document.getElementById('progressBar').value = percentCompleted
                document.getElementById('status').textContent = '上传失败' + percentCompleted + '%'
                // document.getElementById('progressBar').value = percentCompleted
                // document.getElementById('status').textContent = '上传失败' + percentCompleted + '%'
                that.loading.setText('上传失败 【 ' + percentCompleted + ' 】%')
                clearInterval(timer)
              }
            }
          })
      }, 2000)
      }, 1000)
    },
    generateUUID () {
      return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
@@ -138,7 +150,17 @@
  }
}
</script>
<style>
  .loadingclz {
    .el-loading-text{
      font-size: 18px  !important;
      color: #2977f8 !important;
    }
   .el-loading-spinner i {
      color: #2977f8 !important;
    }
  }
</style>
<style lang="scss" scoped>
    .file {
        /*width: 100%;*/
company/src/components/enterprise/onlineReporting.vue
@@ -162,7 +162,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
                                </div>
                            </div>
                        </div>
@@ -231,7 +231,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 1)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 1)" />
                                </div>
                            </div>
                            <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -259,7 +259,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 2)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 2)" />
                                </div>
                            </div>
                            <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -287,7 +287,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 3)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 3)" />
                                </div>
                            </div>
                            <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -315,7 +315,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 4)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 4)" />
                                </div>
                            </div>
                            <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -343,7 +343,7 @@
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
                                </div>
                            </div>
                        </div>
@@ -414,6 +414,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import upload from '@/components/common/upload'
import uploadProgress from '@/components/common/uploadProgress'
import { saveSettleClaims } from '@/api/business/settleRisk'
import { findById } from '@/api/business/settleClaims'
import { findListByDTO } from '@/api/business/member'
@@ -427,7 +428,7 @@
export default {
  name: 'onlineReporting',
  extends: BaseOpera,
  components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
  components: { GlobalWindow, upload,uploadProgress, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
  computed: {
    ...mapState(['userInfo'])
  },