k94314517
2024-04-09 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c
company/src/views/enterprise/myPolicy.vue
@@ -9,17 +9,17 @@
                <el-select v-model="searchForm.baseSolutionId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in solutionList"
                        :key="item.id"
                        :key="item.baseId"
                        :label="item.name"
                        :value="item.id">
                        :value="item.baseId">
                    </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="0"></el-option>
                    <el-option label="待出单" value="1"></el-option>
                    <el-option label="待签章" value="7"></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>
@@ -56,8 +56,20 @@
        </el-form>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <div style="margin-bottom: 15px;" v-if="obj.waitSignNum > 0 || obj.renewalNum > 0">
                <el-alert type="warning" show-icon :closable="false" :style="obj.waitSignNum > 0 ? 'margin-bottom: 15px;' : ''" v-if="obj.renewalNum > 0">
                    <span style="margin-right: 15px;">续保提醒: 您有即将到期保险</span>
                    <el-button type="text" @click="$refs.renewalInsurance.open('续保提醒')">查看详情</el-button>
                    <el-button type="text" @click="closeRemind(6)">关闭提醒</el-button>
                </el-alert>
                <el-alert type="warning" :closable="false" show-icon v-if="obj.waitSignNum > 0">
                    <span style="margin-right: 15px;">投保提醒: 您有投保申请待签署</span>
                    <el-button type="text" @click="see">查看详情</el-button>
                    <el-button type="text" @click="closeRemind(1)">关闭提醒</el-button>
                </el-alert>
            </div>
            <ul class="toolbar" v-permissions="['business:dispatchunit:create']">
                <li><el-button type="primary" @click="$refs.OperaInsuranceApplyWindow.open('投保申请')">投保申请</el-button></li>
                <li><el-button type="primary" @click="$refs.OperaInsuranceApplyWindow.open('投保申请', { type: '' })">投保申请</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
@@ -69,11 +81,39 @@
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="statusInfo" label="状态"></el-table-column>
                <el-table-column prop="statusInfo" label="状态">
                  <template slot-scope="{row}">
                    <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="solutionsName" label="保险方案"></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 label="保单号">
                    <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="serviceDays" label="投保时长(天)"></el-table-column>
                <el-table-column prop="fee" 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="总费用(元)">
                  <template slot-scope="{row}">
                    <span>{{row.fee!=null?row.fee: '-'}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="checkDate" label="提交日期"></el-table-column>
                <el-table-column prop="startTime" label="投保生效日期"></el-table-column>
                <el-table-column prop="endTime" label="投保失效日期"></el-table-column>
@@ -84,8 +124,10 @@
                    fixed="right"
                >
                    <template slot-scope="{row}">
                        <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id })" v-permissions="['business:insuranceapply:update']">查看详情</el-button>
                        <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })">加减保申请</el-button>
                        <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>-->
<!--                        </template>-->
                    </template>
                </el-table-column>
            </el-table>
@@ -100,8 +142,11 @@
        <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" />
        <!--    投保详情    -->
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
      <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
        <!--    续保弹窗    -->
        <renewalInsurance ref="renewalInsurance" @success="handlePageChange" />
    </TableLayout>
</template>
@@ -112,12 +157,23 @@
    import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow'
    import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
    import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
    import renewalInsurance from '@/components/enterprise/renewalInsurance'
    import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
    import { all as solutionAll} from '@/api/business/solutions'
    import { getCaptcha, closeApplyNotice } from '@/api/business/notices'
    export default {
        name: 'myPolicy',
        extends: BaseTable,
        components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails, additionSubtractionApplication },
        components: {
            TableLayout,
            Pagination,
            OperaInsuranceApplyWindow,
            OperaInsuranceApplyDetails,
            renewalInsurance,
            additionSubtractionApplication,
          OperaWtbApplyShopWindow
        },
        data () {
            return {
                // 搜索
@@ -129,6 +185,10 @@
                    startTimeS: '',
                    baseSolutionId: '',
                    statusCollect: '2'
                },
                obj: {
                    renewalNum: 0,
                    waitSignNum: 0
                },
                time1: [],
                time2: [],
@@ -144,8 +204,41 @@
            })
            this.search()
            this.loadSelectList()
            this.getNum()
        },
        methods:{
          godetail (row) {
            if (row.solutionType == 1) {
              this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: row.id })
            } else {
              this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id })
            }
          },
            see() {
                this.searchForm.statusCollect = '7'
                this.search()
            },
            closeRemind(type) {
                this.$confirm('确定关闭此提示吗?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    closeApplyNotice(type)
                        .then(res => {
                            this.getNum()
                        })
                }).catch(() => {
                });
            },
            getNum() {
                getCaptcha()
                    .then(res => {
                        this.obj.renewalNum = res.renewalNum
                        this.obj.waitSignNum = res.waitSignNum
                    })
            },
            reset() {
                this.time1 = []
                this.time2 = []