nidapeng
2024-04-08 bd159ed37ae8ba5b1fa4af95cdb3b7981768dad9
提交一把
已修改9个文件
812 ■■■■ 文件已修改
company/src/components/base/BaseTable.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaCompanyWindow.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/detailsPolicyholder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/OperaDispatchUnitWindow.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/OperaInsuranceApplyWindow.vue 699 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/dispatchUnitDetails.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/dispatchUnit.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/dispatchUnitReview.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/base/BaseTable.vue
@@ -57,7 +57,6 @@
      extParams['field.main'] && (this.configData['field.main'] = extParams['field.main'])
      this.tableData.sorts = extParams.sorts
    },
    // 搜索
    search () {
      this.handlePageChange(1)
    },
company/src/components/business/OperaCompanyWindow.vue
@@ -86,12 +86,12 @@
                align="center"
                label="保险方案">
                <template slot-scope="scope">
                  <el-select  v-model="scope.row.solution"  value-key="id" placeholder="请选择" change="changeSolution($event,scope.$index)">
                  <el-select v-model="scope.row.solution.id" @change="changeSolution($event, scope.$index)" placeholder="请选择">
                    <el-option
                        v-for="item in programme"
                        :key="item.id"
                        :label="item.name"
                        :value="item">
                        :value="item.id">
                    </el-option>
                  </el-select>
                </template>
@@ -100,7 +100,7 @@
                align="center"
                label="委托商户">
                <template slot-scope="scope">
                  <el-select  v-model="scope.row.shopId" clearable value-key="id" placeholder="请选择" >
                  <el-select  v-model="scope.row.shopId"  :disabled="scope.row.solution.type ==1" clearable value-key="id" placeholder="请选择" >
                    <el-option
                        v-for="item in shops"
                        :key="item.id"
@@ -114,8 +114,8 @@
                align="center"
                label="加减保功能">
                <template slot-scope="{row}">
                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">加保</el-checkbox>
                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">减保</el-checkbox>
                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">加保</el-checkbox>
                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">减保</el-checkbox>
                </template>
            </el-table-column>
            <el-table-column
@@ -170,10 +170,10 @@
        },
        solutionList: [
          {
            solution: null,
            shop: null,
            canAdd: 0,
            canReduce: 0
            solution: { id: null, baseId: null,type:0 },
            canAdd: 1,
            shopId:null,
            canReduce: 1
          }
        ],
        type: '0',
