index.js
2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* eslint-disable */
import dva from 'dva';
import copy from 'copy-to-clipboard';
// import createLoading from 'dva-loading';
import { message } from 'antd';
import 'antd/dist/antd.compact.less'; // 引入官方提供的 less 样式入口文件
// import 'antd/dist/antd.compact.less'; // 引入官方提供的 less 样式入口文件
// import 'antd/dist/antd.dark.less';
import { createBrowserHistory } from 'history';
import './assets/icons/index.js'
import './index.less';
import './default.less';
import './g2';
import './variable.less'; // 用于覆盖上面定义的变量
import './skinchange.less'; // 用于换肤的变量
const ERROR_MSG_DURATION = 5;/* 3 秒 */
// 1. Initialize
const app = dva({
history: createBrowserHistory(),
onError(e) {
message.destroy();
message.error(e.message, ERROR_MSG_DURATION);
},
});
window.onload = function () {
let el = '';
window.addEventListener('mouseover', (e) => {
el = e;
});
window.addEventListener('keydown', (keyE) => {
if(!el.target) {
return;
}
const { value, title } = el.target.attributes;
if (keyE.ctrlKey && keyE.keyCode === 67) {
// 可输入input时不用复制组件
if (document.activeElement
&& document.activeElement.nodeName === 'INPUT'
&& document.activeElement.classList.contains('ant-input')
&& document.activeElement.disabled === false
&& document.activeElement.readOnly === false
) {
return;
}
if (value) {
(typeof value.value === 'string') && copy(value.value);
} if (title) {
(typeof title.value === 'string') && copy(title.value);
} else {
el.target.innerText && copy(el.target.innerText);
}
}
});
};
const originWindowOpen = window.open;
window.open = (url = '', target, windowFeatures) => {
if (url) {
if (url.includes('fileType=.xlsx')) {
const newWin = originWindowOpen();
let formStr = '';
formStr = `<form style="visibility:hidden;" method="POST" action="${url}">` +
`<input type="hidden" name="masterData" value='' />` +
'</form>';
newWin.document.body.innerHTML = formStr;
newWin.document.forms[0].submit();
} else {
originWindowOpen(url, target, windowFeatures);
}
return;
} else if (target || windowFeatures) {
return originWindowOpen(url = '', target, windowFeatures);
}
return originWindowOpen();
}
// 2. Plugins
// app.use({});
// app.use(createLoading());
// 3. Model
// app.model(require('./models/example'));
app.model(require('./models/app').default);
app.model(require('./models/content').default);
app.model(require('./models/menuPanel').default);
// 4. Router
app.router(require('./router').default);
// 5. Start
app.start('#root');