jiangping
2024-05-16 a4945c89ee72aa8b6f2c0a75653a3256a2b30b4f
company/src/components/business/OpearaUnionChangeUnit.vue
@@ -2,7 +2,7 @@
  <GlobalWindow
      :title="title"
      width="100%"
      text="加减保申请"
      text="提交"
      :visible.sync="visible"
      :confirm-working="isWorking"
      @confirm="confirm"
@@ -19,8 +19,10 @@
          <div style="display: flex; flex-direction: column;">
            <el-date-picker
                v-model="form.applyDate"
                placeholder="请选择日期"
                :picker-options="pickerOptions"
                type="date"
                format="yyyy 年 MM 月 dd 日"
                format="yyyy-MM-dd"
                value-format="yyyy-MM-dd" />
            <span style="color: #F95601; font-size: 14px;">(2. 次日生效投保请于17:30前提交,超时提交以保险单为准)</span>
          </div>
@@ -63,20 +65,20 @@
          label="被保险人">
      </el-table-column>
      <el-table-column
          prop="applyStartTime"
          label="期望保险生效起期">
          prop="validCode"
          label="保单号">
      </el-table-column>
      <el-table-column
          prop="addNum"
          label="加保人数">
          prop="startTime"
          label="保险生效起期">
      </el-table-column>
      <el-table-column
          prop="delNum"
          label="减保人数">
          prop="endTime"
          label="保险生效止期">
      </el-table-column>
      <el-table-column
          prop="fee"
          label="费用变更">
          prop="changeNum"
          label="换厂人数">
      </el-table-column>
      <el-table-column  label="操作">
        <template slot-scope="{row}">
@@ -87,16 +89,16 @@
    </el-table>
    <div style="color: #F95601; font-size: 14px;width: 100%;text-align: left">(3. 请先选择至少一条申请后提交投保申请)</div>
    <div class="info" v-if="model">
      <span v-if="model.specialAgreement">{{model.specialAgreement}}</span>
      <span v-if="model.specialInfo">{{model.specialInfo}}</span>
      <span v-if="model.ortherInfo">{{model.ortherInfo}}</span>
      <span v-if="model.specialAgreement" v-html="model.specialAgreement"></span>
      <span v-if="model.specialInfo" v-html="model.specialInfo"> </span>
      <span v-if="model.ortherInfo" v-html="model.ortherInfo"> </span>
    </div>
    <!--    选择申请单    -->
    <ApplyChangeDetails ref="ApplyChangeDetails" @success="getValue" />
    <el-dialog
        title="选择保险单"
        :visible.sync="visibleSelect"
        width="70%"
        width="80%"
        :modal="true"
        :show-close="false"
        append-to-body
@@ -128,6 +130,7 @@
          <el-table-column prop="code" label="保单号" min-width="100px"></el-table-column>
          <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
          <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
          <el-table-column prop="changeApplyNum" label="申请单数" min-width="100px"></el-table-column>
          <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
          <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
        </el-table>
