jiangping
2025-06-09 663dbe4ddca1fa409e6acbc1f77d924c161b0c39
company/src/components/business/OperaUnionChangeCheckWindow.vue
@@ -6,72 +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  >
          <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>
        <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 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>
<!--        <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>
@@ -95,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: {},
@@ -113,7 +143,7 @@
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
          { required: true, validator: checkFile }
        ]
      },
      form: {
@@ -122,7 +152,7 @@
        applyTime: null,
        delValidTime: null,
        code: null,
        baoxianFile: null,
        baoxianFile: [],
        bxdMultifileList: [],
        fileList1: [],
        selectRadio: 0
@@ -148,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
@@ -159,7 +193,7 @@
        backCheckInfo: '',
        startTime: null,
        code: null,
        baoxianFile: null,
        baoxianFile: [],
        delValidTime: null,
        bxdMultifileList:[],
        fileList1: [],
@@ -215,7 +249,8 @@
      }
    },
    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
@@ -240,11 +275,12 @@
          this.isWorking = true
          var param ={
            id: this.model.id,
            applyDate: this.form.applyTime,
            delValidTime: this.form.delValidTime,
            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)
@@ -411,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;
@@ -431,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;
@@ -490,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;
@@ -502,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;
          }
        }
      }