nidapeng
2024-04-01 06b919319e949de66879a8505e9e4640ad3db18f
company/src/components/business/OperaWtbApplyCheckWindow.vue
@@ -8,62 +8,13 @@
    >
        <!--    退回投保    -->
        <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;">
          <el-form-item label="填写退回说明:" prop="backCheckInfo">
            <el-input type="textarea" v-model="form.backCheckInfo" placeholder="请输入" v-trim/>
          <el-form-item label="填写退回说明:" prop="backBackInfo">
            <el-input type="textarea" v-model="form.backWtb" placeholder="请输入" v-trim/>
          </el-form-item>
        </el-form>
        <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;">
          <el-form-item label="上传投保单:" prop="toubaodanFile">
            <UploadFile @remove="dele2" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList" @uploadSuccess="toubaoFileUploaded" />
          </el-form-item>
        </el-form>
        <!--    上传保险单    -->
      <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
        <el-form-item label="客户期望保险生效起期:">
          {{ model.applyStartTime }}
        </el-form-item>
        <el-form-item label="" >
          <el-radio-group v-model="form.selectRadio" @change="selectChange">
            <el-radio :label="0" >与保单一致</el-radio>
            <el-radio :label="1" >与保单不一致</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="保险生效起期:" prop="startTime" v-if="form.selectRadio === 1">
          <el-date-picker
              v-model="form.startTime"
              type="date"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="保险生效起期:">
          {{ form.startTime }}
        </el-form-item>
        <el-form-item label="保单号:" prop="code">
          <el-input v-model="form.code" placeholder="请输入" v-trim/>
        </el-form-item>
        <el-form-item label="上传保险单:" prop="baoxianFile">
          <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
        </el-form-item>
      </el-form>
        <!--    修改保险单    -->
      <el-form v-if="visible4==true" :model="form" ref="form4" :rules="rules4" style="width: 100%;">
        <el-form-item label="保险生效起期:">
          {{ model.startTime }}
        </el-form-item>
        <el-form-item label="保单号:" prop="editCode">
          <el-input v-model="form.editCode" placeholder="请输入" v-trim/>
        </el-form-item>
        <el-form-item label="上传保险单:" prop="editBaoxianFile">
          <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editBaoxianFileUploaded" />
        </el-form-item>
        <el-form-item label="修改原因:" prop="editCheckInfo">
          <el-input type="textarea" v-model="form.editCheckInfo" placeholder="请输入" v-trim/>
        </el-form-item>
      </el-form>
        <el-form v-if="visible5==true || visible6==true" :model="form" ref="form5" :rules="rules5" style="width: 100%;">
          <el-form-item label="填写说明:" prop="dealBackInfo">
            <el-input type="textarea" v-model="form.dealBackInfo" placeholder="请输入" v-trim/>
         <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;">
          <el-form-item label="填写关闭说明:" prop="dealCloseInfo">
            <el-input type="textarea" v-model="form.dealCloseInfo" placeholder="请输入" v-trim/>
          </el-form-item>
        </el-form>
      <template v-slot:footer>
