MrShi
2024-02-05 5019ed6016b47221321bf395cd102dc4b51b4724
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -8,10 +8,18 @@
    >
        <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_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 })">一键续保</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>
                    </div>
                </div>
                <div class="desc_item_label">
                    <div class="desc_item_label_left">
                        <span>投保企业:{{ model.companyName }}</span>
                        <span>保单状态:{{ model.statusInfo }}</span>
                      <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
@@ -23,19 +31,17 @@
                          <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                          <el-button v-if="model.status == 2" type="primary" @click="goSign">签署投保单</el-button>
                      </template>
                        <template v-else>
                            <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</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>
                            <el-button v-if="model.status == 10" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                            <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                            <el-button  v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                            <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                            <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                            <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                        </template>
                    <template v-else>
                      <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</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>
                      <el-button v-if="model.status == 10" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                      <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                      <el-button  v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                      <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                      <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                    </template>
                  </div>
                </div>
                <div class="desc_item_from">
@@ -44,7 +50,7 @@
                        border
                        style="width: 100%">
                        <el-table-column
                            prop="applyCode"
                            prop="code"
                            align="center"
                            label="保单号">
                        </el-table-column>
@@ -77,7 +83,7 @@
                        <el-table-column
                            prop="currentFee"
                            align="center"
                            label="当前费用(元)">
                            label="产生费用(元)">
                        </el-table-column>
                        <el-table-column
                            prop="fee"
@@ -214,14 +220,23 @@
                </div>
                <div class="desc_item_review">
                    <div class="desc_item_review_label">审核流程</div>
                    <el-timeline :reverse="reverse">
                        <el-timeline-item
                            v-for="(activity, index) in activities"
                            :key="index"
                            :timestamp="activity.createDate">
                            {{activity.title}}
                        </el-timeline-item>
                    </el-timeline>
                  <el-timeline :reverse="reverse">
                    <el-timeline-item
                        v-for="(activity, index) in activities"
                        :key="index">
                      <div style="display: flex; flex-direction: column;">
                                <span style="font-size: 16px; font-weight: 400; color: black;">
                                    {{activity.title}}
                                    <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="activity.objType === 5 || activity.objType === 6 || activity.objType === 1 || activity.objType === 2">
                                      {{activity.content}}
                                    </span>
                                </span>
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    操作员-{{activity.creatorName}}({{activity.creatorType==1? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
                  </el-timeline>
                </div>
            </div>
        </div>
@@ -231,6 +246,13 @@
        <applyReturn ref="applyReturn" @success="successEvent" />
        <!--    新增投保    -->
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
        <!--    换厂申请    -->
        <factoryChange ref="factoryChange" @success="successEvent" />
      <template v-slot:footer>
        <el-button @click="visible=false">返回</el-button>
      </template>
    </GlobalWindow>
</template>
@@ -239,6 +261,8 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import factoryChange from '@/components/enterprise/factoryChange'
import applyReturn from '@/components/enterprise/applyReturn'
import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel } from "@/api/business/insuranceApply";
@@ -250,7 +274,15 @@
export default {
  name: 'OperaInsuranceApplyWindow',
  extends: BaseOpera,
  components: { GlobalWindow, InsuranceDetails ,OperaInsuranceApplyCheckWindow, applyReturn, OperaInsuranceApply },
  components: {
      GlobalWindow,
      InsuranceDetails,
      OperaInsuranceApplyCheckWindow,
      applyReturn,
      OperaInsuranceApply,
      additionSubtractionApplication,
      factoryChange
  },
  data () {
    return {
      // 表单数据
@@ -281,7 +313,7 @@
      visible3: false,
      visible4: false,
      visible5: false,
      reverse: true,
      reverse: false,
      radio: 0,
      activities: [],
      tableData: [],
@@ -306,6 +338,8 @@
     open(title,target){
        this.visible = true;
        this.title = title
        this.model={}
        this.dataId=null
        this.dataId = target.id
        this.getDetail()
        this.getList()
@@ -456,16 +490,23 @@
      },
    goSign(){
      getSignLink(this.dataId).then(res => {
        window.open(res)
        setTimeout(() => {
          window.open(res)
        }, 500);
      }).catch(err => {
       this.$tip.apiFailed(err)
      })
    },
    viewToubaodan(){
       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
        window.open(this.model.toubaodanSignedFile.fileurlFull)
         setTimeout(() => {
           window.open(this.model.toubaodanSignedFile.fileurlFull)
         }, 500);
       } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){
         window.open(this.model.toubaodanFile.fileurlFull)
         setTimeout(() => {
           window.open(this.model.toubaodanFile.fileurlFull)
             },500)
       }
    },
    viewBaoxiandan(){
@@ -484,7 +525,7 @@
    onSubmit(){
    },
    getDetail(){
     getDetail(){
      getDetail(this.dataId).then(res => {
        this.model = res
        this.tableData = new Array()
@@ -495,7 +536,8 @@
      })
    },
    successEvent(){
       this.visible=false
       // this.visible=false
      this.getDetail()
      this.$emit('success')
    }
  }