k94314517
2024-04-02 ee5aac2ff3be3fd060f5aa502329bc6b886607ed
Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
已修改8个文件
161 ■■■■ 文件已修改
company/src/api/business/applyChange.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/insuranceApply.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/assets/style/style.scss 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeDetailWindow.vue 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/applyChangeShop.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/add_subtract.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/applyChange.js
@@ -6,7 +6,11 @@
        trim: true
    })
}
export function getChangeMemberListOnlineSignLink (data) {
    return request.post('business/applyChange/getChangeMemberListOnlineSignLink', data, {
        trim: true
    })
}
// 修改
export function updateById (data) {
    return request.post('/business/applyChange/updateById', data)
company/src/api/business/insuranceApply.js
@@ -93,6 +93,7 @@
        trim: true
    })
}
export function getChangeUnitSignLink (data) {
    return request.post('/business/applyChange/getChangeUnitSignLink', data, {
        trim: true
company/src/assets/style/style.scss
@@ -80,7 +80,7 @@
.apply-status0, .apply-status26,.apply-status20,.apply-status28,
.apply-status21,.apply-status22,
.apply-status23,.apply-status2 , .apply-status3, .apply-status10,
.change-status0,.change-status1,.change-status2,
.change-status0,.change-status1,.change-status9,
.settle-status0,.settle-status2,.settle-status3,
.tax-status0,
.union-apply-status0,.union-apply-status1,.union-apply-status2,
@@ -90,12 +90,12 @@
.apply-status1 ,.apply-status24,.apply-status25, .apply-status4, .apply-status6,
.apply-status7, .apply-status8, .apply-status11,
.change-status3,.change-status4,.change-status5,.change-status8,
.settle-status1,
.settle-status1,.change-status6,
.tax-status2,.union-apply-status4,
.du-status2 {
  color: #F95601 !important;
}
  .apply-status5,.apply-status27,.change-status7,.settle-status7,
  .apply-status5,.apply-status27,.change-status7,.settle-status7,.change-status2,
  .tax-status1,.du-status1,.settle-status4 ,.union-apply-status3 {
  color: #00BA92  !important;
}
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -14,6 +14,7 @@
                        <span v-if="model.status === 0">保单状态:<span  :class="'change-status'+model.status" >待签署</span></span>
                        <span v-if="model.status === 1">保单状态:<span  :class="'change-status'+model.status" >待审核</span></span>
                        <span v-if="model.status === 2">保单状态:<span  :class="'change-status'+model.status" >已生效</span></span>
                        <span v-if="model.status === 9">保单状态:<span  :class="'change-status'+model.status" >待出单</span></span>
                        <span v-if="model.status === 3 || model.status === 4">保单状态:<span  :class="'change-status'+model.status" >退回申请</span></span>
                        <span v-if="model.status === 5 || model.status === 8">保单状态:<span  :class="'change-status'+model.status" >已退回</span></span>
                        <span v-if="model.status === 7 || model.status === 6">保单状态:<span  :class="'change-status'+model.status" >已关闭</span></span>
@@ -23,9 +24,9 @@
                      <template v-if="userInfo.type === 1">
                          <el-button type="primary" @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model)">导出详单</el-button>
                          <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.reinsurance.open('加减保申请', {id: dataId, applyChangId: modelId})">再次投保</el-button>
                          <el-button type="primary" v-if="model.status == 0" @click="$refs.operaverifyPhoneNumberWindew.open('验证手机号')">签署申请单</el-button>
                          <el-button v-if="[0, 1, 3, 7].includes(model.status)" type="danger" @click="$refs.add_subtract_return.open('申请退回', { id: modelId })">申请退回</el-button>
                          <el-button v-if="model.status == 5" type="primary" @click="viewApplyFile">查看申请单</el-button>
                          <el-button type="primary" v-if="model.status == 0" @click="getSignLink(0)">签署申请单</el-button>
                          <el-button v-if="[0, 1, 3, 7].includes(model.status) && model.solutionType == 0" type="danger" @click="$refs.add_subtract_return.open('申请退回', { id: modelId })">申请退回</el-button>
                          <el-button v-if="[1,2,9].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                          <el-button v-if="model.status == 2" type="primary" @click="viewPidan">查看批单</el-button>
                          <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="closeOrder">关闭订单</el-button>
                      </template>
@@ -192,8 +193,32 @@
        <factoryChange ref="factoryChange" @success="successEvent" />
        <!--    投保详情    -->
        <insuranceApplyDetails ref="insuranceApplyDetails" @success="successEvent" />
        <!--    验证手机号    -->
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
      <!-- 修改手机号 -->
      <el-dialog
          :title="signTitle"
          :visible.sync="visiblePhone"
          width="500px"
          :modal="false"
          :show-close="false"
          :close-on-click-modal="false"
          center>
        <el-form :model="form" ref="form" :rules="rules">
          <el-form-item label="手机号" prop="phone">
            <el-input v-model="form.phone" placeholder="请输入" disabled v-trim/>
          </el-form-item>
          <el-form-item label="验证码" prop="code">
            <div style="width: 100%; display: flex; align-items: center;">
              <el-input v-model="form.code" placeholder="请输入" v-trim/>
              <el-button type="primary" style="margin-left: 15px;" @click="send" v-if="num === 0">发送验证码</el-button>
              <el-button type="primary" style="margin-left: 15px;" v-else>{{num}}s</el-button>
            </div>
          </el-form-item>
        </el-form>
        <span slot="footer" class="dialog-footer">
                <el-button type="primary" @click="goSignDo()">确  定</el-button>
                <el-button @click="visiblePhone=false">取 消</el-button>
            </span>
      </el-dialog>
      <template v-slot:footer>
        <el-button @click="visible=false">返回</el-button>
      </template>
@@ -209,16 +234,16 @@
import reinsurance from '@/components/enterprise/reinsurance'
import factoryChange from '@/components/enterprise/factoryChange'
import add_subtract_return from '@/components/enterprise/add_subtract_return'
// import insuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import {
  getDetail,
  getChangeDetail,
  applyChagneDetailPage,
  getJiajianBaoSignLink
  applyChagneDetailPage
} from '@/api/business/insuranceApply'
import { applyChangeOpt } from '@/api/business/applyChange'
import { applyChangeOpt ,
  getChangeMemberListOnlineSignLink} from '@/api/business/applyChange'
import {sendSms} from "@/api/business/smsEmail";
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
import { mapState } from 'vuex'
export default {
@@ -232,7 +257,6 @@
      OperaInsuranceApply,
      reinsurance,
      factoryChange,
      operaverifyPhoneNumberWindew,
      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
  },
  data () {
@@ -241,10 +265,17 @@
      dataId:null,
      modelId:null,
      apply:{},
      num: 0,
      timer: null,
      signTitle: '手机号验证',
      model: {},
      visiblePhone: false,
      form: {
          businessId: null,
          phone: this.$store.state.userInfo.company.phone,
          id: null,
          editDate: ''
          editDate: '',
          code:null
      },
      // 验证规则
      rules: {
@@ -281,8 +312,61 @@
        this.title = title
        this.dataId = target.applyId
        this.modelId = target.id
       this.form.businessId = target.id
       this.num=0
       this.timer=null
        this.getDetail()
        this.getList()
     },
    send () {
      sendSms({
        phone: this.form.phone
      }).then(res => {
        this.num = 60
        this.setTime()
      })
    },
    setTime () {
      this.timer = setInterval(() => {
        if (this.num === 0) {
          clearInterval(this.timer)
          this.timer = null
          return
        }
        this.num = this.num - 1
      }, 1000)
    },
    getSignLink (flag) {
      if (flag === 0) {
        this.signTitle = '签署方案确认书'
      } else if (flag === 1) {
        this.signTitle = '签署申请单'
      } else if (flag === 2) {
        this.signTitle = '签署投保单'
      }
      this.form.type = flag
      this.visiblePhone = true
      this.$nextTick(() => {
        this.$refs.form.resetFields()
      });
    },
    goSignDo(){
      this.$refs.form.validate((valid) => {
        if (!valid) {
          return
        }
        this.isWorking = true
        if(this.form.type===0){
          getChangeMemberListOnlineSignLink(this.form).then(res => {
            setTimeout(() => {
              this.visiblePhone=false
              window.open(res)
            }, 500)
          }).catch(err => {
            this.$tip.apiFailed(err)
          })
        }
      })
     },
      resetting() {
            this.search()
@@ -325,15 +409,6 @@
      handleClick(e) {
        this.activeName = e.index
        this.resetting()
      },
    goSign(){
      getJiajianBaoSignLink({id:this.modelId}).then(res => {
        setTimeout(() => {
          window.open(res)
        }, 500);
      }).catch(err => {
       this.$tip.apiFailed(err)
      })
    },
    viewApplyFile(){
       if(this.model.applyFile && this.model.applyFile.fileurlFull){
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -8,12 +8,12 @@
    >
        <div class="desc">
            <div class="desc_item">
                <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)">
                <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect ===27)">
                    <div class="desc_item_label_left">
                        <span>保险到期还有 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 天</span>
                        <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('续保', { id: dataId, type: 1 })">一键续保</el-button>
                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button>
                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.OperaInsuranceApply.open('续保', { id: dataId, type: 1 })">一键续保</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button>
                        <el-button type="primary" v-if="model.status === 27" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button>
                    </div>
                </div>
                <div class="desc_item_label">
@@ -489,7 +489,7 @@
import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype'
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import { mapState } from 'vuex'
import {sendSms, validateCode} from "@/api/business/smsEmail";
import {sendSms} from "@/api/business/smsEmail";
export default {
  name: 'OperaWtbApplyShopWindow',
@@ -572,6 +572,8 @@
      this.visible = true
      this.title = title
      this.model = {}
      this.num=0
      this.timer=null
      this.dataId = null
      this.dataId = target.id
      this.form.businessId = target.id
company/src/views/business/applyChangeShop.vue
@@ -12,6 +12,7 @@
          <!--                    3 4 都是退回申请中-->
          <el-option label="已退回" value="5"></el-option>
          <el-option label="已关闭" value="6"></el-option>
          <el-option label="待出单" value="9"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="投保企业" prop="companyId">
@@ -70,6 +71,7 @@
            <span  :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">退回申请</span>
            <span  :class="'change-status'+row.status" v-if="row.status ===5 || row.status === 8">已退回</span>
            <span  :class="'change-status'+row.status" v-if="row.status ===6">已关闭</span>
            <span  :class="'change-status'+row.status" v-if="row.status ===9">待出单</span>
          </template>
        </el-table-column>
        <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
@@ -106,7 +108,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
import {all as solutionAll, all} from '@/api/business/solutions'
import {all as solutionAll} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
  name: 'add_subtract',
company/src/views/enterprise/add_subtract.vue
@@ -12,6 +12,7 @@
<!--                    3 4 都是退回申请中-->
                    <el-option label="已退回" value="5"></el-option>
                    <el-option label="已关闭" value="6"></el-option>
                    <el-option label="待出单" value="9"></el-option>
                </el-select>
            </el-form-item>
          <el-form-item label="保险方案" prop="baseSolutionsId">
@@ -58,12 +59,19 @@
                        <span :class="'change-status'+row.status" v-if="row.status === 1">待审核</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 2">已生效</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 6">已关闭</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 9">待出单</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">申请退回</span>
                        <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">已退回</span>
                    </template>
                </el-table-column>
                <el-table-column prop="applyCode" label="关联保单号" min-width="100px"></el-table-column>
                <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
              <el-table-column label="类型">
                <template slot-scope="{row}">
                  <span style="color: #00BA92" v-if="row.solutionType == 1">委托投保</span>
                  <span style="color: #F95601;"  v-else>直接投保</span>
                </template>
              </el-table-column>
                <el-table-column prop="addNum" label="加保人数(人)" min-width="100px"></el-table-column>
                <el-table-column prop="delNum" label="减保人数(人)" min-width="100px"></el-table-column>
                <el-table-column prop="fee" label="费用变更" min-width="100px"></el-table-column>
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1749,9 +1749,9 @@
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Company company = user.getCompany();
        if(debugModel){
        /*if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
        }*/
        if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,企业尚未具备在线签章条件,请联系平台管理员确认~");
        }
@@ -1999,9 +1999,6 @@
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Company company = companyMapper.selectById(model.getCompanyId());
        if(debugModel){
            company = companyMapper.selectById(model.getCompanyId());
        }
        if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,企业尚未具备在线签章条件,请联系平台管理员确认~");
        }