MrShi
2025-04-11 3a45da15c947c2d478a44a51bd0f926647b1b841
company/src/components/enterprise/additionSubtractionApplication.vue
@@ -2,7 +2,7 @@
    <GlobalWindow
        :title="title"
        width="100%"
        text="投保申请"
        text="批改申请"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
@@ -12,7 +12,10 @@
                <el-form-item label="保险方案">
                    <span>{{form.solutionsName}}</span>
                </el-form-item>
                <el-form-item label="批单生效起期" prop="applyStartTime">
                <el-form-item label=" ">
                    <span style="color: #F95601; font-size: 14px;">批改提示:(次日生效投保请于17:30前提交,超时提交以保险单为准)</span>
                </el-form-item>
<!--                <el-form-item label="申请日期" prop="applyStartTime">
                    <div style="display: flex; flex-direction: column;">
                        <el-date-picker
                            @change="changeApplyStartTime"
@@ -25,11 +28,11 @@
                        </el-date-picker>
                        <span style="color: #F95601; font-size: 14px;">(次日生效投保请于17:30前提交,超时提交以保险单为准)</span>
                    </div>
                </el-form-item>
                </el-form-item>-->
                <el-form-item label="投保年龄" v-if="item">
                    <span>{{item.minAge}} 至 {{item.maxAge}}</span>
                </el-form-item>
                <el-form-item label="费用" v-if="item">
                <el-form-item label="费用" v-if="item && item.solutionType==0">
                    <span>{{item.price}}元</span>
                    <span v-if="item.timeUnit === 0">/天</span>
                    <span v-if="item.timeUnit === 1">/半月</span>
@@ -71,9 +74,14 @@
                    label="投保人数">
                </el-table-column>
                <el-table-column
                    prop="guaranteeNum"
                    align="center"
                    label="在保人数">
                </el-table-column>
                <el-table-column
                    prop="serviceDays"
                    align="center"
                    label="在保时长(天)">
                    label="保单时长(天)">
                </el-table-column>
                <el-table-column
                    prop="currentFee"
@@ -96,7 +104,7 @@
        <div class="btns">
            <div class="btns_item">
                <el-button type="primary" @click="seleUser">选取员工</el-button>
                <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">导入员工</el-button>
                <el-button type="primary" @click="uploadUser">导入员工</el-button>
                <el-button type="primary" @click="addUser" v-if="activeName !== '1'">添加员工</el-button>
                <el-button type="danger" @click="deleItem">删除</el-button>
            </div>
@@ -148,9 +156,17 @@
                label="费用">
                <template slot-scope="{row}">
                    <span v-if="activeName === '0'">{{row.fee}}</span>
                    <span v-else>{{row.fee ? '-' + row.fee : ''}}</span>
                    <span v-else>{{row.reducePrice ?  row.reducePrice : '0'}}</span>
                </template>
            </el-table-column>
          <el-table-column
              prop="remark"
              align="center"
              label="备注">
            <template slot-scope="{row}">
              <el-input v-model="row.remark" placeholder="请输入"></el-input>
            </template>
          </el-table-column>
            <el-table-column
                label="操作">
                <template slot-scope="scope">
@@ -159,9 +175,9 @@
            </el-table-column>
        </el-table>
        <div class="info" v-if="item">
            <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
            <span v-if="item.specialInfo">{{item.specialInfo}}</span>
            <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
          <span v-if="item.specialAgreement" v-html="item.specialAgreement"></span>
          <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
          <span v-if="item.ortherInfo" v-html="item.ortherInfo"> </span>
        </div>
        <!--    选择员工    -->
        <selectEmployees ref="selectEmployees" @result="getValue" />
@@ -173,6 +189,8 @@
        <confirmJobType ref="confirmJobType" @result="getUser" />
        <!--    详情    -->
        <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
        <!-- 加减保详情 -->
<!--        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
    </GlobalWindow>
