jiangping
2024-03-05 7b336b5d570dece2d283d33221874e8dae1a2118
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,10 +81,24 @@
                        <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>{{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 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="已产生费用"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)"></el-table-column>
                <el-table-column prop="checkDate" label="提交日期"></el-table-column>
                <el-table-column prop="startTime" label="投保生效日期"></el-table-column>
@@ -85,7 +111,9 @@
                >
                    <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>
<!--                        <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>
@@ -102,6 +130,8 @@
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
        <!--    加减保申请    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
        <!--    续保弹窗    -->
        <renewalInsurance ref="renewalInsurance" @success="handlePageChange" />
    </TableLayout>
</template>
@@ -112,12 +142,21 @@
    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 { 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
        },
        data () {
            return {
                // 搜索
@@ -129,6 +168,10 @@
                    startTimeS: '',
                    baseSolutionId: '',
                    statusCollect: '2'
                },
                obj: {
                    renewalNum: 0,
                    waitSignNum: 0
                },
                time1: [],
                time2: [],
@@ -144,8 +187,34 @@
            })
            this.search()
            this.loadSelectList()
            this.getNum()
        },
        methods:{
            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 = []