k94314517
2025-07-04 50fb58286ed3b718c39a97e0987ee7561a295651
company/src/views/enterprise/myPolicy.vue
@@ -6,7 +6,7 @@
                <el-input v-model="searchForm.code" placeholder="请输入" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="保险方案" prop="baseSolutionId">
                <el-select v-model="searchForm.baseSolutionId" placeholder="请选择" @change="search">
                <el-select v-model="searchForm.baseSolutionId" filterable placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in solutionList"
                        :key="item.baseId"
@@ -15,19 +15,32 @@
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="状态" prop="statusCollect">
                <el-select v-model="searchForm.statusCollect" placeholder="请选择" @change="search">
                    <el-option label="待审核" value="0"></el-option>
                    <el-option label="待出单" value="1"></el-option>
                    <el-option label="待签署" value="7"></el-option>
                    <el-option label="保障中" value="2"></el-option>
                    <el-option label="已过期" value="3"></el-option>
                    <el-option label="已退回" value="4"></el-option>
                    <el-option label="退回申请中" value="5"></el-option>
                    <el-option label="已关闭" value="6"></el-option>
                    <el-option label="投保中" value="26"></el-option>
            <el-form-item label="投保类型" prop="solutionType">
                <el-select v-model="searchForm.solutionType" placeholder="请选择" @change="search">
                    <el-option label="直接投保" value="0"></el-option>
                    <el-option label="委托投保" value="1"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="状态" prop="timeOut">
                <el-select v-model="searchForm.timeOut" placeholder="请选择" @change="search">
                    <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="statusCollect">-->
<!--                <el-select v-model="searchForm.statusCollect" placeholder="请选择" @change="search">-->
<!--                    <el-option label="待审核" value="0"></el-option>-->
<!--                    <el-option label="待出单" value="1"></el-option>-->
<!--                    <el-option label="待签署" value="7"></el-option>-->
<!--                    <el-option label="保障中" value="2"></el-option>-->
<!--                    <el-option label="已过期" value="3"></el-option>-->
<!--                    <el-option label="已退回" value="4"></el-option>-->
<!--                    <el-option label="退回申请中" value="5"></el-option>-->
<!--                    <el-option label="已关闭" value="6"></el-option>-->
<!--                    <el-option label="投保中" value="26"></el-option>-->
<!--                </el-select>-->
<!--            </el-form-item>-->
            <el-form-item label="保险生效起期" prop="time1">
                <el-date-picker
                    v-model="time1"
@@ -77,58 +90,75 @@
                :data="tableData.list"
                stripe
            >
                <el-table-column label="序号" width="80px">
                <el-table-column label="序号" width="80px" align="center" fixed>
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="statusInfo" label="状态">
                <el-table-column prop="statusInfo" align="center" fixed label="状态">
                  <template slot-scope="{row}">
                    <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
                    <span style="color:#f95601;" v-if="row.status === 5 && row.statusInfo === '待生效'">{{row.statusInfo}}</span>
                    <span style="color:#999;" v-else-if="row.status === 5 && row.statusInfo === '已过期'">{{row.statusInfo}}</span>
                    <span :class="'apply-status'+row.status" v-else>{{row.statusInfo}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="solutionsName" label="保险方案"></el-table-column>
              <el-table-column label="类型">
                <el-table-column prop="solutionsName" align="center" fixed label="保险方案" min-width="150"></el-table-column>
              <el-table-column label="类型" fixed  align="center">
                <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 label="保单号">
              <el-table-column label="保单号" align="center" fixed>
                    <template slot-scope="{row}">
                        <span>{{row.code ? row.code : '-'}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="insureNum" label="投保人数"></el-table-column>
                <el-table-column prop="guaranteeNum" label="在保人数"></el-table-column>
                <el-table-column label="投保时长(天)">
                    <template slot-scope="{row}">
                        <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : row.serviceDays - row.loseEfficacyDays}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="currentFee" label="已产生费用">
                    <template slot-scope="{row}">
                      <span>{{row.currentFee!=null?row.currentFee: '-'}}</span>
                    </template>
                  </el-table-column>
                <el-table-column prop="fee" label="总费用(元)">
<!--                <el-table-column prop="insureNum" align="center" label="投保人数"  >-->
<!--                  <template slot-scope="{row}">-->
<!--                    <span>{{(row.insureNum||0) + '人'}}</span>-->
<!--                  </template>-->
<!--                </el-table-column>-->
                <el-table-column prop="guaranteeNum"  align="center" label="当前在保人数" width="120">
                  <template slot-scope="{row}">
                    <span>{{row.fee!=null?row.fee: '-'}}</span>
                    <span>{{(row.guaranteeNum||0)}} 人</span>
                  </template>
                </el-table-column>
                <el-table-column prop="createDate" label="提交日期"></el-table-column>
                <el-table-column prop="startTime" label="投保生效日期"></el-table-column>
                <el-table-column prop="endTime" label="投保失效日期"></el-table-column>
                <el-table-column label="投保时长" align="center">
                    <template slot-scope="{row}">
                        <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : (row.serviceDays - row.loseEfficacyDays+'天')}}</span>
                    </template>
                </el-table-column>