@@ -255,8 +255,21 @@
    }
  },
  methods: {
    changeSolution(row,index){
     this.form.solutionList[index].solution=row
    changeSolution(e,index){
      let baseId = ''
      this.programme.forEach(item => {
        if (item.id === e) {
          baseId = item.baseId
          this.form.solutionList[index].solution.type = item.type
          if(item.type == 1){
            this.form.solutionList[index].shopId =item.shopId
          }
        }
      })
      this.form.solutionList[index].solution.baseId = baseId
     // this.form.solutionList[index].solution=row
    },
    send () {
      if (!this.form.phone) {
@@ -322,8 +335,8 @@
        solutionId: null,
        solution: {},
        shopId: null,
        canAdd: '',
        canReduce: ''
        canAdd: 1,
        canReduce: 1
      })
    },
    handleRemove (file, fileList) {
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -25,13 +25,12 @@
                  <div class="desc_item_label_right">
                      <template v-if="userInfo.type === 1">
                        <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                        <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('申请退回', {id: dataId})">申请退回</el-button>
                        <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                        <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('验证手机号')">签署投保单</el-button>
                        <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                        <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('投保申请', {id: dataId})">再次投保</el-button>
                        <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('申请退回', {id: dataId})">申请退回</el-button>
                        <el-button v-if="model.status == 4" type="primary" @click="closeOrder">关闭订单</el-button>
                          <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                          <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
<!--                          goSign-->
                          <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('验证手机号')">签署投保单</el-button>
                      </template>
                    <template v-else>
                      <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
company/src/components/business/detailsPolicyholder.vue
@@ -25,7 +25,7 @@
                    <div class="box_table_content_item box_table_content_header">{{ model.applyStartTime }}</div>
                    <div class="box_table_content_item box_table_content_header">{{ model.applyEndTime }}</div>
                    <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div>
                    <div class="box_table_content_item box_table_content_header">{{model.totalPrice}}</div>
                    <div class="box_table_content_item box_table_content_header"  >{{model.solutionType==0?model.totalPrice:'-'}}</div>
                </div>
            </div>
            <div class="box_table" v-if="model">
company/src/components/enterprise/OperaDispatchUnitWindow.vue
@@ -260,6 +260,17 @@
    },
    // 切换方案
    changeTypeWork(id, index) {
      this.form.saveDuSolutionDTOList[index].saveDuWorkTypeDTOList = [
        {
          videoUrl: '',
          workTypeId: '',
          workTypeName: '',
          file: {
            videourl: '',
            videourlfull: ''
          }
        }
      ]
      findListByDTO({ queryType: 0, id })
        .then(res => {
          this.form.saveDuSolutionDTOList[index].typeWork = res
company/src/components/enterprise/OperaInsuranceApplyWindow.vue
@@ -51,7 +51,7 @@
                <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.type ==0">
                    <span>{{item.price}}元</span>
                    <span v-if="item.timeUnit === 0">/天</span>
                    <span v-if="item.timeUnit === 1">/半月</span>
@@ -161,11 +161,11 @@
  data () {
    return {
      form: {
          id: null,
          ID: null,
          solutionId: '',
          applyStartTime: '',
          applyEndTime: ''
        id: null,
        ID: null,
        solutionId: '',
        applyStartTime: '',
        applyEndTime: ''
      },
      solutionName: '',
      type: '',
@@ -176,353 +176,359 @@
      item: null,
      // 验证规则
      rules: {
          solutionId: [
              { required: true, message: '请选择保险方案' }
          ],
          applyStartTime: [
              { required: true, message: '请选择期望保险生效起期' }
          ]
        solutionId: [
          { required: true, message: '请选择保险方案' }
        ],
        applyStartTime: [
          { required: true, message: '请选择期望保险生效起期' }
        ]
      },
      tableData: []
    }
  },
  created () {
      this.config({
          api: '/business/insuranceApply',
          'field.id': 'id'
      })
    this.config({
      api: '/business/insuranceApply',
      'field.id': 'id'
    })
  },
    computed: {
      ...mapState(['userInfo'])
  computed: {
    ...mapState(['userInfo'])
  },
  methods: {
    successEvent () {
      const arr = JSON.parse(JSON.stringify(this.tableData))
      arr.forEach(item => {
        item.idcardNo = item.idCard
      })
      this.isWorking = true
      // if (!this.form.id) {
      create({
        applyDetailList: arr,
        applyStartTime: this.form.applyStartTime,
        applyEndTime: this.form.applyEndTime,
        solutionId: this.form.solutionId
      }).then(() => {
        this.visible = false
        this.$tip.apiSuccess('操作成功')
        this.$emit('success')
      })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.isWorking = false
        })
      // } else {
      //     updateData({
      //         id: this.form.id,
      //         applyDetailList: arr,
      //         applyStartTime: this.form.applyStartTime,
      //         applyEndTime: this.form.applyEndTime,
      //         solutionId: this.form.solutionId
      //     }).then(() => {
      //         this.visible = false
      //         this.$tip.apiSuccess('操作成功')
      //         this.$emit('success')
      //     }).catch(e => {
      //         this.$tip.apiFailed(e)
      //     })
      //         .finally(() => {
      //             this.isWorking = false
      //         })
      // }
    },
    methods: {
      successEvent() {
          let arr = JSON.parse(JSON.stringify(this.tableData))
          arr.forEach(item => {
              item.idcardNo = item.idCard
          })
          this.isWorking = true
          // if (!this.form.id) {
              create({
                  applyDetailList: arr,
                  applyStartTime: this.form.applyStartTime,
                  applyEndTime: this.form.applyEndTime,
                  solutionId: this.form.solutionId
              }).then(() => {
                  this.visible = false
                  this.$tip.apiSuccess('操作成功')
                  this.$emit('success')
              })
                  .catch(e => {
                      this.$tip.apiFailed(e)
                  })
                  .finally(() => {
                      this.isWorking = false
                  })
          // } else {
          //     updateData({
          //         id: this.form.id,
          //         applyDetailList: arr,
          //         applyStartTime: this.form.applyStartTime,
          //         applyEndTime: this.form.applyEndTime,
          //         solutionId: this.form.solutionId
          //     }).then(() => {
          //         this.visible = false
          //         this.$tip.apiSuccess('操作成功')
          //         this.$emit('success')
          //     }).catch(e => {
          //         this.$tip.apiFailed(e)
          //     })
          //         .finally(() => {
          //             this.isWorking = false
          //         })
          // }
      },
      open (title, target) {
          this.title = title
          this.tableData = []
          this.form.id = null
          this.item = null
          if (target.type) {
              this.type = target.type
          }
          this.form.solutionId = ''
          this.form.applyStartTime = ''
          this.form.applyEndTime = ''
          if (target && target.id) {
              this.$nextTick(() => {
                  this.$refs.form.resetFields()
                  this.form.id = target.id
                  this.getDetails()
              })
          } else {
              this.$nextTick(() => {
                  this.$refs.form.resetFields()
                  this.form[this.configData['field.id']] = null
              })
          }
          this.getCompany()
          this.visible = true
          this.updatePickerOptions()
      },
        // 获取投保详情
        getDetails() {
            findList({ applyId: this.form.id })
                .then(res => {
                    res.forEach(item => {
                        console.log(item)
                        item.idCard = item.idcardNo
                        item.fee = ''
                        if (this.type === 1) {
                            item.duName = ''
                            item.duId = ''
                            item.worktypeId = ''
                            item.workTypeName = ''
                        }
                    })
                    this.tableData = res
                })
            getDetail(this.form.id)
                .then(res => {
                    // this.form.solutionId = res.solutionId
                    this.changeSolution1(res.solutionId)
                })
        },
        getSummaries(param) {
            const { columns, data } = param
            const sums = []
            columns.forEach((column, index) => {
                if (index === 0) {
                    sums[index] = '总价'
                    return
                } else if (index === 7) {
                    let total = 0
                    this.tableData.forEach(item => {
                        total += item.fee
                    })
                    sums[index] = total
                    return
                }
            })
            return sums
        },
        deleItem() {
            if (this.seleData.length === 0) {
                this.$message.warning('至少选择一项内容')
                return
            }
            this.seleData.forEach(item => {
                this.tableData.forEach((row, index) => {
                    if (item === row.idCard) {
                        this.tableData.splice(index, 1)
                    }
                })
            })
        },
        confirm() {
            this.$refs.form.validate((valid) => {
                if (valid) {
                    if (this.tableData.length === 0) {
                        this.$message.warning('至少添加一项员工')
                        return
                    }
                    for (let i = 0; i < this.tableData.length; i++) {
                        console.log(this.tableData[i].worktypeId)
                        console.log(this.tableData[i].duId)
                        if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
                            this.$message.warning('请完善派遣单位和工种信息')
                            return
                        }
                    }
                    let price = 0
                    this.tableData.forEach(item => {
                        price = price + item.fee
                    })
                    this.$refs.detailsPolicyholder.open('投保详情单', {
                        companyName: this.userInfo.company.name,
                        solutionName: this.item.name,
                        applyStartTime: this.form.applyStartTime,
                        applyEndTime: this.form.applyEndTime,
                        insureNum: this.tableData.length,
                        totalPrice: price,
                        detailList: this.tableData
                    })
                }
            })
        },
        // 获取结束时间和价格
        getTimeVal(time) {
            getCountCyclePriceVO({
                solutionsId: this.form.solutionId,
                startDate: time
            }).then(res => {
                this.price = res.cyclePrice
                this.form.applyEndTime = res.endDate
                this.tableData.forEach(item => {
                    item.fee = res.cyclePrice
                })
                this.$forceUpdate()
            })
        },
        getDate(n) { // n为多少天,-代表往前,+代表往后
            let date1 = new Date(),
            time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();//time1表示当前时间
            let date2 = new Date(date1);
            date2.setDate(date1.getDate() + n);
            let time2 = date2.getFullYear() + "-" + ("0" + (date2.getMonth() + 1)).slice(-2) + "-" + ("0" + date2.getDate()).slice(-2);
            return time2
        },
        updatePickerOptions() {
          var that = this;
            this.pickerOptions = {
                disabledDate(time) {
                    if (!that.item) return
                    if (that.item.validType === 1) {
                        // 次月
                        const currentDate = new Date();
                        currentDate.setMonth(currentDate.getMonth() + 1);
                        currentDate.setDate(1);
                        return time.getTime() <= new Date(currentDate.toLocaleString()).getTime() - 8.64e7;
                    } else if (that.item.validType === 0) {
                        // 多少日后生效
                        return time.getTime() <= new Date(that.getDate(that.item.validTypeNum - 1)).getTime();
                    }
                }
            };
        },
        seleUser() {
            if (!this.form.solutionId) {
                this.$message.warning('请先选择保险方案')
                return
            }
            this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1 })
        },
      addUser() {
          if (!this.form.solutionId) {
              this.$message.warning('请先选择保险方案')
              return
          }
          this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price })
      },
      uploadUser() {
          if (!this.form.solutionId) {
              this.$message.warning('请先选择保险方案')
              return
          }
          this.$refs.importEmployees.open('上传名单', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price })
      },
      // 切换方案
      changeSolution(e) {
          if (!this.form.id) {
              this.tableData = []
          } else {
              this.price = ''
              this.form.applyEndTime = ''
              this.form.applyStartTime = ''
              this.tableData.forEach(item => {
                  item.fee = ''
                  item.duName = ''
                  item.duId = ''
                  item.workTypeName = ''
                  item.workTypeId = ''
              })
          }
          this.company.forEach(item => {
              if (item.id === e) {
                  // this.price = item.price
                  this.item = item
                  this.updatePickerOptions()
              }
          })
          this.tableData.forEach(item => {
              item.fee = this.price
          })
      },
        // 切换方案
        changeSolution1(e) {
            getNewVersion(e)
                .then(res => {
                    this.form.solutionId = res.id
                    this.company.forEach(item => {
                        if (item.id === res.id) {
                            // this.price = item.price
                            this.item = item
                            this.updatePickerOptions()
                        }
                    })
                })
            this.tableData.forEach(item => {
                item.fee = this.price
            })
        },
      dele(index) {
          this.tableData.splice(index, 1)
      },
      getUser(obj) {
          this.seleData.forEach(id => {
              this.tableData.forEach(row => {
                   if (id === row.idCard) {
                       row.workTypeName = obj.workTypeName
                       row.worktypeId = obj.worktypeId
                       row.duName = obj.duName
                       row.duId = obj.duId
                   }
              })
          })
          this.seleData = []
          this.$refs.multipleTable.clearSelection();
      },
      // 选择员工
      sele() {
          if (!this.form.solutionId) {
              this.$message.warning('请选择保险方案')
              return
          }
          if (this.seleData.length === 0) {
              this.$message.warning('请选择员工')
              return
          }
          this.$refs.confirmJobType.open('确认工种', { solutionId: this.form.solutionId })
      },
      // 查询全部方案
      getCompany() {
          all({})
            .then(res => {
                this.company = res
            })
      },
      getAgeByIdCard(idCard){
          const sexAndAge = {}
          //获取用户身份证号码
          const userCard = idCard
          //如果用户身份证号码为undefined则返回空
          if (!userCard) {
              return sexAndAge
          }
          // 获取出生日期
          const yearBirth = userCard.substring(6, 10)
          const monthBirth = userCard.substring(10, 12)
          const dayBirth = userCard.substring(12, 14)
          // 获取当前年月日并计算年龄
          const myDate = new Date()
          const monthNow = myDate.getMonth() + 1
          const dayNow = myDate.getDate()
          let age = myDate.getFullYear() - yearBirth
          if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
              age--
          }
          // 得到年龄
          sexAndAge.age = age
          return sexAndAge.age
      },
      handleSelectionChange (e) {
          this.seleData = e.map(item => item.idCard)
      },
      getValue(list) {
          this.tableData.push(...list)
    open (title, target) {
      this.title = title
      this.tableData = []
      this.form.id = null
      this.item = null
      if (target.type) {
        this.type = target.type
      }
      this.form.solutionId = ''
      this.form.applyStartTime = ''
      this.form.applyEndTime = ''
      if (target && target.id) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form.id = target.id
          this.getDetails()
        })
      } else {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
        })
      }
      this.getCompany()
      this.visible = true
      this.updatePickerOptions()
    },
    // 获取投保详情
    getDetails () {
      findList({ applyId: this.form.id })
        .then(res => {
          res.forEach(item => {
            console.log(item)
            item.idCard = item.idcardNo
            item.fee = ''
            if (this.type === 1) {
              item.duName = ''
              item.duId = ''
              item.worktypeId = ''
              item.workTypeName = ''
            }
          })
          this.tableData = res
        })
      getDetail(this.form.id)
        .then(res => {
          // this.form.solutionId = res.solutionId
          this.changeSolution1(res.solutionId)
        })
    },
    getSummaries (param) {
      const { columns, data } = param
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '总价'
        } else if (index === 7) {
          let total = 0
          this.tableData.forEach(item => {
            total += item.fee
          })
          sums[index] = total
        }
      })
      return sums
    },
    deleItem () {
      if (this.seleData.length === 0) {
        this.$message.warning('至少选择一项内容')
        return
      }
      this.seleData.forEach(item => {
        this.tableData.forEach((row, index) => {
          if (item === row.idCard) {
            this.tableData.splice(index, 1)
          }
        })
      })
    },
    confirm () {
      this.$refs.form.validate((valid) => {
        if (valid) {
          if (this.tableData.length === 0) {
            this.$message.warning('至少添加一项员工')
            return
          }
          for (let i = 0; i < this.tableData.length; i++) {
            console.log(this.tableData[i].worktypeId)
            console.log(this.tableData[i].duId)
            if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
              this.$message.warning('请完善派遣单位和工种信息')
              return
            }
          }
          let price = 0
          if (this.item && this.item.type != 1) {
            this.tableData.forEach(item => {
              price = price + item.fee
            })
          }
          this.$refs.detailsPolicyholder.open('投保详情单', {
            companyName: this.userInfo.company.name,
            solutionName: this.item.name,
            solutionType: this.item.type,
            applyStartTime: this.form.applyStartTime,
            applyEndTime: this.form.applyEndTime,
            insureNum: this.tableData.length,
            totalPrice: price,
            detailList: this.tableData
          })
        }
      })
    },
    // 获取结束时间和价格
    getTimeVal (time) {
      getCountCyclePriceVO({
        solutionsId: this.form.solutionId,
        startDate: time
      }).then(res => {
        this.price = res.cyclePrice
        this.form.applyEndTime = res.endDate
        this.tableData.forEach(item => {
          item.fee = res.cyclePrice
        })
        this.$forceUpdate()
      })
    },
    getDate (n) { // n为多少天,-代表往前,+代表往后
      const date1 = new Date()
      const time1 = date1.getFullYear() + '-' + (date1.getMonth() + 1) + '-' + date1.getDate()// time1表示当前时间
      const date2 = new Date(date1)
      date2.setDate(date1.getDate() + n)
      const time2 = date2.getFullYear() + '-' + ('0' + (date2.getMonth() + 1)).slice(-2) + '-' + ('0' + date2.getDate()).slice(-2)
      return time2
    },
    updatePickerOptions () {
      var that = this
      this.pickerOptions = {
        disabledDate (time) {
          if (!that.item) return
          if (that.item.validType === 1) {
            // 次月
            const currentDate = new Date()
            currentDate.setMonth(currentDate.getMonth() + 1)
            currentDate.setDate(1)
            return time.getTime() <= new Date(currentDate.toLocaleString()).getTime() - 8.64e7
          } else if (that.item.validType === 0) {
            // 多少日后生效
            return time.getTime() <= new Date(that.getDate(that.item.validTypeNum - 1)).getTime()
          }
        }
      }
    },
    seleUser () {
      if (!this.form.solutionId) {
        this.$message.warning('请先选择保险方案')
        return
      }
      this.$refs.selectEmployees.open('选取员工', { arr: this.tableData, price: this.price, type: 1 })
    },
    addUser () {
      if (!this.form.solutionId) {
        this.$message.warning('请先选择保险方案')
        return
      }
      this.$refs.addEmployee.open('添加员工', { arr: this.tableData, price: this.price })
    },
    uploadUser () {
      if (!this.form.solutionId) {
        this.$message.warning('请先选择保险方案')
        return
      }
      this.$refs.importEmployees.open('上传名单', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price })
    },
    // 切换方案
    changeSolution (e) {
      this.form.applyEndTime = ''
      this.form.applyStartTime = ''
      if (!this.form.id) {
        this.tableData = []
      } else {
        this.price = ''
        this.tableData.forEach(item => {
          item.fee = ''
          item.duName = ''
          item.duId = ''
          item.workTypeName = ''
          item.workTypeId = ''
        })
      }
      this.company.forEach(item => {
        if (item.id === e) {
          // this.price = item.price
          this.item = item
          if(this.item && this.item.type==1){
            this.item.fee=0
          }
          this.updatePickerOptions()
        }
      })
      this.tableData.forEach(item => {
        item.fee = this.price
      })
    },
    // 切换方案
    changeSolution1 (e) {
      getNewVersion(e)
        .then(res => {
          this.form.solutionId = res.id
          this.company.forEach(item => {
            if (item.id === res.id) {
              // this.price = item.price
              this.item = item
              if(this.item && this.item.type==1){
                this.item.fee=0
              }
              this.updatePickerOptions()
            }
          })
        })
      this.tableData.forEach(item => {
        item.fee = this.price
      })
    },
    dele (index) {
      this.tableData.splice(index, 1)
    },
    getUser (obj) {
      this.seleData.forEach(id => {
        this.tableData.forEach(row => {
          if (id === row.idCard) {
            row.workTypeName = obj.workTypeName
            row.worktypeId = obj.worktypeId
            row.duName = obj.duName
            row.duId = obj.duId
          }
        })
      })
      this.seleData = []
      this.$refs.multipleTable.clearSelection()
    },
    // 选择员工
    sele () {
      if (!this.form.solutionId) {
        this.$message.warning('请选择保险方案')
        return
      }
      if (this.seleData.length === 0) {
        this.$message.warning('请选择员工')
        return
      }
      this.$refs.confirmJobType.open('确认工种', { solutionId: this.form.solutionId })
    },
    // 查询全部方案
    getCompany () {
      all({})
        .then(res => {
          this.company = res
        })
    },
    getAgeByIdCard (idCard) {
      const sexAndAge = {}
      // 获取用户身份证号码
      const userCard = idCard
      // 如果用户身份证号码为undefined则返回空
      if (!userCard) {
        return sexAndAge
      }
      // 获取出生日期
      const yearBirth = userCard.substring(6, 10)
      const monthBirth = userCard.substring(10, 12)
      const dayBirth = userCard.substring(12, 14)
      // 获取当前年月日并计算年龄
      const myDate = new Date()
      const monthNow = myDate.getMonth() + 1
      const dayNow = myDate.getDate()
      let age = myDate.getFullYear() - yearBirth
      if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
        age--
      }
      // 得到年龄
      sexAndAge.age = age
      return sexAndAge.age
    },
    handleSelectionChange (e) {
      this.seleData = e.map(item => item.idCard)
    },
    getValue (list) {
      this.tableData.push(...list)
    }
  }
}
</script>
@@ -559,5 +565,8 @@
        width: 100%;
        font-size: 14px;
        color: black;
      span{
        display: block;
      }
    }
