diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue
deleted file mode 100755
index c8afadfd..00000000
--- a/src/components/ImagePreview/index.vue
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/router/modules/component.example.ts b/src/router/modules/component.example.ts
index cb0c1c8c..6ef3b668 100755
--- a/src/router/modules/component.example.ts
+++ b/src/router/modules/component.example.ts
@@ -110,6 +110,14 @@ const routes: RouteRecordRaw = {
title: '悬浮卡片',
},
},
+ {
+ path: 'imagepreview',
+ name: 'componentExampleBuiltInImagePreview',
+ component: () => import('@/views/component_built_in_example/imagepreview.vue'),
+ meta: {
+ title: '图片预览',
+ },
+ },
{
path: 'input',
name: 'componentExampleBuiltInInput',
@@ -271,14 +279,6 @@ const routes: RouteRecordRaw = {
title: '上传',
},
},
- {
- path: 'imagepreview',
- name: 'componentExampleExtendImagePreview',
- component: () => import('@/views/component_extend_example/image.preview.vue'),
- meta: {
- title: '图片预览',
- },
- },
{
path: 'pcas',
name: 'componentExampleExtendPcas',
diff --git a/src/types/components.d.ts b/src/types/components.d.ts
index dce63eb4..5cc8de04 100644
--- a/src/types/components.d.ts
+++ b/src/types/components.d.ts
@@ -24,6 +24,7 @@ declare module 'vue' {
FaFixedActionBar: typeof import('./../ui/components/FaFixedActionBar/index.vue')['default']
FaHoverCard: typeof import('./../ui/components/FaHoverCard/index.vue')['default']
FaIcon: typeof import('./../ui/components/FaIcon/index.vue')['default']
+ FaImagePreview: typeof import('./../ui/components/FaImagePreview/index.vue')['default']
FaInput: typeof import('./../ui/components/FaInput/index.vue')['default']
FaKbd: typeof import('./../ui/components/FaKbd/index.vue')['default']
FaMaskScrollContainer: typeof import('./../ui/components/FaMaskScrollContainer/index.vue')['default']
@@ -47,7 +48,6 @@ declare module 'vue' {
FaToast: typeof import('./../ui/components/FaToast/index.vue')['default']
FaTooltip: typeof import('./../ui/components/FaTooltip/index.vue')['default']
FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
- ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
ImagesUpload: typeof import('./../components/ImagesUpload/index.vue')['default']
ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
diff --git a/src/ui/components/FaImagePreview/dialog/Dialog.vue b/src/ui/components/FaImagePreview/dialog/Dialog.vue
new file mode 100644
index 00000000..9fc9c7d1
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/Dialog.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogClose.vue b/src/ui/components/FaImagePreview/dialog/DialogClose.vue
new file mode 100644
index 00000000..ba036b51
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogClose.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogContent.vue b/src/ui/components/FaImagePreview/dialog/DialogContent.vue
new file mode 100644
index 00000000..4307460a
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogContent.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+ Close
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogDescription.vue b/src/ui/components/FaImagePreview/dialog/DialogDescription.vue
new file mode 100644
index 00000000..096fb6f8
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogDescription.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogFooter.vue b/src/ui/components/FaImagePreview/dialog/DialogFooter.vue
new file mode 100644
index 00000000..b633458e
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogFooter.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogHeader.vue b/src/ui/components/FaImagePreview/dialog/DialogHeader.vue
new file mode 100644
index 00000000..dee30d9a
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogHeader.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogScrollContent.vue b/src/ui/components/FaImagePreview/dialog/DialogScrollContent.vue
new file mode 100644
index 00000000..a4ba16d2
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogScrollContent.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ {
+ const originalEvent = event.detail.originalEvent;
+ const target = originalEvent.target as HTMLElement;
+ if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
+ event.preventDefault();
+ }
+ }"
+ >
+
+
+
+
+ Close
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogTitle.vue b/src/ui/components/FaImagePreview/dialog/DialogTitle.vue
new file mode 100644
index 00000000..00c5a3ab
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogTitle.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/DialogTrigger.vue b/src/ui/components/FaImagePreview/dialog/DialogTrigger.vue
new file mode 100644
index 00000000..2984f371
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/DialogTrigger.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/src/ui/components/FaImagePreview/dialog/index.ts b/src/ui/components/FaImagePreview/dialog/index.ts
new file mode 100644
index 00000000..ca8cfeae
--- /dev/null
+++ b/src/ui/components/FaImagePreview/dialog/index.ts
@@ -0,0 +1,9 @@
+export { default as Dialog } from './Dialog.vue'
+export { default as DialogClose } from './DialogClose.vue'
+export { default as DialogContent } from './DialogContent.vue'
+export { default as DialogDescription } from './DialogDescription.vue'
+export { default as DialogFooter } from './DialogFooter.vue'
+export { default as DialogHeader } from './DialogHeader.vue'
+export { default as DialogScrollContent } from './DialogScrollContent.vue'
+export { default as DialogTitle } from './DialogTitle.vue'
+export { default as DialogTrigger } from './DialogTrigger.vue'
diff --git a/src/ui/components/FaImagePreview/index.vue b/src/ui/components/FaImagePreview/index.vue
new file mode 100644
index 00000000..3270688d
--- /dev/null
+++ b/src/ui/components/FaImagePreview/index.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/component_built_in_example/imagepreview.vue b/src/views/component_built_in_example/imagepreview.vue
new file mode 100644
index 00000000..2a083859
--- /dev/null
+++ b/src/views/component_built_in_example/imagepreview.vue
@@ -0,0 +1,28 @@
+
+meta:
+ enabled: false
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 自定义错误信息
+
+
+ 图片加载失败
+
+
+
+
+
+
+
+