+
import("@/views/able/video-frame/index.vue"),
- meta: {
- title: $t("menus.hsVideoFrame")
- }
- },
- {
- path: "/able/wavesurfer",
- name: "Wavesurfer",
- component: () => import("@/views/able/wavesurfer/index.vue"),
- meta: {
- title: $t("menus.hsWavesurfer")
- }
- },
- {
- path: "/able/directives",
- name: "Directives",
- component: () => import("@/views/able/directives.vue"),
- meta: {
- title: $t("menus.hsOptimize")
- }
- },
{
path: "/able/watermark",
name: "WaterMark",
@@ -59,35 +35,11 @@ export default {
}
},
{
- path: "/able/iconSelect",
- name: "IconSelect",
- component: () => import("@/views/able/icon-select.vue"),
+ path: "/able/excel",
+ name: "Excel",
+ component: () => import("@/views/able/excel.vue"),
meta: {
- title: $t("menus.hsIconSelect")
- }
- },
- {
- path: "/able/timeline",
- name: "TimeLine",
- component: () => import("@/views/able/timeline.vue"),
- meta: {
- title: $t("menus.hsTimeline")
- }
- },
- {
- path: "/able/menuTree",
- name: "MenuTree",
- component: () => import("@/views/able/menu-tree.vue"),
- meta: {
- title: $t("menus.hsMenuTree")
- }
- },
- {
- path: "/able/lineTree",
- name: "LineTree",
- component: () => import("@/views/able/line-tree.vue"),
- meta: {
- title: $t("menus.hsLineTree")
+ title: $t("menus.hsExcel")
}
},
{
@@ -98,6 +50,34 @@ export default {
title: $t("menus.hsDebounce")
}
},
+ {
+ path: "/able/directives",
+ name: "Directives",
+ component: () => import("@/views/able/directives.vue"),
+ meta: {
+ title: $t("menus.hsOptimize")
+ }
+ },
+ {
+ path: "/able/draggable",
+ name: "Draggable",
+ component: () => import("@/views/able/draggable.vue"),
+ meta: {
+ title: $t("menus.hsdraggable"),
+ transition: {
+ enterTransition: "animate__zoomIn",
+ leaveTransition: "animate__zoomOut"
+ }
+ }
+ },
+ {
+ path: "/able/pdf",
+ name: "Pdf",
+ component: () => import("@/views/able/pdf.vue"),
+ meta: {
+ title: $t("menus.hsPdf")
+ }
+ },
{
path: "/able/barcode",
name: "BarCode",
@@ -115,43 +95,47 @@ export default {
}
},
{
- path: "/able/cascader",
- name: "Cascader",
- component: () => import("@/views/able/cascader.vue"),
+ path: "/able/map",
+ name: "MapPage",
+ component: () => import("@/views/able/map.vue"),
meta: {
- title: $t("menus.hsCascader")
+ title: $t("menus.hsmap"),
+ keepAlive: true,
+ transition: {
+ name: "fade"
+ }
}
},
{
- path: "/able/swiper",
- name: "Swiper",
- component: () => import("@/views/able/swiper.vue"),
+ path: "/able/wavesurfer",
+ name: "Wavesurfer",
+ component: () => import("@/views/able/wavesurfer/index.vue"),
meta: {
- title: $t("menus.hsSwiper")
+ title: $t("menus.hsWavesurfer")
}
},
{
- path: "/able/virtualList",
- name: "VirtualList",
- component: () => import("@/views/able/virtual-list/index.vue"),
+ path: "/able/video",
+ name: "VideoPage",
+ component: () => import("@/views/able/video.vue"),
meta: {
- title: $t("menus.hsVirtualList")
+ title: $t("menus.hsvideo")
}
},
{
- path: "/able/pdf",
- name: "Pdf",
- component: () => import("@/views/able/pdf.vue"),
+ path: "/able/videoFrame",
+ name: "VideoFrame",
+ component: () => import("@/views/able/video-frame/index.vue"),
meta: {
- title: $t("menus.hsPdf")
+ title: $t("menus.hsVideoFrame")
}
},
{
- path: "/able/excel",
- name: "Excel",
- component: () => import("@/views/able/excel.vue"),
+ path: "/able/danmaku",
+ name: "Danmaku",
+ component: () => import("@/views/able/danmaku/index.vue"),
meta: {
- title: $t("menus.hsExcel")
+ title: $t("menus.hsdanmaku")
}
},
{
@@ -162,6 +146,30 @@ export default {
title: $t("menus.hsInfiniteScroll")
}
},
+ {
+ path: "/able/menuTree",
+ name: "MenuTree",
+ component: () => import("@/views/able/menu-tree.vue"),
+ meta: {
+ title: $t("menus.hsMenuTree")
+ }
+ },
+ {
+ path: "/able/lineTree",
+ name: "LineTree",
+ component: () => import("@/views/able/line-tree.vue"),
+ meta: {
+ title: $t("menus.hsLineTree")
+ }
+ },
+ {
+ path: "/able/typeit",
+ name: "Typeit",
+ component: () => import("@/views/able/typeit.vue"),
+ meta: {
+ title: $t("menus.hstypeit")
+ }
+ },
{
path: "/able/sensitive",
name: "Sensitive",
diff --git a/src/router/modules/components.ts b/src/router/modules/components.ts
index 96e1de5fa..994c36eba 100644
--- a/src/router/modules/components.ts
+++ b/src/router/modules/components.ts
@@ -15,85 +15,31 @@ export default {
name: "DialogPage",
component: () => import("@/views/components/dialog/index.vue"),
meta: {
- title: $t("menus.hsdialog"),
- extraIcon: "IF-pure-iconfont-new svg",
- transition: {
- enterTransition: "animate__fadeInLeft",
- leaveTransition: "animate__fadeOutRight"
- }
+ title: $t("menus.hsdialog")
}
},
{
path: "/components/message",
name: "Message",
- component: () => import("@/views/components/message/index.vue"),
+ component: () => import("@/views/components/message.vue"),
meta: {
title: $t("menus.hsmessage")
}
},
{
- path: "/components/segmented",
- name: "Segmented",
- component: () => import("@/views/components/segmented/index.vue"),
+ path: "/components/iconSelect",
+ name: "IconSelect",
+ component: () => import("@/views/components/icon-select.vue"),
meta: {
- title: $t("menus.hssegmented"),
- extraIcon: "IF-pure-iconfont-new svg"
+ title: $t("menus.hsIconSelect")
}
},
{
- path: "/components/waterfall",
- name: "Waterfall",
- component: () => import("@/views/components/waterfall/index.vue"),
+ path: "/components/animatecss",
+ name: "AnimateCss",
+ component: () => import("@/views/components/animatecss.vue"),
meta: {
- title: $t("menus.hswaterfall")
- }
- },
- {
- path: "/components/video",
- name: "VideoPage",
- component: () => import("@/views/components/video/index.vue"),
- meta: {
- title: $t("menus.hsvideo")
- }
- },
- {
- path: "/components/map",
- name: "MapPage",
- component: () => import("@/views/components/map/index.vue"),
- meta: {
- title: $t("menus.hsmap"),
- keepAlive: true,
- transition: {
- name: "fade"
- }
- }
- },
- {
- path: "/components/draggable",
- name: "Draggable",
- component: () => import("@/views/components/draggable/index.vue"),
- meta: {
- title: $t("menus.hsdraggable"),
- transition: {
- enterTransition: "animate__zoomIn",
- leaveTransition: "animate__zoomOut"
- }
- }
- },
- {
- path: "/components/splitPane",
- name: "SplitPane",
- component: () => import("@/views/components/split-pane/index.vue"),
- meta: {
- title: $t("menus.hssplitPane")
- }
- },
- {
- path: "/components/button",
- name: "ButtonPage",
- component: () => import("@/views/components/button/index.vue"),
- meta: {
- title: $t("menus.hsbutton")
+ title: $t("menus.hsanimatecss")
}
},
{
@@ -105,35 +51,76 @@ export default {
}
},
{
- path: "/components/animatecss",
- name: "AnimateCss",
- component: () => import("@/views/components/animatecss/index.vue"),
+ path: "/components/checkButton",
+ name: "CheckButton",
+ component: () => import("@/views/components/check-button.vue"),
meta: {
- title: $t("menus.hsanimatecss")
+ title: $t("menus.hsCheckButton"),
+ extraIcon: "IF-pure-iconfont-new svg"
}
},
{
- path: "/components/countTo",
- name: "CountTo",
- component: () => import("@/views/components/count-to/index.vue"),
+ path: "/components/segmented",
+ name: "Segmented",
+ component: () => import("@/views/components/segmented.vue"),
meta: {
- title: $t("menus.hscountTo")
+ title: $t("menus.hssegmented")
+ }
+ },
+ {
+ path: "/components/cascader",
+ name: "Cascader",
+ component: () => import("@/views/components/cascader.vue"),
+ meta: {
+ title: $t("menus.hsCascader")
}
},
{
path: "/components/selector",
name: "Selector",
- component: () => import("@/views/components/selector/index.vue"),
+ component: () => import("@/views/components/selector.vue"),
meta: {
title: $t("menus.hsselector")
}
},
{
- path: "/components/seamlessScroll",
- name: "SeamlessScroll",
- component: () => import("@/views/components/seamless-scroll/index.vue"),
+ path: "/components/waterfall",
+ name: "Waterfall",
+ component: () => import("@/views/components/waterfall/index.vue"),
meta: {
- title: $t("menus.hsseamless")
+ title: $t("menus.hswaterfall")
+ }
+ },
+ {
+ path: "/components/splitPane",
+ name: "SplitPane",
+ component: () => import("@/views/components/split-pane.vue"),
+ meta: {
+ title: $t("menus.hssplitPane")
+ }
+ },
+ {
+ path: "/components/swiper",
+ name: "Swiper",
+ component: () => import("@/views/components/swiper.vue"),
+ meta: {
+ title: $t("menus.hsSwiper")
+ }
+ },
+ {
+ path: "/components/timeline",
+ name: "TimeLine",
+ component: () => import("@/views/components/timeline.vue"),
+ meta: {
+ title: $t("menus.hsTimeline")
+ }
+ },
+ {
+ path: "/components/countTo",
+ name: "CountTo",
+ component: () => import("@/views/components/count-to.vue"),
+ meta: {
+ title: $t("menus.hscountTo")
}
},
{
@@ -144,28 +131,36 @@ export default {
title: $t("menus.hscontextmenu")
}
},
- {
- path: "/components/typeit",
- name: "Typeit",
- component: () => import("@/views/components/typeit/index.vue"),
- meta: {
- title: $t("menus.hstypeit")
- }
- },
{
path: "/components/json-editor",
name: "JsonEditor",
- component: () => import("@/views/components/json-editor/index.vue"),
+ component: () => import("@/views/components/json-editor.vue"),
meta: {
title: $t("menus.hsjsoneditor")
}
},
{
- path: "/components/danmaku",
- name: "Danmaku",
- component: () => import("@/views/components/danmaku/index.vue"),
+ path: "/components/seamlessScroll",
+ name: "SeamlessScroll",
+ component: () => import("@/views/components/seamless-scroll.vue"),
meta: {
- title: $t("menus.hsdanmaku")
+ title: $t("menus.hsseamless")
+ }
+ },
+ {
+ path: "/components/virtualList",
+ name: "VirtualList",
+ component: () => import("@/views/components/virtual-list/index.vue"),
+ meta: {
+ title: $t("menus.hsVirtualList")
+ }
+ },
+ {
+ path: "/components/button",
+ name: "ButtonPage",
+ component: () => import("@/views/components/button.vue"),
+ meta: {
+ title: $t("menus.hsbutton")
}
}
]
diff --git a/src/router/modules/nested.ts b/src/router/modules/nested.ts
index e7866d783..623f60421 100644
--- a/src/router/modules/nested.ts
+++ b/src/router/modules/nested.ts
@@ -52,8 +52,7 @@ export default {
name: "Menu1-2-2",
meta: {
title: $t("menus.hsmenu1-2-2"),
- keepAlive: true,
- extraIcon: "IF-pure-iconfont-new svg"
+ keepAlive: true
}
}
]
diff --git a/src/views/components/danmaku/danmu.ts b/src/views/able/danmaku/danmu.ts
similarity index 100%
rename from src/views/components/danmaku/danmu.ts
rename to src/views/able/danmaku/danmu.ts
diff --git a/src/views/components/danmaku/index.vue b/src/views/able/danmaku/index.vue
similarity index 100%
rename from src/views/components/danmaku/index.vue
rename to src/views/able/danmaku/index.vue
diff --git a/src/views/components/draggable/index.vue b/src/views/able/draggable.vue
similarity index 100%
rename from src/views/components/draggable/index.vue
rename to src/views/able/draggable.vue
diff --git a/src/views/components/map/index.vue b/src/views/able/map.vue
similarity index 100%
rename from src/views/components/map/index.vue
rename to src/views/able/map.vue
diff --git a/src/views/components/typeit/index.vue b/src/views/able/typeit.vue
similarity index 100%
rename from src/views/components/typeit/index.vue
rename to src/views/able/typeit.vue
diff --git a/src/views/components/video/index.vue b/src/views/able/video.vue
similarity index 100%
rename from src/views/components/video/index.vue
rename to src/views/able/video.vue
diff --git a/src/views/components/animatecss/index.vue b/src/views/components/animatecss.vue
similarity index 89%
rename from src/views/components/animatecss/index.vue
rename to src/views/components/animatecss.vue
index 423a6cd37..a99c7842d 100644
--- a/src/views/components/animatecss/index.vue
+++ b/src/views/components/animatecss.vue
@@ -25,10 +25,10 @@ watch(icon, () => {
>
animate.css
- 选择器组件
+ 选择器
-
+
diff --git a/src/views/components/button/index.vue b/src/views/components/button.vue
similarity index 85%
rename from src/views/components/button/index.vue
rename to src/views/components/button.vue
index 7b05e5057..81be37118 100644
--- a/src/views/components/button/index.vue
+++ b/src/views/components/button.vue
@@ -14,7 +14,7 @@ const url = ref(`${VITE_PUBLIC_PATH}html/button.html`);
diff --git a/src/views/able/cascader.vue b/src/views/components/cascader.vue
similarity index 94%
rename from src/views/able/cascader.vue
rename to src/views/components/cascader.vue
index 03ace6b95..ca9e248bb 100644
--- a/src/views/able/cascader.vue
+++ b/src/views/components/cascader.vue
@@ -26,10 +26,10 @@ const handleChange = value => {
区域级联选择器
-
+
-
+
1. 二级联动(不带“全部”选项)
{
-
+
2. 二级联动(带有“全部”选项)
{
-
+
3. 三级联动(不带“全部”选项)
{
-
+
4. 三级联动(带"全部选项")
{
-
-
diff --git a/src/views/components/check-button.vue b/src/views/components/check-button.vue
new file mode 100644
index 000000000..b7c52e140
--- /dev/null
+++ b/src/views/components/check-button.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 单选(紧凑风格的按钮样式)
+
+ 等待中
+ 进行中
+ 已完成
+
+
+
+ 单选(带有边框)
+
+ 等待中
+ 进行中
+ 已完成
+
+
+
+ 单选(自定义内容)
+
+
+
+
+ 等待中
+
+
+
+
+
+ 进行中
+
+
+
+
+
+ 已完成
+
+
+
+
+
+ 多选(紧凑风格的按钮样式)
+
+ 苹果
+ 西红柿
+ 香蕉
+
+
+
+ 多选(带有边框)
+
+ 黄瓜
+ 洋葱
+ 蓝莓
+
+
+
+ 多选(来点不一样的体验)
+
+
+
+
+ 番茄
+
+
+
+
+
+ 西瓜
+
+
+
+
+
+ 草莓
+
+
+
+
+
+ 可控制间距的按钮样式
+
+ 单选
+
+
+ {{ tag.title }}
+
+
+
+ 多选
+ {{
+ getKeyList(
+ checkGroupTag.filter(tag => tag.checked),
+ "title"
+ )
+ }}
+
+
+
+ {{ tag.title }}
+
+
+
+
+
+
diff --git a/src/views/components/contextmenu/basic.vue b/src/views/components/contextmenu/basic.vue
index 7c451c51d..f6d922191 100644
--- a/src/views/components/contextmenu/basic.vue
+++ b/src/views/components/contextmenu/basic.vue
@@ -1,6 +1,6 @@
-
基本使用
+
基础用法
右键点击此区域
diff --git a/src/views/components/contextmenu/index.vue b/src/views/components/contextmenu/index.vue
index 64dd93b21..fc5d9824c 100644
--- a/src/views/components/contextmenu/index.vue
+++ b/src/views/components/contextmenu/index.vue
@@ -13,12 +13,12 @@ defineOptions({
-
+
diff --git a/src/views/components/count-to.vue b/src/views/components/count-to.vue
new file mode 100644
index 000000000..a94913a95
--- /dev/null
+++ b/src/views/components/count-to.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/components/count-to/index.vue b/src/views/components/count-to/index.vue
deleted file mode 100644
index b74885de8..000000000
--- a/src/views/components/count-to/index.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/components/cropping/index.vue b/src/views/components/cropping/index.vue
index 5360edd8c..6f6224378 100644
--- a/src/views/components/cropping/index.vue
+++ b/src/views/components/cropping/index.vue
@@ -1,6 +1,6 @@
@@ -25,7 +30,7 @@ function onCropper({ base64, blob, info }) {
-
-
-
-
-
-
-
-
- 图像大小:{{ parseInt(infos.width) }} ×
- {{ parseInt(infos.height) }}像素
-
-
- 文件大小:{{ formatBytes(infos.size) }}({{ infos.size }} 字节)
-
+
+
+
+
+
+
+
+
+
+ 图像大小:{{ parseInt(infos.width) }} ×
+ {{ parseInt(infos.height) }}像素
+
+
+ 文件大小:{{ formatBytes(infos.size) }}({{ infos.size }} 字节)
+
+
-
-
+
+
diff --git a/src/views/components/dialog/index.vue b/src/views/components/dialog/index.vue
index 7a4722290..ea35b73d9 100644
--- a/src/views/components/dialog/index.vue
+++ b/src/views/components/dialog/index.vue
@@ -20,8 +20,8 @@ const router = useRouter();
function onBaseClick() {
addDialog({
- title: "基本使用",
- contentRenderer: () =>
弹框内容-基本使用
// jsx 语法 (注意在.vue文件启用jsx语法,需要在script开启lang="tsx")
+ title: "基础用法",
+ contentRenderer: () =>
弹框内容-基础用法
// jsx 语法 (注意在.vue文件启用jsx语法,需要在script开启lang="tsx")
});
}
@@ -422,7 +422,7 @@ function onBeforeSureClick() {
title: "点击底部确定按钮的回调",
contentRenderer: () => (
- 弹框内容-点击底部确定按钮的回调(会暂停弹框的关闭,经常用于新增、编辑弹框内容后调用接口)
+ 弹框内容-点击底部确定按钮的回调(会暂停弹框的关闭,经常用于新增、修改弹框内容后调用接口)
),
beforeSure: (done, { options, index }) => {
@@ -454,15 +454,16 @@ function onBeforeSureClick() {
,采用函数式调用弹框组件(更多操作实例请参考
系统管理页面
+ 系统管理页面
+
)
- 基本使用
+ 基础用法
可拖拽
全屏
全屏按钮
@@ -510,7 +511,7 @@ function onBeforeSureClick() {
点击底部取消按钮的回调(会暂停弹框的关闭)
- 点击底部确定按钮的回调(会暂停弹框的关闭,经常用于新增、编辑弹框内容后调用接口)
+ 点击底部确定按钮的回调(会暂停弹框的关闭,经常用于新增、修改弹框内容后调用接口)
diff --git a/src/views/able/icon-select.vue b/src/views/components/icon-select.vue
similarity index 88%
rename from src/views/able/icon-select.vue
rename to src/views/components/icon-select.vue
index ed3a58f4a..342acbcad 100644
--- a/src/views/able/icon-select.vue
+++ b/src/views/components/icon-select.vue
@@ -16,6 +16,6 @@ const icon = ref("ep:add-location");
图标选择器
-
+
diff --git a/src/views/components/json-editor/index.vue b/src/views/components/json-editor.vue
similarity index 94%
rename from src/views/components/json-editor/index.vue
rename to src/views/components/json-editor.vue
index 6f9b2a400..6e6324eb6 100644
--- a/src/views/components/json-editor/index.vue
+++ b/src/views/components/json-editor.vue
@@ -76,7 +76,7 @@ watch(