</style>
company/src/components/enterprise/dispatchUnitDetails.vue
@@ -112,6 +112,10 @@
        <addJobType ref="addJobType" @success="callback" />
        <!-- 编辑 -->
        <OperaDispatchUnitWindow ref="OperaDispatchUnitWindow" @success="callback" />
      <template  v-slot:footer>
        <el-button @click="visible=false">返回</el-button>
      </template>
    </GlobalWindow>
</template>
company/src/views/business/dispatchUnit.vue
@@ -12,6 +12,20 @@
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="审核状态" prop="status">
        <el-select v-model="searchForm.unitStatus"  clearable @change=" search1" placeholder="请选择"  >
          <el-option label="待审核" value="0"></el-option>
          <el-option label="审核通过" value="1"></el-option>
          <el-option label="审核不通过" value="2"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="工种审核状态" prop="status">
        <el-select v-model="searchForm.worktypeStatus"  clearable placeholder="请选择"  >
          <el-option label="工种待审" value="0"></el-option>
          <el-option label="审核通过" value="1"></el-option>
          <el-option label="审核不通过" value="2"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="派遣单位" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入派遣单位" @keypress.enter.native="search"></el-input>
      </el-form-item>
@@ -84,7 +98,9 @@
      // 搜索
      searchForm: {
        name: '',
        companyId: ''
        companyId: '',
        unitStatus:null,
        worktypeStatus:null,
      },
      companyList:[]
    }
