update: 系统管理模块添加面包屑
This commit is contained in:
parent
d526158076
commit
063c6bbe8d
|
@ -1,13 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<page-container> 应用管理
|
||||||
应用管理
|
</page-container>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
</script>
|
<style scoped></style>
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
|
@ -1,124 +1,134 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="data-source-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" @search="query.search" />
|
<div class="data-source-container">
|
||||||
|
<Search :columns="query.columns" @search="query.search" />
|
||||||
|
|
||||||
<JTable
|
<JTable
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:columns="table.columns"
|
:columns="table.columns"
|
||||||
:request="getDataSourceList_api"
|
:request="getDataSourceList_api"
|
||||||
model="TABLE"
|
model="TABLE"
|
||||||
:params="query.params.value"
|
:params="query.params.value"
|
||||||
:defaultParams="{ sorts: [{ name: 'createTime', order: 'desc' }] }"
|
:defaultParams="{
|
||||||
>
|
sorts: [{ name: 'createTime', order: 'desc' }],
|
||||||
<template #headerTitle>
|
}"
|
||||||
<PermissionButton
|
>
|
||||||
type="primary"
|
<template #headerTitle>
|
||||||
:uhasPermission="`${permission}:add`"
|
|
||||||
@click="table.openDialog({})"
|
|
||||||
>
|
|
||||||
<AIcon type="PlusOutlined" />新增
|
|
||||||
</PermissionButton>
|
|
||||||
</template>
|
|
||||||
<template #state="slotProps">
|
|
||||||
<BadgeStatus
|
|
||||||
:status="slotProps.state?.value"
|
|
||||||
:text="slotProps.state?.text"
|
|
||||||
:statusNames="{
|
|
||||||
enabled: 'success',
|
|
||||||
disabled: 'error',
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
</BadgeStatus>
|
|
||||||
</template>
|
|
||||||
<template #typeId="slotProps">
|
|
||||||
{{
|
|
||||||
(table.typeOptions.value.length &&
|
|
||||||
table.getTypeLabel(slotProps.typeId)) ||
|
|
||||||
''
|
|
||||||
}}
|
|
||||||
</template>
|
|
||||||
<template #action="slotProps">
|
|
||||||
<a-space :size="16">
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:update`"
|
type="primary"
|
||||||
type="link"
|
:uhasPermission="`${permission}:add`"
|
||||||
:tooltip="{
|
@click="table.openDialog({})"
|
||||||
title: '编辑',
|
|
||||||
}"
|
|
||||||
@click="table.openDialog(slotProps)"
|
|
||||||
>
|
>
|
||||||
<AIcon type="EditOutlined" />
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
</template>
|
||||||
:uhasPermission="`${permission}:manage`"
|
<template #state="slotProps">
|
||||||
type="link"
|
<BadgeStatus
|
||||||
:tooltip="{
|
:status="slotProps.state?.value"
|
||||||
title:
|
:text="slotProps.state?.text"
|
||||||
slotProps?.typeId === 'rabbitmq'
|
:statusNames="{
|
||||||
? '暂不支持管理功能'
|
enabled: 'success',
|
||||||
: table.getRowStatus(slotProps)
|
disabled: 'error',
|
||||||
? '管理'
|
|
||||||
: '请先启用数据源',
|
|
||||||
}"
|
|
||||||
@click="
|
|
||||||
() =>
|
|
||||||
router.push(
|
|
||||||
`/system/DataSource/Management?id=${slotProps.id}`,
|
|
||||||
)
|
|
||||||
"
|
|
||||||
:disabled="slotProps?.typeId === 'rabbitmq' || !table.getRowStatus(slotProps)"
|
|
||||||
>
|
|
||||||
<AIcon type="icon-ziyuankuguanli" />
|
|
||||||
</PermissionButton>
|
|
||||||
<PermissionButton
|
|
||||||
:uhasPermission="`${permission}:action`"
|
|
||||||
type="link"
|
|
||||||
:popConfirm="{
|
|
||||||
title: `确定要${
|
|
||||||
table.getRowStatus(slotProps) ? '禁用' : '启用'
|
|
||||||
}吗?`,
|
|
||||||
onConfirm: () => table.clickChangeStatus(slotProps),
|
|
||||||
}"
|
|
||||||
:tooltip="{
|
|
||||||
title: table.getRowStatus(slotProps)
|
|
||||||
? '禁用'
|
|
||||||
: '启用',
|
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<AIcon
|
</BadgeStatus>
|
||||||
:type="
|
</template>
|
||||||
table.getRowStatus(slotProps)
|
<template #typeId="slotProps">
|
||||||
? 'StopOutlined'
|
{{
|
||||||
: 'PlayCircleOutlined'
|
(table.typeOptions.value.length &&
|
||||||
|
table.getTypeLabel(slotProps.typeId)) ||
|
||||||
|
''
|
||||||
|
}}
|
||||||
|
</template>
|
||||||
|
<template #action="slotProps">
|
||||||
|
<a-space :size="16">
|
||||||
|
<PermissionButton
|
||||||
|
:uhasPermission="`${permission}:update`"
|
||||||
|
type="link"
|
||||||
|
:tooltip="{
|
||||||
|
title: '编辑',
|
||||||
|
}"
|
||||||
|
@click="table.openDialog(slotProps)"
|
||||||
|
>
|
||||||
|
<AIcon type="EditOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
<PermissionButton
|
||||||
|
:uhasPermission="`${permission}:manage`"
|
||||||
|
type="link"
|
||||||
|
:tooltip="{
|
||||||
|
title:
|
||||||
|
slotProps?.typeId === 'rabbitmq'
|
||||||
|
? '暂不支持管理功能'
|
||||||
|
: table.getRowStatus(slotProps)
|
||||||
|
? '管理'
|
||||||
|
: '请先启用数据源',
|
||||||
|
}"
|
||||||
|
@click="
|
||||||
|
() =>
|
||||||
|
router.push(
|
||||||
|
`/system/DataSource/Management?id=${slotProps.id}`,
|
||||||
|
)
|
||||||
"
|
"
|
||||||
/>
|
:disabled="
|
||||||
<!-- <AIcon type="PlayCircleOutlined" /> -->
|
slotProps?.typeId === 'rabbitmq' ||
|
||||||
</PermissionButton>
|
!table.getRowStatus(slotProps)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<AIcon type="icon-ziyuankuguanli" />
|
||||||
|
</PermissionButton>
|
||||||
|
<PermissionButton
|
||||||
|
:uhasPermission="`${permission}:action`"
|
||||||
|
type="link"
|
||||||
|
:popConfirm="{
|
||||||
|
title: `确定要${
|
||||||
|
table.getRowStatus(slotProps)
|
||||||
|
? '禁用'
|
||||||
|
: '启用'
|
||||||
|
}吗?`,
|
||||||
|
onConfirm: () =>
|
||||||
|
table.clickChangeStatus(slotProps),
|
||||||
|
}"
|
||||||
|
:tooltip="{
|
||||||
|
title: table.getRowStatus(slotProps)
|
||||||
|
? '禁用'
|
||||||
|
: '启用',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<AIcon
|
||||||
|
:type="
|
||||||
|
table.getRowStatus(slotProps)
|
||||||
|
? 'StopOutlined'
|
||||||
|
: 'PlayCircleOutlined'
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<!-- <AIcon type="PlayCircleOutlined" /> -->
|
||||||
|
</PermissionButton>
|
||||||
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:delete`"
|
:uhasPermission="`${permission}:delete`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: table.getRowStatus(slotProps)
|
title: table.getRowStatus(slotProps)
|
||||||
? '请先禁用,再删除'
|
? '请先禁用,再删除'
|
||||||
: '删除',
|
: '删除',
|
||||||
}"
|
}"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确认删除`,
|
title: `确认删除`,
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
}"
|
}"
|
||||||
:disabled="table.getRowStatus(slotProps)"
|
:disabled="table.getRowStatus(slotProps)"
|
||||||
>
|
>
|
||||||
<AIcon type="DeleteOutlined" />
|
<AIcon type="DeleteOutlined" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</JTable>
|
</JTable>
|
||||||
|
|
||||||
<div class="dialogs">
|
<div class="dialogs">
|
||||||
<EditDialog ref="editDialogRef" @confirm="table.refresh" />
|
<EditDialog ref="editDialogRef" @confirm="table.refresh" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="DataSource">
|
<script setup lang="ts" name="DataSource">
|
||||||
|
@ -132,7 +142,7 @@ import {
|
||||||
getDataSourceList_api,
|
getDataSourceList_api,
|
||||||
getDataTypeDict_api,
|
getDataTypeDict_api,
|
||||||
changeStatus_api,
|
changeStatus_api,
|
||||||
delDataSource_api
|
delDataSource_api,
|
||||||
} from '@/api/system/dataSource';
|
} from '@/api/system/dataSource';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
|
||||||
|
@ -243,7 +253,7 @@ const table = {
|
||||||
key: 'action',
|
key: 'action',
|
||||||
scopedSlots: true,
|
scopedSlots: true,
|
||||||
width: '200px',
|
width: '200px',
|
||||||
fixed:'right'
|
fixed: 'right',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -298,7 +308,6 @@ table.getTypeOption();
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.data-source-container {
|
.data-source-container {
|
||||||
padding: 24px;
|
|
||||||
:deep(.ant-table-cell) {
|
:deep(.ant-table-cell) {
|
||||||
.ant-btn-link {
|
.ant-btn-link {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -1,30 +1,32 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="department-container">
|
<page-container>
|
||||||
<a-card class="department-content">
|
<div class="department-container">
|
||||||
<div class="left">
|
<a-card class="department-content">
|
||||||
<LeftTree @change="(id) => (departmentId = id)" />
|
<div class="left">
|
||||||
</div>
|
<LeftTree @change="(id) => (departmentId = id)" />
|
||||||
<div class="right">
|
</div>
|
||||||
<a-tabs v-model:activeKey="activeKey">
|
<div class="right">
|
||||||
<a-tab-pane key="product" tab="产品">
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<Product
|
<a-tab-pane key="product" tab="产品">
|
||||||
:parentId="departmentId"
|
<Product
|
||||||
@open-device-bind="openDeviceBind"
|
:parentId="departmentId"
|
||||||
/>
|
@open-device-bind="openDeviceBind"
|
||||||
</a-tab-pane>
|
/>
|
||||||
<a-tab-pane key="device" tab="设备">
|
</a-tab-pane>
|
||||||
<Device
|
<a-tab-pane key="device" tab="设备">
|
||||||
:parentId="departmentId"
|
<Device
|
||||||
v-model:bindBool="bindBool"
|
:parentId="departmentId"
|
||||||
/>
|
v-model:bindBool="bindBool"
|
||||||
</a-tab-pane>
|
/>
|
||||||
<a-tab-pane key="user" tab="用户">
|
</a-tab-pane>
|
||||||
<User :parentId="departmentId" />
|
<a-tab-pane key="user" tab="用户">
|
||||||
</a-tab-pane>
|
<User :parentId="departmentId" />
|
||||||
</a-tabs>
|
</a-tab-pane>
|
||||||
</div>
|
</a-tabs>
|
||||||
</a-card>
|
</div>
|
||||||
</div>
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="Department">
|
<script setup lang="ts" name="Department">
|
||||||
|
@ -46,7 +48,6 @@ const openDeviceBind = () => {
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.department-container {
|
.department-container {
|
||||||
padding: 24px;
|
|
||||||
.department-content {
|
.department-content {
|
||||||
:deep(.ant-card-body) {
|
:deep(.ant-card-body) {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="menu-detail-container">
|
<page-container>
|
||||||
<a-tabs v-model:activeKey="activeKey">
|
<div class="menu-detail-container">
|
||||||
<a-tab-pane key="basic" tab="基本信息"> <BasicInfo /> </a-tab-pane>
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="button" tab="按钮管理">
|
<a-tab-pane key="basic" tab="基本信息">
|
||||||
<ButtonMange />
|
<BasicInfo />
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
<a-tab-pane key="button" tab="按钮管理">
|
||||||
</div>
|
<ButtonMange />
|
||||||
|
</a-tab-pane>
|
||||||
|
</a-tabs>
|
||||||
|
</div>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -24,7 +28,7 @@ const activeKey = ref('basic');
|
||||||
}
|
}
|
||||||
.ant-tabs-tabpane {
|
.ant-tabs-tabpane {
|
||||||
background-color: #f0f2f5;
|
background-color: #f0f2f5;
|
||||||
padding: 24px;
|
padding-top: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,73 +1,79 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="menu-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" @search="query.search" />
|
<div class="menu-container">
|
||||||
|
<Search :columns="query.columns" @search="query.search" />
|
||||||
<JTable
|
|
||||||
ref="tableRef"
|
|
||||||
:columns="table.columns"
|
|
||||||
:request="table.getList"
|
|
||||||
model="TABLE"
|
|
||||||
:params="query.params"
|
|
||||||
>
|
|
||||||
<template #headerTitle>
|
|
||||||
<PermissionButton
|
|
||||||
type="primary"
|
|
||||||
:uhasPermission="`${permission}:add`"
|
|
||||||
@click="table.toDetails({})"
|
|
||||||
>
|
|
||||||
<AIcon type="PlusOutlined" />新增
|
|
||||||
</PermissionButton>
|
|
||||||
<a-button
|
|
||||||
style="margin-left: 12px"
|
|
||||||
@click="router.push('/system/Menu/Setting')"
|
|
||||||
>菜单配置</a-button
|
|
||||||
>
|
|
||||||
<!-- <PermissionButton
|
|
||||||
:uhasPermission="true"
|
|
||||||
@click="router.push('/system/Menu/Setting')"
|
|
||||||
>
|
|
||||||
菜单配置
|
|
||||||
</PermissionButton> -->
|
|
||||||
</template>
|
|
||||||
<template #createTime="slotProps">
|
|
||||||
{{ moment(slotProps.createTime).format('YYYY-MM-DD HH:mm:ss') }}
|
|
||||||
</template>
|
|
||||||
<template #action="slotProps">
|
|
||||||
<a-space :size="16">
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>查看</template>
|
|
||||||
<a-button
|
|
||||||
style="padding: 0"
|
|
||||||
type="link"
|
|
||||||
@click="table.toDetails(slotProps)"
|
|
||||||
>
|
|
||||||
<search-outlined />
|
|
||||||
</a-button>
|
|
||||||
</a-tooltip>
|
|
||||||
|
|
||||||
|
<JTable
|
||||||
|
ref="tableRef"
|
||||||
|
:columns="table.columns"
|
||||||
|
:request="table.getList"
|
||||||
|
model="TABLE"
|
||||||
|
:params="query.params"
|
||||||
|
>
|
||||||
|
<template #headerTitle>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
type="link"
|
type="primary"
|
||||||
:uhasPermission="`${permission}:add`"
|
:uhasPermission="`${permission}:add`"
|
||||||
:tooltip="{ title: '新增子菜单' }"
|
@click="table.toDetails({})"
|
||||||
@click="table.addChildren(slotProps)"
|
|
||||||
>
|
>
|
||||||
<AIcon type="PlusCircleOutlined" />
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
<a-button
|
||||||
type="link"
|
style="margin-left: 12px"
|
||||||
:uhasPermission="`${permission}:delete`"
|
@click="router.push('/system/Menu/Setting')"
|
||||||
:tooltip="{ title: '删除' }"
|
>菜单配置</a-button
|
||||||
:popConfirm="{
|
|
||||||
title: `是否删除该菜单`,
|
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
|
||||||
}"
|
|
||||||
>
|
>
|
||||||
<AIcon type="DeleteOutlined" />
|
<!-- <PermissionButton
|
||||||
</PermissionButton>
|
:uhasPermission="true"
|
||||||
</a-space>
|
@click="router.push('/system/Menu/Setting')"
|
||||||
</template>
|
>
|
||||||
</JTable>
|
菜单配置
|
||||||
</div>
|
</PermissionButton> -->
|
||||||
|
</template>
|
||||||
|
<template #createTime="slotProps">
|
||||||
|
{{
|
||||||
|
moment(slotProps.createTime).format(
|
||||||
|
'YYYY-MM-DD HH:mm:ss',
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
</template>
|
||||||
|
<template #action="slotProps">
|
||||||
|
<a-space :size="16">
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>查看</template>
|
||||||
|
<a-button
|
||||||
|
style="padding: 0"
|
||||||
|
type="link"
|
||||||
|
@click="table.toDetails(slotProps)"
|
||||||
|
>
|
||||||
|
<search-outlined />
|
||||||
|
</a-button>
|
||||||
|
</a-tooltip>
|
||||||
|
|
||||||
|
<PermissionButton
|
||||||
|
type="link"
|
||||||
|
:uhasPermission="`${permission}:add`"
|
||||||
|
:tooltip="{ title: '新增子菜单' }"
|
||||||
|
@click="table.addChildren(slotProps)"
|
||||||
|
>
|
||||||
|
<AIcon type="PlusCircleOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
<PermissionButton
|
||||||
|
type="link"
|
||||||
|
:uhasPermission="`${permission}:delete`"
|
||||||
|
:tooltip="{ title: '删除' }"
|
||||||
|
:popConfirm="{
|
||||||
|
title: `是否删除该菜单`,
|
||||||
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<AIcon type="DeleteOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
|
</JTable>
|
||||||
|
</div>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -269,8 +275,6 @@ const table = reactive({
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.menu-container {
|
.menu-container {
|
||||||
padding: 24px;
|
|
||||||
|
|
||||||
:deep(.ant-table-cell) {
|
:deep(.ant-table-cell) {
|
||||||
.ant-btn-link {
|
.ant-btn-link {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -1,120 +1,127 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="permission-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" @search="query.search" />
|
<div class="permission-container">
|
||||||
|
<Search :columns="query.columns" @search="query.search" />
|
||||||
|
|
||||||
<JTable
|
<JTable
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:columns="table.columns"
|
:columns="table.columns"
|
||||||
:request="getPermission_api"
|
:request="getPermission_api"
|
||||||
model="TABLE"
|
model="TABLE"
|
||||||
:params="query.params"
|
:params="query.params"
|
||||||
:defaultParams="{ sorts: [{ name: 'id', order: 'asc' }] }"
|
:defaultParams="{ sorts: [{ name: 'id', order: 'asc' }] }"
|
||||||
>
|
>
|
||||||
<template #headerTitle>
|
<template #headerTitle>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
type="primary"
|
type="primary"
|
||||||
:uhasPermission="`${permission}:add`"
|
:uhasPermission="`${permission}:add`"
|
||||||
@click="table.openDialog(undefined)"
|
@click="table.openDialog(undefined)"
|
||||||
>
|
>
|
||||||
<AIcon type="PlusOutlined" />新增
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<a-dropdown trigger="hover">
|
<a-dropdown trigger="hover">
|
||||||
<a-button>批量操作</a-button>
|
<a-button>批量操作</a-button>
|
||||||
<template #overlay>
|
<template #overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-upload
|
<a-upload
|
||||||
name="file"
|
name="file"
|
||||||
action="#"
|
action="#"
|
||||||
accept=".json"
|
accept=".json"
|
||||||
:showUploadList="false"
|
:showUploadList="false"
|
||||||
:before-upload="table.clickImport"
|
:before-upload="table.clickImport"
|
||||||
:disabled="
|
:disabled="
|
||||||
!hasPermission(`${permission}:import`)
|
!hasPermission(
|
||||||
"
|
`${permission}:import`,
|
||||||
>
|
)
|
||||||
<PermissionButton
|
"
|
||||||
:hasPermission="`${permission}:import`"
|
|
||||||
>
|
>
|
||||||
导入
|
<PermissionButton
|
||||||
|
:hasPermission="`${permission}:import`"
|
||||||
|
>
|
||||||
|
导入
|
||||||
|
</PermissionButton>
|
||||||
|
</a-upload>
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item>
|
||||||
|
<PermissionButton
|
||||||
|
:uhasPermission="`${permission}:export`"
|
||||||
|
:popConfirm="{
|
||||||
|
title: `确认导出?`,
|
||||||
|
onConfirm: () =>
|
||||||
|
table.clickExport(),
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
导出
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</a-upload>
|
</a-menu-item>
|
||||||
</a-menu-item>
|
</a-menu>
|
||||||
<a-menu-item>
|
</template>
|
||||||
<PermissionButton
|
</a-dropdown>
|
||||||
:uhasPermission="`${permission}:export`"
|
</template>
|
||||||
:popConfirm="{
|
<template #status="slotProps">
|
||||||
title: `确认导出?`,
|
<StatusLabel :status-value="slotProps.status" />
|
||||||
onConfirm: () => table.clickExport(),
|
</template>
|
||||||
}"
|
<template #action="slotProps">
|
||||||
>
|
<a-space :size="16">
|
||||||
导出
|
<PermissionButton
|
||||||
</PermissionButton>
|
:uhasPermission="`${permission}:update`"
|
||||||
</a-menu-item>
|
type="link"
|
||||||
</a-menu>
|
:tooltip="{
|
||||||
</template>
|
title: '编辑',
|
||||||
</a-dropdown>
|
}"
|
||||||
</template>
|
@click="table.openDialog(slotProps)"
|
||||||
<template #status="slotProps">
|
>
|
||||||
<StatusLabel :status-value="slotProps.status" />
|
<AIcon type="EditOutlined" />
|
||||||
</template>
|
</PermissionButton>
|
||||||
<template #action="slotProps">
|
|
||||||
<a-space :size="16">
|
|
||||||
<PermissionButton
|
|
||||||
:uhasPermission="`${permission}:update`"
|
|
||||||
type="link"
|
|
||||||
:tooltip="{
|
|
||||||
title: '编辑',
|
|
||||||
}"
|
|
||||||
@click="table.openDialog(slotProps)"
|
|
||||||
>
|
|
||||||
<AIcon type="EditOutlined" />
|
|
||||||
</PermissionButton>
|
|
||||||
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:action`"
|
:uhasPermission="`${permission}:action`"
|
||||||
type="link"
|
type="link"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确定要${
|
title: `确定要${
|
||||||
slotProps.status ? '禁用' : '启用'
|
slotProps.status ? '禁用' : '启用'
|
||||||
}吗?`,
|
}吗?`,
|
||||||
onConfirm: () => table.changeStatus(slotProps),
|
onConfirm: () => table.changeStatus(slotProps),
|
||||||
}"
|
}"
|
||||||
:tooltip="{ title: slotProps.status ? '禁用' : '启用' }"
|
:tooltip="{
|
||||||
>
|
title: slotProps.status ? '禁用' : '启用',
|
||||||
<AIcon
|
}"
|
||||||
:type="
|
>
|
||||||
slotProps.status
|
<AIcon
|
||||||
? 'StopOutlined'
|
:type="
|
||||||
: 'PlayCircleOutlined '
|
slotProps.status
|
||||||
"
|
? 'StopOutlined'
|
||||||
/>
|
: 'PlayCircleOutlined '
|
||||||
</PermissionButton>
|
"
|
||||||
|
/>
|
||||||
|
</PermissionButton>
|
||||||
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:delete`"
|
:uhasPermission="`${permission}:delete`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: slotProps.status
|
title: slotProps.status
|
||||||
? '请先禁用,再删除'
|
? '请先禁用,再删除'
|
||||||
: '删除',
|
: '删除',
|
||||||
}"
|
}"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确认删除`,
|
title: `确认删除`,
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
}"
|
}"
|
||||||
:disabled="slotProps.status"
|
:disabled="slotProps.status"
|
||||||
>
|
>
|
||||||
<AIcon type="DeleteOutlined" />
|
<AIcon type="DeleteOutlined" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</JTable>
|
</JTable>
|
||||||
|
|
||||||
<div class="dialogs">
|
<div class="dialogs">
|
||||||
<EditDialog ref="editDialogRef" @refresh="table.refresh" />
|
<EditDialog ref="editDialogRef" @refresh="table.refresh" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -281,7 +288,6 @@ const table = reactive({
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.permission-container {
|
.permission-container {
|
||||||
padding: 24px;
|
|
||||||
|
|
||||||
.ant-dropdown-trigger {
|
.ant-dropdown-trigger {
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<a-card class="api-page-container">
|
<a-card class="api-page-container">
|
||||||
|
<p>
|
||||||
|
<AIcon type="ExclamationCircleOutlined" style="margin-right: 12px;" />配置系统支持API赋权的范围
|
||||||
|
</p>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="5">
|
<a-col :span="5">
|
||||||
<LeftTree @select="treeSelect" :mode="props.mode" />
|
<LeftTree @select="treeSelect" :mode="props.mode" />
|
||||||
|
@ -117,7 +120,6 @@ function init() {
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.api-page-container {
|
.api-page-container {
|
||||||
padding: 24px;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<page-container>
|
||||||
<Api mode="api" />
|
<Api mode="api" />
|
||||||
</div>
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="Platforms">
|
<script setup lang="ts" name="Platforms">
|
||||||
|
|
|
@ -1,55 +1,59 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="relationship-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" @search="query.search" />
|
<div class="relationship-container">
|
||||||
|
<Search :columns="query.columns" @search="query.search" />
|
||||||
|
|
||||||
<JTable
|
<JTable
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:columns="table.columns"
|
:columns="table.columns"
|
||||||
:request="getRelationshipList_api"
|
:request="getRelationshipList_api"
|
||||||
model="TABLE"
|
model="TABLE"
|
||||||
:params="query.params.value"
|
:params="query.params.value"
|
||||||
:defaultParams="{ sorts: [{ name: 'createTime', order: 'desc' }] }"
|
:defaultParams="{
|
||||||
>
|
sorts: [{ name: 'createTime', order: 'desc' }],
|
||||||
<template #headerTitle>
|
}"
|
||||||
<PermissionButton
|
>
|
||||||
type="primary"
|
<template #headerTitle>
|
||||||
:uhasPermission="`${permission}:add`"
|
|
||||||
@click="table.openDialog(undefined)"
|
|
||||||
>
|
|
||||||
<AIcon type="PlusOutlined" />新增
|
|
||||||
</PermissionButton>
|
|
||||||
</template>
|
|
||||||
<template #action="slotProps">
|
|
||||||
<a-space :size="16">
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:update`"
|
type="primary"
|
||||||
type="link"
|
:uhasPermission="`${permission}:add`"
|
||||||
:tooltip="{
|
@click="table.openDialog(undefined)"
|
||||||
title: '编辑',
|
|
||||||
}"
|
|
||||||
@click="table.openDialog(slotProps)"
|
|
||||||
>
|
>
|
||||||
<AIcon type="EditOutlined" />
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
|
</template>
|
||||||
|
<template #action="slotProps">
|
||||||
|
<a-space :size="16">
|
||||||
|
<PermissionButton
|
||||||
|
:uhasPermission="`${permission}:update`"
|
||||||
|
type="link"
|
||||||
|
:tooltip="{
|
||||||
|
title: '编辑',
|
||||||
|
}"
|
||||||
|
@click="table.openDialog(slotProps)"
|
||||||
|
>
|
||||||
|
<AIcon type="EditOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:delete`"
|
:uhasPermission="`${permission}:delete`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{ title: '删除' }"
|
:tooltip="{ title: '删除' }"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确认删除`,
|
title: `确认删除`,
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
}"
|
}"
|
||||||
:disabled="slotProps.status"
|
:disabled="slotProps.status"
|
||||||
>
|
>
|
||||||
<AIcon type="DeleteOutlined" />
|
<AIcon type="DeleteOutlined" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</JTable>
|
</JTable>
|
||||||
|
|
||||||
<EditDialog ref="editDialogRef" @refresh="table.refresh" />
|
<EditDialog ref="editDialogRef" @refresh="table.refresh" />
|
||||||
</div>
|
</div>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="Relationship">
|
<script setup lang="ts" name="Relationship">
|
||||||
|
@ -181,7 +185,6 @@ const table = {
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.relationship-container {
|
.relationship-container {
|
||||||
padding: 24px;
|
|
||||||
:deep(.ant-table-cell) {
|
:deep(.ant-table-cell) {
|
||||||
.ant-btn-link {
|
.ant-btn-link {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="details-container">
|
<page-container>
|
||||||
<a-tabs v-model:activeKey="activeKey">
|
<div class="details-container">
|
||||||
<a-tab-pane key="1" tab="权限分配"><Permiss /></a-tab-pane>
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="2" tab="用户管理"><User /></a-tab-pane>
|
<a-tab-pane key="1" tab="权限分配"><Permiss /></a-tab-pane>
|
||||||
</a-tabs>
|
<a-tab-pane key="2" tab="用户管理"><User /></a-tab-pane>
|
||||||
</div>
|
</a-tabs>
|
||||||
|
</div>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="Detail">
|
<script setup lang="ts" name="Detail">
|
||||||
|
@ -17,17 +19,9 @@ const activeKey = ref('1');
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.details-container {
|
.details-container {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
:deep(.ant-tabs-nav-wrap) {
|
:deep(.ant-tabs-nav-wrap) {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 24px 0 0 24px;
|
padding-left: 24px;
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.ant-tabs-content-holder) {
|
|
||||||
padding: 24px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,55 +1,57 @@
|
||||||
<template>
|
<template>
|
||||||
<a-card class="role-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" />
|
<a-card class="role-container">
|
||||||
|
<Search :columns="query.columns" />
|
||||||
|
|
||||||
<JTable
|
<JTable
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:columns="table.columns"
|
:columns="table.columns"
|
||||||
:request="getRoleList_api"
|
:request="getRoleList_api"
|
||||||
model="TABLE"
|
model="TABLE"
|
||||||
:params="query.params"
|
:params="query.params"
|
||||||
>
|
>
|
||||||
<template #headerTitle>
|
<template #headerTitle>
|
||||||
<PermissionButton
|
|
||||||
type="primary"
|
|
||||||
:uhasPermission="`${permission}:add`"
|
|
||||||
@click="table.clickAdd"
|
|
||||||
>
|
|
||||||
<AIcon type="PlusOutlined" />新增
|
|
||||||
</PermissionButton>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template #action="slotProps">
|
|
||||||
<a-space :size="16">
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:update`"
|
type="primary"
|
||||||
type="link"
|
:uhasPermission="`${permission}:add`"
|
||||||
:tooltip="{
|
@click="table.clickAdd"
|
||||||
title: '编辑',
|
|
||||||
}"
|
|
||||||
@click="table.clickEdit(slotProps)"
|
|
||||||
>
|
>
|
||||||
<AIcon type="EditOutlined" />
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
</template>
|
||||||
type="link"
|
|
||||||
:uhasPermission="`${permission}:delete`"
|
|
||||||
:tooltip="{ title: '删除' }"
|
|
||||||
:popConfirm="{
|
|
||||||
title: `确定要删除吗`,
|
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<AIcon type="DeleteOutlined" />
|
|
||||||
</PermissionButton>
|
|
||||||
</a-space>
|
|
||||||
</template>
|
|
||||||
</JTable>
|
|
||||||
|
|
||||||
<div class="dialogs">
|
<template #action="slotProps">
|
||||||
<AddDialog ref="addDialogRef" />
|
<a-space :size="16">
|
||||||
</div>
|
<PermissionButton
|
||||||
</a-card>
|
:uhasPermission="`${permission}:update`"
|
||||||
|
type="link"
|
||||||
|
:tooltip="{
|
||||||
|
title: '编辑',
|
||||||
|
}"
|
||||||
|
@click="table.clickEdit(slotProps)"
|
||||||
|
>
|
||||||
|
<AIcon type="EditOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
<PermissionButton
|
||||||
|
type="link"
|
||||||
|
:uhasPermission="`${permission}:delete`"
|
||||||
|
:tooltip="{ title: '删除' }"
|
||||||
|
:popConfirm="{
|
||||||
|
title: `确定要删除吗`,
|
||||||
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<AIcon type="DeleteOutlined" />
|
||||||
|
</PermissionButton>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
|
</JTable>
|
||||||
|
|
||||||
|
<div class="dialogs">
|
||||||
|
<AddDialog ref="addDialogRef" />
|
||||||
|
</div>
|
||||||
|
</a-card>
|
||||||
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="Role">
|
<script setup lang="ts" name="Role">
|
||||||
|
@ -146,12 +148,10 @@ nextTick(() => {
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.role-container {
|
.role-container {
|
||||||
|
|
||||||
:deep(.ant-table-cell) {
|
:deep(.ant-table-cell) {
|
||||||
.ant-btn-link {
|
.ant-btn-link {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,46 +1,49 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="user-container">
|
<page-container>
|
||||||
<Search :columns="query.columns" @search="query.search" />
|
<div class="user-container">
|
||||||
|
<Search :columns="query.columns" @search="query.search" />
|
||||||
|
|
||||||
<JTable
|
<JTable
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
:columns="table.columns"
|
:columns="table.columns"
|
||||||
:request="getUserList_api"
|
:request="getUserList_api"
|
||||||
model="TABLE"
|
model="TABLE"
|
||||||
:params="query.params.value"
|
:params="query.params.value"
|
||||||
:defaultParams="{ sorts: [{ name: 'createTime', order: 'desc' }] }"
|
:defaultParams="{
|
||||||
>
|
sorts: [{ name: 'createTime', order: 'desc' }],
|
||||||
<template #headerTitle>
|
}"
|
||||||
<!-- <a-button
|
>
|
||||||
|
<template #headerTitle>
|
||||||
|
<!-- <a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="table.openDialog('add')"
|
@click="table.openDialog('add')"
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
><AIcon type="PlusOutlined" />新增</a-button
|
><AIcon type="PlusOutlined" />新增</a-button
|
||||||
> -->
|
> -->
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:add`"
|
:uhasPermission="`${permission}:add`"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="table.openDialog('add')"
|
@click="table.openDialog('add')"
|
||||||
>
|
>
|
||||||
<AIcon type="PlusOutlined" />新增
|
<AIcon type="PlusOutlined" />新增
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</template>
|
</template>
|
||||||
<template #type="slotProps">
|
<template #type="slotProps">
|
||||||
{{ slotProps.type.name }}
|
{{ slotProps.type.name }}
|
||||||
</template>
|
</template>
|
||||||
<template #status="slotProps">
|
<template #status="slotProps">
|
||||||
<BadgeStatus
|
<BadgeStatus
|
||||||
:status="slotProps.status"
|
:status="slotProps.status"
|
||||||
:text="slotProps.status ? '正常' : '禁用'"
|
:text="slotProps.status ? '正常' : '禁用'"
|
||||||
:statusNames="{
|
:statusNames="{
|
||||||
1: 'success',
|
1: 'success',
|
||||||
0: 'error',
|
0: 'error',
|
||||||
}"
|
}"
|
||||||
></BadgeStatus>
|
></BadgeStatus>
|
||||||
</template>
|
</template>
|
||||||
<template #action="slotProps">
|
<template #action="slotProps">
|
||||||
<a-space :size="16">
|
<a-space :size="16">
|
||||||
<!-- <a-tooltip>
|
<!-- <a-tooltip>
|
||||||
<template #title>编辑</template>
|
<template #title>编辑</template>
|
||||||
<a-button
|
<a-button
|
||||||
style="padding: 0"
|
style="padding: 0"
|
||||||
|
@ -50,7 +53,7 @@
|
||||||
<AIcon type="EditOutlined" />
|
<AIcon type="EditOutlined" />
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip> -->
|
</a-tooltip> -->
|
||||||
<!-- <a-popconfirm
|
<!-- <a-popconfirm
|
||||||
:title="`确定${slotProps.status ? '禁用' : '启用'}吗?`"
|
:title="`确定${slotProps.status ? '禁用' : '启用'}吗?`"
|
||||||
ok-text="确定"
|
ok-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
|
@ -66,7 +69,7 @@
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-popconfirm> -->
|
</a-popconfirm> -->
|
||||||
<!-- <a-tooltip>
|
<!-- <a-tooltip>
|
||||||
<template #title>重置密码</template>
|
<template #title>重置密码</template>
|
||||||
<a-button
|
<a-button
|
||||||
style="padding: 0"
|
style="padding: 0"
|
||||||
|
@ -76,7 +79,7 @@
|
||||||
<AIcon type="icon-zhongzhimima" />
|
<AIcon type="icon-zhongzhimima" />
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip> -->
|
</a-tooltip> -->
|
||||||
<!-- <a-popconfirm
|
<!-- <a-popconfirm
|
||||||
title="确认删除"
|
title="确认删除"
|
||||||
ok-text="确定"
|
ok-text="确定"
|
||||||
cancel-text="取消"
|
cancel-text="取消"
|
||||||
|
@ -97,66 +100,67 @@
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-popconfirm> -->
|
</a-popconfirm> -->
|
||||||
|
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:update`"
|
:uhasPermission="`${permission}:update`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: '编辑',
|
title: '编辑',
|
||||||
}"
|
}"
|
||||||
@click="table.openDialog('edit')"
|
@click="table.openDialog('edit')"
|
||||||
>
|
>
|
||||||
<AIcon type="EditOutlined" />
|
<AIcon type="EditOutlined" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:action`"
|
:uhasPermission="`${permission}:action`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: `${slotProps.status ? '禁用' : '启用'}`,
|
title: `${slotProps.status ? '禁用' : '启用'}`,
|
||||||
}"
|
}"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确定${
|
title: `确定${
|
||||||
slotProps.status ? '禁用' : '启用'
|
slotProps.status ? '禁用' : '启用'
|
||||||
}吗?`,
|
}吗?`,
|
||||||
onConfirm: () => table.changeStatus(slotProps),
|
onConfirm: () => table.changeStatus(slotProps),
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<stop-outlined v-if="slotProps.status" />
|
<stop-outlined v-if="slotProps.status" />
|
||||||
<play-circle-outlined v-else />
|
<play-circle-outlined v-else />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
:uhasPermission="`${permission}:update`"
|
:uhasPermission="`${permission}:update`"
|
||||||
type="link"
|
type="link"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: '重置密码',
|
title: '重置密码',
|
||||||
}"
|
}"
|
||||||
@click="table.openDialog('reset', slotProps)"
|
@click="table.openDialog('reset', slotProps)"
|
||||||
>
|
>
|
||||||
<AIcon type="icon-zhongzhimima" />
|
<AIcon type="icon-zhongzhimima" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
type="link"
|
type="link"
|
||||||
:uhasPermission="`${permission}:delete`"
|
:uhasPermission="`${permission}:delete`"
|
||||||
:tooltip="{
|
:tooltip="{
|
||||||
title: slotProps.status
|
title: slotProps.status
|
||||||
? '请先禁用,再删除'
|
? '请先禁用,再删除'
|
||||||
: '删除',
|
: '删除',
|
||||||
}"
|
}"
|
||||||
:popConfirm="{
|
:popConfirm="{
|
||||||
title: `确认删除`,
|
title: `确认删除`,
|
||||||
onConfirm: () => table.clickDel(slotProps),
|
onConfirm: () => table.clickDel(slotProps),
|
||||||
}"
|
}"
|
||||||
:disabled="slotProps.status"
|
:disabled="slotProps.status"
|
||||||
>
|
>
|
||||||
<AIcon type="DeleteOutlined" />
|
<AIcon type="DeleteOutlined" />
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</JTable>
|
</JTable>
|
||||||
|
|
||||||
<div class="dialogs">
|
<div class="dialogs">
|
||||||
<EditUserDialog ref="editDialogRef" @confirm="table.refresh" />
|
<EditUserDialog ref="editDialogRef" @confirm="table.refresh" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="UserMange">
|
<script setup lang="ts" name="UserMange">
|
||||||
|
@ -354,8 +358,6 @@ type modalType = '' | 'add' | 'edit' | 'reset';
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.user-container {
|
.user-container {
|
||||||
padding: 24px;
|
|
||||||
|
|
||||||
:deep(.ant-table-tbody) {
|
:deep(.ant-table-tbody) {
|
||||||
.ant-table-cell {
|
.ant-table-cell {
|
||||||
.ant-space-item {
|
.ant-space-item {
|
||||||
|
|
|
@ -85,8 +85,8 @@ export default defineConfig(({ mode}) => {
|
||||||
// target: 'http://192.168.33.22:8800',
|
// target: 'http://192.168.33.22:8800',
|
||||||
// target: 'http://192.168.32.244:8881',
|
// target: 'http://192.168.32.244:8881',
|
||||||
// target: 'http://47.112.135.104:5096', // opcua
|
// target: 'http://47.112.135.104:5096', // opcua
|
||||||
// target: 'http://120.77.179.54:8844', // 120测试
|
target: 'http://120.77.179.54:8844', // 120测试
|
||||||
target: 'http://47.108.63.174:8845', // 测试
|
// target: 'http://47.108.63.174:8845', // 测试
|
||||||
// target: 'http://120.77.179.54:8844',
|
// target: 'http://120.77.179.54:8844',
|
||||||
ws: 'ws://120.77.179.54:8844',
|
ws: 'ws://120.77.179.54:8844',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
|
|
Loading…
Reference in New Issue