jiangping
2025-06-09 663dbe4ddca1fa409e6acbc1f77d924c161b0c39
company/src/components/business/OperaUnionChangeCheckWindow.vue
@@ -6,57 +6,95 @@
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <!--    退回投保    -->
        <!--    退回申请    -->
        <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="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
        <el-form-item label="期望保险生效期:">
          <span >{{( form.applyTime|| '-')}} </span>
        </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="applyTime" v-if="form.selectRadio === 1">
          <el-date-picker
              v-model="form.applyTime"
              type="date"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="保单号:" prop="code">
        <template  v-if="model.delOnlyReplace != 1">
          <el-form-item  >
            <div  style="display: inline;margin-right: 50px;" >
              期望批增生效期: {{( form.applyTime|| '-')}}
            </div>
            <div  style="display: inline" >
              期望批减生效期:  {{( form.delValidTime|| '-')}}
            </div>
          </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="applyTime" v-if="form.selectRadio === 1">
            <el-date-picker
                v-model="form.applyTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="选择日期">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="批减生效日期:" prop="delValidTime" v-if="form.selectRadio === 1">
            <el-date-picker
                v-model="form.delValidTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="选择日期">
            </el-date-picker>
          </el-form-item>
        </template>
        <template  v-else>
          <el-form-item  >
            <div  style="display: inline;margin-right: 50px;" >
              期望批改生效期:{{( form.delValidTime|| '-')}}
            </div>
          </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="delValidTime" v-if="form.selectRadio === 1">
            <el-date-picker
                v-model="form.delValidTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="选择日期">
            </el-date-picker>
          </el-form-item>
        </template>
        <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" />
        <el-form-item label="上传批单:" prop="baoxianFile">
          <UploadFile @remove="dele3" :limit="99" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
        </el-form-item>
        <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.addNum }}</div>
            <div class="box_table_content_item">{{ item.delNum }}</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>
        </div>
<!--        <div class="box_table">-->
<!--          <div class="box_table_head">-->
<!--            <div class="box_table_head_item">序号</div>-->
<!--            <div class="box_table_head_item">被保险人</div>-->
<!--            <div v-if="model.type==0" class="box_table_head_item">加保人数</div>-->
<!--            <div v-if="model.type==0" class="box_table_head_item">减保人数</div>-->
<!--            <div v-if="model.type==1" 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 v-if="model.type==0" class="box_table_content_item">{{ item.addNum }}</div>-->
<!--            <div v-if="model.type==0" class="box_table_content_item">{{ item.delNum }}</div>-->
<!--            <div  v-if="model.type==1" class="box_table_content_item">{{ item.changeNum }}</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>-->
<!--        </div>-->
      </el-form>
      <template v-slot:footer>
        <el-button type="primary" @click="doSubmit">确 定</el-button>
@@ -80,6 +118,13 @@
  extends: BaseOpera,
  components: { UploadFile, GlobalWindow ,UploadFileLink},
  data () {
    const checkFile = (rule, value, callback) => {
      if (value.length === 0) {
        callback(new Error('请上传批单'));
      } else {
        callback();
      }
    };
    return {
      // 表单数据
      model: {},
@@ -98,15 +143,16 @@
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
          { required: true, validator: checkFile }
        ]
      },
      form: {
        id: null,
        backCheckInfo: '',
        applyTime: null,
        delValidTime: null,
        code: null,
        baoxianFile: null,
        baoxianFile: [],
        bxdMultifileList: [],
        fileList1: [],
        selectRadio: 0
@@ -124,7 +170,6 @@
  },
  methods: {
    deleIndex (flag,index) {
      alert(index)
      if(flag == 0){
        this.form.tbdMultifileList[index].fileurl = null
        this.form.tbdMultifileList[index].name = null
@@ -133,8 +178,12 @@
        this.form.bxdMultifileList[index].name = null
      }
    },
    dele3 () {
      this.form.baoxianFile = null
    dele3 (imgaddr) {
      this.form.baoxianFile.forEach((item, index) => {
        if (imgaddr === item.imgaddr) {
          this.form.baoxianFile.splice(index, 1)
        }
      })
    },
    open (title, target, flag) {
      this.visible = true
@@ -144,7 +193,8 @@
        backCheckInfo: '',
        startTime: null,
        code: null,
        baoxianFile: null,
        baoxianFile: [],
        delValidTime: null,
        bxdMultifileList:[],
        fileList1: [],
        selectRadio: 0,
@@ -153,6 +203,7 @@
      this.model = target
      this.form.applyTime = target.applyStartTime
      this.form.delValidTime = target.delValidTime
      this.title = title
      this.flag = flag
      this.visible1 = false
@@ -194,10 +245,12 @@
    selectChange () {
      if (this.form.selectRadio == 0) {
        this.form.applyTime = this.model.applyStartTime
        this.form.delValidTime = this.model.delValidTime
      }
    },
    baoxianFileUploaded (data) {
      this.form.baoxianFile = data
      this.form.baoxianFile.push(data)
      console.log(this.form.baoxianFile)
    },
    baoxianFileUploaded2 (data) {
      this.form.bxdMultifileList[data.index].fileurl = data.fileurl
@@ -217,15 +270,17 @@
        })
    },
    uploadBaoxiandan () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
      this.$dialog.messageConfirm('提交后不可修改,请再次核对后确认提交!')
        .then(() => {
          this.isWorking = true
          var param ={
            id: this.model.id,
            applyDate: this.form.applyTime,
            applyDate: (this.model.delOnlyReplace != 1 ? this.form.applyTime : this.form.delValidTime),
            delValidTime:this.form.delValidTime,
            code: this.form.code,
            fileurl: this.form.baoxianFile.fileurl,
            name: this.form.baoxianFile.name,
            pidanFileList: this.form.baoxianFile,
            // fileurl: this.form.baoxianFile.fileurl,
            // name: this.form.baoxianFile.name,
            applyChangeBXDList:this.form.bxdMultifileList
          }
          uploadBXD(param)
@@ -392,19 +447,6 @@
        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;
@@ -412,39 +454,17 @@
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 10px;
          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;
          }
            flex: 0.5;
          } &:nth-child(2) {
              flex: 1.5;
            }
        }
        .box_form_item {
          flex: 1;
@@ -471,8 +491,13 @@
          border-bottom: 0px solid #b4bbc5 !important;
        }
        .box_table_content_item {
          overflow: hidden;
          display: block;
          white-space: nowrap;
          text-overflow: ellipsis;
          flex: 1;
          height: 50px;
          padding: 10px;
          background: #ffffff;
          display: flex;
          align-items: center;
@@ -483,16 +508,16 @@
          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;
            flex: 0.5;
          }&:nth-child(2) {
             flex: 1.5;
           }
          span{
            width: 100%;
            white-space: nowrap;
            word-wrap: break-word;
            text-overflow: ellipsis;
            overflow: hidden;
          }
        }
      }