<!--                <el-table-column prop="currentFee" label="已产生费用"  align="center">-->
<!--                    <template slot-scope="{row}">-->
<!--                      <span>{{row.currentFee!=null?row.currentFee+' 元': '-'}}</span>-->
<!--                    </template>-->
<!--                  </el-table-column>-->
                <el-table-column prop="fee" label="批改费用合计"  align="center" width="120">
                    <template slot-scope="{row}">
                        <span>{{row.changeMoney+' 元'}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="fee" label="总费用"  align="center">
                  <template slot-scope="{row}">
                    <span>{{row.fee!=null?row.fee+' 元': '-'}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="createDate" label="提交日期"  align="center" min-width="150"></el-table-column>
                <el-table-column prop="startTime" label="投保生效日期"  align="center" min-width="150"></el-table-column>
                <el-table-column prop="endTime" label="投保失效日期"  align="center" min-width="150"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
                    label="操作"
                    min-width="150"
                    fixed="right"
                    align="center"
                >
                    <template slot-scope="{row}">
                        <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">查看详情</el-button>
<!--                        <template v-if="row.statusCollect === 2">-->
<!--                            <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })">加减保申请</el-button>-->
                      <!--                        <el-button type="text" @click="$refs.OperaApplyChangeMonthWindow.open('加减保月度费用统计',row)" v-permissions="['business:applychange:query']">加减保费用</el-button>
                                          <template v-if="row.statusCollect === 2">-->
                        <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })" v-if="isShow(row.status, row.endTime)">加减保申请</el-button>
<!--                        </template>-->
                    </template>
                </el-table-column>
@@ -148,6 +178,7 @@
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
        <!--    续保弹窗    -->
<!--        <OperaApplyChangeMonthWindow ref="OperaApplyChangeMonthWindow" @success="handlePageChange" />-->
        <renewalInsurance ref="renewalInsurance" @success="handlePageChange" />
    </TableLayout>
</template>
@@ -160,6 +191,7 @@
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import renewalInsurance from '@/components/enterprise/renewalInsurance'
import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow'
import { all as solutionAll } from '@/api/business/solutions'
import { getCaptcha, closeApplyNotice } from '@/api/business/notices'
@@ -172,6 +204,7 @@
    OperaInsuranceApplyWindow,
    OperaInsuranceApplyDetails,
    renewalInsurance,
    // OperaApplyChangeMonthWindow,
    additionSubtractionApplication,
    OperaWtbApplyShopWindow
  },
@@ -185,7 +218,9 @@
        startTimeE: '',
        startTimeS: '',
        baseSolutionId: '',
        statusCollect: '2'
        status: '5,27',
        solutionType: '',
        timeOut: ''
      },
      obj: {
        renewalNum: 0,
@@ -208,6 +243,12 @@
    this.getNum()
  },
  methods: {
    // 判断是否显示加减保
    isShow(status, endTime) {
      const currentDate = new Date();
      const specifiedDate = new Date(endTime);
      return [5,27].includes(status) && (currentDate < specifiedDate);
    },
    godetail (row) {
      if (row.solutionType == 1) {
        this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: row.id })