nidapeng
2024-04-02 fa7e1930e0a2d2c8d426237f7cb03aad8138261c
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,11 +24,11 @@
                      <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>
                          <el-button v-if="[5,8].includes(model.status)" type="primary" @click="closeOrder">关闭订单</el-button>
                      </template>
                        <template v-else>
                            <el-button type="primary" @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model)">导出详单</el-button>
@@ -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,9 +312,62 @@
        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()
      },
@@ -326,15 +410,6 @@
        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){
        window.open(this.model.applyFile.fileurlFull)