</template>
@@ -180,10 +198,11 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import selectEmployees from '@/components/enterprise/selectEmployees'
import addEmployee from '@/components/enterprise/addEmployee'
import addEmployee from '@/components/enterprise/addEmployeeWithDu'
import importEmployees from '@/components/enterprise/importEmployees'
import confirmJobType from '@/components/enterprise/confirmJobType'
import ApplyChangeDetails1 from '@/components/business/ApplyChangeDetails1'
// import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import { all } from '@/api/business/solutions'
import { getDetail } from '@/api/business/insuranceApply'
import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
@@ -192,7 +211,15 @@
export default {
  name: 'additionSubtractionApplication',
  extends: BaseOpera,
  components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 },
  components: {
    GlobalWindow,
    selectEmployees,
    // OperaApplyChangeDetailWindow,
    addEmployee,
    importEmployees,
    confirmJobType,
    ApplyChangeDetails1
  },
  data () {
    return {
      form: {
@@ -208,6 +235,7 @@
      activeName: '0',
      pickerOptions: {},
      price: '',
      reducePrice: '',
      endTime: '', //    实际保险生效止期
      company: [],
      seleData: [],
@@ -243,11 +271,13 @@
      this.form.solutionsName = ''
      this.form.applyStartTime = ''
      this.form.applyEndTime = ''
      // alert(target.id)
      if (target && target.id) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form.id = target.id
          this.getDetails()
          this.changeApplyStartTime(null)
        })
      } else {
        this.$nextTick(() => {
@@ -265,12 +295,17 @@
        validTime: e
      }).then(res => {
        this.price = res.cyclePrice
        this.reducePrice = 0
        this.form.addDetailList.forEach(item => {
          item.fee = res.cyclePrice
        })
        this.form.delDetailList.forEach(item => {
          item.fee = res.cyclePrice
          // item.fee = item.reducePrice
        })
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.isWorking = false
      })
    },
    handleClick (e) {
@@ -326,14 +361,14 @@
          let total = 0
          if (this.activeName === '0') {
            this.form.addDetailList.forEach(item => {
              total += item.fee
              total += item.fee || 0
            })
            sums[index] = total
            sums[index] = (total || 0).toFixed(2)
          } else {
            this.form.delDetailList.forEach(item => {
              total += item.fee
              total += item.reducePrice
            })
            sums[index] = '-' + total
            sums[index] = (total || 0).toFixed(2)
          }
        }
      })
@@ -380,10 +415,11 @@
        delDetailList: this.form.delDetailList,
        validTime: this.form.applyStartTime,
        type: 0
      }).then(() => {
      }).then(res => {
        this.visible = false
        this.$tip.apiSuccess('操作成功')
        this.$emit('success')
        // this.$refs.OperaApplyChangeDetailWindow.open('加减保详情', { applyId: this.form.id, id: res })
        this.$emit('success', { applyId: this.form.id, id: res })
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
@@ -455,14 +491,14 @@
        this.$message.warning('请先选择保险方案')
        return
      }
      if (!this.form.applyStartTime) {
      /* if (!this.form.applyStartTime) {
        this.$message.warning('请先选择批单生效起期')
        return
      }
      } */
      if (this.activeName === '0') {
        this.$refs.selectEmployees.open('选取员工', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
        this.$refs.selectEmployees.open('选取加保员工', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
      } else {
        this.$refs.selectEmployees.open('选取员工', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
        this.$refs.selectEmployees.open('选取减保员工', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
      }
    },
    addUser () {
@@ -471,9 +507,9 @@
        return
      }
      if (this.activeName === '0') {
        this.$refs.addEmployee.open('添加员工', { arr: this.form.addDetailList, price: this.price })
        this.$refs.addEmployee.open('添加加保员工', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price })
      } else {
        this.$refs.addEmployee.open('添加员工', { arr: this.form.delDetailList, price: this.price })
        this.$refs.addEmployee.open('添加减保员工', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice })
      }
    },
    uploadUser () {
@@ -481,10 +517,11 @@
        this.$message.warning('请先选择保险方案')
        return
      }
      if (this.activeName === '0') {
        this.$refs.importEmployees.open('上传名单', { arr: this.form.addDetailList, price: this.price, solutionId: this.form.solutionId })
        this.$refs.importEmployees.open('加保员工名单', { arr: this.form.addDetailList, type: 1, price: this.price, solutionId: this.item.newVersionSolutionId })
      } else {
        this.$refs.importEmployees.open('上传名单', { arr: this.form.delDetailList, price: this.price, solutionId: this.form.solutionId })
        this.$refs.importEmployees.open('减保员工名单', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id })
      }
    },
    // 切换方案