@befly-addon/admin 1.1.30 → 1.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/admin/cacheRefresh.ts +29 -21
- package/apis/admin/del.ts +10 -10
- package/apis/admin/detail.ts +7 -7
- package/apis/admin/ins.ts +11 -11
- package/apis/admin/list.ts +10 -10
- package/apis/admin/upd.ts +14 -14
- package/apis/api/all.ts +8 -8
- package/apis/api/list.ts +10 -10
- package/apis/auth/login.ts +43 -43
- package/apis/auth/sendSmsCode.ts +6 -6
- package/apis/dashboard/configStatus.ts +18 -18
- package/apis/dashboard/environmentInfo.ts +12 -12
- package/apis/dashboard/performanceMetrics.ts +5 -5
- package/apis/dashboard/permissionStats.ts +7 -7
- package/apis/dashboard/serviceStatus.ts +29 -29
- package/apis/dashboard/systemInfo.ts +5 -5
- package/apis/dashboard/systemOverview.ts +7 -7
- package/apis/dashboard/systemResources.ts +8 -8
- package/apis/dict/all.ts +16 -16
- package/apis/dict/del.ts +6 -6
- package/apis/dict/detail.ts +19 -19
- package/apis/dict/ins.ts +9 -9
- package/apis/dict/items.ts +8 -8
- package/apis/dict/list.ts +22 -22
- package/apis/dict/upd.ts +11 -11
- package/apis/dictType/all.ts +5 -5
- package/apis/dictType/del.ts +8 -8
- package/apis/dictType/detail.ts +6 -6
- package/apis/dictType/ins.ts +7 -7
- package/apis/dictType/list.ts +8 -10
- package/apis/dictType/upd.ts +8 -8
- package/apis/email/config.ts +4 -4
- package/apis/email/logList.ts +8 -8
- package/apis/email/send.ts +18 -18
- package/apis/email/verify.ts +5 -5
- package/apis/loginLog/list.ts +8 -8
- package/apis/menu/all.ts +16 -18
- package/apis/menu/list.ts +12 -12
- package/apis/operateLog/list.ts +8 -8
- package/apis/role/all.ts +7 -7
- package/apis/role/apiSave.ts +10 -13
- package/apis/role/apis.ts +7 -12
- package/apis/role/del.ts +14 -14
- package/apis/role/detail.ts +6 -6
- package/apis/role/ins.ts +10 -10
- package/apis/role/list.ts +11 -11
- package/apis/role/menuSave.ts +8 -11
- package/apis/role/menus.ts +7 -12
- package/apis/role/save.ts +12 -12
- package/apis/role/upd.ts +10 -10
- package/apis/sysConfig/all.ts +5 -5
- package/apis/sysConfig/del.ts +9 -9
- package/apis/sysConfig/get.ts +9 -9
- package/apis/sysConfig/ins.ts +11 -11
- package/apis/sysConfig/list.ts +9 -9
- package/apis/sysConfig/upd.ts +10 -10
- package/libs/emailHelper.ts +7 -7
- package/package.json +46 -34
- package/plugins/email.ts +9 -9
- package/tables/role.json +4 -2
- package/views/403_1/index.vue +19 -3
- package/views/config/dict/components/edit.vue +26 -28
- package/views/config/dict/index.vue +88 -52
- package/views/config/dictType/components/edit.vue +22 -23
- package/views/config/dictType/index.vue +82 -46
- package/views/config/index.vue +12 -0
- package/views/config/system/components/edit.vue +36 -36
- package/views/config/system/index.vue +79 -50
- package/views/index/components/addonList.vue +3 -3
- package/views/index/components/environmentInfo.vue +10 -10
- package/views/index/components/operationLogs.vue +10 -10
- package/views/index/components/performanceMetrics.vue +8 -8
- package/views/index/components/quickActions.vue +3 -3
- package/views/index/components/serviceStatus.vue +19 -19
- package/views/index/components/systemNotifications.vue +12 -12
- package/views/index/components/systemOverview.vue +7 -7
- package/views/index/components/systemResources.vue +11 -11
- package/views/index/components/userInfo.vue +20 -19
- package/views/index/index.vue +12 -5
- package/views/log/email/index.vue +58 -51
- package/views/log/index.vue +12 -0
- package/views/log/login/index.vue +45 -38
- package/views/log/operate/index.vue +55 -48
- package/views/login_1/index.vue +25 -18
- package/views/people/admin/components/edit.vue +25 -26
- package/views/people/admin/index.vue +76 -40
- package/views/people/index.vue +12 -0
- package/views/permission/api/index.vue +21 -15
- package/views/permission/index.vue +12 -0
- package/views/permission/menu/index.vue +31 -16
- package/views/permission/role/components/api.vue +21 -21
- package/views/permission/role/components/edit.vue +18 -18
- package/views/permission/role/components/menu.vue +14 -16
- package/views/permission/role/index.vue +84 -49
- package/views/403_1/meta.json +0 -4
- package/views/config/dict/meta.json +0 -4
- package/views/config/dictType/meta.json +0 -4
- package/views/config/meta.json +0 -4
- package/views/config/system/meta.json +0 -4
- package/views/index/meta.json +0 -4
- package/views/log/email/meta.json +0 -4
- package/views/log/login/meta.json +0 -4
- package/views/log/meta.json +0 -4
- package/views/log/operate/meta.json +0 -4
- package/views/login_1/meta.json +0 -4
- package/views/people/admin/meta.json +0 -4
- package/views/people/meta.json +0 -4
- package/views/permission/api/meta.json +0 -4
- package/views/permission/menu/meta.json +0 -4
- package/views/permission/meta.json +0 -4
- package/views/permission/role/meta.json +0 -4
|
@@ -41,9 +41,9 @@ import {
|
|
|
41
41
|
Radio as TRadio,
|
|
42
42
|
Button as TButton,
|
|
43
43
|
MessagePlugin
|
|
44
|
-
} from
|
|
45
|
-
import { fieldClear } from
|
|
46
|
-
import { $Http } from
|
|
44
|
+
} from "tdesign-vue-next";
|
|
45
|
+
import { fieldClear } from "befly-vite/utils/fieldClear";
|
|
46
|
+
import { $Http } from "@/plugins/http";
|
|
47
47
|
|
|
48
48
|
const $Prop = defineProps({
|
|
49
49
|
modelValue: {
|
|
@@ -52,7 +52,7 @@ const $Prop = defineProps({
|
|
|
52
52
|
},
|
|
53
53
|
actionType: {
|
|
54
54
|
type: String,
|
|
55
|
-
default:
|
|
55
|
+
default: "add"
|
|
56
56
|
},
|
|
57
57
|
rowData: {
|
|
58
58
|
type: Object,
|
|
@@ -60,7 +60,7 @@ const $Prop = defineProps({
|
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
const $Emit = defineEmits([
|
|
63
|
+
const $Emit = defineEmits(["update:modelValue", "success"]);
|
|
64
64
|
|
|
65
65
|
// 表单引用
|
|
66
66
|
const $From = $shallowRef({
|
|
@@ -74,9 +74,9 @@ const $Data = $ref({
|
|
|
74
74
|
submitting: false,
|
|
75
75
|
formData: {
|
|
76
76
|
id: 0,
|
|
77
|
-
name:
|
|
78
|
-
code:
|
|
79
|
-
description:
|
|
77
|
+
name: "",
|
|
78
|
+
code: "",
|
|
79
|
+
description: "",
|
|
80
80
|
sort: 0,
|
|
81
81
|
state: 1
|
|
82
82
|
}
|
|
@@ -84,19 +84,19 @@ const $Data = $ref({
|
|
|
84
84
|
|
|
85
85
|
const $Data2 = $shallowRef({
|
|
86
86
|
formRules: {
|
|
87
|
-
name: [{ required: true, message:
|
|
87
|
+
name: [{ required: true, message: "请输入角色名称", trigger: "blur" }],
|
|
88
88
|
code: [
|
|
89
|
-
{ required: true, message:
|
|
90
|
-
{ pattern: /^[a-zA-Z0-9_]+$/, message:
|
|
89
|
+
{ required: true, message: "请输入角色代码", trigger: "blur" },
|
|
90
|
+
{ pattern: /^[a-zA-Z0-9_]+$/, message: "角色代码只能包含字母、数字和下划线", trigger: "blur" }
|
|
91
91
|
],
|
|
92
|
-
sort: [{ type:
|
|
92
|
+
sort: [{ type: "number", message: "排序必须是数字", trigger: "blur" }]
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
|
|
96
96
|
// 方法集合
|
|
97
97
|
const $Method = {
|
|
98
98
|
async initData() {
|
|
99
|
-
if ($Prop.actionType ===
|
|
99
|
+
if ($Prop.actionType === "upd" && $Prop.rowData.id) {
|
|
100
100
|
$Data.formData = Object.assign({}, $Prop.rowData);
|
|
101
101
|
}
|
|
102
102
|
$Method.onShow();
|
|
@@ -110,7 +110,7 @@ const $Method = {
|
|
|
110
110
|
onClose() {
|
|
111
111
|
$Data.visible = false;
|
|
112
112
|
setTimeout(() => {
|
|
113
|
-
$Emit(
|
|
113
|
+
$Emit("update:modelValue", false);
|
|
114
114
|
}, 300);
|
|
115
115
|
},
|
|
116
116
|
async onSubmit() {
|
|
@@ -119,14 +119,14 @@ const $Method = {
|
|
|
119
119
|
if (!valid) return;
|
|
120
120
|
|
|
121
121
|
$Data.submitting = true;
|
|
122
|
-
const formData = $Prop.actionType ===
|
|
123
|
-
const res = await $Http($Prop.actionType ===
|
|
122
|
+
const formData = $Prop.actionType === "add" ? fieldClear($Data.formData, { omitKeys: ["id", "state"] }) : $Data.formData;
|
|
123
|
+
const res = await $Http($Prop.actionType === "upd" ? "/addon/admin/role/upd" : "/addon/admin/role/ins", formData);
|
|
124
124
|
|
|
125
125
|
MessagePlugin.success(res.msg);
|
|
126
|
-
$Emit(
|
|
126
|
+
$Emit("success");
|
|
127
127
|
$Method.onClose();
|
|
128
128
|
} catch (error) {
|
|
129
|
-
MessagePlugin.error(error.msg ||
|
|
129
|
+
MessagePlugin.error(error.msg || "提交失败");
|
|
130
130
|
} finally {
|
|
131
131
|
$Data.submitting = false;
|
|
132
132
|
}
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
</template>
|
|
12
12
|
|
|
13
13
|
<script setup>
|
|
14
|
-
import { Dialog as TDialog, Tree as TTree, Button as TButton, MessagePlugin } from
|
|
15
|
-
import { arrayToTree } from
|
|
16
|
-
import { $Http } from
|
|
14
|
+
import { Dialog as TDialog, Tree as TTree, Button as TButton, MessagePlugin } from "tdesign-vue-next";
|
|
15
|
+
import { arrayToTree } from "befly-vite/utils/arrayToTree";
|
|
16
|
+
import { $Http } from "@/plugins/http";
|
|
17
17
|
|
|
18
18
|
const $Prop = defineProps({
|
|
19
19
|
modelValue: {
|
|
@@ -26,7 +26,7 @@ const $Prop = defineProps({
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
const $Emit = defineEmits([
|
|
29
|
+
const $Emit = defineEmits(["update:modelValue", "success"]);
|
|
30
30
|
|
|
31
31
|
const $Data = $ref({
|
|
32
32
|
visible: false,
|
|
@@ -51,20 +51,19 @@ const $Method = {
|
|
|
51
51
|
onClose() {
|
|
52
52
|
$Data.visible = false;
|
|
53
53
|
setTimeout(() => {
|
|
54
|
-
$Emit(
|
|
54
|
+
$Emit("update:modelValue", false);
|
|
55
55
|
}, 300);
|
|
56
56
|
},
|
|
57
57
|
|
|
58
58
|
// 加载菜单树(用于配置权限)
|
|
59
59
|
async apiMenuAll() {
|
|
60
60
|
try {
|
|
61
|
-
const res = await $Http(
|
|
61
|
+
const res = await $Http("/addon/admin/menu/all");
|
|
62
62
|
// menuAll 返回的 data 直接就是菜单数组
|
|
63
63
|
const menuList = Array.isArray(res.data) ? res.data : [];
|
|
64
64
|
$Data.menuTreeData = arrayToTree(menuList);
|
|
65
65
|
} catch (error) {
|
|
66
|
-
|
|
67
|
-
MessagePlugin.error('加载菜单失败');
|
|
66
|
+
MessagePlugin.error("加载菜单失败");
|
|
68
67
|
}
|
|
69
68
|
},
|
|
70
69
|
|
|
@@ -73,14 +72,14 @@ const $Method = {
|
|
|
73
72
|
if (!$Prop.rowData.id) return;
|
|
74
73
|
|
|
75
74
|
try {
|
|
76
|
-
const res = await $Http(
|
|
75
|
+
const res = await $Http("/addon/admin/role/menus", {
|
|
77
76
|
roleCode: $Prop.rowData.code
|
|
78
77
|
});
|
|
79
78
|
|
|
80
79
|
// menus 返回的 data 直接就是菜单 ID 数组
|
|
81
80
|
$Data.menuTreeCheckedKeys = Array.isArray(res.data) ? res.data : [];
|
|
82
81
|
} catch (error) {
|
|
83
|
-
|
|
82
|
+
MessagePlugin.error("加载数据失败");
|
|
84
83
|
}
|
|
85
84
|
},
|
|
86
85
|
|
|
@@ -89,21 +88,20 @@ const $Method = {
|
|
|
89
88
|
try {
|
|
90
89
|
$Data.submitting = true;
|
|
91
90
|
|
|
92
|
-
const res = await $Http(
|
|
91
|
+
const res = await $Http("/addon/admin/role/menuSave", {
|
|
93
92
|
roleCode: $Prop.rowData.code,
|
|
94
93
|
menuIds: $Data.menuTreeCheckedKeys
|
|
95
94
|
});
|
|
96
95
|
|
|
97
96
|
if (res.code === 0) {
|
|
98
|
-
MessagePlugin.success(
|
|
97
|
+
MessagePlugin.success("保存成功");
|
|
99
98
|
$Data.visible = false;
|
|
100
|
-
$Emit(
|
|
99
|
+
$Emit("success");
|
|
101
100
|
} else {
|
|
102
|
-
MessagePlugin.error(res.msg ||
|
|
101
|
+
MessagePlugin.error(res.msg || "保存失败");
|
|
103
102
|
}
|
|
104
103
|
} catch (error) {
|
|
105
|
-
|
|
106
|
-
MessagePlugin.error('保存失败');
|
|
104
|
+
MessagePlugin.error("保存失败");
|
|
107
105
|
} finally {
|
|
108
106
|
$Data.submitting = false;
|
|
109
107
|
}
|
|
@@ -18,7 +18,16 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
<div class="main-content">
|
|
20
20
|
<div class="main-table">
|
|
21
|
-
<TTable
|
|
21
|
+
<TTable
|
|
22
|
+
:data="$Data.tableData"
|
|
23
|
+
:columns="$Data.columns"
|
|
24
|
+
:loading="$Data.loading"
|
|
25
|
+
:active-row-keys="$Data.activeRowKeys"
|
|
26
|
+
row-key="id"
|
|
27
|
+
height="calc(100vh - var(--search-height) - var(--pagination-height) - var(--layout-gap) * 4)"
|
|
28
|
+
active-row-type="single"
|
|
29
|
+
@active-change="$Method.onActiveChange"
|
|
30
|
+
>
|
|
22
31
|
<template #state="{ row }">
|
|
23
32
|
<TTag v-if="row.state === 1" shape="round" theme="success" variant="light-outline">正常</TTag>
|
|
24
33
|
<TTag v-else-if="row.state === 2" shape="round" theme="warning" variant="light-outline">禁用</TTag>
|
|
@@ -74,20 +83,27 @@
|
|
|
74
83
|
</template>
|
|
75
84
|
|
|
76
85
|
<script setup>
|
|
77
|
-
import { Button as TButton, Table as TTable, Tag as TTag, Dropdown as TDropdown, DropdownMenu as TDropdownMenu, DropdownItem as TDropdownItem, Pagination as TPagination, MessagePlugin, DialogPlugin } from
|
|
78
|
-
import ILucidePlus from
|
|
79
|
-
import ILucideRotateCw from
|
|
80
|
-
import ILucidePencil from
|
|
81
|
-
import ILucideSettings from
|
|
82
|
-
import ILucideCode from
|
|
83
|
-
import ILucideTrash2 from
|
|
84
|
-
import ILucideChevronDown from
|
|
85
|
-
import EditDialog from
|
|
86
|
-
import MenuDialog from
|
|
87
|
-
import ApiDialog from
|
|
88
|
-
import DetailPanel from
|
|
89
|
-
import { $Http } from
|
|
90
|
-
import { withDefaultColumns } from
|
|
86
|
+
import { Button as TButton, Table as TTable, Tag as TTag, Dropdown as TDropdown, DropdownMenu as TDropdownMenu, DropdownItem as TDropdownItem, Pagination as TPagination, MessagePlugin, DialogPlugin } from "tdesign-vue-next";
|
|
87
|
+
import ILucidePlus from "~icons/lucide/plus";
|
|
88
|
+
import ILucideRotateCw from "~icons/lucide/rotate-cw";
|
|
89
|
+
import ILucidePencil from "~icons/lucide/pencil";
|
|
90
|
+
import ILucideSettings from "~icons/lucide/settings";
|
|
91
|
+
import ILucideCode from "~icons/lucide/code";
|
|
92
|
+
import ILucideTrash2 from "~icons/lucide/trash-2";
|
|
93
|
+
import ILucideChevronDown from "~icons/lucide/chevron-down";
|
|
94
|
+
import EditDialog from "./components/edit.vue";
|
|
95
|
+
import MenuDialog from "./components/menu.vue";
|
|
96
|
+
import ApiDialog from "./components/api.vue";
|
|
97
|
+
import DetailPanel from "@/components/DetailPanel.vue";
|
|
98
|
+
import { $Http } from "@/plugins/http";
|
|
99
|
+
import { withDefaultColumns } from "befly-vite/utils/withDefaultColumns";
|
|
100
|
+
|
|
101
|
+
definePage({
|
|
102
|
+
meta: {
|
|
103
|
+
title: "角色管理",
|
|
104
|
+
order: 1
|
|
105
|
+
}
|
|
106
|
+
});
|
|
91
107
|
|
|
92
108
|
// 响应式数据
|
|
93
109
|
const $Data = $ref({
|
|
@@ -96,25 +112,25 @@ const $Data = $ref({
|
|
|
96
112
|
activeRowKeys: [],
|
|
97
113
|
currentRow: null,
|
|
98
114
|
columns: withDefaultColumns([
|
|
99
|
-
{ colKey:
|
|
100
|
-
{ colKey:
|
|
101
|
-
{ colKey:
|
|
102
|
-
{ colKey:
|
|
103
|
-
{ colKey:
|
|
104
|
-
{ colKey:
|
|
105
|
-
{ colKey:
|
|
115
|
+
{ colKey: "id", title: "ID" },
|
|
116
|
+
{ colKey: "name", title: "角色名称" },
|
|
117
|
+
{ colKey: "code", title: "角色代码" },
|
|
118
|
+
{ colKey: "description", title: "描述" },
|
|
119
|
+
{ colKey: "sort", title: "排序" },
|
|
120
|
+
{ colKey: "state", title: "状态" },
|
|
121
|
+
{ colKey: "operation", title: "操作" }
|
|
106
122
|
]),
|
|
107
123
|
pagerConfig: {
|
|
108
124
|
currentPage: 1,
|
|
109
125
|
limit: 30,
|
|
110
126
|
total: 0,
|
|
111
|
-
align:
|
|
112
|
-
layout:
|
|
127
|
+
align: "right",
|
|
128
|
+
layout: "total, prev, pager, next, jumper"
|
|
113
129
|
},
|
|
114
130
|
editVisible: false,
|
|
115
131
|
menuVisible: false,
|
|
116
132
|
apiVisible: false,
|
|
117
|
-
actionType:
|
|
133
|
+
actionType: "add",
|
|
118
134
|
rowData: {}
|
|
119
135
|
});
|
|
120
136
|
|
|
@@ -127,7 +143,7 @@ const $Method = {
|
|
|
127
143
|
async apiRoleList() {
|
|
128
144
|
$Data.loading = true;
|
|
129
145
|
try {
|
|
130
|
-
const res = await $Http(
|
|
146
|
+
const res = await $Http("/addon/admin/role/list", {
|
|
131
147
|
page: $Data.pagerConfig.currentPage,
|
|
132
148
|
limit: $Data.pagerConfig.limit
|
|
133
149
|
});
|
|
@@ -143,8 +159,7 @@ const $Method = {
|
|
|
143
159
|
$Data.activeRowKeys = [];
|
|
144
160
|
}
|
|
145
161
|
} catch (error) {
|
|
146
|
-
|
|
147
|
-
MessagePlugin.error('加载数据失败');
|
|
162
|
+
MessagePlugin.error("加载数据失败");
|
|
148
163
|
} finally {
|
|
149
164
|
$Data.loading = false;
|
|
150
165
|
}
|
|
@@ -152,22 +167,43 @@ const $Method = {
|
|
|
152
167
|
|
|
153
168
|
// 删除角色
|
|
154
169
|
async apiRoleDel(row) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
let dialog = null;
|
|
171
|
+
let destroyed = false;
|
|
172
|
+
|
|
173
|
+
const destroy = () => {
|
|
174
|
+
if (destroyed) return;
|
|
175
|
+
destroyed = true;
|
|
176
|
+
if (dialog && typeof dialog.destroy === "function") {
|
|
177
|
+
dialog.destroy();
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
dialog = DialogPlugin.confirm({
|
|
182
|
+
header: "确认删除",
|
|
183
|
+
body: `确认删除角色“${row.name}”吗?`,
|
|
184
|
+
status: "warning",
|
|
185
|
+
confirmBtn: "删除",
|
|
186
|
+
cancelBtn: "取消",
|
|
187
|
+
onConfirm: async () => {
|
|
188
|
+
if (dialog && typeof dialog.setConfirmLoading === "function") {
|
|
189
|
+
dialog.setConfirmLoading(true);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
await $Http("/addon/admin/role/del", { id: row.id });
|
|
194
|
+
MessagePlugin.success("删除成功");
|
|
195
|
+
destroy();
|
|
196
|
+
await $Method.apiRoleList();
|
|
197
|
+
} catch (error) {
|
|
198
|
+
MessagePlugin.error("删除失败");
|
|
199
|
+
} finally {
|
|
200
|
+
if (dialog && typeof dialog.setConfirmLoading === "function") {
|
|
201
|
+
dialog.setConfirmLoading(false);
|
|
202
|
+
}
|
|
167
203
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
204
|
+
},
|
|
205
|
+
onClose: () => {
|
|
206
|
+
destroy();
|
|
171
207
|
}
|
|
172
208
|
});
|
|
173
209
|
},
|
|
@@ -207,13 +243,13 @@ const $Method = {
|
|
|
207
243
|
onAction(command, rowData) {
|
|
208
244
|
$Data.actionType = command;
|
|
209
245
|
$Data.rowData = rowData;
|
|
210
|
-
if (command ===
|
|
246
|
+
if (command === "add" || command === "upd") {
|
|
211
247
|
$Data.editVisible = true;
|
|
212
|
-
} else if (command ===
|
|
248
|
+
} else if (command === "menu") {
|
|
213
249
|
$Data.menuVisible = true;
|
|
214
|
-
} else if (command ===
|
|
250
|
+
} else if (command === "api") {
|
|
215
251
|
$Data.apiVisible = true;
|
|
216
|
-
} else if (command ===
|
|
252
|
+
} else if (command === "del") {
|
|
217
253
|
$Method.apiRoleDel(rowData);
|
|
218
254
|
}
|
|
219
255
|
}
|
|
@@ -223,6 +259,5 @@ $Method.initData();
|
|
|
223
259
|
</script>
|
|
224
260
|
|
|
225
261
|
<style scoped lang="scss">
|
|
226
|
-
|
|
227
|
-
}
|
|
262
|
+
/* page styles */
|
|
228
263
|
</style>
|
package/views/403_1/meta.json
DELETED
package/views/config/meta.json
DELETED
package/views/index/meta.json
DELETED
package/views/log/meta.json
DELETED
package/views/login_1/meta.json
DELETED
package/views/people/meta.json
DELETED