From 175778137478488ba346f083ed3d6cdc55256419 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 03 5月 2025 17:49:51 +0800
Subject: [PATCH] 22
---
HIAWms/web/src/components/BaseDrawer/BaseDrawer.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 102 insertions(+), 0 deletions(-)
diff --git a/HIAWms/web/src/components/BaseDrawer/BaseDrawer.tsx b/HIAWms/web/src/components/BaseDrawer/BaseDrawer.tsx
new file mode 100644
index 0000000..6917bed
--- /dev/null
+++ b/HIAWms/web/src/components/BaseDrawer/BaseDrawer.tsx
@@ -0,0 +1,102 @@
+import { computed, defineComponent, onMounted, ref } from 'vue'
+import styles from './BaseDrawer.module.scss'
+import Icon from '../Icon/Icon'
+//@ts-ignore
+export default defineComponent<{
+ [key: string]: any
+}>({
+ // @ts-ignore
+ name: 'BaseDrawer',
+ props: {
+ // 閬僵鏄惁鍙偣鍑�
+ clickable: {
+ type: Boolean,
+ default: false,
+ },
+ title: {
+ type: String,
+ default: '',
+ },
+ width: {
+ type: String,
+ default: '',
+ },
+ // modelValue: {
+ // type: Boolean,
+ // default: false,
+ // },
+ },
+ emits: ['close', 'confirm', 'update:modelValue', 'open', 'beforeClose'],
+ setup(props: any, { emit, slots, attrs }: any) {
+ // const size = computed(() => {
+ // if (attrs.size.includes('px')) {
+ // return attrs.size
+ // }
+ // })
+
+ // const model = computed(() => {
+ // if (attrs.model.includes('')) {
+ // return attrs.model
+ // }
+ // })
+
+ return () => {
+ return (
+ <div
+ class={styles.drawContent}
+ //@ts-ignore
+ // style={props.clickable ? { '--drawer-width': size.value } : {}}
+ >
+ <el-drawer
+ // modal-class={props.clickable ? styles.modal : ''}
+ class={{
+ [styles.informationDrawer]: true,
+ // [styles.informationDrawerPosition]: props.clickable,
+ }}
+ onOpen={() => emit('open')}
+ onClose={() => emit('close')}
+ v-slots={{
+ footer() {
+ return (
+ <div class={styles.csDialogFooter}>
+ <el-button
+ onClick={() => emit('close')}
+ type="info"
+ plain
+ class={{
+ [styles.dialogBtn]: true,
+ [styles.csBaseBtn]: true,
+ }}
+ >
+ 鍙栨秷
+ </el-button>
+ <el-button
+ onClick={() => emit('confirm')}
+ type="primary"
+ class={{
+ [styles.csBaseBtn]: true,
+ }}
+ >
+ 纭
+ </el-button>
+ </div>
+ )
+ },
+ }}
+ {...attrs}
+ title={props.title}
+ size={props.width || attrs.size}
+ >
+ <Icon
+ width={167}
+ height={54}
+ class={styles.iconPosition}
+ icon="drawer_bg"
+ />
+ {slots.default?.()}
+ </el-drawer>
+ </div>
+ )
+ }
+ },
+})
--
Gitblit v1.9.3