nidapeng
2024-04-02 74225654b1d1dba53fe00b3a5e9b9e91cfa0c922
company/src/components/business/OperaUnionApplyCheckWindow.vue
@@ -1,7 +1,7 @@
<template>
    <GlobalWindow
        :title="title"
        width="50%"
        width="60%"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
@@ -18,14 +18,14 @@
          </el-form-item>
          <div v-for="(item,index) in this.model.applyList" :key="index">
            <el-form-item :label="(index+1)+'.被保险人('+item.companyName+'):'" prop="tbdMultifileList[index]">
              <UploadFile   :uploadData="{ folder: 'apply',fileType:'.pdf' }"  :fileIndex="index"  :showTips="showTips" :fileList="model.applyList[index].fileList" @uploadSuccess="toubaoFileUploaded2" />
              <UploadFile  @remove="deleIndex(0,index)"  :uploadData="{ folder: 'apply',fileType:'.pdf' }"  :fileIndex="index"  :showTips="showTips" :fileList="model.applyList[index].fileList" @uploadSuccess="toubaoFileUploaded2" />
            </el-form-item>
          </div>
        </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 label="期望保险生效期:">
          <span >{{( form.startTime|| '-') +'  至  '+( form.endTime|| '-')}}</span>
        </el-form-item>
        <el-form-item label="" >
          <el-radio-group v-model="form.selectRadio" @change="selectChange">
@@ -41,20 +41,46 @@
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="保险生效起期:">
          {{ form.startTime }}
        <el-form-item label="保险生效止期:" prop="endTime" v-if="form.selectRadio === 1">
          <el-date-picker
              v-model="form.endTime"
              type="date"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期">
          </el-date-picker>
        </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 @remove="dele3" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
          <UploadFile @remove="dele3"  :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
        </el-form-item>
        <div v-for="(item,index) in this.model.applyList" :key="index">
        <div class="box_table">
          <div class="box_table_head">
            <div class="box_table_head_item">序号</div>
            <div class="box_table_head_item">被保险人</div>
            <div class="box_table_head_item">投保人数</div>
            <div class="box_table_head_item">操作</div>
            <div class="box_table_head_item">服务费(当前保单)</div>
          </div>
          <div class="box_table_content" v-for="(item, index) in model.applyList" :key="index">
            <div class="box_table_content_item">{{index + 1}}</div>
            <div class="box_table_content_item" >{{ item.companyName }}</div>
            <div class="box_table_content_item">{{ item.insureNum }}</div>
            <div class="box_table_content_item">
              <el-form-item label="" prop="bxdMultifileList[index]">
                <UploadFileLink   @remove="deleIndex(1,index)" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
              </el-form-item>
            </div>
            <div class="box_table_content_item">  <el-input style="width: 60%" v-model="form.bxdMultifileList[index].serverMoney" placeholder="请输入"  ></el-input>
              <span style="margin-left: 15px">元/人</span></div>
          </div>
        </div>
<!--        <div v-for="(item,index) in this.model.applyList" :key="index">
          <el-form-item :label="item.companyName" prop="bxdMultifileList[index]">
            <UploadFile   :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
          </el-form-item>
        </div>
        </div>-->
      </el-form>
      <template v-slot:footer>
        <el-button type="primary" @click="doSubmit">确 定</el-button>
