MrShi
2025-04-11 3a45da15c947c2d478a44a51bd0f926647b1b841
company/src/components/business/OperaInsuranceApplyCheckWindow.vue
@@ -7,143 +7,67 @@
        @confirm="confirm"
    >
        <!--    退回投保    -->
            <div v-if="visible1==true"  class="form">
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>填写退回说明:</div>
                    <div class="form_item_val">
                        <textarea placeholder="请输入"></textarea>
                    </div>
                </div>
            </div>
        <!--    上传投保单    -->
            <div v-if="visible2==true" class="form">
                <div class="form_item">
                    <div class="form_item_label">上传投保单:</div>
                    <div class="form_item_val">
                        <el-upload
                            class="upload-demo"
                            action="https://jsonplaceholder.typicode.com/posts/"
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            multiple
                            :limit="1"
                            :on-exceed="handleExceed"
                            :file-list="fileList">
                            <el-button size="small" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传pdf文件,且不超过5mb</div>
                        </el-upload>
                    </div>
                </div>
            </div>
        <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>
        </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>
        <!--    上传保险单    -->
            <div v-if="visible3==true" class="form">
                <div class="form_item">
                    <div class="form_item_label">客户期望保险生效起期:</div>
                    <div class="form_item_val">2023-10-01 00:00:00</div>
                </div>
                <div class="form_item">
                    <div class="form_item_label">保险生效起期是否一致:</div>
                    <div class="form_item_val">
                        <el-radio-group v-model="radio">
                            <el-radio :label="0">与保单一致</el-radio>
                            <el-radio :label="1">与保单不一致</el-radio>
                        </el-radio-group>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>保险生效起期:</div>
                    <div class="form_item_val">
                        <el-date-picker
                            v-model="value1"
                            type="date"
                            placeholder="选择日期">
                        </el-date-picker>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label">保险生效起期:</div>
                    <div class="form_item_val">2023-10-01 00:00:00</div>
                </div>
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>保单号:</div>
                    <div class="form_item_val">
                        <el-input placeholder="请输入"></el-input>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label">上传保险单:</div>
                    <div class="form_item_val">
                        <el-upload
                            class="upload-demo"
                            action="https://jsonplaceholder.typicode.com/posts/"
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            multiple
                            :limit="1"
                            :on-exceed="handleExceed"
                            :file-list="fileList">
                            <el-button size="small" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传pdf文件,且不超过5mb</div>
                        </el-upload>
                    </div>
                </div>
            </div>
      <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>
        <!--    修改保险单    -->
            <div v-if="visible4==true" class="form">
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>保险生效起期:</div>
                    <div class="form_item_val">
                        <el-date-picker
                            v-model="value1"
                            type="date"
                            placeholder="选择日期">
                        </el-date-picker>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>保单号:</div>
                    <div class="form_item_val">
                        <el-input placeholder="请输入"></el-input>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>上传保险单:</div>
                    <div class="form_item_val">
                        <el-upload
                            class="upload-demo"
                            action="https://jsonplaceholder.typicode.com/posts/"
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            multiple
                            :limit="1"
                            :on-exceed="handleExceed"
                            :file-list="fileList">
                            <el-button size="small" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传pdf文件,且不超过5mb</div>
                        </el-upload>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>修改原因:</div>
                    <div class="form_item_val">
                        <el-input placeholder="请输入"></el-input>
                    </div>
                </div>
            </div>
        <!--    驳回退回申请    -->
        <div v-if="visible5==true" class="form">
            <div class="form_item">
                <div class="form_item_label"><span>*</span>填写说明:</div>
                <div class="form_item_val">
                    <textarea placeholder="请输入"></textarea>
                </div>
            </div>
        </div>
      <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-item>
        </el-form>
      <template v-slot:footer>
        <el-button type="primary" @click="visible=false">确 定</el-button>
        <el-button type="primary" @click="doSubmit">确 定</el-button>
        <el-button @click="visible=false">取消</el-button>
      </template>
    </GlobalWindow>
@@ -152,48 +76,85 @@
<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";
export default {
  name: 'OperaInsuranceApplyCheckWindow',
  name: 'OperaChangeApplyCheckWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  components: {UploadFile, GlobalWindow },
  data () {
    return {
      // 表单数据
      model: {},
      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: [
          { required: true, message: '请完善信息' }
        ]
      },
      form: {
          id: null,
          editDate: ''
      },
      // 验证规则
      rules: {
      },
      formInline: {
          user: '',
          region: ''
          backCheckInfo:'',
          dealBackInfo:'',
         editCheckInfo:'',
          editDate: '',
        editCode: '',
          startTime:null,
         code:null,
          toubaodanFile:null,
        baoxianFile:null,
         editBaoxianFile:null,
          fileList: [],
          fileList1: [],
          fileList2: [],
          selectRadio:0
      },
      visible1: false,
      visible2: false,
      visible3: false,
      visible4: false,
      visible5: false,
      reverse: true,
      radio: 0,
      fileList: [
          {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
      ],
      activities: [{
          content: '活动按期开始',
          timestamp: '2018-04-15'
      }, {
          content: '通过审核',
          timestamp: '2018-04-13'
      }, {
          content: '创建成功',
          timestamp: '2018-04-11'
      }],
      tableData: [],
      activeName: 'first',
      currentPage: 1
      visible6: false,
    }
  },
  created () {
@@ -203,15 +164,39 @@
      })
  },
  methods: {
    dele2() {
      this.form.toubaodanFile = ''
    },
     open(title,target,flag){
       this.visible=true
       this.model=target
       this.title=title
       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
       }
@@ -223,16 +208,149 @@
       }
       if(flag == 4){
         this.visible4 = true
         this.$nextTick(() => {
           this.$refs.form4.resetFields()
         })
       }
       if(flag == 5){
         this.visible5 = true
       }
       if(flag == 6){
         this.visible6 = true
       }
     },
    getDetail(){
      getDetail(this.dataId).then(res => {
    doSubmit(){
      if (this.flag == 1) {
        this.$refs.form1.validate((valid) => {
          // debugger
          if (!valid) {
            return
          }
          this.backDo()
        })
      } else if (this.flag == 2) {
        this.$refs.form2.validate((valid) => {
          // debugger
          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)
        })
      }
    },
    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(){
      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)
                 })
          })
    },
    uploadToubaodan(){
      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)
                })
          })
    },
    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)
                })
          })
      }).catch(err => {
      })
    },
    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)
                })
          })
    },
      handleRemove(file, fileList) {
          console.log(file, fileList);
@@ -300,7 +418,7 @@
            }
            .form_item_label {
                flex-shrink: 0;
                width: 170px;
                /*width: 170px;*/
                color: black;
                font-size: 14px;
                span {