mirror of
https://github.com/continew-org/continew-admin.git
synced 2026-01-02 08:57:18 +08:00
style: 优化前端 CRUD 相关命名
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
}}</a-link>
|
||||
</template>
|
||||
<div>
|
||||
<a-empty v-if="list.length === 0">暂无公告</a-empty>
|
||||
<div v-for="(item, idx) in list" :key="idx" class="item">
|
||||
<a-empty v-if="dataList.length === 0">暂无公告</a-empty>
|
||||
<div v-for="(item, idx) in dataList" :key="idx" class="item">
|
||||
<a-tag v-if="item.type === 1" color="orangered">活动</a-tag>
|
||||
<a-tag v-else-if="item.type === 2" color="cyan">消息</a-tag>
|
||||
<a-tag v-else color="blue">通知</a-tag>
|
||||
@@ -42,7 +42,7 @@
|
||||
</template>
|
||||
<a-typography :style="{ marginTop: '-40px', textAlign: 'center' }">
|
||||
<a-typography-title>
|
||||
{{ detail.title }}
|
||||
{{ dataDetail.title }}
|
||||
</a-typography-title>
|
||||
<a-typography-paragraph>
|
||||
<div class="meta-data">
|
||||
@@ -50,16 +50,16 @@
|
||||
<span>
|
||||
<icon-user class="icon" />
|
||||
<span class="label">发布人:</span>
|
||||
<span>{{ detail.createUserString }}</span>
|
||||
<span>{{ dataDetail.createUserString }}</span>
|
||||
</span>
|
||||
<a-divider direction="vertical" />
|
||||
<span>
|
||||
<svg-icon icon-class="clock-circle" class="icon" />
|
||||
<span class="label">发布时间:</span>
|
||||
<span>{{
|
||||
detail.effectiveTime
|
||||
? detail.effectiveTime
|
||||
: detail.createTime
|
||||
dataDetail.effectiveTime
|
||||
? dataDetail.effectiveTime
|
||||
: dataDetail.createTime
|
||||
}}</span>
|
||||
</span>
|
||||
</a-space>
|
||||
@@ -67,13 +67,13 @@
|
||||
</a-typography-paragraph>
|
||||
</a-typography>
|
||||
<a-divider />
|
||||
<v-md-preview :text="detail.content"></v-md-preview>
|
||||
<v-md-preview :text="dataDetail.content"></v-md-preview>
|
||||
<a-divider />
|
||||
<div v-if="detail.updateTime" class="update-time-row">
|
||||
<div v-if="dataDetail.updateTime" class="update-time-row">
|
||||
<span>
|
||||
<icon-schedule class="icon" />
|
||||
<span>最后更新于:</span>
|
||||
<span>{{ detail.updateTime }}</span>
|
||||
<span>{{ dataDetail.updateTime }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -89,8 +89,8 @@
|
||||
} from '@/api/dashboard';
|
||||
import { DataRecord, get } from '@/api/system/announcement';
|
||||
|
||||
const list = ref<AnnouncementDashboardRecord[]>([]);
|
||||
const detail = ref<DataRecord>({});
|
||||
const dataList = ref<AnnouncementDashboardRecord[]>([]);
|
||||
const dataDetail = ref<DataRecord>({});
|
||||
const detailLoading = ref(false);
|
||||
const detailVisible = ref(false);
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
*/
|
||||
const getList = () => {
|
||||
listAnnouncement().then((res) => {
|
||||
list.value = res.data;
|
||||
dataList.value = res.data;
|
||||
});
|
||||
};
|
||||
getList();
|
||||
@@ -115,7 +115,7 @@
|
||||
detailVisible.value = true;
|
||||
get(id)
|
||||
.then((res) => {
|
||||
detail.value = res.data;
|
||||
dataDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
detailLoading.value = false;
|
||||
@@ -127,7 +127,7 @@
|
||||
*/
|
||||
const handleDetailCancel = () => {
|
||||
detailVisible.value = false;
|
||||
detail.value = {};
|
||||
dataDetail.value = {};
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="token"
|
||||
:data="onlineUserList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:pagination="{
|
||||
showTotal: true,
|
||||
@@ -103,9 +103,9 @@
|
||||
<script lang="ts" setup>
|
||||
import { getCurrentInstance, ref, toRefs, reactive } from 'vue';
|
||||
import {
|
||||
OnlineUserParam,
|
||||
OnlineUserRecord,
|
||||
listOnlineUser,
|
||||
DataRecord,
|
||||
ListParam,
|
||||
list,
|
||||
kickout,
|
||||
} from '@/api/monitor/online';
|
||||
import { getToken } from '@/utils/auth';
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
|
||||
const onlineUserList = ref<OnlineUserRecord[]>([]);
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const total = ref(0);
|
||||
const loading = ref(false);
|
||||
const currentToken = getToken();
|
||||
@@ -135,11 +135,11 @@
|
||||
*
|
||||
* @param params 查询参数
|
||||
*/
|
||||
const getList = (params: OnlineUserParam = { ...queryParams.value }) => {
|
||||
const getList = (params: ListParam = { ...queryParams.value }) => {
|
||||
loading.value = true;
|
||||
listOnlineUser(params)
|
||||
list(params)
|
||||
.then((res) => {
|
||||
onlineUserList.value = res.data.list;
|
||||
dataList.value = res.data.list;
|
||||
total.value = res.data.total;
|
||||
})
|
||||
.finally(() => {
|
||||
|
||||
@@ -303,7 +303,7 @@
|
||||
</template>
|
||||
<a-typography :style="{ marginTop: '-40px', textAlign: 'center' }">
|
||||
<a-typography-title>
|
||||
{{ detail.title }}
|
||||
{{ dataDetail.title }}
|
||||
</a-typography-title>
|
||||
<a-typography-paragraph>
|
||||
<div class="meta-data">
|
||||
@@ -311,26 +311,26 @@
|
||||
<span>
|
||||
<icon-user class="icon" />
|
||||
<span class="label">发布人:</span>
|
||||
<span>{{ detail.createUserString }}</span>
|
||||
<span>{{ dataDetail.createUserString }}</span>
|
||||
</span>
|
||||
<a-divider direction="vertical" />
|
||||
<span>
|
||||
<svg-icon icon-class="clock-circle" class="icon" />
|
||||
<span class="label">发布时间:</span>
|
||||
<span>{{ detail.effectiveTime ? detail.effectiveTime : detail.createTime }}</span>
|
||||
<span>{{ dataDetail.effectiveTime ? dataDetail.effectiveTime : dataDetail.createTime }}</span>
|
||||
</span>
|
||||
</a-space>
|
||||
</div>
|
||||
</a-typography-paragraph>
|
||||
</a-typography>
|
||||
<a-divider />
|
||||
<v-md-preview :text="detail.content"></v-md-preview>
|
||||
<v-md-preview :text="dataDetail.content"></v-md-preview>
|
||||
<a-divider />
|
||||
<div v-if="detail.updateTime" class="update-time-row">
|
||||
<div v-if="dataDetail.updateTime" class="update-time-row">
|
||||
<span>
|
||||
<icon-schedule class="icon" />
|
||||
<span>最后更新于:</span>
|
||||
<span>{{ detail.updateTime }}</span>
|
||||
<span>{{ dataDetail.updateTime }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -356,7 +356,7 @@
|
||||
const { AnnouncementTypeEnum } = proxy.useDict('AnnouncementTypeEnum');
|
||||
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const detail = ref<DataRecord>({
|
||||
const dataDetail = ref<DataRecord>({
|
||||
// TODO 待补充详情字段默认值
|
||||
});
|
||||
const total = ref(0);
|
||||
@@ -485,7 +485,7 @@
|
||||
detailVisible.value = true;
|
||||
get(id)
|
||||
.then((res) => {
|
||||
detail.value = res.data;
|
||||
dataDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
detailLoading.value = false;
|
||||
@@ -497,7 +497,7 @@
|
||||
*/
|
||||
const handleDetailCancel = () => {
|
||||
detailVisible.value = false;
|
||||
detail.value = {};
|
||||
dataDetail.value = {};
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
:data="deptList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:row-selection="{
|
||||
type: 'checkbox',
|
||||
@@ -241,20 +241,20 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.name }}</span>
|
||||
<span v-else>{{ dataDetail.name }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="上级部门">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.parentName || '无' }}</span>
|
||||
<span v-else>{{ dataDetail.parentName || '无' }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="状态">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>
|
||||
<a-tag v-if="dept.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-if="dataDetail.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-else color="red">禁用</a-tag>
|
||||
</span>
|
||||
</a-descriptions-item>
|
||||
@@ -262,37 +262,37 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.sort }}</span>
|
||||
<span v-else>{{ dataDetail.sort }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="创建人">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.createUserString }}</span>
|
||||
<span v-else>{{ dataDetail.createUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="创建时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.createTime }}</span>
|
||||
<span v-else>{{ dataDetail.createTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改人">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.updateUserString }}</span>
|
||||
<span v-else>{{ dataDetail.updateUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.updateTime }}</span>
|
||||
<span v-else>{{ dataDetail.updateTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="描述">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ dept.description }}</span>
|
||||
<span v-else>{{ dataDetail.description }}</span>
|
||||
</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-drawer>
|
||||
@@ -304,13 +304,13 @@
|
||||
import { getCurrentInstance, ref, toRefs, reactive } from 'vue';
|
||||
import { TreeNodeData, TableData } from '@arco-design/web-vue';
|
||||
import {
|
||||
DeptRecord,
|
||||
DeptParam,
|
||||
listDept,
|
||||
getDept,
|
||||
addDept,
|
||||
updateDept,
|
||||
deleteDept,
|
||||
DataRecord,
|
||||
ListParam,
|
||||
list,
|
||||
get,
|
||||
add,
|
||||
update,
|
||||
del,
|
||||
} from '@/api/system/dept';
|
||||
import { listDeptTree } from '@/api/common';
|
||||
import checkPermission from '@/utils/permission';
|
||||
@@ -318,8 +318,8 @@
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
const { DisEnableStatusEnum } = proxy.useDict('DisEnableStatusEnum');
|
||||
|
||||
const deptList = ref<DeptRecord[]>([]);
|
||||
const dept = ref<DeptRecord>({
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const dataDetail = ref<DataRecord>({
|
||||
name: '',
|
||||
sort: 0,
|
||||
description: '',
|
||||
@@ -350,7 +350,7 @@
|
||||
sort: ['parentId,asc', 'sort,asc', 'createTime,desc'],
|
||||
},
|
||||
// 表单数据
|
||||
form: {} as DeptRecord,
|
||||
form: {} as DataRecord,
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
parentId: [{ required: true, message: '请选择上级部门' }],
|
||||
@@ -365,11 +365,11 @@
|
||||
*
|
||||
* @param params 查询参数
|
||||
*/
|
||||
const getList = (params: DeptParam = { ...queryParams.value }) => {
|
||||
const getList = (params: ListParam = { ...queryParams.value }) => {
|
||||
loading.value = true;
|
||||
listDept(params)
|
||||
list(params)
|
||||
.then((res) => {
|
||||
deptList.value = res.data;
|
||||
dataList.value = res.data;
|
||||
setTimeout(() => {
|
||||
proxy.$refs.tableRef.expandAll();
|
||||
}, 0);
|
||||
@@ -403,7 +403,7 @@
|
||||
treeData.value = res.data;
|
||||
});
|
||||
|
||||
getDept(id).then((res) => {
|
||||
get(id).then((res) => {
|
||||
form.value = res.data;
|
||||
title.value = '修改部门';
|
||||
visible.value = true;
|
||||
@@ -441,13 +441,13 @@
|
||||
proxy.$refs.formRef.validate((valid: any) => {
|
||||
if (!valid) {
|
||||
if (form.value.id !== undefined) {
|
||||
updateDept(form.value, form.value.id).then((res) => {
|
||||
update(form.value, form.value.id).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
});
|
||||
} else {
|
||||
addDept(form.value).then((res) => {
|
||||
add(form.value).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
@@ -466,9 +466,9 @@
|
||||
if (detailLoading.value) return;
|
||||
detailLoading.value = true;
|
||||
detailVisible.value = true;
|
||||
getDept(id)
|
||||
get(id)
|
||||
.then((res) => {
|
||||
dept.value = res.data;
|
||||
dataDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
detailLoading.value = false;
|
||||
@@ -507,7 +507,7 @@
|
||||
* @param ids ID 列表
|
||||
*/
|
||||
const handleDelete = (ids: Array<string>) => {
|
||||
deleteDept(ids).then((res) => {
|
||||
del(ids).then((res) => {
|
||||
proxy.$message.success(res.msg);
|
||||
getList();
|
||||
});
|
||||
@@ -570,10 +570,10 @@
|
||||
*
|
||||
* @param record 记录信息
|
||||
*/
|
||||
const handleChangeStatus = (record: DeptRecord) => {
|
||||
const handleChangeStatus = (record: DataRecord) => {
|
||||
if (record.id) {
|
||||
const tip = record.status === 1 ? '启用' : '禁用';
|
||||
updateDept(record, record.id)
|
||||
update(record, record.id)
|
||||
.then(() => {
|
||||
proxy.$message.success(`${tip}成功`);
|
||||
})
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
:data="menuList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:row-selection="{
|
||||
type: 'checkbox',
|
||||
@@ -343,13 +343,13 @@
|
||||
import { getCurrentInstance, ref, toRefs, reactive } from 'vue';
|
||||
import { TreeNodeData, TableData } from '@arco-design/web-vue';
|
||||
import {
|
||||
MenuRecord,
|
||||
MenuParam,
|
||||
listMenu,
|
||||
getMenu,
|
||||
addMenu,
|
||||
updateMenu,
|
||||
deleteMenu,
|
||||
DataRecord,
|
||||
ListParam,
|
||||
list,
|
||||
get,
|
||||
add,
|
||||
update,
|
||||
del,
|
||||
} from '@/api/system/menu';
|
||||
import { listMenuTree } from '@/api/common';
|
||||
import checkPermission from '@/utils/permission';
|
||||
@@ -357,7 +357,7 @@
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
const { DisEnableStatusEnum } = proxy.useDict('DisEnableStatusEnum');
|
||||
|
||||
const menuList = ref<MenuRecord[]>([]);
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const ids = ref<Array<string>>([]);
|
||||
const title = ref('');
|
||||
const single = ref(true);
|
||||
@@ -378,7 +378,7 @@
|
||||
sort: ['parentId,asc', 'sort,asc', 'createTime,desc'],
|
||||
},
|
||||
// 表单数据
|
||||
form: {} as MenuRecord,
|
||||
form: {} as DataRecord,
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
title: [{ required: true, message: '请输入菜单标题' }],
|
||||
@@ -396,11 +396,11 @@
|
||||
*
|
||||
* @param params 查询参数
|
||||
*/
|
||||
const getList = (params: MenuParam = { ...queryParams.value }) => {
|
||||
const getList = (params: ListParam = { ...queryParams.value }) => {
|
||||
loading.value = true;
|
||||
listMenu(params)
|
||||
list(params)
|
||||
.then((res) => {
|
||||
menuList.value = res.data;
|
||||
dataList.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
loading.value = false;
|
||||
@@ -431,7 +431,7 @@
|
||||
treeData.value = res.data;
|
||||
});
|
||||
|
||||
getMenu(id).then((res) => {
|
||||
get(id).then((res) => {
|
||||
form.value = res.data;
|
||||
title.value = '修改菜单';
|
||||
visible.value = true;
|
||||
@@ -476,13 +476,13 @@
|
||||
proxy.$refs.formRef.validate((valid: any) => {
|
||||
if (!valid) {
|
||||
if (form.value.id !== undefined) {
|
||||
updateMenu(form.value, form.value.id).then((res) => {
|
||||
update(form.value, form.value.id).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
});
|
||||
} else {
|
||||
addMenu(form.value).then((res) => {
|
||||
add(form.value).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
@@ -518,7 +518,7 @@
|
||||
* @param ids ID 列表
|
||||
*/
|
||||
const handleDelete = (ids: Array<string>) => {
|
||||
deleteMenu(ids).then((res) => {
|
||||
del(ids).then((res) => {
|
||||
proxy.$message.success(res.msg);
|
||||
getList();
|
||||
});
|
||||
@@ -589,10 +589,10 @@
|
||||
*
|
||||
* @param record 记录信息
|
||||
*/
|
||||
const handleChangeStatus = (record: MenuRecord) => {
|
||||
const handleChangeStatus = (record: DataRecord) => {
|
||||
if (record.id) {
|
||||
const tip = record.status === 1 ? '启用' : '禁用';
|
||||
updateMenu(record, record.id)
|
||||
update(record, record.id)
|
||||
.then(() => {
|
||||
proxy.$message.success(`${tip}成功`);
|
||||
})
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
:data="roleList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:row-selection="{
|
||||
type: 'checkbox',
|
||||
@@ -337,20 +337,20 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.name }}</span>
|
||||
<span v-else>{{ dataDetail.name }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="角色编码">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.code }}</span>
|
||||
<span v-else>{{ dataDetail.code }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="状态">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>
|
||||
<a-tag v-if="role.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-if="dataDetail.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-else color="red">禁用</a-tag>
|
||||
</span>
|
||||
</a-descriptions-item>
|
||||
@@ -359,12 +359,12 @@
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>
|
||||
<span v-if="role.dataScope === 1">全部数据权限</span>
|
||||
<span v-else-if="role.dataScope === 2"
|
||||
<span v-if="dataDetail.dataScope === 1">全部数据权限</span>
|
||||
<span v-else-if="dataDetail.dataScope === 2"
|
||||
>本部门及以下数据权限</span
|
||||
>
|
||||
<span v-else-if="role.dataScope === 3">本部门数据权限</span>
|
||||
<span v-else-if="role.dataScope === 4">仅本人数据权限</span>
|
||||
<span v-else-if="dataDetail.dataScope === 3">本部门数据权限</span>
|
||||
<span v-else-if="dataDetail.dataScope === 4">仅本人数据权限</span>
|
||||
<span v-else>自定义数据权限</span>
|
||||
</span>
|
||||
</a-descriptions-item>
|
||||
@@ -372,52 +372,52 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.createUserString }}</span>
|
||||
<span v-else>{{ dataDetail.createUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="创建时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.createTime }}</span>
|
||||
<span v-else>{{ dataDetail.createTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改人">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.updateUserString }}</span>
|
||||
<span v-else>{{ dataDetail.updateUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.updateTime }}</span>
|
||||
<span v-else>{{ dataDetail.updateTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="描述">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ role.description }}</span>
|
||||
<span v-else>{{ dataDetail.description }}</span>
|
||||
</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-card>
|
||||
<a-card :loading="menuLoading" title="功能权限" :bordered="false">
|
||||
<a-tree
|
||||
:data="menuOptions"
|
||||
:checked-keys="role.menuIds"
|
||||
:checked-keys="dataDetail.menuIds"
|
||||
:default-expand-all="false"
|
||||
check-strictly
|
||||
checkable
|
||||
/>
|
||||
</a-card>
|
||||
<a-card
|
||||
v-if="role.dataScope === 5"
|
||||
v-if="dataDetail.dataScope === 5"
|
||||
:loading="deptLoading"
|
||||
title="数据权限"
|
||||
:bordered="false"
|
||||
>
|
||||
<a-tree
|
||||
:data="deptOptions"
|
||||
:checked-keys="role.deptIds"
|
||||
:checked-keys="dataDetail.deptIds"
|
||||
default-expand-all
|
||||
check-strictly
|
||||
checkable
|
||||
@@ -432,13 +432,13 @@
|
||||
import { getCurrentInstance, ref, toRefs, reactive } from 'vue';
|
||||
import { TreeNodeData } from '@arco-design/web-vue';
|
||||
import {
|
||||
RoleRecord,
|
||||
RoleParam,
|
||||
listRole,
|
||||
getRole,
|
||||
addRole,
|
||||
updateRole,
|
||||
deleteRole,
|
||||
DataRecord,
|
||||
ListParam,
|
||||
list,
|
||||
get,
|
||||
add,
|
||||
update,
|
||||
del,
|
||||
} from '@/api/system/role';
|
||||
import { listMenuTree, listDeptTree } from '@/api/common';
|
||||
import checkPermission from '@/utils/permission';
|
||||
@@ -449,8 +449,8 @@
|
||||
'DisEnableStatusEnum'
|
||||
);
|
||||
|
||||
const roleList = ref<RoleRecord[]>([]);
|
||||
const role = ref<RoleRecord>({
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const dataDetail = ref<DataRecord>({
|
||||
name: '',
|
||||
code: '',
|
||||
status: 1,
|
||||
@@ -495,7 +495,7 @@
|
||||
sort: ['createTime,desc'],
|
||||
},
|
||||
// 表单数据
|
||||
form: {} as RoleRecord,
|
||||
form: {} as DataRecord,
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
name: [
|
||||
@@ -524,11 +524,11 @@
|
||||
*
|
||||
* @param params 查询参数
|
||||
*/
|
||||
const getList = (params: RoleParam = { ...queryParams.value }) => {
|
||||
const getList = (params: ListParam = { ...queryParams.value }) => {
|
||||
loading.value = true;
|
||||
listRole(params)
|
||||
list(params)
|
||||
.then((res) => {
|
||||
roleList.value = res.data.list;
|
||||
dataList.value = res.data.list;
|
||||
total.value = res.data.total;
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -559,7 +559,7 @@
|
||||
deptCheckStrictly.value = false;
|
||||
getMenuTree();
|
||||
getDeptTree();
|
||||
getRole(id).then((res) => {
|
||||
get(id).then((res) => {
|
||||
form.value = res.data;
|
||||
title.value = '修改角色';
|
||||
visible.value = true;
|
||||
@@ -681,7 +681,7 @@
|
||||
if (form.value.id !== undefined) {
|
||||
form.value.menuIds = getMenuAllCheckedKeys();
|
||||
form.value.deptIds = getDeptAllCheckedKeys();
|
||||
updateRole(form.value, form.value.id).then((res) => {
|
||||
update(form.value, form.value.id).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
@@ -689,7 +689,7 @@
|
||||
} else {
|
||||
form.value.menuIds = getMenuAllCheckedKeys();
|
||||
form.value.deptIds = getDeptAllCheckedKeys();
|
||||
addRole(form.value).then((res) => {
|
||||
add(form.value).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
@@ -710,9 +710,9 @@
|
||||
getDeptTree();
|
||||
detailLoading.value = true;
|
||||
detailVisible.value = true;
|
||||
getRole(id)
|
||||
get(id)
|
||||
.then((res) => {
|
||||
role.value = res.data;
|
||||
dataDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
detailLoading.value = false;
|
||||
@@ -751,7 +751,7 @@
|
||||
* @param ids ID 列表
|
||||
*/
|
||||
const handleDelete = (ids: Array<string>) => {
|
||||
deleteRole(ids).then((res) => {
|
||||
del(ids).then((res) => {
|
||||
proxy.$message.success(res.msg);
|
||||
getList();
|
||||
});
|
||||
@@ -786,10 +786,10 @@
|
||||
*
|
||||
* @param record 记录信息
|
||||
*/
|
||||
const handleChangeStatus = (record: RoleRecord) => {
|
||||
const handleChangeStatus = (record: DataRecord) => {
|
||||
if (record.id) {
|
||||
const tip = record.status === 1 ? '启用' : '禁用';
|
||||
updateRole(record, record.id)
|
||||
update(record, record.id)
|
||||
.then(() => {
|
||||
proxy.$message.success(`${tip}成功`);
|
||||
})
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
:data="operationLogList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:pagination="{
|
||||
showTotal: true,
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
const loginStore = useLoginStore();
|
||||
|
||||
const operationLogList = ref<OperationLogRecord[]>([]);
|
||||
const dataList = ref<OperationLogRecord[]>([]);
|
||||
const total = ref(0);
|
||||
const loading = ref(false);
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
loading.value = true;
|
||||
listOperationLog(params)
|
||||
.then((res) => {
|
||||
operationLogList.value = res.data.list;
|
||||
dataList.value = res.data.list;
|
||||
total.value = res.data.total;
|
||||
})
|
||||
.finally(() => {
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
<a-table
|
||||
ref="tableRef"
|
||||
row-key="id"
|
||||
:data="userList"
|
||||
:data="dataList"
|
||||
:loading="loading"
|
||||
:row-selection="{
|
||||
type: 'checkbox',
|
||||
@@ -417,20 +417,20 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.username }}</span>
|
||||
<span v-else>{{ dataDetail.username }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="昵称">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.nickname }}</span>
|
||||
<span v-else>{{ dataDetail.nickname }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="性别">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>
|
||||
<span v-if="user.gender === 1">男</span>
|
||||
<span v-if="dataDetail.gender === 1">男</span>
|
||||
<span v-else>女</span>
|
||||
</span>
|
||||
</a-descriptions-item>
|
||||
@@ -439,7 +439,7 @@
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>
|
||||
<a-tag v-if="user.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-if="dataDetail.status === 1" color="green">启用</a-tag>
|
||||
<a-tag v-else color="red">禁用</a-tag>
|
||||
</span>
|
||||
</a-descriptions-item>
|
||||
@@ -447,55 +447,55 @@
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.email || '无' }}</span>
|
||||
<span v-else>{{ dataDetail.email || '无' }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="手机号码">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.phone || '无' }}</span>
|
||||
<span v-else>{{ dataDetail.phone || '无' }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="所属部门">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.deptName }}</span>
|
||||
<span v-else>{{ dataDetail.deptName }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="所属角色">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.roleNames }}</span>
|
||||
<span v-else>{{ dataDetail.roleNames }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="创建人">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.createUserString }}</span>
|
||||
<span v-else>{{ dataDetail.createUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="创建时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.createTime }}</span>
|
||||
<span v-else>{{ dataDetail.createTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改人">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.updateUserString }}</span>
|
||||
<span v-else>{{ dataDetail.updateUserString }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="修改时间">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.updateTime }}</span>
|
||||
<span v-else>{{ dataDetail.updateTime }}</span>
|
||||
</a-descriptions-item>
|
||||
<a-descriptions-item label="描述">
|
||||
<a-skeleton v-if="detailLoading" :animation="true">
|
||||
<a-skeleton-line :rows="1" />
|
||||
</a-skeleton>
|
||||
<span v-else>{{ user.description }}</span>
|
||||
<span v-else>{{ dataDetail.description }}</span>
|
||||
</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-drawer>
|
||||
@@ -507,13 +507,13 @@
|
||||
import { getCurrentInstance, ref, toRefs, reactive, watch } from 'vue';
|
||||
import { TreeNodeData } from '@arco-design/web-vue';
|
||||
import {
|
||||
UserRecord,
|
||||
UserParam,
|
||||
listUser,
|
||||
getUser,
|
||||
addUser,
|
||||
updateUser,
|
||||
deleteUser,
|
||||
DataRecord,
|
||||
ListParam,
|
||||
list,
|
||||
get,
|
||||
add,
|
||||
update,
|
||||
del,
|
||||
resetPassword,
|
||||
updateUserRole,
|
||||
} from '@/api/system/user';
|
||||
@@ -525,8 +525,8 @@
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
const { DisEnableStatusEnum } = proxy.useDict('DisEnableStatusEnum');
|
||||
|
||||
const userList = ref<UserRecord[]>([]);
|
||||
const user = ref<UserRecord>({
|
||||
const dataList = ref<DataRecord[]>([]);
|
||||
const dataDetail = ref<DataRecord>({
|
||||
username: '',
|
||||
nickname: '',
|
||||
gender: 1,
|
||||
@@ -573,7 +573,7 @@
|
||||
sort: ['createTime,desc'],
|
||||
},
|
||||
// 表单数据
|
||||
form: {} as UserRecord,
|
||||
form: {} as DataRecord,
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
username: [{ required: true, message: '请输入用户名' }],
|
||||
@@ -607,11 +607,11 @@
|
||||
*
|
||||
* @param params 查询参数
|
||||
*/
|
||||
const getList = (params: UserParam = { ...queryParams.value }) => {
|
||||
const getList = (params: ListParam = { ...queryParams.value }) => {
|
||||
loading.value = true;
|
||||
listUser(params)
|
||||
list(params)
|
||||
.then((res) => {
|
||||
userList.value = res.data.list;
|
||||
dataList.value = res.data.list;
|
||||
total.value = res.data.total;
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -640,7 +640,7 @@
|
||||
reset();
|
||||
getDeptOptions();
|
||||
getRoleOptions();
|
||||
getUser(id).then((res) => {
|
||||
get(id).then((res) => {
|
||||
form.value = res.data;
|
||||
title.value = '修改用户';
|
||||
visible.value = true;
|
||||
@@ -655,7 +655,7 @@
|
||||
const toUpdateRole = (id: string) => {
|
||||
reset();
|
||||
getRoleOptions();
|
||||
getUser(id).then((res) => {
|
||||
get(id).then((res) => {
|
||||
form.value = res.data;
|
||||
userRoleVisible.value = true;
|
||||
});
|
||||
@@ -726,13 +726,13 @@
|
||||
proxy.$refs.formRef.validate((valid: any) => {
|
||||
if (!valid) {
|
||||
if (form.value.id !== undefined) {
|
||||
updateUser(form.value, form.value.id).then((res) => {
|
||||
update(form.value, form.value.id).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
});
|
||||
} else {
|
||||
addUser(form.value).then((res) => {
|
||||
add(form.value).then((res) => {
|
||||
handleCancel();
|
||||
getList();
|
||||
proxy.$message.success(res.msg);
|
||||
@@ -768,9 +768,9 @@
|
||||
if (detailLoading.value) return;
|
||||
detailLoading.value = true;
|
||||
detailVisible.value = true;
|
||||
getUser(id)
|
||||
get(id)
|
||||
.then((res) => {
|
||||
user.value = res.data;
|
||||
dataDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
detailLoading.value = false;
|
||||
@@ -809,7 +809,7 @@
|
||||
* @param ids ID 列表
|
||||
*/
|
||||
const handleDelete = (ids: Array<string>) => {
|
||||
deleteUser(ids).then((res) => {
|
||||
del(ids).then((res) => {
|
||||
proxy.$message.success(res.msg);
|
||||
getList();
|
||||
});
|
||||
@@ -855,14 +855,14 @@
|
||||
*
|
||||
* @param record 记录信息
|
||||
*/
|
||||
const handleChangeStatus = (record: UserRecord) => {
|
||||
const handleChangeStatus = (record: DataRecord) => {
|
||||
const { id } = record;
|
||||
if (id) {
|
||||
const tip = record.status === 1 ? '启用' : '禁用';
|
||||
getUser(id)
|
||||
get(id)
|
||||
.then((res) => {
|
||||
res.data.status = record.status;
|
||||
updateUser(res.data, id)
|
||||
update(res.data, id)
|
||||
.then(() => {
|
||||
proxy.$message.success(`${tip}成功`);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user