@@ -72,11 +98,12 @@
  uploadToubaodan
} from '@/api/business/unionApply'
import UploadFile from '@/components/common/UploadFile'
import UploadFileLink from '@/components/common/UploadFileLink'
export default {
  name: 'OperaUnionApplyCheckWindow',
  extends: BaseOpera,
  components: { UploadFile, GlobalWindow },
  components: { UploadFile, GlobalWindow ,UploadFileLink},
  data () {
    return {
      // 表单数据
@@ -100,6 +127,9 @@
        startTime: [
          { required: true, message: '请完善信息' }
        ],
        endTime: [
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
        ]
@@ -109,6 +139,7 @@
        backCheckInfo: '',
        editCheckInfo: '',
        startTime: null,
        endTime: null,
        code: null,
        toubaodanFile: null,
        baoxianFile: null,
@@ -134,9 +165,14 @@
      this.form.toubaodanFile= null
    },
    deleIndex (flag,index) {
      if(flag == 0)
      this.form.tbdMultifileList[index].fileurl = null
      this.form.tbdMultifileList[index].name = null
      alert(index)
      if(flag == 0){
        this.form.tbdMultifileList[index].fileurl = null
        this.form.tbdMultifileList[index].name = null
      }else  if(flag ==1){
        this.form.bxdMultifileList[index].fileUrl = null
        this.form.bxdMultifileList[index].fileName = null
      }
    },
    dele3 () {
      this.form.baoxianFile = null
@@ -152,10 +188,13 @@
        editDate: '',
        editCode: '',
        startTime: null,
        endTime: null,
        code: null,
        toubaodanFile: null,
        baoxianFile: null,
        editBaoxianFile: null,
        tbdMultifileList:[],
        bxdMultifileList:[],
        fileList: [],
        fileList1: [],
        selectRadio: 0
@@ -163,6 +202,7 @@
      this.model = target
      this.form.startTime = target.startTime
      this.form.endTime = target.endTime
      this.title = title
      this.flag = flag
      this.visible1 = false
@@ -188,7 +228,7 @@
        if(this.model.applyList){
          this.model.applyList.forEach(item =>{
            item.fileList1 =[]
            this.form.bxdMultifileList.push({objId:item.id,fileurl:null,name:null})
            this.form.bxdMultifileList.push({applyId:item.id,serverMoney:0,fileUrl:null,fileName:null})
          })
        }
      }
@@ -223,8 +263,10 @@
    selectChange () {
      if (this.form.selectRadio == 0) {
        this.form.startTime = this.model.startTime
        this.form.endTime = this.model.endTime
      } else {
        this.form.startTime = ''
        // this.form.startTime = ''
        // this.form.endTime = ''
      }
    },
    toubaoFileUploaded (data) {
@@ -238,8 +280,8 @@
      this.form.baoxianFile = data
    },
    baoxianFileUploaded2 (data) {
      this.form.bxdMultifileList[data.index].fileurl = data.fileurl
      this.form.bxdMultifileList[data.index].name = data.name
      this.form.bxdMultifileList[data.index].fileUrl = data.fileurl
      this.form.bxdMultifileList[data.index].fileName = data.name
    },
    backDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
@@ -273,7 +315,17 @@
      this.$dialog.messageConfirm('确认进行该操作吗?')
        .then(() => {
          this.isWorking = true
          uploadBXD({ id: this.model.id, startTime: this.form.startTime, code: this.form.code, baoxiandanFile: this.form.baoxianFile })
          var param ={
            id: this.model.id,
            startTime: this.form.startTime,
            endTime: this.form.endTime,
            code: this.form.code,
            fileUrl: this.form.baoxianFile.fileurl,
            fileName: this.form.baoxianFile.name,
            unionApplyBXDDDetailDTOList:this.form.bxdMultifileList
          }
          console.log(param)
          uploadBXD(param)
            .then(response => {
              this.visible = false
              this.$emit('success')
@@ -428,4 +480,118 @@
            }
        }
    }
    .box_table {
      width: 100%;
      border-top: 1px solid #b4bbc5;
      border-left: 1px solid #b4bbc5;
      box-sizing: border-box;
      .box_table_head {
        width: 100%;
        display: flex;
        align-items: center;
        .box_table_head_item1 {
          flex: 1;
          height: 50px;
          background: #f2f2f2;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: black;
          border-right: 1px solid #b4bbc5;
          border-bottom: 1px solid #b4bbc5;
          box-sizing: border-box;
        }
        .box_table_head_item {
          flex: 1;
          height: 50px;
          background: #f2f2f2;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: black;
          border-right: 1px solid #b4bbc5;
          border-bottom: 1px solid #b4bbc5;
          box-sizing: border-box;
          &:nth-child(1) {
            flex: 0.5;;
          }
          &:nth-child(2) {
             flex:1.5;
           }
          &:nth-child(4) {
             flex:1.5;
           }
          &:nth-child(5) {
            flex: 1.5;;
          }
        }
        .box_table_head_item5 {
          flex: 1;
          height: 50px;
          background: #f2f2f2;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: black;
          border-right: 1px solid #b4bbc5;
          border-bottom: 1px solid #b4bbc5;
          box-sizing: border-box;
          &:nth-child(2) {
            flex: 5;
          }
        }
        .box_form_item {
          flex: 1;
          height: 50px;
          background: #ffffff;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: black;
          border-right: 1px solid #b4bbc5;
          border-bottom: 1px solid #b4bbc5;
          box-sizing: border-box;
          &:nth-child(1) {
            //flex: 0.5;
          }
        }
      }
      .box_table_content {
        width: 100%;
        display: flex;
        align-items: center;
        .box_table_content_header{
          border-bottom: 0px solid #b4bbc5 !important;
        }
        .box_table_content_item {
          flex: 1;
          height: 50px;
          background: #ffffff;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: black;
          border-right: 1px solid #b4bbc5;
          border-bottom: 1px solid #b4bbc5;
          box-sizing: border-box;
          &:nth-child(1) {
            flex: 0.5;;
          }
          &:nth-child(2) {
            flex:1.5;
          }
          &:nth-child(4) {
            flex: 1.5;
          }
          &:nth-child(5) {
            flex: 1.5;
          }
        }
      }
    }
</style>