diff --git a/.eslintrc b/.eslintrc
index 1572d62..6098ed7 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -17,7 +17,8 @@
"no-extend-native": 0,
"no-param-reassign": 0,
"no-restricted-syntax": 0,
- "no-eval": 0
+ "no-eval": 0,
+ "react/jsx-no-bind": 0
},
"parser": "babel-eslint",
"parserOptions": {
diff --git a/src/components/layout/common.less b/src/components/layout/common.less
index 65006aa..347ca21 100644
--- a/src/components/layout/common.less
+++ b/src/components/layout/common.less
@@ -4,6 +4,7 @@ body {
background-color: #f8f8f8;
}
// scrollbar
+
::-webkit-scrollbar-thumb {
background-color: #e6e6e6;
}
@@ -60,21 +61,6 @@ body {
box-shadow: 0 0 20px rgba(100, 100, 100, 0.2);
}
-:global .vertical-center-modal {
- display: flex;
- align-items: center;
- justify-content: center;
-
- .ant-modal {
- top: 0;
-
- .ant-modal-body {
- max-height: 500px;
- overflow-y: auto;
- }
- }
-}
-
:global .ant-form-item-control {
vertical-align: middle;
}
diff --git a/src/components/ui/index.js b/src/components/ui/index.js
index dd03a1e..642012f 100644
--- a/src/components/ui/index.js
+++ b/src/components/ui/index.js
@@ -1,6 +1,7 @@
import Ico from './ico.js'
import Search from './search.js'
import DropOption from './dropOption.js'
-import Layer from './layer.js'
-export { Ico, Search, DropOption, Layer }
+import layer from './layer.js'
+
+export { Ico, Search, DropOption, layer }
diff --git a/src/components/ui/layer.js b/src/components/ui/layer.js
index 04447c4..319253a 100644
--- a/src/components/ui/layer.js
+++ b/src/components/ui/layer.js
@@ -1,5 +1,84 @@
-const Layer = () => {
- console.log('555')
+import { Modal, message } from 'antd'
+import React from 'react'
+import ReactDOM from 'react-dom'
+import classnames from 'classnames'
+import styles from './layer.less'
+const { info, success, error, warning, confirm } = Modal
+
+const layer = {
+ prefixCls: 'ant-layer',
+ index: 1,
+ info,
+ success,
+ error,
+ warning,
+ confirm,
}
-export default Layer
+layer.close = (index) => new Promise((resolve, reject) => {
+ const { prefixCls } = layer
+ let div = document.getElementById(`${prefixCls}-reference-${index}`)
+ if (index === undefined) {
+ const references = document.querySelectorAll(`.${prefixCls}-reference`)
+ div = references[references.length - 1]
+ }
+ if (!div) {
+ message.error('关闭失败,未找到Dom')
+ return
+ }
+ const unmountResult = ReactDOM.unmountComponentAtNode(div)
+ if (unmountResult && div.parentNode) {
+ div.parentNode.removeChild(div)
+ resolve(index)
+ } else {
+ reject(index)
+ }
+})
+
+
+layer.closeAll = () => {
+ const { prefixCls } = layer
+ const references = document.querySelectorAll(`.${prefixCls}-reference`)
+ let i = 0
+ while (i < references.length) {
+ layer.close()
+ i++
+ }
+}
+
+layer.open = (config) => {
+ const props = Object.assign({}, config)
+ const { content, ...modalProps } = props
+ const { className, wrapClassName = '', verticalCenter = true } = modalProps
+ const { prefixCls } = layer
+ const index = layer.index++
+ let div = document.createElement('div')
+ div.id = `${prefixCls}-reference-${index}`
+ div.className = `${prefixCls}-reference`
+ document.body.appendChild(div)
+
+ ReactDOM.render(
+