fix: 优化系统页面样式与交互细节
This commit is contained in:
@@ -23,37 +23,46 @@
|
||||
</el-card>
|
||||
|
||||
<el-card class="page-content" shadow="never">
|
||||
<el-table v-loading="loading" :data="list" highlight-current-row border>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="表名" prop="tableName" min-width="100" />
|
||||
<el-table-column label="描述" prop="tableComment" width="150" />
|
||||
<el-table-column label="存储引擎" align="center" prop="engine" />
|
||||
<el-table-column label="排序规则" align="center" prop="tableCollation" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
||||
<el-table-column fixed="right" label="操作" width="200">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="emit('generate', scope.row.tableName)"
|
||||
>
|
||||
<template #icon><MagicStick /></template>
|
||||
生成代码
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.isConfigured === TABLE_CONFIGURED"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="emit('reset-config', scope.row.tableName)"
|
||||
>
|
||||
<template #icon><RefreshLeft /></template>
|
||||
重置配置
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
border
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="表名" prop="tableName" min-width="100" />
|
||||
<el-table-column label="描述" prop="tableComment" width="150" />
|
||||
<el-table-column label="存储引擎" align="center" prop="engine" />
|
||||
<el-table-column label="排序规则" align="center" prop="tableCollation" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
||||
<el-table-column fixed="right" label="操作" width="200">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="emit('generate', scope.row.tableName)"
|
||||
>
|
||||
<template #icon><MagicStick /></template>
|
||||
生成代码
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.isConfigured === TABLE_CONFIGURED"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="emit('reset-config', scope.row.tableName)"
|
||||
>
|
||||
<template #icon><RefreshLeft /></template>
|
||||
重置配置
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -29,41 +29,49 @@
|
||||
</el-card>
|
||||
|
||||
<el-card class="page-content" shadow="never">
|
||||
<el-table v-loading="loading" :data="list" highlight-current-row>
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="通知标题" prop="title" min-width="200" />
|
||||
<el-table-column align="center" label="通知类型" width="150">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.type" code="notice_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="通知等级" width="100">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.level" code="notice_level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
key="releaseTime"
|
||||
align="center"
|
||||
label="发布时间"
|
||||
prop="publishTime"
|
||||
width="150"
|
||||
/>
|
||||
<el-table-column align="center" label="发布人" prop="publisherName" width="150" />
|
||||
<el-table-column align="center" label="状态" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.isRead === NOTICE_READ" type="success">已读</el-tag>
|
||||
<el-tag v-else type="info">未读</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="80">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" size="small" link @click="handleReadNotice(scope.row.id)">
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="通知标题" prop="title" min-width="200" />
|
||||
<el-table-column align="center" label="通知类型" width="150">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.type" code="notice_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="通知等级" width="100">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.level" code="notice_level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
key="releaseTime"
|
||||
align="center"
|
||||
label="发布时间"
|
||||
prop="publishTime"
|
||||
width="150"
|
||||
/>
|
||||
<el-table-column align="center" label="发布人" prop="publisherName" width="150" />
|
||||
<el-table-column align="center" label="状态" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.isRead === NOTICE_READ" type="success">已读</el-tag>
|
||||
<el-tag v-else type="info">未读</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="80">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" size="small" link @click="handleReadNotice(scope.row.id)">
|
||||
查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
|
||||
@@ -54,59 +54,63 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
row-key="id"
|
||||
default-expand-all
|
||||
border
|
||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column prop="name" label="部门名称" min-width="200" />
|
||||
<el-table-column prop="code" label="部门编号" width="200" />
|
||||
<el-table-column prop="status" label="状态" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.status === CommonStatus.ENABLED" type="success">正常</el-tag>
|
||||
<el-tag v-else type="info">禁用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
row-key="id"
|
||||
default-expand-all
|
||||
border
|
||||
height="100%"
|
||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column prop="name" label="部门名称" min-width="200" />
|
||||
<el-table-column prop="code" label="部门编号" width="200" />
|
||||
<el-table-column prop="status" label="状态" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.status === CommonStatus.ENABLED" type="success">正常</el-tag>
|
||||
<el-tag v-else type="info">禁用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="sort" label="排序" width="100" />
|
||||
<el-table-column prop="sort" label="排序" width="100" />
|
||||
|
||||
<el-table-column label="操作" fixed="right" align="left" width="200">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:create']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.id, undefined)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:update']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.parentId, scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:delete']"
|
||||
type="danger"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table-column label="操作" fixed="right" align="left" width="200">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:create']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.id, undefined)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:update']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.parentId, scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:dept:delete']"
|
||||
type="danger"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog
|
||||
|
||||
@@ -40,41 +40,45 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:data="list"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="字典项标签" prop="label" />
|
||||
<el-table-column label="字典项值" prop="value" />
|
||||
<el-table-column label="排序" prop="sort" />
|
||||
<el-table-column label="状态">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "启用" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:data="list"
|
||||
class="page-table"
|
||||
border
|
||||
height="100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="字典项标签" prop="label" />
|
||||
<el-table-column label="字典项值" prop="value" />
|
||||
<el-table-column label="排序" prop="sort" />
|
||||
<el-table-column label="状态">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "启用" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column fixed="right" label="操作" align="center" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleEditClick(scope.row as DictItem)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button type="danger" link size="small" @click.stop="handleDelete(scope.row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table-column fixed="right" label="操作" align="center" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleEditClick(scope.row as DictItem)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button type="danger" link size="small" @click.stop="handleDelete(scope.row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -40,43 +40,52 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:data="list"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="字典名称" prop="name" />
|
||||
<el-table-column label="字典编码" prop="dictCode" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "启用" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDictData(scope.row as any)"
|
||||
>
|
||||
字典数据
|
||||
</el-button>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
highlight-current-row
|
||||
:data="list"
|
||||
class="page-table"
|
||||
border
|
||||
height="100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="字典名称" prop="name" />
|
||||
<el-table-column label="字典编码" prop="dictCode" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "启用" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" align="center" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDictData(scope.row as any)"
|
||||
>
|
||||
字典数据
|
||||
</el-button>
|
||||
|
||||
<el-button type="primary" link size="small" @click.stop="handleEditClick(scope.row.id)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button type="danger" link size="small" @click.stop="handleDelete(scope.row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleEditClick(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button type="danger" link size="small" @click.stop="handleDelete(scope.row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -46,35 +46,49 @@
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<el-table v-loading="loading" :data="list" highlight-current-row border>
|
||||
<el-table-column label="操作标题" prop="title" min-width="180" show-overflow-tooltip />
|
||||
<el-table-column label="状态" prop="status" width="80" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.status === LOG_STATUS_SUCCESS ? 'success' : 'danger'" size="small">
|
||||
{{ row.status === LOG_STATUS_SUCCESS ? "成功" : "失败" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="IP地址" prop="ip" width="140" />
|
||||
<el-table-column label="请求路径" prop="requestUri" min-width="180" show-overflow-tooltip />
|
||||
<el-table-column label="请求方法" prop="requestMethod" width="100" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="getMethodTagType(row.requestMethod)" size="small" effect="plain">
|
||||
{{ row.requestMethod }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="执行时间(ms)" prop="executionTime" width="120" align="center" />
|
||||
<el-table-column label="操作人" prop="operatorName" width="120" />
|
||||
<el-table-column label="操作时间" prop="createTime" width="180" />
|
||||
<el-table-column label="操作" width="80" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" link size="small" @click="handleDetail(row as LogItem)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
class="page-table"
|
||||
:data="list"
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
border
|
||||
>
|
||||
<el-table-column label="操作标题" prop="title" min-width="180" show-overflow-tooltip />
|
||||
<el-table-column label="状态" prop="status" width="80" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.status === LOG_STATUS_SUCCESS ? 'success' : 'danger'" size="small">
|
||||
{{ row.status === LOG_STATUS_SUCCESS ? "成功" : "失败" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="IP地址" prop="ip" width="140" />
|
||||
<el-table-column
|
||||
label="请求路径"
|
||||
prop="requestUri"
|
||||
min-width="180"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="请求方法" prop="requestMethod" width="100" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="getMethodTagType(row.requestMethod)" size="small" effect="plain">
|
||||
{{ row.requestMethod }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="执行时间(ms)" prop="executionTime" width="120" align="center" />
|
||||
<el-table-column label="操作人" prop="operatorName" width="120" />
|
||||
<el-table-column label="操作时间" prop="createTime" width="180" />
|
||||
<el-table-column label="操作" width="80" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" link size="small" @click="handleDetail(row as LogItem)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -39,103 +39,109 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
border
|
||||
row-key="id"
|
||||
:data="list"
|
||||
:tree-props="{
|
||||
children: 'children',
|
||||
hasChildren: 'hasChildren',
|
||||
}"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column label="菜单名称" min-width="200">
|
||||
<template #default="scope">
|
||||
<div class="menu-name-cell">
|
||||
<span class="menu-name-cell__icon">
|
||||
<template v-if="scope.row.icon && scope.row.icon.startsWith('el-icon')">
|
||||
<el-icon style="vertical-align: -0.15em">
|
||||
<component :is="scope.row.icon.replace('el-icon-', '')" />
|
||||
</el-icon>
|
||||
</template>
|
||||
<template v-else-if="scope.row.icon">
|
||||
<span :class="`i-svg:${scope.row.icon}`" />
|
||||
</template>
|
||||
</span>
|
||||
<span class="menu-name-cell__text">{{ scope.row.name }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
class="page-table"
|
||||
border
|
||||
row-key="id"
|
||||
:data="list"
|
||||
height="100%"
|
||||
:tree-props="{
|
||||
children: 'children',
|
||||
hasChildren: 'hasChildren',
|
||||
}"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column label="菜单名称" min-width="200">
|
||||
<template #default="scope">
|
||||
<div class="menu-name-cell">
|
||||
<span class="menu-name-cell__icon">
|
||||
<template v-if="scope.row.icon && scope.row.icon.startsWith('el-icon')">
|
||||
<el-icon style="vertical-align: -0.15em">
|
||||
<component :is="scope.row.icon.replace('el-icon-', '')" />
|
||||
</el-icon>
|
||||
</template>
|
||||
<template v-else-if="scope.row.icon">
|
||||
<span :class="`i-svg:${scope.row.icon}`" />
|
||||
</template>
|
||||
</span>
|
||||
<span class="menu-name-cell__text">{{ scope.row.name }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="类型" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.CATALOG" type="warning">目录</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.MENU" type="success">菜单</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.EXTERNAL" type="primary">外链</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.BUTTON" type="danger">按钮</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="访问路径" align="left" min-width="180">
|
||||
<template #default="scope">
|
||||
{{ getMenuAccessPath(scope.row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="页面组件" align="left" min-width="180">
|
||||
<template #default="scope">
|
||||
{{ getMenuComponentPath(scope.row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="权限标识" align="center" width="200" prop="perm" />
|
||||
<el-table-column v-if="showMenuScope" label="范围" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.scope === MenuScopeEnum.PLATFORM" type="danger">平台</el-tag>
|
||||
<el-tag v-else type="success">业务</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.CATALOG" type="warning">目录</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.MENU" type="success">菜单</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.EXTERNAL" type="primary">外链</el-tag>
|
||||
<el-tag v-if="scope.row.type === MenuTypeEnum.BUTTON" type="danger">按钮</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="访问路径" align="left" min-width="180">
|
||||
<template #default="scope">
|
||||
{{ getMenuAccessPath(scope.row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="页面组件" align="left" min-width="180">
|
||||
<template #default="scope">
|
||||
{{ getMenuComponentPath(scope.row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="权限标识" align="center" width="200" prop="perm" />
|
||||
<el-table-column v-if="showMenuScope" label="范围" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.scope === MenuScopeEnum.PLATFORM" type="danger">平台</el-tag>
|
||||
<el-tag v-else type="success">业务</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="状态" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.visible === CommonStatus.ENABLED" type="success">显示</el-tag>
|
||||
<el-tag v-else type="info">隐藏</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="排序" align="center" width="80" prop="sort" />
|
||||
<el-table-column fixed="right" align="center" label="操作" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="scope.row.type === MenuTypeEnum.CATALOG || scope.row.type === MenuTypeEnum.MENU"
|
||||
v-hasPerm="['sys:menu:create']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.id)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<el-table-column label="状态" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.visible === CommonStatus.ENABLED" type="success">显示</el-tag>
|
||||
<el-tag v-else type="info">隐藏</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="排序" align="center" width="80" prop="sort" />
|
||||
<el-table-column fixed="right" align="center" label="操作" width="220">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-if="
|
||||
scope.row.type === MenuTypeEnum.CATALOG || scope.row.type === MenuTypeEnum.MENU
|
||||
"
|
||||
v-hasPerm="['sys:menu:create']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(scope.row.id)"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-hasPerm="['sys:menu:update']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(undefined, scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:menu:delete']"
|
||||
type="danger"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-button
|
||||
v-hasPerm="['sys:menu:update']"
|
||||
type="primary"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="openDialog(undefined, scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:menu:delete']"
|
||||
type="danger"
|
||||
link
|
||||
size="small"
|
||||
@click.stop="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-drawer
|
||||
|
||||
@@ -60,114 +60,124 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
border
|
||||
highlight-current-row
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="通知标题" prop="title" min-width="200" />
|
||||
<el-table-column align="center" label="通知类型" width="150">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.type" :code="'notice_type'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="发布人" prop="publisherName" width="150" />
|
||||
<el-table-column align="center" label="通知等级" width="100">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.level" code="notice_level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="通告目标类型" prop="targetType" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.targetType === NOTICE_TARGET_ALL" type="warning">全体</el-tag>
|
||||
<el-tag v-if="scope.row.targetType === NOTICE_TARGET_SPECIFIED" type="success">
|
||||
指定
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="发布状态" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.publishStatus === NOTICE_STATUS_DRAFT" type="info">
|
||||
未发布
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED" type="success">
|
||||
已发布
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.publishStatus === NOTICE_STATUS_REVOKED" type="warning">
|
||||
已撤回
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作时间" width="250">
|
||||
<template #default="scope">
|
||||
<div class="flex-x-start">
|
||||
<span>创建时间:</span>
|
||||
<span>{{ scope.row.createTime || "-" }}</span>
|
||||
</div>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
ref="dataTableRef"
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
border
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="通知标题" prop="title" min-width="200" />
|
||||
<el-table-column align="center" label="通知类型" width="150">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.type" :code="'notice_type'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="发布人" prop="publisherName" width="150" />
|
||||
<el-table-column align="center" label="通知等级" width="100">
|
||||
<template #default="scope">
|
||||
<DictTag v-model="scope.row.level" code="notice_level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="通告目标类型" prop="targetType" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.targetType === NOTICE_TARGET_ALL" type="warning">全体</el-tag>
|
||||
<el-tag v-if="scope.row.targetType === NOTICE_TARGET_SPECIFIED" type="success">
|
||||
指定
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="发布状态" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.publishStatus === NOTICE_STATUS_DRAFT" type="info">
|
||||
未发布
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-else-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED"
|
||||
type="success"
|
||||
>
|
||||
已发布
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.publishStatus === NOTICE_STATUS_REVOKED" type="warning">
|
||||
已撤回
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作时间" width="250">
|
||||
<template #default="scope">
|
||||
<div class="flex-x-start">
|
||||
<span>创建时间:</span>
|
||||
<span>{{ scope.row.createTime || "-" }}</span>
|
||||
</div>
|
||||
|
||||
<div v-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED" class="flex-x-start">
|
||||
<span>发布时间:</span>
|
||||
<span>{{ scope.row.publishTime || "-" }}</span>
|
||||
</div>
|
||||
<div v-else-if="scope.row.publishStatus === NOTICE_STATUS_REVOKED" class="flex-x-start">
|
||||
<span>撤回时间:</span>
|
||||
<span>{{ scope.row.revokeTime || "-" }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="150">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" size="small" link @click="openDetailDialog(scope.row.id)">
|
||||
查看
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:publish']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handlePublish(scope.row.id)"
|
||||
>
|
||||
发布
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:revoke']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handleRevoke(scope.row.id)"
|
||||
>
|
||||
撤回
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="openDialog(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED" class="flex-x-start">
|
||||
<span>发布时间:</span>
|
||||
<span>{{ scope.row.publishTime || "-" }}</span>
|
||||
</div>
|
||||
<div
|
||||
v-else-if="scope.row.publishStatus === NOTICE_STATUS_REVOKED"
|
||||
class="flex-x-start"
|
||||
>
|
||||
<span>撤回时间:</span>
|
||||
<span>{{ scope.row.revokeTime || "-" }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="150">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" size="small" link @click="openDetailDialog(scope.row.id)">
|
||||
查看
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:publish']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handlePublish(scope.row.id)"
|
||||
>
|
||||
发布
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus === NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:revoke']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handleRevoke(scope.row.id)"
|
||||
>
|
||||
撤回
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="openDialog(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.publishStatus !== NOTICE_STATUS_PUBLISHED"
|
||||
v-hasPerm="['sys:notice:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -54,97 +54,101 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
highlight-current-row
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
:selectable="isTenantSelectable"
|
||||
/>
|
||||
<el-table-column label="租户名称" prop="name" min-width="140" />
|
||||
<el-table-column label="租户编码" prop="code" width="120" />
|
||||
<el-table-column label="租户套餐" min-width="120">
|
||||
<template #default="scope">
|
||||
<span>{{ resolvePlanLabel(scope.row.planId) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="域名" prop="domain" min-width="140" />
|
||||
<el-table-column label="联系人" prop="contactName" width="100" />
|
||||
<el-table-column label="电话" prop="contactPhone" width="120" />
|
||||
<el-table-column label="状态" width="90" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "正常" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="过期时间" prop="expireTime" width="160" />
|
||||
<el-table-column label="创建时间" prop="createTime" width="160" />
|
||||
<el-table-column fixed="right" label="操作" width="320">
|
||||
<template #default="scope">
|
||||
<el-tooltip
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
content="更换租户套餐(将影响可用功能)"
|
||||
placement="top"
|
||||
>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
highlight-current-row
|
||||
class="page-table"
|
||||
border
|
||||
height="100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
:selectable="isTenantSelectable"
|
||||
/>
|
||||
<el-table-column label="租户名称" prop="name" min-width="140" />
|
||||
<el-table-column label="租户编码" prop="code" width="120" />
|
||||
<el-table-column label="租户套餐" min-width="120">
|
||||
<template #default="scope">
|
||||
<span>{{ resolvePlanLabel(scope.row.planId) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="域名" prop="domain" min-width="140" />
|
||||
<el-table-column label="联系人" prop="contactName" width="100" />
|
||||
<el-table-column label="电话" prop="contactPhone" width="120" />
|
||||
<el-table-column label="状态" width="90" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === CommonStatus.ENABLED ? 'success' : 'info'">
|
||||
{{ scope.row.status === CommonStatus.ENABLED ? "正常" : "禁用" }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="过期时间" prop="expireTime" width="160" />
|
||||
<el-table-column label="创建时间" prop="createTime" width="160" />
|
||||
<el-table-column fixed="right" label="操作" width="320">
|
||||
<template #default="scope">
|
||||
<el-tooltip
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
content="更换租户套餐(将影响可用功能)"
|
||||
placement="top"
|
||||
>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant:plan-assign']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
icon="menu"
|
||||
title="更换租户套餐(将影响可用功能)"
|
||||
@click="openTenantPlanDialog(scope.row)"
|
||||
>
|
||||
更换套餐
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
content="在当前套餐范围内配置租户可用功能"
|
||||
placement="top"
|
||||
>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant:plan-assign']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
icon="setting"
|
||||
:disabled="!scope.row.planId"
|
||||
title="在当前套餐范围内配置租户可用功能"
|
||||
@click="openTenantCustomizeDialog(scope.row)"
|
||||
>
|
||||
套餐功能配置
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant:plan-assign']"
|
||||
v-hasPerm="['sys:tenant:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
icon="menu"
|
||||
title="更换租户套餐(将影响可用功能)"
|
||||
@click="openTenantPlanDialog(scope.row)"
|
||||
@click="openDialog(scope.row.id)"
|
||||
>
|
||||
更换套餐
|
||||
编辑
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
content="在当前套餐范围内配置租户可用功能"
|
||||
placement="top"
|
||||
>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant:plan-assign']"
|
||||
type="primary"
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
v-hasPerm="['sys:tenant:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
icon="setting"
|
||||
:disabled="!scope.row.planId"
|
||||
title="在当前套餐范围内配置租户可用功能"
|
||||
@click="openTenantCustomizeDialog(scope.row)"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
套餐功能配置
|
||||
删除
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="openDialog(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="!isPlatformTenantId(scope.row.id)"
|
||||
v-hasPerm="['sys:tenant:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
@@ -50,52 +50,61 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-table v-loading="loading" :data="list" highlight-current-row border>
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="套餐名称" prop="name" min-width="120" />
|
||||
<el-table-column label="套餐编码" prop="code" width="160" />
|
||||
<el-table-column label="状态" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.status === CommonStatus.ENABLED" type="success">启用</el-tag>
|
||||
<el-tag v-else type="info">停用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="排序" prop="sort" width="80" align="center" />
|
||||
<el-table-column label="备注" prop="remark" min-width="140" />
|
||||
<el-table-column label="创建时间" prop="createTime" width="180" />
|
||||
<el-table-column fixed="right" label="操作" width="240">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:assign']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
icon="menu"
|
||||
@click="handleAssignMenuClick(scope.row)"
|
||||
>
|
||||
菜单配置
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handleEditClick(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-table-wrapper">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
class="page-table"
|
||||
height="100%"
|
||||
highlight-current-row
|
||||
border
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="60" />
|
||||
<el-table-column label="套餐名称" prop="name" min-width="120" />
|
||||
<el-table-column label="套餐编码" prop="code" width="160" />
|
||||
<el-table-column label="状态" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.status === CommonStatus.ENABLED" type="success">启用</el-tag>
|
||||
<el-tag v-else type="info">停用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="排序" prop="sort" width="80" align="center" />
|
||||
<el-table-column label="备注" prop="remark" min-width="140" />
|
||||
<el-table-column label="创建时间" prop="createTime" width="180" />
|
||||
<el-table-column fixed="right" label="操作" width="240">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:assign']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
icon="menu"
|
||||
@click="handleAssignMenuClick(scope.row)"
|
||||
>
|
||||
菜单配置
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:update']"
|
||||
type="primary"
|
||||
size="small"
|
||||
link
|
||||
@click="handleEditClick(scope.row.id)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPerm="['sys:tenant-plan:delete']"
|
||||
type="danger"
|
||||
size="small"
|
||||
link
|
||||
@click="handleDelete(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<pagination
|
||||
v-if="total > 0"
|
||||
|
||||
Reference in New Issue
Block a user