
diff --git a/src/pages/demo/index.vue b/src/pages/demo/index.vue
index 3e2b676..2d2044c 100644
--- a/src/pages/demo/index.vue
+++ b/src/pages/demo/index.vue
@@ -1,42 +1,30 @@
-
-
-
-
- {{ menu.title }}
-
-
-
设置权限
-
-
-
-
- {{ item.title }}
-
-
-
- 暂无子项
-
-
-
+
+
+
-
+
+
+{
+ "meta": {
+ "sort": 10300,
+ "title": "新增文章",
+ "icon": "icon-park-outline-edit"
+ }
+}
+
diff --git a/src/pages/post/index.vue b/src/pages/post/index.vue
index 06f569c..b62cb14 100644
--- a/src/pages/post/index.vue
+++ b/src/pages/post/index.vue
@@ -1,6 +1,51 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+
+
+
@@ -62,6 +107,22 @@ const table = useTable({
extend: "title",
required: false,
},
+ {
+ extend: "title",
+ required: false,
+ },
+ {
+ extend: "title",
+ required: false,
+ },
+ {
+ extend: "title",
+ required: false,
+ },
+ {
+ extend: "title",
+ required: false,
+ },
],
},
create: {
@@ -108,9 +169,42 @@ const table = useTable({
},
},
});
+
+const exportTypes = [
+ {
+ name: "excel",
+ icon: "icon-park-outline-file-excel",
+ label: "Excel格式",
+ description: "后缀: .xlsx, 可使用 office excel 2003 及以上版本打开",
+ },
+ {
+ name: "csv",
+ icon: "icon-park-outline-file-code",
+ label: "CSV格式",
+ description: "后缀: .csv, 可使用 excel 或 记事本等工具打开",
+ },
+ {
+ name: "text",
+ icon: "icon-park-outline-file-text",
+ label: "TEXT格式",
+ description: "后缀: .txt, 可使用 记事本 或 其他文本编辑器打开",
+ },
+];
+
+const model = reactive({
+ visible: false,
+ exportType: "excel",
+ filename: dayjs().format("导出文件YYYYMMDDHHmmss"),
+});
-
+
{
@@ -118,6 +212,11 @@ const table = useTable({
"sort": 10300,
"title": "文章管理",
"icon": "icon-park-outline-document-folder"
+ },
+ "parentMeta": {
+ "sort": 10300,
+ "title": "内容管理",
+ "icon": "icon-park-outline-document-folder"
}
}
diff --git a/src/pages/system/permission/index.vue b/src/pages/system/permission/index.vue
index 232a787..928b17c 100644
--- a/src/pages/system/permission/index.vue
+++ b/src/pages/system/permission/index.vue
@@ -14,9 +14,6 @@ const table = useTable({
return api.permission.getPermissions();
},
columns: [
- {
- type: "index",
- },
{
title: "权限名称",
dataIndex: "username",
@@ -25,7 +22,7 @@ const table = useTable({
return (
{record.name}
- 标识:{record.slug}
+ {record.slug}
);
},
@@ -43,12 +40,16 @@ const table = useTable({
{
title: "操作",
type: "button",
- width: 70,
+ width: 110,
buttons: [
{
type: "modify",
text: "修改",
},
+ {
+ type: 'delete',
+ text: '删除',
+ }
],
},
],
diff --git a/src/pages/system/role/index.vue b/src/pages/system/role/index.vue
index c39f0ea..7edf602 100644
--- a/src/pages/system/role/index.vue
+++ b/src/pages/system/role/index.vue
@@ -14,9 +14,6 @@ const table = useTable({
return api.role.getRoles();
},
columns: [
- {
- type: "index",
- },
{
title: "角色名称",
dataIndex: "username",
@@ -25,7 +22,7 @@ const table = useTable({
return (
{record.name}
- 标识:{record.slug}
+ {record.slug}
);
},
diff --git a/src/pages/system/user/index.vue b/src/pages/system/user/index.vue
index e891c1f..263e700 100644
--- a/src/pages/system/user/index.vue
+++ b/src/pages/system/user/index.vue
@@ -22,9 +22,6 @@ const table = useTable({
return api.user.getUsers({ ...model, ...paging });
},
columns: [
- {
- type: "index",
- },
{
title: "用户昵称",
dataIndex: "username",
@@ -36,7 +33,7 @@ const table = useTable({
{record.nickname}
- 账号:{record.username}
+ {record.username}
),
@@ -82,6 +79,9 @@ const table = useTable({
itemProps: {
hideLabel: true,
},
+ nodeProps: {
+ placeholder: "输入用户昵称关键字",
+ }
},
],
},
diff --git a/src/styles/css-arco.less b/src/styles/css-arco.less
index a8ba1db..111417e 100644
--- a/src/styles/css-arco.less
+++ b/src/styles/css-arco.less
@@ -65,6 +65,9 @@ body {
display: none;
}
}
+ .arco-form-item-layout-inline:last-child {
+ margin-right: 0;
+ }
}
.dark {
.arco-menu-item.arco-menu-selected {
diff --git a/src/styles/css-unocss.less b/src/styles/css-unocss.less
index a38cce4..24cf45b 100644
--- a/src/styles/css-unocss.less
+++ b/src/styles/css-unocss.less
@@ -10,3 +10,8 @@
display: inline-block;
vertical-align: middle;
}
+
+.table .arco-form-item-layout-inline {
+ margin-right: 8px;
+ margin-bottom: 0;
+}
diff --git a/src/types/auto-component.d.ts b/src/types/auto-component.d.ts
index af84891..c858280 100644
--- a/src/types/auto-component.d.ts
+++ b/src/types/auto-component.d.ts
@@ -8,16 +8,18 @@ export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
AAvatar: typeof import('@arco-design/web-vue')['Avatar']
+ ABadge: typeof import('@arco-design/web-vue')['Badge']
ABreadcrumb: typeof import('@arco-design/web-vue')['Breadcrumb']
ABreadcrumbItem: typeof import('@arco-design/web-vue')['BreadcrumbItem']
AButton: typeof import('@arco-design/web-vue')['Button']
+ ACard: typeof import('@arco-design/web-vue')['Card']
ACheckbox: typeof import('@arco-design/web-vue')['Checkbox']
ACheckboxGroup: typeof import('@arco-design/web-vue')['CheckboxGroup']
AConfigProvider: typeof import('@arco-design/web-vue')['ConfigProvider']
+ ADatePicker: typeof import('@arco-design/web-vue')['DatePicker']
ADoption: typeof import('@arco-design/web-vue')['Doption']
ADrawer: typeof import('@arco-design/web-vue')['Drawer']
ADropdown: typeof import('@arco-design/web-vue')['Dropdown']
- AEmpty: typeof import('@arco-design/web-vue')['Empty']
AForm: typeof import('@arco-design/web-vue')['Form']
AFormItem: typeof import('@arco-design/web-vue')['FormItem']
AImage: typeof import('@arco-design/web-vue')['Image']
@@ -33,9 +35,12 @@ declare module '@vue/runtime-core' {
AListItemMeta: typeof import('@arco-design/web-vue')['ListItemMeta']
AMenu: typeof import('@arco-design/web-vue')['Menu']
AMenuItem: typeof import('@arco-design/web-vue')['MenuItem']
+ AMenuItemGroup: typeof import('@arco-design/web-vue')['MenuItemGroup']
+ AModal: typeof import('@arco-design/web-vue')['Modal']
APagination: typeof import('@arco-design/web-vue')['Pagination']
ARadio: typeof import('@arco-design/web-vue')['Radio']
ARadioGroup: typeof import('@arco-design/web-vue')['RadioGroup']
+ ASelect: typeof import('@arco-design/web-vue')['Select']
ASpace: typeof import('@arco-design/web-vue')['Space']
ASubMenu: typeof import('@arco-design/web-vue')['SubMenu']
ASwitch: typeof import('@arco-design/web-vue')['Switch']
@@ -44,6 +49,7 @@ declare module '@vue/runtime-core' {
ATag: typeof import('@arco-design/web-vue')['Tag']
ATextarea: typeof import('@arco-design/web-vue')['Textarea']
ATooltip: typeof import('@arco-design/web-vue')['Tooltip']
+ ATree: typeof import('@arco-design/web-vue')['Tree']
BreadCrumb: typeof import('./../components/breadcrumb/bread-crumb.vue')['default']
BreadPage: typeof import('./../components/breadcrumb/bread-page.vue')['default']
Page403: typeof import('./../components/error/page-403.vue')['default']
diff --git a/vite.config.ts b/vite.config.ts
index 68afe33..fcfe8d0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -90,6 +90,22 @@ export default defineConfig(({ mode }) => {
* @see https://github.com/unocss/unocss#readme
*/
Unocss({
+ theme: {
+ colors: {
+ brand: {
+ 50: 'rgb(var(--primary-1))',
+ 100: 'rgb(var(--primary-2))',
+ 200: 'rgb(var(--primary-3))',
+ 300: 'rgb(var(--primary-4))',
+ 400: 'rgb(var(--primary-5))',
+ 500: 'rgb(var(--primary-6))',
+ 600: 'rgb(var(--primary-7))',
+ 700: 'rgb(var(--primary-8))',
+ 800: 'rgb(var(--primary-9))',
+ 900: 'rgb(var(--primary-10))',
+ }
+ }
+ },
include: ["src/**/*.{vue,ts,tsx,css,scss,sass,less,styl}"],
presets: [presetUno(), presetIcons({ prefix: "" })],
}),