+
+
+ {/* 顶部左边插槽 */}
+ {slots.headerTitle && slots.headerTitle()}
+
+
+ {/*
*/}
+ {
+ model.value = ModelEnum.CARD
+ }}>
+
+
+ {
+ model.value = ModelEnum.TABLE
+ }}>
+
+
+ {/* */}
+
+
+ {/* content */}
+
+ {
+ model.value === ModelEnum.CARD ?
+
+ {
+ dataSource.value.length ?
+
+ {
+ dataSource.value.map(item => slots.cardRender ?
+
{slots.cardRender(item)}
+ : null)
+ }
+
:
+
+ }
+
:
+
+ }
+
+ {/* 分页 */}
+ {
+ dataSource.value.length &&
+
+ }
+
+ }
+})
+
+export default JTable
diff --git a/src/components/index.ts b/src/components/index.ts
index 0742e8cf..6495b01d 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -1,10 +1,12 @@
import type { App } from 'vue'
import AIcon from './AIcon'
import PermissionButton from './PermissionButton/index.vue'
+import JTable from './Table/index'
export default {
install(app: App) {
app.component('AIcon', AIcon)
app.component('PermissionButton', PermissionButton)
+ app.component('JTable', JTable)
}
}
diff --git a/src/router/menu.ts b/src/router/menu.ts
index 65d045b5..beb54267 100644
--- a/src/router/menu.ts
+++ b/src/router/menu.ts
@@ -36,6 +36,10 @@ export default [
path: '/iot/home',
component: () => import('@/views/iot/home/index.vue')
},
+ {
+ path: '/table',
+ component: () => import('@/views/table/index.vue')
+ },
// end: 测试用, 可删除
{
diff --git a/src/views/table/index.vue b/src/views/table/index.vue
new file mode 100644
index 00000000..334175bb
--- /dev/null
+++ b/src/views/table/index.vue
@@ -0,0 +1,42 @@
+