@@ -76,150 +27,63 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import {
  dealBackApply,
  back,
  uploadBaoxiandan,
  editBaoxiandan,
  uploadToubaodan,
  check
} from "@/api/business/insuranceApply";
import UploadFile from "@/components/common/UploadFile";
import {remark} from "@/api/business/settleClaims";
import { check, closeWtbForShop } from '@/api/business/insuranceApply'
export default {
  name: 'OperaWtbApplyCheckWindow',
  extends: BaseOpera,
  components: {UploadFile, GlobalWindow },
  components: {   GlobalWindow },
  data () {
    return {
      // 表单数据
      model: {},
      falg :0,
      falg: 0,
      rules1: {
        backCheckInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules2: {
        toubaodanFile: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules3: {
        code: [
          { required: true, message: '请完善信息' }
        ],
        startTime: [
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
        ],
      },
      rules5: {
        dealBackInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      rules4: {
        editCode: [
          { required: true, message: '请完善信息' }
        ],
        editBaoxianFile: [
          { required: true, message: '请完善信息' }
        ],
        editCheckInfo: [
        dealCloseInfo: [
          { required: true, message: '请完善信息' }
        ]
      },
      form: {
          id: null,
          backCheckInfo:'',
          dealBackInfo:'',
         editCheckInfo:'',
          editDate: '',
        editCode: '',
          startTime:null,
         code:null,
          toubaodanFile:null,
        baoxianFile:null,
         editBaoxianFile:null,
          fileList: [],
          fileList1: [],
          fileList2: [],
          selectRadio:0
        id: null,
        backCheckInfo: '',
        dealCloseInfo: ''
      },
      visible1: false,
      visible2: false,
      visible3: false,
      visible4: false,
      visible5: false,
      visible6: false,
      visible2: false
    }
  },
  created () {
      this.config({
          api: '/business/insuranceApply',
          'field.id': 'id'
      })
    this.config({
      api: '/business/insuranceApply',
      'field.id': 'id'
    })
  },
  methods: {
    dele2() {
      this.form.toubaodanFile = ''
    open (title, target, flag) {
      this.visible = true
      this.model = {}
      this.form = {
        id: null,
        backBackInfo: '',
        dealCloseInfo: ''
      },
      this.model = target
      this.title = title
      this.flag = flag
      this.visible1 = false
      this.visible2 = false
      if (flag == 1) {
        this.visible1 = true
      }
      if (flag == 2) {
        this.visible2 = true
      }
    },
     open(title,target,flag){
       this.visible=true
       this.model={}
       this.form= {
         id: null,
         backCheckInfo:'',
         dealBackInfo:'',
         editCheckInfo:'',
         editDate: '',
         editCode: '',
         startTime:null,
         code:null,
         toubaodanFile:null,
         baoxianFile:null,
         editBaoxianFile:null,
         fileList: [],
         fileList1: [],
         fileList2: [],
         selectRadio:0
       },
       this.model = target
       this.form.startTime = target.startTime
       this.title = title
       this.flag = flag
       this.visible1 = false
       this.visible2 = false
       this.visible3 = false
       this.visible4 = false
       this.visible5 = false
       this.visible6 = false
       if(flag == 1){
         this.visible1 = true
       }
       if(flag == 2){
         this.visible2 = true
       }
       if(flag == 3){
         this.visible3 = true
       }
       if(flag == 4){
         this.visible4 = true
         this.$nextTick(() => {
           this.$refs.form4.resetFields()
         })
       }
       if(flag == 5){
         this.visible5 = true
       }
       if(flag == 6){
         this.visible6 = true
       }
     },
    doSubmit(){
    doSubmit () {
      if (this.flag == 1) {
        this.$refs.form1.validate((valid) => {
          // debugger
@@ -234,151 +98,51 @@
          if (!valid) {
            return
          }
          this.uploadToubaodan()
        })
      } else if (this.flag == 3) {
        this.$refs.form3.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.uploadBaoxiandan()
        })
      } else if (this.flag == 4) {
        this.$refs.form4.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.editBaoxiandan()
        })
      } else if (this.flag == 5) {
        this.$refs.form5.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.dealBackApply(1)
        })
      } else if (this.flag == 6) {
        this.$refs.form5.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.dealBackApply(0)
          this.closeDo()
        })
      }
    },
    selectChange(){
       if(this.form.selectRadio == 0){
         this.form.startTime = this.model.startTime
       }else{
         this.form.startTime = ''
       }
    },
    toubaoFileUploaded(data){
      this.form.toubaodanFile=data
    },
    baoxianFileUploaded(data){
      this.form.baoxianFile=data
    },
    editBaoxianFileUploaded(data){
      this.form.editBaoxianFile=data
    },
    backDo(){
    backDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            back({id:this.model.id,checkInfo:this.form.backCheckInfo})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                  }).catch(err => {
                this.$tip.apiFailed(err)
                 })
          })
        .then(() => {
          this.isWorking = true
          check({ id: this.model.id, checkInfo: this.form.backCheckInfo })
            .then(response => {
              this.visible = false
              this.$emit('success')
            }).catch(err => {
              this.$tip.apiFailed(err)
            })
        })
    },
    uploadToubaodan(){
    closeDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            uploadToubaodan({id:this.model.id,toubaodanFile:this.form.toubaodanFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
        .then(() => {
          this.isWorking = true
          closeWtbForShop({ id: this.model.id, checkInfo: this.form.dealCloseInfo })
            .then(response => {
              this.visible = false
              this.$emit('success')
            }).catch(err => {
              this.$tip.apiFailed(err)
            })
        })
    },
    dealBackApply(type){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            dealBackApply({ id: this.model.id, checkInfo: this.form.dealBackInfo, dealBackApply: type })
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    },
    uploadBaoxiandan(){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            uploadBaoxiandan({id:this.model.id,startTime:this.form.startTime,code:this.form.code,baoxiandanFile:this.form.baoxianFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    successEvent () {
    },
    editBaoxiandan(){
      this.$dialog.messageConfirm('确认进行该操作吗?')
          .then(() => {
            this.isWorking = true
            editBaoxiandan({id:this.model.id, checkInfo:this.form.editCheckInfo,code:this.form.editCode,baoxiandanFile:this.form.editBaoxianFile})
                .then(response => {
                  this.visible = false
                  this.$emit('success')
                }).catch(err => {
                  this.$tip.apiFailed(err)
                })
          })
    handleSizeChange (val) {
      console.log(`每页 ${val} 条`)
    },
      handleRemove(file, fileList) {
          console.log(file, fileList);
      },
      handlePreview(file) {
          console.log(file);
      },
      handleExceed(files, fileList) {
          this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
      },
      beforeRemove(file, fileList) {
          return this.$confirm(`确定移除 ${ file.name }?`);
      },
      successEvent() {
    handleCurrentChange (val) {
      console.log(`当前页: ${val}`)
    },
    handleClick (tab, event) {
      console.log(tab, event)
    },
    onSubmit () {
      },
      handleSizeChange(val) {
          console.log(`每页 ${val} 条`);
      },
      handleCurrentChange(val) {
          console.log(`当前页: ${val}`);
      },
      handleClick(tab, event) {
          console.log(tab, event);
      },
      onSubmit() {
      }
    }
  }
}
</script>