@@ -156,13 +159,13 @@
import selectApplicationForm from '@/components/business/selectApplicationForm'
import { listAll } from '@/api/business/applyChange'
import { merge } from '@/api/business/unionChange'
import ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
import ApplyChangeDetails from '@/components/business/ApplyChangeUnitDetails'
import { fetchList as pageUnionList } from '@/api/business/unionApply'
import {getDetail} from "@/api/business/insuranceApply";
import { getDetail } from '@/api/business/insuranceApply'
export default {
  name: 'add_subtract_entrust',
  extends: BaseOpera,
  components: { GlobalWindow, ApplyChangeDetails,selectApplicationForm },
  components: { GlobalWindow, ApplyChangeDetails, selectApplicationForm },
  data () {
    return {
      form: {
@@ -171,12 +174,13 @@
        applyDate: null,
        businessType: 1
      },
      visibleSelect:false,
      visibleSelect: false,
      solutions: [],
      currentPage:0,
      currentPage: 0,
      list: [],
      tableData:[],
      tableTotal:0,
      pickerOptions: {},
      tableData: [],
      tableTotal: 0,
      endTime: '',
      item: null,
      model: null,
@@ -199,25 +203,25 @@
    })
  },
  methods: {
    rowselect(row){
      this.$refs.multipleTable.toggleRowSelection(row,true);
    rowselect (row) {
      this.$refs.multipleTable.toggleRowSelection(row, true)
    },
    rowselect1(row){
      this.$refs.multipleTable1.toggleRowSelection(row,true);
    rowselect1 (row) {
      this.$refs.multipleTable1.toggleRowSelection(row, true)
    },
    checkDetial(row){
    checkDetial (row) {
      getDetail(row.applyId).then(res => {
        // this.apply = res
        this.$refs.ApplyChangeDetails.open('加减保人员名单',res, row,2)
        this.$refs.ApplyChangeDetails.open('更换派遣单位人员', res, row, 2)
      }).catch(err => {
      })
    },
    handleSelectionChange(rows){
    handleSelectionChange (rows) {
      this.form.applyIds = []
      // 假设取出 id 字段
      rows.forEach(item => {
        const id = item.id
        if ( this.form.applyIds.indexOf(id) === -1) {
        if (this.form.applyIds.indexOf(id) === -1) {
          this.form.applyIds.push(id)
        }
      })
@@ -226,27 +230,36 @@
      console.log(rows)
      if (rows.length > 1) {
        // clearSelection 用于多选表格,清空用户的选择
        this.$refs.multipleTable1.clearSelection();
        this.$refs.multipleTable1.toggleRowSelection(rows[rows.length-1]);
        this.$refs.multipleTable1.clearSelection()
        this.$refs.multipleTable1.toggleRowSelection(rows[rows.length - 1])
      }
     if (rows.length >= 1) {
      if (rows.length >= 1) {
        // 选中的行对像放进数组,方便后续对数据进行操作
        this.model =rows[rows.length-1]
        this.model = rows[rows.length - 1]
      } else if (rows.length === 0) {
        this.model = null
      }
    },
    selectDo(){
      if(!this.model){
    selectDo () {
      if (!this.model) {
        this.$tip.apiFailed({
          type: 'error',
          message: '请选择至少一条申请记录进行操作'
        })
        return
      }
      this.visibleSelect=false
      this.visibleSelect = false
      this.form.unionApplyId = this.model.id
      this.getList();
      var that = this
      this.pickerOptions = {
        disabledDate (time) {
          var start = new Date(that.model.startTime)
          start.setDate(start.getDate() + 1)
          var end = new Date(that.model.endTime)
          return (time.getTime() < start.getTime() || time.getTime() > end.getTime())
        }
      }
      this.getList()
    },
    confirm () {
      this.$refs.form.validate((valid) => {
@@ -254,12 +267,12 @@
        if (!valid) {
          return
        }
        if(this.form.applyIds == null || this.form.applyIds.length ===0){
        if (this.form.applyIds == null || this.form.applyIds.length === 0) {
          this.$tip.apiFailed({
            type: 'error',
            message: '请选择至少一条申请记录进行投保申请!!'
          })
          return;
          return
        }
        this.$confirm('确认提交,请仔细核对信息。', '提示', {
          confirmButtonText: '确定',
@@ -268,16 +281,16 @@
          center: true
        }).then(() => {
          merge(this.form)
              .then(response => {
                this.$message({
                  type: 'success',
                  message: '提交成功!'
                })
                this.visible = false
                this.$emit('success')
              }).catch(err => {
            this.$tip.apiFailed(err)
          })
            .then(response => {
              this.$message({
                type: 'success',
                message: '提交成功!'
              })
              this.visible = false
              this.$emit('success')
            }).catch(err => {
              this.$tip.apiFailed(err)
            })
        }).catch(() => {
          this.$message({
            type: 'info',
@@ -288,12 +301,12 @@
    },
    open (title, target) {
      this.title = title
      this.model= null
      this.list= []
      this.visibleSelect=false
      this.tableData=[]
      this.tableTotal=0
      this.item= null
      this.model = null
      this.list = []
      this.visibleSelect = false
      this.tableData = []
      this.tableTotal = 0
      this.item = null
      if (target) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
@@ -307,21 +320,22 @@
      // this.getUnionApplyList()
      this.visible = true
    },
    getValue(){
    getValue () {
    },
    selectBaoxiandan(){
    selectBaoxiandan () {
      this.currentPage = 1
      this.visibleSelect=true
      this.$refs.multipleTable.clearSelection();
      this.visibleSelect = true
      this.$refs.multipleTable.clearSelection()
      this.getUnionApplyList()
    },
    getUnionApplyList(){
    getUnionApplyList () {
      pageUnionList({
        capacity: 10,
        page: this.currentPage,
        model: {
          status: 3,
          queryFlag: 2,
          status: 3
        }
      }).then(res => {
        this.tableData.list = res.records
@@ -336,10 +350,10 @@
    },
    getList () {
      listAll({
          solutionType:1,
          type:1,
          unionApplyId: this.model.id,
          status: 7
        solutionType: 1,
        type: 1,
        unionApplyId: this.model.id,
        status: 7
      }).then(res => {
        this.list = res
        this.$nextTick(() => {
@@ -372,6 +386,9 @@
    align-items: center;
  }
}
::v-deep .desc_item_from .el-table__header .el-checkbox{
  display:none!important;
}
.submit {
  width: 100%;
  display: flex;