MrShi
2024-11-13 b496da6315314d9bd048ac2214d8bc95d2f1df02
company/src/components/enterprise/additionSubtractionApplication.vue
@@ -12,6 +12,9 @@
                <el-form-item label="保险方案">
                    <span>{{form.solutionsName}}</span>
                </el-form-item>
                <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
@@ -71,6 +74,11 @@
                    label="投保人数">
                </el-table-column>
                <el-table-column
                    prop="guaranteeNum"
                    align="center"
                    label="在保人数">
                </el-table-column>
                <el-table-column
                    prop="serviceDays"
                    align="center"
                    label="保单时长(天)">
@@ -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>
@@ -182,7 +190,7 @@
        <!--    详情    -->
        <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
        <!-- 加减保详情 -->
        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />
<!--        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
    </GlobalWindow>
</template>
@@ -190,20 +198,28 @@
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 OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import { all } from '@/api/business/solutions'
import { getDetail } from '@/api/business/insuranceApply'
import { getDetail, getApplyPower } from '@/api/business/insuranceApply'
import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
import { getDate, compareDates, getTomorrow } from '@/utils/util'
import { mapState } from 'vuex'
export default {
  name: 'additionSubtractionApplication',
  extends: BaseOpera,
  components: { GlobalWindow, selectEmployees, OperaApplyChangeDetailWindow, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 },
  components: {
    GlobalWindow,
    selectEmployees,
    // OperaApplyChangeDetailWindow,
    addEmployee,
    importEmployees,
    confirmJobType,
    ApplyChangeDetails1
  },
  data () {
    return {
      form: {
@@ -215,6 +231,8 @@
        addDetailList: [],
        delDetailList: []
      },
      addTrue: '',
      delTrue: '',
      tempMemberIndex: -1,
      activeName: '0',
      pickerOptions: {},
@@ -262,6 +280,7 @@
          this.form.id = target.id
          this.getDetails()
          this.changeApplyStartTime(null)
          this.getApplyPowerData()
        })
      } else {
        this.$nextTick(() => {
@@ -273,13 +292,21 @@
      this.visible = true
      // this.updatePickerOptions()
    },
    // 获取是否能加减保
    getApplyPowerData() {
      getApplyPower({ applyId: this.form.id })
        .then(res => {
          this.addTrue = res.addTrue
          this.delTrue = res.delTrue
        })
    },
    changeApplyStartTime (e) {
      getChangeCountCyclePriceVO({
        applyId: this.form.id,
        validTime: e
      }).then(res => {
        this.price = res.cyclePrice
        this.reducePrice= 0
        this.reducePrice = 0
        this.form.addDetailList.forEach(item => {
          item.fee = res.cyclePrice
        })
@@ -345,20 +372,25 @@
          let total = 0
          if (this.activeName === '0') {
            this.form.addDetailList.forEach(item => {
              total += item.fee
              total += item.fee || 0
            })
            sums[index] = total.toFixed(2)
            sums[index] = (total || 0).toFixed(2)
          } else {
            this.form.delDetailList.forEach(item => {
              total += item.reducePrice
            })
            sums[index] =  total.toFixed(2)
            sums[index] = (total || 0).toFixed(2)
          }
        }
      })
      return sums
    },
    deleItem () {
      if (this.activeName === '0') {
        if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      } else {
        if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      }
      if (this.seleData.length === 0) {
        this.$message.warning('至少选择一项内容')
        return
@@ -402,8 +434,8 @@
      }).then(res => {
        this.visible = false
        this.$tip.apiSuccess('操作成功')
        this.$refs.OperaApplyChangeDetailWindow.open('加减保详情', { applyId: this.form.id, id: res })
        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(() => {
@@ -411,6 +443,7 @@
      })
    },
    confirm () {
      if (this.addTrue !== 0 && this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      this.$refs.form.validate((valid) => {
        if (valid) {
          // if (this.form.addDetailList.length === 0) {
@@ -471,40 +504,56 @@
      })
    },
    seleUser () {
      if (this.activeName === '0') {
        if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      } else {
        if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      }
      if (!this.form.solutionId) {
        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.reducePrice, 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 () {
      if (this.activeName === '0') {
        if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      } else {
        if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      }
      if (!this.form.solutionId) {
        this.$message.warning('请先选择保险方案')
        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.reducePrice })
        this.$refs.addEmployee.open('添加减保员工', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice })
      }
    },
    uploadUser () {
      if (this.activeName === '0') {
        if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      } else {
        if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      }
      if (!this.form.solutionId) {
        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.reducePrice, 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 })
      }
    },
    // 切换方案
@@ -555,6 +604,11 @@
    },
    // 选择员工
    sele () {
      if (this.activeName === '0') {
        if (this.addTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      } else {
        if (this.delTrue !== 0) return this.$message.warning('当前保单暂不支持操作')
      }
      if (!this.form.solutionId) {
        this.$message.warning('请选择保险方案')
        return