()
+const dropTableLoader = (param: { keywords: string } & G.PageParam) => {
+ const dataList = icons.glyphs
+ .filter(it => it.name.toLowerCase().includes(param.keywords.toLowerCase()) || it.font_class.toLowerCase().includes(param.keywords.toLowerCase()))
+ .sort((a, b) => a.unicode_decimal - b.unicode_decimal)
+ return Promise.resolve({
+ current: param.current!,
+ size: param.size,
+ pages: Math.ceil(dataList.length / param.size!),
+ total: dataList.length,
+ records: dataList
+ .filter((_, i) => {
+ return i >= (param.current! - 1) * param.size! && i < param.current! * param.size!
+ })
+ .map(it => ({
+ id: it.font_class,
+ ...it,
+ })),
+ } as G.PageResult)
+}
+
+
+
+
+
+
+ 请选择
+
+
+
+
+
+
+ {{ row.font_class }}
+
+
+
+
+
+
+
+
diff --git a/src/components/a-icon/iconfont.css b/src/components/a-icon/iconfont.css
index 05f5f2a..1a046b9 100644
--- a/src/components/a-icon/iconfont.css
+++ b/src/components/a-icon/iconfont.css
@@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* 项目名称 再昇云 */
- src: url('@/components/a-icon/iconfont.woff2?t=1771989909326') format('woff2'),
- url('@/components/a-icon/iconfont.woff?t=1771989909326') format('woff'),
- url('@/components/a-icon/iconfont.ttf?t=1771989909326') format('truetype');
+ src: url('@/components/a-icon/iconfont.woff2?t=1772264126793') format('woff2'),
+ url('@/components/a-icon/iconfont.woff?t=1772264126793') format('woff'),
+ url('@/components/a-icon/iconfont.ttf?t=1772264126793') format('truetype');
}
.iconfont {
@@ -13,6 +13,38 @@
-moz-osx-font-smoothing: grayscale;
}
+.icon-yulan:before {
+ content: "\e668";
+}
+
+.icon-putongzhihang:before {
+ content: "\e663";
+}
+
+.icon-zhihangjilu:before {
+ content: "\e892";
+}
+
+.icon-xitongguanli1:before {
+ content: "\e6ae";
+}
+
+.icon-API:before {
+ content: "\e740";
+}
+
+.icon-bianma:before {
+ content: "\e772";
+}
+
+.icon-caidan:before {
+ content: "\e662";
+}
+
+.icon-gongnengquanxian:before {
+ content: "\e661";
+}
+
.icon-zhongzhimima:before {
content: "\e660";
}
diff --git a/src/components/a-icon/iconfont.json b/src/components/a-icon/iconfont.json
index af10f47..283ba65 100644
--- a/src/components/a-icon/iconfont.json
+++ b/src/components/a-icon/iconfont.json
@@ -5,6 +5,62 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
+ {
+ "icon_id": "7450656",
+ "name": "预览",
+ "font_class": "yulan",
+ "unicode": "e668",
+ "unicode_decimal": 58984
+ },
+ {
+ "icon_id": "11493961",
+ "name": "普通执行",
+ "font_class": "putongzhihang",
+ "unicode": "e663",
+ "unicode_decimal": 58979
+ },
+ {
+ "icon_id": "44782561",
+ "name": "执行记录",
+ "font_class": "zhihangjilu",
+ "unicode": "e892",
+ "unicode_decimal": 59538
+ },
+ {
+ "icon_id": "12884221",
+ "name": "系统管理",
+ "font_class": "xitongguanli1",
+ "unicode": "e6ae",
+ "unicode_decimal": 59054
+ },
+ {
+ "icon_id": "3351180",
+ "name": "API",
+ "font_class": "API",
+ "unicode": "e740",
+ "unicode_decimal": 59200
+ },
+ {
+ "icon_id": "19105727",
+ "name": "编码",
+ "font_class": "bianma",
+ "unicode": "e772",
+ "unicode_decimal": 59250
+ },
+ {
+ "icon_id": "7155218",
+ "name": "菜单",
+ "font_class": "caidan",
+ "unicode": "e662",
+ "unicode_decimal": 58978
+ },
+ {
+ "icon_id": "12820163",
+ "name": "功能权限",
+ "font_class": "gongnengquanxian",
+ "unicode": "e661",
+ "unicode_decimal": 58977
+ },
{
"icon_id": "524416",
"name": "重置密码",
diff --git a/src/components/a-icon/iconfont.ts b/src/components/a-icon/iconfont.ts
index cbb95d9..5e01e16 100644
--- a/src/components/a-icon/iconfont.ts
+++ b/src/components/a-icon/iconfont.ts
@@ -5,6 +5,62 @@ export const icons = {
'css_prefix_text': 'icon-',
'description': '',
'glyphs': [
+ {
+ 'icon_id': '7450656',
+ 'name': '预览',
+ 'font_class': 'yulan',
+ 'unicode': 'e668',
+ 'unicode_decimal': 58984,
+ },
+ {
+ 'icon_id': '11493961',
+ 'name': '普通执行',
+ 'font_class': 'putongzhihang',
+ 'unicode': 'e663',
+ 'unicode_decimal': 58979,
+ },
+ {
+ 'icon_id': '44782561',
+ 'name': '执行记录',
+ 'font_class': 'zhihangjilu',
+ 'unicode': 'e892',
+ 'unicode_decimal': 59538,
+ },
+ {
+ 'icon_id': '12884221',
+ 'name': '系统管理',
+ 'font_class': 'xitongguanli1',
+ 'unicode': 'e6ae',
+ 'unicode_decimal': 59054,
+ },
+ {
+ 'icon_id': '3351180',
+ 'name': 'API',
+ 'font_class': 'API',
+ 'unicode': 'e740',
+ 'unicode_decimal': 59200,
+ },
+ {
+ 'icon_id': '19105727',
+ 'name': '编码',
+ 'font_class': 'bianma',
+ 'unicode': 'e772',
+ 'unicode_decimal': 59250,
+ },
+ {
+ 'icon_id': '7155218',
+ 'name': '菜单',
+ 'font_class': 'caidan',
+ 'unicode': 'e662',
+ 'unicode_decimal': 58978,
+ },
+ {
+ 'icon_id': '12820163',
+ 'name': '功能权限',
+ 'font_class': 'gongnengquanxian',
+ 'unicode': 'e661',
+ 'unicode_decimal': 58977,
+ },
{
'icon_id': '524416',
'name': '重置密码',
diff --git a/src/components/a-icon/iconfont.ttf b/src/components/a-icon/iconfont.ttf
index ba9b6e8..e5aaabc 100644
Binary files a/src/components/a-icon/iconfont.ttf and b/src/components/a-icon/iconfont.ttf differ
diff --git a/src/components/a-icon/iconfont.woff b/src/components/a-icon/iconfont.woff
index 3cff0b0..0b7850c 100644
Binary files a/src/components/a-icon/iconfont.woff and b/src/components/a-icon/iconfont.woff differ
diff --git a/src/components/a-icon/iconfont.woff2 b/src/components/a-icon/iconfont.woff2
index b69b719..392663c 100644
Binary files a/src/components/a-icon/iconfont.woff2 and b/src/components/a-icon/iconfont.woff2 differ
diff --git a/src/components/a-page/a-table-page/ATablePage.tsx b/src/components/a-page/a-table-page/ATablePage.tsx
index 701da61..ccc4c8b 100644
--- a/src/components/a-page/a-table-page/ATablePage.tsx
+++ b/src/components/a-page/a-table-page/ATablePage.tsx
@@ -102,6 +102,7 @@ interface FormPropsType {
* @param param 查询条件
*/
paging: (param: P) => Promise>>
+ list?: (param: P) => Promise>
/**
* 导出函数
* @param param 查询条件
@@ -329,9 +330,19 @@ const component = defineComponent(
loading.value = false
})
return
+ } else if (props.searchForm.list != null) {
+ props.searchForm.list(formData.$clone() as P)
+ .then(res => {
+ const records = res.data ?? ([] as T[])
+ tableData.$reset(records)
+ })
+ .finally(() => {
+ loading.value = false
+ })
+ return
}
}
- expose({doSearch})
+ expose({doSearch, tableData})
const showHighFormHandle = () => {
showHighForm.value = !showHighForm.value
formData.$reset()
@@ -634,7 +645,7 @@ const component = defineComponent(
}
, [ [ ElLoading.directive, loading.value ] ])
}
- (formData as G.PageParam).current = val}
@@ -645,7 +656,7 @@ const component = defineComponent(
total={totalCount.value}
background={true}
layout="total, prev, pager, next, sizes, jumper"
- onChange={doSearch}/>
+ onChange={doSearch}/> : <>>}
{
slots?.default?.()
}
@@ -658,8 +669,9 @@ const component = defineComponent(
},
)
-export interface ATablePageInstance extends InstanceType {
+export interface ATablePageInstance extends InstanceType {
doSearch: () => void
+ tableData: T[]
}
export default component
diff --git a/src/dts/components.d.ts b/src/dts/components.d.ts
index 0f866c9..578a46e 100644
--- a/src/dts/components.d.ts
+++ b/src/dts/components.d.ts
@@ -33,6 +33,7 @@ declare module 'vue' {
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
+ ElIconArrowRight: typeof import('@element-plus/icons-vue')['ArrowRight']
ElIconCircleClose: typeof import('@element-plus/icons-vue')['CircleClose']
ElIconPicture: typeof import('@element-plus/icons-vue')['Picture']
ElIconPlus: typeof import('@element-plus/icons-vue')['Plus']
@@ -91,6 +92,7 @@ declare global {
const ElFormItem: typeof import('element-plus/es')['ElFormItem']
const ElHeader: typeof import('element-plus/es')['ElHeader']
const ElIcon: typeof import('element-plus/es')['ElIcon']
+ const ElIconArrowRight: typeof import('@element-plus/icons-vue')['ArrowRight']
const ElIconCircleClose: typeof import('@element-plus/icons-vue')['CircleClose']
const ElIconPicture: typeof import('@element-plus/icons-vue')['Picture']
const ElIconPlus: typeof import('@element-plus/icons-vue')['Plus']
diff --git a/src/pages/gds/goods-category/GoodsCategoryForm.vue b/src/pages/gds/goods-category/GoodsCategoryForm.vue
index 6d2cd57..2ae40cb 100644
--- a/src/pages/gds/goods-category/GoodsCategoryForm.vue
+++ b/src/pages/gds/goods-category/GoodsCategoryForm.vue
@@ -19,7 +19,7 @@
-
+
diff --git a/src/pages/gds/goods/GoodsForm.vue b/src/pages/gds/goods/GoodsForm.vue
index dce67d9..a96f3c4 100644
--- a/src/pages/gds/goods/GoodsForm.vue
+++ b/src/pages/gds/goods/GoodsForm.vue
@@ -115,7 +115,6 @@ const formPanelIns = useTemplateRef('formPanel')
const uploaderIns = useTemplateRef>('uploader')
const status = ref<'add' | 'modify'>('add')
const formPanelProps = buildFormPanelProps({
- // title: status.value === 'add' ? '新建产品' : '修改产品',
detailsLoader(id?: string) {
if (Strings.isBlank(id)) {
status.value = 'add'
diff --git a/src/pages/sys/endpoint/Endpoint.vue b/src/pages/sys/endpoint/Endpoint.vue
index f276e2d..644041d 100644
--- a/src/pages/sys/endpoint/Endpoint.vue
+++ b/src/pages/sys/endpoint/Endpoint.vue
@@ -1,13 +1,11 @@
-
-
-
+
+
+
@@ -18,128 +16,75 @@
-
-
+
+
diff --git a/src/pages/sys/endpoint/EndpointForm.vue b/src/pages/sys/endpoint/EndpointForm.vue
index ad7ee2b..5bacd8c 100644
--- a/src/pages/sys/endpoint/EndpointForm.vue
+++ b/src/pages/sys/endpoint/EndpointForm.vue
@@ -1,163 +1,139 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ status === 'view' ? '关闭' : '取消' }}
- 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/pages/sys/gen/db-table/CodePreview.vue b/src/pages/sys/gen/db-table/CodePreview.vue
index e76cf14..d56b493 100644
--- a/src/pages/sys/gen/db-table/CodePreview.vue
+++ b/src/pages/sys/gen/db-table/CodePreview.vue
@@ -1,9 +1,7 @@
-
预览
下载
-
+
diff --git a/src/pages/sys/gen/tpl/Tpl.vue b/src/pages/sys/gen/tpl/Tpl.vue
index 9cd06b8..9921ce9 100644
--- a/src/pages/sys/gen/tpl/Tpl.vue
+++ b/src/pages/sys/gen/tpl/Tpl.vue
@@ -1,19 +1,16 @@
-
-
-
+
+
+
-
+
-
-
+
+
diff --git a/src/pages/sys/gen/tpl/TplForm.vue b/src/pages/sys/gen/tpl/TplForm.vue
index 614a42f..9434df1 100644
--- a/src/pages/sys/gen/tpl/TplForm.vue
+++ b/src/pages/sys/gen/tpl/TplForm.vue
@@ -1,7 +1,6 @@
-
@@ -41,7 +37,6 @@
@@ -51,7 +46,6 @@
@@ -61,12 +55,13 @@
{{ status === 'view' ? '关闭' : '取消' }}
提交
-
+
diff --git a/src/pages/sys/menus/menu-api.ts b/src/pages/sys/menus/menu-api.ts
index 5efef21..6436767 100644
--- a/src/pages/sys/menus/menu-api.ts
+++ b/src/pages/sys/menus/menu-api.ts
@@ -8,7 +8,7 @@ export default {
return get>('/menu/page_list', data)
},
paging(data: MenuTypes.SearchForm & G.PageParam) {
- return get>('/menu/page_list', data)
+ return get>('/menu/paging', data)
},
list(data?: MenuTypes.SearchForm | null) {
return get('/menu/list_all', data)
diff --git a/src/pages/sys/menus/menu.d.ts b/src/pages/sys/menus/menu.d.ts
index 3874573..d46582f 100644
--- a/src/pages/sys/menus/menu.d.ts
+++ b/src/pages/sys/menus/menu.d.ts
@@ -26,6 +26,7 @@ declare global {
// 面包路径
breadcrumb?: string[]
menuCategory?: MenuCategory
+ hasChildren?: boolean
children?: SysMenu[]
}
diff --git a/src/pages/sys/role/BindRes.vue b/src/pages/sys/role/BindRes.vue
index e1a1004..78df423 100644
--- a/src/pages/sys/role/BindRes.vue
+++ b/src/pages/sys/role/BindRes.vue
@@ -1,7 +1,6 @@
-
取消
提交
-
+
diff --git a/src/pages/sys/role/RoleForm.vue b/src/pages/sys/role/RoleForm.vue
index 42f5aab..e5ff624 100644
--- a/src/pages/sys/role/RoleForm.vue
+++ b/src/pages/sys/role/RoleForm.vue
@@ -1,91 +1,77 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ status === 'view' ? '关闭' : '取消' }}
- 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/pages/sys/task/Task.vue b/src/pages/sys/task/Task.vue
index b052e90..8284b0d 100644
--- a/src/pages/sys/task/Task.vue
+++ b/src/pages/sys/task/Task.vue
@@ -1,39 +1,51 @@
-
-
+
+
-
+
+ v-model="formData.fn"
+ placeholder="执行函数"/>
+ v-model="formData.scheduleType"
+ clearable placeholder="请选择调度方式" @change="research" @clear="research">
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -53,129 +65,131 @@
-
-
-
-
- {{ scope.row.disabled ? '是' : '否' }}
-
+
+
+
-
-
+
-
+
diff --git a/src/pages/sys/task/TaskForm.vue b/src/pages/sys/task/TaskForm.vue
index 9f3c6d0..48eb1dd 100644
--- a/src/pages/sys/task/TaskForm.vue
+++ b/src/pages/sys/task/TaskForm.vue
@@ -1,54 +1,62 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 周期(秒)
-
-
-
-
-
-
-
-
-
-
- {{ status === 'view' ? '关闭' : '取消' }}
- 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 周期(秒)
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/pages/sys/task/cron/Cron.vue b/src/pages/sys/task/cron/Cron.vue
index d3b86d9..f12cc58 100644
--- a/src/pages/sys/task/cron/Cron.vue
+++ b/src/pages/sys/task/cron/Cron.vue
@@ -2,6 +2,7 @@
import { elIcons } from '@/common/element/element.ts'
import CronPanel from '@/pages/sys/task/cron/cron-panel/CronPanel.vue'
import { useCronStore } from '@/pages/sys/task/cron/cron-store.ts'
+import ADialog from '@/components/a-dialog/ADialog.vue'
const props = defineProps<{
modelValue?: string
@@ -41,12 +42,11 @@ function openPanel() {
-
+ width="50vw">
-
+