import React from "react" import { defaultClassName, tagTypeArr, TtagType } from "../../../@types/Tag" import { MouseEventType, EventHandlerParams } from "../../../@types/Base" import { Tag } from "antd" import { BaseService } from "../../base" import { CheckCircleOutlined, SyncOutlined, CloseCircleOutlined, ExclamationCircleOutlined, ClockCircleOutlined, } from '@ant-design/icons'; export class Service extends BaseService { constructor(props: Object, isPureComponent?: boolean) { super(props, isPureComponent) } /** * @description 获取类名 */ getClassName() { const { className } = this.getProps() let nextClassName = super.getClassName(defaultClassName) if (className) { nextClassName.push(className) } return nextClassName } /** * @description 事件处理 */ eventHandler(params: EventHandlerParams) { const { ev, eventName } = params as any const { disabled, loading } = this.getProps() ev.stopPropagation() if (disabled || loading) return const { onClick } = this.getProps() if (eventName === MouseEventType.onClick) { onClick && onClick({ ev, eventName }, this.props) } } /** * @description getTagType */ private getTagType() { let type: TtagType type = this.getProps()["type"] const tagTypeMap = { "success": ["success", ], "warn": ["warning", ], "warning": ["warning", ], "processing": ["processing", ], "error": ["error", ], "waiting": ["default", ], } if (tagTypeArr.includes(type)) { return tagTypeMap[type] } return null } /** * @description 获取组件模板 */ getTemplate() { let { closable, closeIcon, color, icon, text, style } = this.getProps() const className = this.getClassName() const tagTypeResult = this.getTagType() return {text} } }