@lambo-design/shared 1.0.0-beta.24 → 1.0.0-beta.240
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/config.js +51 -37
- package/config/env.js +4 -4
- package/config/index.js +7 -2
- package/config/themes/atrovirens/atrovirens.css +576 -0
- package/config/themes/atrovirens/atrovirens.css.map +1 -0
- package/config/themes/atrovirens/atrovirens.less +667 -0
- package/config/themes/atrovirens/var.less +674 -0
- package/config/themes/blue/blue.css +576 -0
- package/config/themes/blue/blue.css.map +1 -0
- package/config/themes/blue/blue.less +669 -0
- package/config/themes/blue/var.less +677 -0
- package/config/themes/blue-white/blue-white.css +576 -0
- package/config/themes/blue-white/blue-white.css.map +1 -0
- package/config/themes/blue-white/blue-white.less +669 -0
- package/config/themes/blue-white/var.less +676 -0
- package/config/themes/blue-white-tight/blue-white-tight.css +577 -0
- package/config/themes/blue-white-tight/blue-white-tight.css.map +1 -0
- package/config/themes/blue-white-tight/blue-white-tight.less +672 -0
- package/config/themes/blue-white-tight/var.less +677 -0
- package/config/themes/danqing/danqing.css +576 -0
- package/config/themes/danqing/danqing.css.map +1 -0
- package/config/themes/danqing/danqing.less +668 -0
- package/config/themes/danqing/danqing.wxss +572 -0
- package/config/themes/danqing/var.less +679 -0
- package/config/themes/deep/deep.css +576 -0
- package/config/themes/deep/deep.css.map +1 -0
- package/config/themes/deep/deep.less +669 -0
- package/config/themes/deep/var.less +677 -0
- package/config/themes/default/default.css +576 -241
- package/config/themes/default/default.css.map +1 -0
- package/config/themes/default/default.less +671 -319
- package/config/themes/default/var.less +677 -314
- package/config/themes/eap/eap.css +576 -0
- package/config/themes/eap/eap.css.map +1 -0
- package/config/themes/eap/eap.less +671 -0
- package/config/themes/eap/var.less +677 -0
- package/config/themes/gold/gold.css +576 -0
- package/config/themes/gold/gold.css.map +1 -0
- package/config/themes/gold/gold.less +671 -0
- package/config/themes/gold/var.less +677 -314
- package/config/themes/index.js +28 -14
- package/config/themes/lime/lime.css +576 -0
- package/config/themes/lime/lime.css.map +1 -0
- package/config/themes/lime/lime.less +671 -0
- package/config/themes/lime/var.less +678 -314
- package/config/themes/orange/orange.css +576 -0
- package/config/themes/orange/orange.css.map +1 -0
- package/config/themes/orange/orange.less +671 -0
- package/config/themes/orange/var.less +678 -0
- package/config/themes/red/red.css +576 -0
- package/config/themes/red/red.css.map +1 -0
- package/config/themes/red/red.less +671 -0
- package/config/themes/red/var.less +677 -0
- package/config/themes/theme-atrovirens.js +558 -0
- package/config/themes/theme-blue.js +558 -0
- package/config/themes/theme-bw.js +558 -0
- package/config/themes/theme-bwt.js +559 -0
- package/config/themes/theme-danqing.js +558 -0
- package/config/themes/theme-deep.js +558 -0
- package/config/themes/theme-default.js +558 -252
- package/config/themes/theme-eap.js +558 -0
- package/config/themes/theme-gold.js +558 -252
- package/config/themes/theme-lime.js +558 -252
- package/config/themes/theme-orange.js +559 -40
- package/config/themes/theme-red.js +558 -40
- package/config/themes/theme-white.js +558 -0
- package/config/themes/white/var.less +676 -0
- package/config/themes/white/white.css +576 -0
- package/config/themes/white/white.css.map +1 -0
- package/config/themes/white/white.less +669 -0
- package/directives/index.js +23 -23
- package/directives/module/draggable.js +56 -56
- package/directives/module/permission.js +49 -49
- package/directives/module/print.js +1 -0
- package/directives/module/vue-print-nb/README.md +63 -0
- package/directives/module/vue-print-nb/print.js +94 -0
- package/directives/module/vue-print-nb/printarea.js +532 -0
- package/index.js +10 -4
- package/nstyles/common.less +197 -0
- package/nstyles/components/404.less +46 -0
- package/nstyles/components/button.less +34 -0
- package/nstyles/components/date-picker.less +37 -0
- package/nstyles/components/drawer.less +20 -0
- package/nstyles/components/dropdown.less +18 -0
- package/nstyles/components/excel-flow.less +72 -0
- package/nstyles/components/form.less +313 -0
- package/nstyles/components/index.less +23 -0
- package/nstyles/components/layout/collect.less +10 -0
- package/nstyles/components/layout/detail-view.less +107 -0
- package/nstyles/components/layout/full-screen.less +7 -0
- package/nstyles/components/layout/index.less +7 -0
- package/nstyles/components/layout/other-menu.less +142 -0
- package/nstyles/components/layout/page-view.less +101 -0
- package/nstyles/components/layout/sider-trigger.less +41 -0
- package/nstyles/components/layout/tags-nav.less +113 -0
- package/nstyles/components/modal.less +85 -0
- package/nstyles/components/n-button.less +131 -0
- package/nstyles/components/n-image-preview.less +131 -0
- package/nstyles/components/n-model/index.less +19 -0
- package/nstyles/components/n-model/report-index.less +43 -0
- package/nstyles/components/n-panel.less +41 -0
- package/nstyles/components/n-picker.less +37 -0
- package/nstyles/components/n-sign.less +17 -0
- package/nstyles/components/n-tooltip.less +10 -0
- package/nstyles/components/panel.less +31 -0
- package/nstyles/components/select.less +3 -0
- package/nstyles/components/sign.less +27 -0
- package/nstyles/components/table.less +315 -0
- package/nstyles/components/tree.less +159 -0
- package/nstyles/components/upload.less +164 -0
- package/nstyles/index.less +5 -0
- package/nstyles/reset.less +65 -0
- package/nstyles/third/ag.less +174 -0
- package/nstyles/third/icons/sort-desc.svg +1 -0
- package/nstyles/third/icons/sort-up.svg +1 -0
- package/nstyles/third/icons/sorting.svg +1 -0
- package/nstyles/third/index.less +11 -0
- package/nstyles/third/view-design.less +367 -0
- package/nstyles/variables/base.less +143 -0
- package/nstyles/variables/index.less +4 -0
- package/nstyles/variables/theme/default/button.less +7 -0
- package/nstyles/variables/theme/default/common.less +57 -0
- package/nstyles/variables/theme/default/index.less +7 -0
- package/nstyles/variables/theme/default/layout.less +40 -0
- package/nstyles/variables/theme/default/table.less +37 -0
- package/nstyles/variables/theme/default/tag.less +3 -0
- package/nstyles/variables/theme/default/upload.less +3 -0
- package/nstyles/variables/theme/index.less +13 -0
- package/nstyles/variables/theme/small/button.less +7 -0
- package/nstyles/variables/theme/small/common.less +39 -0
- package/nstyles/variables/theme/small/index.less +5 -0
- package/nstyles/variables/theme/small/layout.less +21 -0
- package/nstyles/variables/theme/small/table.less +17 -0
- package/nstyles/variables/theme/small/tag.less +3 -0
- package/package.json +27 -7
- package/plugin/index.js +12 -0
- package/plugin/module/date-format.js +30 -0
- package/plugin/module/loading.js +26 -0
- package/plugin/module/warn-handler.js +11 -0
- package/styles/image/inspur.png +0 -0
- package/styles/image/lan_navigator.png +0 -0
- package/styles/image/lv_navigator.png +0 -0
- package/styles/variables.less +21 -21
- package/utils/ajax/cacheconf.js +19 -19
- package/utils/ajax/content-type.js +30 -0
- package/utils/ajax/index.js +12 -12
- package/utils/ajax/interceptors.js +97 -97
- package/utils/assist.js +147 -84
- package/utils/base64.js +126 -0
- package/utils/blob.js +47 -0
- package/utils/bus.js +3 -3
- package/utils/crypto/index.js +48 -38
- package/utils/crypto/md5.js +152 -152
- package/utils/crypto/sm3.js +235 -235
- package/utils/date.js +381 -352
- package/utils/dict/built-in-dict.js +20 -0
- package/utils/dict/index.js +168 -0
- package/utils/dom.js +38 -38
- package/utils/event.js +72 -0
- package/utils/excel.js +655 -523
- package/utils/file.js +19 -0
- package/utils/form/validate.js +29 -0
- package/utils/half-year.js +68 -0
- package/utils/index.js +42 -5
- package/utils/json.js +29 -0
- package/utils/lodop.js +165 -160
- package/utils/menu/before-close.js +17 -17
- package/utils/menu/index.js +395 -135
- package/utils/mime_type.js +67 -0
- package/utils/modelerUtil.js +227 -224
- package/utils/n/api.js +22 -0
- package/utils/n/date.js +57 -0
- package/utils/n/index.js +10 -0
- package/utils/n/is-type.js +176 -0
- package/utils/n/number.js +144 -0
- package/utils/n/permission-cache.js +11 -0
- package/utils/n/reuqest/axiosN.js +17 -0
- package/utils/n/reuqest/content-type.js +19 -0
- package/utils/n/reuqest/interceptors.js +95 -0
- package/utils/n/reuqest/url-params.js +12 -0
- package/utils/n/storage.js +51 -0
- package/utils/n/token.js +51 -0
- package/utils/n/user-cache.js +11 -0
- package/utils/n/user.js +34 -0
- package/utils/n/uuid.js +16 -0
- package/utils/n-generator-routers.js +208 -0
- package/utils/n-router.js +205 -0
- package/utils/n-theme.js +30 -0
- package/utils/number.js +180 -123
- package/utils/oss.js +57 -0
- package/utils/platform.js +1334 -583
- package/utils/quarter.js +58 -0
- package/utils/storage.js +198 -0
- package/utils/style.js +24 -0
- package/utils/theme.js +138 -43
- package/utils/transfer-queue.js +7 -0
- package/utils/transform.js +206 -0
- package/utils/type.js +102 -0
- package/utils/util.js +795 -0
- package/utils/validator.js +181 -0
- package/utils/vxetable/index.js +25 -25
- package/utils/zoomScroll.js +9 -9
- package/config/themes/gold/default.css +0 -241
- package/config/themes/gold/default.less +0 -319
- package/config/themes/lime/default.css +0 -241
- package/config/themes/lime/default.less +0 -319
package/utils/file.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件大小计算
|
|
3
|
+
* @param size
|
|
4
|
+
* @returns {string}
|
|
5
|
+
*/
|
|
6
|
+
export const formatterSizeUnit = function (size) {
|
|
7
|
+
if (size) {
|
|
8
|
+
let result = parseInt(size);
|
|
9
|
+
if (result < 1024) {
|
|
10
|
+
return result + " B";
|
|
11
|
+
} else if (result < 1024 * 1024) {
|
|
12
|
+
return parseInt(result / 1024) + " KB";
|
|
13
|
+
} else if (result < 1024 * 1024 * 1024) {
|
|
14
|
+
return parseInt(result / (1024 * 1024)) + " MB";
|
|
15
|
+
} else {
|
|
16
|
+
return parseInt(result / (1024 * 1024 * 1024)) + " GB";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import ajax from '../ajax'
|
|
2
|
+
|
|
3
|
+
export const checkSingle = async (rule, value, callback, {url, formKey, formName}) => {
|
|
4
|
+
if (!formName) {
|
|
5
|
+
formName = "参数";
|
|
6
|
+
}
|
|
7
|
+
if (value) {
|
|
8
|
+
if (url) {
|
|
9
|
+
let params = {};
|
|
10
|
+
if (formKey) {
|
|
11
|
+
params[formKey] = value
|
|
12
|
+
}
|
|
13
|
+
const { data } = await ajax.get(url, {params: params});
|
|
14
|
+
if (data.code == 1 && data.data) {
|
|
15
|
+
callback(formName + "已存在");
|
|
16
|
+
} else {
|
|
17
|
+
callback();
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
callback();
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
callback(formName + "不能为空");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
checkSingle
|
|
29
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// 获取半年
|
|
2
|
+
export function getHalfYear(date) {
|
|
3
|
+
if (!date || date.length < 4) {
|
|
4
|
+
return ''
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const year = date.substring(0, 4)
|
|
8
|
+
const month = date.substring(4, 6)
|
|
9
|
+
const halfYear = getHalfYearNum(parseInt(month))
|
|
10
|
+
if (!month) {
|
|
11
|
+
return `${year}`
|
|
12
|
+
}
|
|
13
|
+
return `${year}H${halfYear}`
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function getHalfYearNum(month) {
|
|
17
|
+
if (typeof month === 'string') {
|
|
18
|
+
if (isNaN(parseInt(month))) return 0
|
|
19
|
+
month = parseInt(month)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return month <= 6 ? 1 : 2
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function formatHalfYear(halfYear) {
|
|
26
|
+
if (!halfYear || halfYear.length < 4) {
|
|
27
|
+
return halfYear
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const year = halfYear.substring(0, 4)
|
|
31
|
+
const month = halfYear.substring(4, 6)
|
|
32
|
+
if (!month) {
|
|
33
|
+
return `${year}全年`
|
|
34
|
+
}
|
|
35
|
+
const halfYearNum = parseInt(halfYear.substring(5))
|
|
36
|
+
const halfStr = halfYearNum === 1 ? '上半年' : '下半年'
|
|
37
|
+
return `${year}${halfStr}`
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function getHalfYearBeginMonth(halfYear) {
|
|
41
|
+
if (!halfYear || halfYear.length < 4) {
|
|
42
|
+
return halfYear
|
|
43
|
+
}
|
|
44
|
+
const year = halfYear.substring(0, 4)
|
|
45
|
+
const month = halfYear.substring(4, 6)
|
|
46
|
+
if (!month) {
|
|
47
|
+
return `${year}01`
|
|
48
|
+
}
|
|
49
|
+
const halfYearNum = parseInt(halfYear.substring(5))
|
|
50
|
+
const beginMonth = halfYearNum * 6 - 5
|
|
51
|
+
const monthStr = beginMonth < 10 ? `0${beginMonth}` : `${beginMonth}`
|
|
52
|
+
return `${year}${monthStr}`
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function getHalfYearEndMonth(halfYear) {
|
|
56
|
+
if (!halfYear || halfYear.length < 4) {
|
|
57
|
+
return halfYear
|
|
58
|
+
}
|
|
59
|
+
const year = halfYear.substring(0, 4)
|
|
60
|
+
const month = halfYear.substring(4, 6)
|
|
61
|
+
if (!month) {
|
|
62
|
+
return `${year}12`
|
|
63
|
+
}
|
|
64
|
+
const halfYearNum = parseInt(halfYear.substring(5))
|
|
65
|
+
const endMonth = halfYearNum * 2
|
|
66
|
+
const monthStr = endMonth < 10 ? `0${endMonth}` : `${endMonth}`
|
|
67
|
+
return `${year}${monthStr}`
|
|
68
|
+
}
|
package/utils/index.js
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
|
-
const sum = (a, b) => {
|
|
2
|
-
return a + b;
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
export { sum };
|
|
1
|
+
const sum = (a, b) => {
|
|
2
|
+
return a + b;
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
export { sum };
|
|
6
|
+
import ajax from './ajax'
|
|
7
|
+
|
|
8
|
+
export {ajax as axios}
|
|
9
|
+
// export * from './crypto'
|
|
10
|
+
// export * from './dict'
|
|
11
|
+
// export * from './form/validate'
|
|
12
|
+
// export * from './menu'
|
|
13
|
+
// export * from './vxetable'
|
|
14
|
+
// export * from './n'
|
|
15
|
+
// export * from './date'
|
|
16
|
+
// export * from './assist'
|
|
17
|
+
// export * from './base64'
|
|
18
|
+
// export * from './bus'
|
|
19
|
+
// export * from './dom'
|
|
20
|
+
// export * from './event'
|
|
21
|
+
// export * from './excel'
|
|
22
|
+
// export * from './file'
|
|
23
|
+
// export * from './half-year'
|
|
24
|
+
// export * from './json'
|
|
25
|
+
// export * from './lodop'
|
|
26
|
+
// export * from './mime_type'
|
|
27
|
+
// export * from './modelerUtil'
|
|
28
|
+
// export * from './n-generator-routers'
|
|
29
|
+
// export * from './n-router'
|
|
30
|
+
// export * from './n-theme'
|
|
31
|
+
// export * from './number'
|
|
32
|
+
// export * from './oss'
|
|
33
|
+
// export * from './platform'
|
|
34
|
+
// export * from './quarter'
|
|
35
|
+
// export * from './storage'
|
|
36
|
+
// export * from './style'
|
|
37
|
+
// export * from './theme'
|
|
38
|
+
// export * from './transfer-queue'
|
|
39
|
+
// export * from './type'
|
|
40
|
+
// export * from './util'
|
|
41
|
+
// export * from './validator'
|
|
42
|
+
// export * from './zoomScroll'
|
package/utils/json.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
let json = {};
|
|
2
|
+
/**
|
|
3
|
+
* Json(带函数)转字符串
|
|
4
|
+
* @param value Json对象
|
|
5
|
+
* @returns {string} 字符串
|
|
6
|
+
*/
|
|
7
|
+
json.stringify = function (value) {
|
|
8
|
+
return JSON.stringify(value, function(key, val) {
|
|
9
|
+
if (typeof val === 'function') {
|
|
10
|
+
return val + '';
|
|
11
|
+
}
|
|
12
|
+
return val;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 字符串(带函数)转Object(函数可调用)
|
|
17
|
+
* @param value
|
|
18
|
+
* @returns {any}
|
|
19
|
+
*/
|
|
20
|
+
json.parse = function (value) {
|
|
21
|
+
return JSON.parse(value,function(k,v){
|
|
22
|
+
if(v.indexOf&&v.indexOf('function')>-1){
|
|
23
|
+
return eval("(function(){return "+v+" })()")
|
|
24
|
+
}
|
|
25
|
+
return v;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default json;
|
package/utils/lodop.js
CHANGED
|
@@ -1,160 +1,165 @@
|
|
|
1
|
-
var CreatedOKLodop7766 = null, CLodopIsLocal;
|
|
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
|
-
var
|
|
69
|
-
|
|
70
|
-
var
|
|
71
|
-
var
|
|
72
|
-
var
|
|
73
|
-
var
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (ua.indexOf('
|
|
134
|
-
let info = "<div class='print-hint'>" +
|
|
135
|
-
let html = document.getElementById("app").innerHTML
|
|
136
|
-
document.getElementById("app").innerHTML = info + html
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
1
|
+
var CreatedOKLodop7766 = null, CLodopIsLocal;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 套打插件
|
|
5
|
+
* @returns {boolean}
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
//====判断是否需要 Web打印服务CLodop:===
|
|
9
|
+
//===(不支持插件的浏览器版本需要用它)===
|
|
10
|
+
function needCLodop() {
|
|
11
|
+
try {
|
|
12
|
+
var ua = navigator.userAgent;
|
|
13
|
+
if (ua.match(/Windows\sPhone/i))
|
|
14
|
+
return true;
|
|
15
|
+
if (ua.match(/iPhone|iPod|iPad/i))
|
|
16
|
+
return true;
|
|
17
|
+
if (ua.match(/Android/i))
|
|
18
|
+
return true;
|
|
19
|
+
if (ua.match(/Edge\D?\d+/i))
|
|
20
|
+
return true;
|
|
21
|
+
|
|
22
|
+
var verTrident = ua.match(/Trident\D?\d+/i);
|
|
23
|
+
var verIE = ua.match(/MSIE\D?\d+/i);
|
|
24
|
+
var verOPR = ua.match(/OPR\D?\d+/i);
|
|
25
|
+
var verFF = ua.match(/Firefox\D?\d+/i);
|
|
26
|
+
var x64 = ua.match(/x64/i);
|
|
27
|
+
if ((!verTrident) && (!verIE) && (x64))
|
|
28
|
+
return true;
|
|
29
|
+
else if (verFF) {
|
|
30
|
+
verFF = verFF[0].match(/\d+/);
|
|
31
|
+
if ((verFF[0] >= 41) || (x64))
|
|
32
|
+
return true;
|
|
33
|
+
} else if (verOPR) {
|
|
34
|
+
verOPR = verOPR[0].match(/\d+/);
|
|
35
|
+
if (verOPR[0] >= 32)
|
|
36
|
+
return true;
|
|
37
|
+
} else if ((!verTrident) && (!verIE)) {
|
|
38
|
+
var verChrome = ua.match(/Chrome\D?\d+/i);
|
|
39
|
+
if (verChrome) {
|
|
40
|
+
verChrome = verChrome[0].match(/\d+/);
|
|
41
|
+
if (verChrome[0] >= 41)
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
} catch (err) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//====页面引用CLodop云打印必须的JS文件,用双端口(8000和18000)避免其中某个被占用:====
|
|
52
|
+
if (needCLodop()) {
|
|
53
|
+
var src1 = "http://localhost:8000/CLodopfuncs.js?priority=1";
|
|
54
|
+
var src2 = "http://localhost:18000/CLodopfuncs.js?priority=0";
|
|
55
|
+
|
|
56
|
+
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
|
|
57
|
+
var oscript = document.createElement("script");
|
|
58
|
+
oscript.src = src1;
|
|
59
|
+
head.insertBefore(oscript, head.firstChild);
|
|
60
|
+
oscript = document.createElement("script");
|
|
61
|
+
oscript.src = src2;
|
|
62
|
+
head.insertBefore(oscript, head.firstChild);
|
|
63
|
+
CLodopIsLocal = !!((src1 + src2).match(/\/\/localho|\/\/127.0.0./i));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//====获取LODOP对象的主过程:====
|
|
67
|
+
export function getLodop(oOBJECT, oEMBED) {
|
|
68
|
+
// var printHint = "<div class='print-hint' ></div>"
|
|
69
|
+
// printHint.className = 'print-hint'
|
|
70
|
+
var strHtmInstall = "<div >打印控件未安装!点击这里<a href='file/install_lodop32.exe' target='view_window'>执行安装</a>,安装后请刷新页面或重新进入。</div>";
|
|
71
|
+
var strHtmUpdate = "<div >打印控件需要升级!点击这里<a href='file/install_lodop32.exe' target='view_window'>执行升级</a>,升级后请重新进入。</div>";
|
|
72
|
+
var strHtm64_Install = "<div >打印控件未安装!点击这里<a href='file/install_lodop64.exe' target='view_window'>执行安装</a>,安装后请刷新页面或重新进入。</div>";
|
|
73
|
+
var strHtm64_Update = "<div >打印控件需要升级!点击这里<a href='file/install_lodop64.exe' target='view_window'>执行升级</a>,升级后请重新进入。</div>";
|
|
74
|
+
var strHtmFireFox = "<div >(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</div>";
|
|
75
|
+
var strHtmChrome = "<div >(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</div>";
|
|
76
|
+
var strCLodopInstall_1 = "<div >Web打印服务CLodop未安装启动,点击这里<a href='file/CLodop_Setup_for_Win32NT.exe' target='view_window'>下载执行安装</a></div>";
|
|
77
|
+
var strCLodopInstall_2 = "<div >(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)";
|
|
78
|
+
var strCLodopInstall_3 = ",成功后请刷新本页面。</div>";
|
|
79
|
+
var strCLodopUpdate = "<div >Web打印服务CLodop需升级!点击这里<a href='file/CLodop_Setup_for_Win32NT.exe' target='view_window'>执行升级</a>,升级后请刷新页面。</div>";
|
|
80
|
+
var LODOP;
|
|
81
|
+
try {
|
|
82
|
+
var ua = navigator.userAgent;
|
|
83
|
+
var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));
|
|
84
|
+
if (needCLodop()) {
|
|
85
|
+
try {
|
|
86
|
+
LODOP = getCLodop();
|
|
87
|
+
} catch (err) {
|
|
88
|
+
}
|
|
89
|
+
if (!LODOP && document.readyState !== "complete") {
|
|
90
|
+
alert("网页还没下载完毕,请稍等一下再操作.");
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!LODOP) {
|
|
94
|
+
let info = "<div class='print-hint'>" + (strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3) + "</div>";
|
|
95
|
+
let html = document.getElementById("app").innerHTML
|
|
96
|
+
document.getElementById("app").innerHTML = info + html
|
|
97
|
+
return;
|
|
98
|
+
} else {
|
|
99
|
+
if (CLODOP.CVERSION < "3.0.7.5") {
|
|
100
|
+
let info = "<div class='print-hint'>" + strCLodopUpdate + "</div>";
|
|
101
|
+
let html = document.getElementById("app").innerHTML
|
|
102
|
+
document.getElementById("app").innerHTML = info + html
|
|
103
|
+
// document.body.innerHTML = strCLodopUpdate + document.body.innerHTML;
|
|
104
|
+
}
|
|
105
|
+
if (oEMBED && oEMBED.parentNode)
|
|
106
|
+
oEMBED.parentNode.removeChild(oEMBED);
|
|
107
|
+
if (oOBJECT && oOBJECT.parentNode)
|
|
108
|
+
oOBJECT.parentNode.removeChild(oOBJECT);
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
var is64IE = isIE && !!(ua.match(/x64/i));
|
|
112
|
+
//=====如果页面有Lodop就直接使用,没有则新建:==========
|
|
113
|
+
if (oOBJECT || oEMBED) {
|
|
114
|
+
if (isIE)
|
|
115
|
+
LODOP = oOBJECT;
|
|
116
|
+
else
|
|
117
|
+
LODOP = oEMBED;
|
|
118
|
+
} else if (!CreatedOKLodop7766) {
|
|
119
|
+
LODOP = document.createElement("object");
|
|
120
|
+
LODOP.setAttribute("width", 0);
|
|
121
|
+
LODOP.setAttribute("height", 0);
|
|
122
|
+
LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
|
|
123
|
+
if (isIE)
|
|
124
|
+
LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
|
|
125
|
+
else
|
|
126
|
+
LODOP.setAttribute("type", "application/x-print-lodop");
|
|
127
|
+
document.documentElement.appendChild(LODOP);
|
|
128
|
+
CreatedOKLodop7766 = LODOP;
|
|
129
|
+
} else
|
|
130
|
+
LODOP = CreatedOKLodop7766;
|
|
131
|
+
//=====Lodop插件未安装时提示下载地址:==========
|
|
132
|
+
if ((!LODOP) || (!LODOP.VERSION)) {
|
|
133
|
+
if (ua.indexOf('Chrome') >= 0) {
|
|
134
|
+
let info = "<div class='print-hint'>" + strHtmChrome + "</div>";
|
|
135
|
+
let html = document.getElementById("app").innerHTML
|
|
136
|
+
document.getElementById("app").innerHTML = info + html
|
|
137
|
+
}
|
|
138
|
+
if (ua.indexOf('Firefox') >= 0) {
|
|
139
|
+
let info = "<div class='print-hint'>" + strHtmFireFox + "</div>";
|
|
140
|
+
let html = document.getElementById("app").innerHTML
|
|
141
|
+
document.getElementById("app").innerHTML = info + html
|
|
142
|
+
}
|
|
143
|
+
let info = "<div class='print-hint'>" + (is64IE ? strHtm64_Install : strHtmInstall) + "</div>";
|
|
144
|
+
let html = document.getElementById("app").innerHTML
|
|
145
|
+
document.getElementById("app").innerHTML = info + html
|
|
146
|
+
return LODOP;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (LODOP.VERSION < "6.2.2.6") {
|
|
150
|
+
if (!needCLodop()) {
|
|
151
|
+
let info = "<div class='print-hint'>" + (is64IE ? strHtm64_Update : strHtmUpdate) + "</div>";
|
|
152
|
+
let html = document.getElementById("app").innerHTML
|
|
153
|
+
document.getElementById("app").innerHTML = info + html
|
|
154
|
+
}
|
|
155
|
+
return LODOP;
|
|
156
|
+
}
|
|
157
|
+
//===如下空白位置适合调用统一功能(如注册语句、语言选择等):==
|
|
158
|
+
LODOP.SET_LICENSES("浪潮软件股份有限公司", "E06FBED5C95F9D41C185E57C393C53F6AE2", "浪潮軟件股份有限公司", "410D0FEB0AABCBD335D53B757C0BF007CFE");
|
|
159
|
+
LODOP.SET_LICENSES("THIRD LICENSE", "", "Inspur software Co., Ltd", "DB58BD6748AE0A151B3648415F61251084E");
|
|
160
|
+
//=======================================================
|
|
161
|
+
return LODOP;
|
|
162
|
+
} catch (err) {
|
|
163
|
+
alert("getLodop出错:" + err);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Modal } from '@lambo-design/core'
|
|
2
|
-
|
|
3
|
-
const beforeClose = {
|
|
4
|
-
before_close_normal: (resolve) => {
|
|
5
|
-
Modal.confirm({
|
|
6
|
-
title: '确定要关闭这一页吗?',
|
|
7
|
-
onOk: () => {
|
|
8
|
-
resolve(true)
|
|
9
|
-
},
|
|
10
|
-
onCancel: () => {
|
|
11
|
-
resolve(false)
|
|
12
|
-
}
|
|
13
|
-
})
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export default beforeClose
|
|
1
|
+
import { Modal } from '@lambo-design/core'
|
|
2
|
+
|
|
3
|
+
const beforeClose = {
|
|
4
|
+
before_close_normal: (resolve) => {
|
|
5
|
+
Modal.confirm({
|
|
6
|
+
title: '确定要关闭这一页吗?',
|
|
7
|
+
onOk: () => {
|
|
8
|
+
resolve(true)
|
|
9
|
+
},
|
|
10
|
+
onCancel: () => {
|
|
11
|
+
resolve(false)
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default beforeClose
|