k94314517
2025-07-04 50fb58286ed3b718c39a97e0987ee7561a295651
company/src/components/enterprise/onlineReporting.vue
@@ -7,7 +7,7 @@
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <div class="box">
        <div class="box" id="section1">
            <div class="box_status">
                <div class="box_status_row" v-for="(item, index) in statusList" :key="index">
                    <div :class="index <= i ? 'box_status_row_icon statusColor2 statusColor3' : 'box_status_row_icon'">
@@ -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>
@@ -181,7 +181,7 @@
                            </div>
                            <div class="box_desc_list_row">
                                <el-form-item label="报案人联系方式" prop="informantPhone">
                                    <el-input v-model="form.informantPhone" placeholder="请输入"></el-input>
                                    <el-input v-model="form.informantPhone" type="number" maxlength="11" placeholder="请输入"></el-input>
                                </el-form-item>
                            </div>
                            <div class="box_desc_list_ZW"></div>
@@ -231,7 +231,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="[]" 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="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" 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="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" 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="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" 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="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
                                </div>
                            </div>
                        </div>
@@ -360,17 +360,17 @@
                        </div>
                        <div class="box_desc_list">
                            <div class="box_desc_list_row">
                                <el-form-item label="收款银行" prop="receiveBank">
                                <el-form-item label="收款银行" :prop="userInfo.type === 1 ? '' : 'receiveBank'">
                                    <el-input v-model="form.receiveBank" placeholder="请输入收款银行支行名称"></el-input>
                                </el-form-item>
                            </div>
                            <div class="box_desc_list_row">
                                <el-form-item label="收款人" prop="receiveUserName">
                                <el-form-item label="收款人" :prop="userInfo.type === 1 ? '' : 'receiveUserName'">
                                    <el-input v-model="form.receiveUserName" placeholder="请输入开户姓名"></el-input>
                                </el-form-item>
                            </div>
                            <div class="box_desc_list_row">
                                <el-form-item label="收款账号" prop="receiveAccount">
                                <el-form-item label="收款账号" :prop="userInfo.type === 1 ? '' : 'receiveAccount'">
                                    <el-input v-model="form.receiveAccount" placeholder="请输入银行账号"></el-input>
                                </el-form-item>
                            </div>
@@ -393,13 +393,13 @@
            </el-form>
            <div class="box_footer">
                <div class="box_footer_btns" v-if="i === 0">
                    <el-button type="primary" @click="confirm(0)">暂存</el-button>
                    <el-button type="primary" :loading="isWorking" @click="confirm(0)">暂存</el-button>
                    <el-button type="primary" @click="next">下一步</el-button>
                </div>
                <div class="box_footer_btns" v-if="i === 1">
                    <el-button @click="i--">上一步</el-button>
                    <el-button type="primary" @click="confirm(0)">暂存</el-button>
                    <el-button type="primary" @click="confirm(1)">提交</el-button>
                    <el-button @click="previousStep">上一步</el-button>
                    <el-button type="primary" :loading="isWorking" @click="confirm(0)">暂存</el-button>
                    <el-button type="primary" :loading="isWorking" @click="confirm(1)">提交</el-button>
                </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,11 +428,20 @@
export default {
  name: 'onlineReporting',
  extends: BaseOpera,
  components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
  components: { GlobalWindow, upload,uploadProgress, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
  computed: {
    ...mapState(['userInfo'])
  },
  data () {
      var checkPhone = (rule, value, callback) => {
          if (value === '') {
              callback(new Error('请输入'));
          } else if (!/^[1]\d{10}$/.test(value)) {
              callback(new Error('手机号不合法'));
          } else {
              callback();
          }
      };
    return {
      i: 0,
      id: null,
@@ -521,7 +531,7 @@
          { required: true, message: '不能为空' }
        ],
        informantPhone: [
          { required: true, message: '不能为空' }
          { required: true, validator: checkPhone }
        ]
      },
      pickerOptions: {
@@ -544,6 +554,7 @@
  methods: {
    open (title, id) {
      this.title = title
      this.continueReporting()
      this.form.area = []
      this.i = 0
      this.solutionList = []
@@ -714,7 +725,7 @@
    getSolutions (id) {
      const row = this.user.filter(item => item.id === id)
      this.form.idcardNo = row[0].idcardNo
      findList({ memberId: id })
      findList({ memberId: id, isSettleClaims: 1 })
        .then(res => {
          this.form.insuranceApplyId = ''
          res.forEach(item => {
@@ -758,40 +769,37 @@
      }
    },
    confirm (saveType) {
      this.isWorking = true
      saveSettleClaims({ ...this.form, saveType })
        .then(res => {
          console.log(res)
          if (saveType === 0) {
            this.visible = false
          } else {
            this.id = res
            this.i = 2
          }
          this.$emit('success')
        }).catch(err => {
          this.$tip.apiFailed(err)
        })
        .finally(() => {
          this.isWorking = false
        this.$refs.form.validate((valid) => {
            if (!valid) return;
            this.isWorking = true
            saveSettleClaims({ ...this.form, saveType })
                .then(res => {
                    if (saveType === 0) {
                        this.visible = false
                    } else {
                        this.id = res
                        this.i = 2
                    }
                    this.$emit('success')
                }).catch(err => {
                this.$tip.apiFailed(err)
            })
                .finally(() => {
                    this.isWorking = false
                })
        })
    },
      previousStep() {
          this.i--
          var element = document.getElementById('section1');
          element.scrollIntoView({ behavior: 'smooth' });
      },
    next () {
      this.$refs.form.validate((valid) => {
        if (!valid) return
        this.i++
        // this.isWorking = true
        // createSys(obj)
        //     .then(() => {
        //         this.visible = false
        //         this.$emit('success')
        //     })
        //     .catch(e => {
        //         this.$tip.apiFailed(e)
        //     })
        //     .finally(() => {
        //         this.isWorking = false
        //     })
          var element = document.getElementById('section1');
          element.scrollIntoView({ behavior: 'smooth' });
      })
    }
  }