@@ -103,6 +119,10 @@
    // handlePageChange() {
    //   this.search()
    // },
    search1 () {
      this.searchForm.worktypeStatus=null
      this.search()
    },
    loadSelectList() {
      companyAll({}).then(res => {
        this.companyList = res
company/src/views/business/dispatchUnitReview.vue
@@ -3,13 +3,27 @@
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
          <el-form-item label="所属企业" prop="companyId">
            <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
            <el-select v-model="searchForm.companyId"  placeholder="请选择" @change="search">
              <el-option
                  v-for="item in companyList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="审核状态" prop="status">
            <el-select v-model="searchForm.unitStatus"  clearable @change=" search1" placeholder="请选择"  >
              <el-option label="待审核" value="0"></el-option>
              <el-option label="审核通过" value="1"></el-option>
              <el-option label="审核不通过" value="2"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="工种审核状态" prop="status">
            <el-select v-model="searchForm.worktypeStatus"  clearable placeholder="请选择"  >
              <el-option label="工种待审" value="0"></el-option>
              <el-option label="审核通过" value="1"></el-option>
              <el-option label="审核不通过" value="2"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="派遣单位" prop="name">
@@ -84,7 +98,9 @@
                // 搜索
                searchForm: {
                    name: '',
                    companyId: ''
                    companyId: '',
                    unitStatus:null,
                    worktypeStatus:null,
                },
              companyList:[]
            }
@@ -103,6 +119,11 @@
        // handlePageChange() {
        //   this.search()
        // },
        // 搜索
        search1 () {
          this.searchForm.worktypeStatus=null
          this.search()
        },
        loadSelectList() {
          companyAll({}).then(res => {
            this.companyList = res