MrShi
2024-01-26 58c2e3e1dd75513b90f878684e913d85db41cc41
company/src/views/business/solutions.vue
@@ -19,16 +19,25 @@
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:solutions:create']">
                <li><el-button type="primary" @click="$refs.operaSolutionsWindow.open('新建保险方案')" icon="el-icon-plus" v-permissions="['business:solutions:create']">新建</el-button></li>
                <li><el-button type="primary" @click="$refs.operaSolutionsWindow.open('新建保险方案')" v-permissions="['business:solutions:create']">添加方案</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
            >
                <el-table-column label="序号" width="80px">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insuranceId" label="保险公司" min-width="100px"></el-table-column>
                <el-table-column prop="insuranceId" label="投保年龄" min-width="100px"></el-table-column>
                <el-table-column prop="insuranceName" label="保险公司" min-width="100px"></el-table-column>
                <el-table-column label="投保年龄" min-width="100px">
                    <template slot-scope="{row}">
                        <span>{{row.minAge}}至{{row.maxAge}}岁</span>
                    </template>
                </el-table-column>
                <el-table-column label="投保生效日期" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.validType === 0">日后生效</span>
@@ -37,12 +46,17 @@
                </el-table-column>
                <el-table-column label="保险费用" min-width="100px">
                    <template slot-scope="{row}">
                        <span>{{row.price}}元/人/月</span>
                        <span>{{row.price}}元/人/</span>
                        <span v-if="row.timeUnit === 0">天</span>
                        <span v-if="row.timeUnit === 1">半月</span>
                        <span v-if="row.timeUnit === 2">月</span>
                        <span v-if="row.timeUnit === 3">年</span>
                    </template>
                </el-table-column>
                <el-table-column prop="status" label="启用状态" min-width="100px">
                    <template slot-scope="{row}">
                        <el-switch
                            @change="changeStatus($event, row)"
                            v-model="row.status"
                            active-color="#13ce66"
                            inactive-color="#ff4949"
@@ -51,10 +65,6 @@
                        </el-switch>
                    </template>
                </el-table-column>
                <el-table-column prop="minAge" label="最低年龄" min-width="100px"></el-table-column>
                <el-table-column prop="maxAge" label="最高年龄" min-width="100px"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:solutions:update', 'business:solutions:delete'])"
                    label="操作"
@@ -62,8 +72,8 @@
                    fixed="right"
                >
                    <template slot-scope="{row}">
                        <el-button type="text" @click="$refs.operaSolutionsWindow.open('方案详情', row)" icon="el-icon-edit" v-permissions="['business:solutions:update']">查看详情</el-button>
                        <el-button type="text" @click="$refs.operaSolutionsWindow.open('编辑保险方案', row)" icon="el-icon-edit" v-permissions="['business:solutions:update']">修改</el-button>
                        <el-button type="text" @click="$refs.OperaSolutionsDescWindow.open('方案详情', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">查看详情</el-button>
                        <el-button type="text" @click="$refs.operaSolutionsWindow.open('编辑保险方案', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">修改</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -87,6 +97,7 @@
    import Pagination from '@/components/common/Pagination'
    import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
    import OperaSolutionsDescWindow from '@/components/business/OperaSolutionsDescWindow'
    import { updateStatus } from '@/api/business/solutions'
    export default {
        name: 'Solutions',
        extends: BaseTable,
@@ -108,6 +119,18 @@
                'field.main': 'id'
            })
            this.search()
        },
        methods: {
            // 修改状态
            changeStatus(status, row) {
                updateStatus({ id: row.id, status })
                    .then(res => {
                        this.search()
                    })
                    .catch(err => {
                        row.status = row.status === 0 ? 1 : 0
                    })
            }
        }
    }
</script>