jiangping
2024-06-20 09da100729793848bc01b51f7b05ca3f1e7ec64f
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -14,29 +14,43 @@
                        <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 === 7">保单状态:<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>
                        <span>提交时间:{{ model.createDate }}</span>
                        <span v-if=" model.status === 6">保单状态:<span  :class="'change-status'+model.status" >已关闭</span></span>
                        <span>申请日期:{{ model.validTime }}</span>
                    </div>
                  <div class="desc_item_label_right">
                      <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="goSign">签署申请单</el-button>
                          <el-button v-if="[0, 1, 3, 7].includes(model.status)" type="primary" @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="[5,8].includes(model.status)"  @click="$refs.reinsurance.open('加减保申请', {id: dataId, applyChangId: modelId})">再次投保</el-button>
                        <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model,0)">导出详单</el-button>
                        <el-button type="primary" v-if="model.status == 0" :disabled="loading" :loading="loading" @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,4,7,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>
                            <el-button v-if="[1,2,4].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                        <template v-if="userInfo.type ===2">
                            <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model,0)">导出详单</el-button>
                            <el-button v-if="[1,2,4,7,9].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                            <el-button v-if="[1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                            <el-button v-if=" model.solutionType == 1 && [1].includes(model.status)" type="primary" @click="$refs.ApplyChangeDetails.open('投保审核',apply,model,1)">批改审核</el-button>
                            <el-button v-if=" model.solutionType == 1 && [0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回申请',model,1)">退回申请</el-button>
                            <el-button v-if=" model.solutionType == 1 && [7].includes(model.status)" type="danger" @click="closeOrder">关闭订单</el-button>
                            <el-button v-if=" model.solutionType == 0 && [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button  v-if="model.solutionType == 0 &&[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                        </template>
                        <template  v-if="userInfo.type ===0">
                          <el-button type="primary" @click="$refs.ApplyChangeDetails.open('加减保详单',apply,model,0)">导出详单</el-button>
                          <el-button v-if="[1,2,4,7,9].includes(model.status)" type="primary" @click="viewApplyFile">查看申请单</el-button>
                          <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">查看批单</el-button>
                          <el-button v-if=" model.solutionType == 0 && [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('上传批单',model,3)">上传批单</el-button>
                          <el-button  v-if="model.solutionType == 0 &&[3,4].includes(model.status)"  type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                          <el-button  v-if="model.solutionType == 0 &&[0,1,3,4].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                          <el-button  v-if="model.solutionType == 0 &&[2].includes(model.status)"  type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('修改批单',model,4)">修改批单</el-button>
                        </template>
                  </div>
                </div>
@@ -76,7 +90,12 @@
                      <el-table-column
                          prop="applyStartTime"
                          align="center"
                          label="批单生效起期">
                          label="批增生效日期">
                      </el-table-column>
                      <el-table-column
                          prop="delValidTime"
                          align="center"
                          label="批减生效日期">
                      </el-table-column>
                        <el-table-column
                            prop="addNum"
@@ -119,7 +138,7 @@
                            label="性别">
                            <template slot-scope="{row}">
                                <span v-if="row.sex === 0">男</span>
                                <span v-else>女</span>
                                <span  v-if="row.sex === 1">女</span>
                            </template>
                        </el-table-column>
                        <el-table-column
@@ -142,10 +161,14 @@
                            prop="endTime"
                            label="保险生效止期">
                        </el-table-column>
                        <el-table-column
                            prop="fee"
                            label="产生费用(元)">
                        </el-table-column>
                      <el-table-column
                          prop="fee"
                          label="费用变更(元)">
                      </el-table-column>
                      <el-table-column
                          prop="remark"
                          label="备注">
                      </el-table-column>
                    </el-table>
                    <div class="desc_item_from_page">
                        <el-pagination
@@ -158,7 +181,7 @@
                    </div>
                </div>
                <div class="desc_item_review">
                    <div class="desc_item_review_label">审核流程</div>
                    <div class="desc_item_review_label">操作记录</div>
                  <el-timeline :reverse="reverse">
                    <el-timeline-item
                        v-for="(activity, index) in activities"
@@ -171,7 +194,7 @@
                                    </span>
                                </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    操作员-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                    操作员-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: (activity.creatorType==2? activity.companyName: "平台端") }}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
@@ -188,10 +211,37 @@
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
        <!--    加减保申请    -->
        <reinsurance ref="reinsurance" @success="successEvent" />
        <!--    换厂申请    -->
      <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
        <!--    更换派遣单位申请    -->
        <factoryChange ref="factoryChange" @success="successEvent" />
        <!--    投保详情    -->
        <insuranceApplyDetails ref="insuranceApplyDetails" @success="successEvent" />
      <!-- 修改手机号 -->
      <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>
@@ -207,17 +257,19 @@
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 OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import { applyChangeOpt ,
  getChangeMemberListOnlineSignLink} from '@/api/business/applyChange'
import {sendSms} from "@/api/business/smsEmail";
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaApplyChangeDetailWindow1',
  extends: BaseOpera,
@@ -228,6 +280,7 @@
      add_subtract_return,
      OperaInsuranceApply,
      reinsurance,
      OperaPdfViewerWindow,
      factoryChange,
      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
  },
@@ -237,10 +290,17 @@
      dataId:null,
      modelId:null,
      apply:{},
      num: 0,
      timer: null,
      signTitle: '手机号验证',
      model: {},
      visiblePhone: false,
      form: {
          businessId: null,
          phone: this.$store.state.userInfo.company? this.$store.state.userInfo.company.phone:null,
          id: null,
          editDate: ''
          editDate: '',
          code:null
      },
      // 验证规则
      rules: {
@@ -259,7 +319,8 @@
        list: [],
      activeName: '0',
        total: 0,
      currentPage: 1
      currentPage: 1,
        loading: false
    }
  },
  created () {
@@ -277,9 +338,66 @@
        this.title = title
        this.dataId = target.applyId
        this.modelId = target.id
       this.model={}
       this.apply={}
       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) {
        this.signTitle = '签署申请单'
      this.form.type = flag
        this.loading = true
        getChangeMemberListOnlineSignLink(this.form).then(res => {
            this.loading = false
            window.open(res)
        }).catch(err => {
            this.loading = false
            this.$tip.apiFailed(err)
        })
      // 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()
      },
@@ -322,23 +440,16 @@
        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)
         this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.applyFile.fileurlFull)
        // window.open(this.model.applyFile.fileurlFull)
       }
    },
    viewPidan(){
      if(this.model.pidanFile && this.model.pidanFile.fileurlFull){
        window.open(this.model.pidanFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看批单',this.model.pidanFile.fileurlFull)
        // window.open(this.model.pidanFile.fileurlFull)
      }
    },
    handleSizeChange(val){
@@ -346,7 +457,7 @@
    },
    handleCurrentChange(val){
        console.log(val)
        this.page = val
        this.currentPage = val
        this.getList()
    },
    onSubmit(){