@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.
Files changed (206) hide show
  1. package/config/config.js +51 -37
  2. package/config/env.js +4 -4
  3. package/config/index.js +7 -2
  4. package/config/themes/atrovirens/atrovirens.css +576 -0
  5. package/config/themes/atrovirens/atrovirens.css.map +1 -0
  6. package/config/themes/atrovirens/atrovirens.less +667 -0
  7. package/config/themes/atrovirens/var.less +674 -0
  8. package/config/themes/blue/blue.css +576 -0
  9. package/config/themes/blue/blue.css.map +1 -0
  10. package/config/themes/blue/blue.less +669 -0
  11. package/config/themes/blue/var.less +677 -0
  12. package/config/themes/blue-white/blue-white.css +576 -0
  13. package/config/themes/blue-white/blue-white.css.map +1 -0
  14. package/config/themes/blue-white/blue-white.less +669 -0
  15. package/config/themes/blue-white/var.less +676 -0
  16. package/config/themes/blue-white-tight/blue-white-tight.css +577 -0
  17. package/config/themes/blue-white-tight/blue-white-tight.css.map +1 -0
  18. package/config/themes/blue-white-tight/blue-white-tight.less +672 -0
  19. package/config/themes/blue-white-tight/var.less +677 -0
  20. package/config/themes/danqing/danqing.css +576 -0
  21. package/config/themes/danqing/danqing.css.map +1 -0
  22. package/config/themes/danqing/danqing.less +668 -0
  23. package/config/themes/danqing/danqing.wxss +572 -0
  24. package/config/themes/danqing/var.less +679 -0
  25. package/config/themes/deep/deep.css +576 -0
  26. package/config/themes/deep/deep.css.map +1 -0
  27. package/config/themes/deep/deep.less +669 -0
  28. package/config/themes/deep/var.less +677 -0
  29. package/config/themes/default/default.css +576 -241
  30. package/config/themes/default/default.css.map +1 -0
  31. package/config/themes/default/default.less +671 -319
  32. package/config/themes/default/var.less +677 -314
  33. package/config/themes/eap/eap.css +576 -0
  34. package/config/themes/eap/eap.css.map +1 -0
  35. package/config/themes/eap/eap.less +671 -0
  36. package/config/themes/eap/var.less +677 -0
  37. package/config/themes/gold/gold.css +576 -0
  38. package/config/themes/gold/gold.css.map +1 -0
  39. package/config/themes/gold/gold.less +671 -0
  40. package/config/themes/gold/var.less +677 -314
  41. package/config/themes/index.js +28 -14
  42. package/config/themes/lime/lime.css +576 -0
  43. package/config/themes/lime/lime.css.map +1 -0
  44. package/config/themes/lime/lime.less +671 -0
  45. package/config/themes/lime/var.less +678 -314
  46. package/config/themes/orange/orange.css +576 -0
  47. package/config/themes/orange/orange.css.map +1 -0
  48. package/config/themes/orange/orange.less +671 -0
  49. package/config/themes/orange/var.less +678 -0
  50. package/config/themes/red/red.css +576 -0
  51. package/config/themes/red/red.css.map +1 -0
  52. package/config/themes/red/red.less +671 -0
  53. package/config/themes/red/var.less +677 -0
  54. package/config/themes/theme-atrovirens.js +558 -0
  55. package/config/themes/theme-blue.js +558 -0
  56. package/config/themes/theme-bw.js +558 -0
  57. package/config/themes/theme-bwt.js +559 -0
  58. package/config/themes/theme-danqing.js +558 -0
  59. package/config/themes/theme-deep.js +558 -0
  60. package/config/themes/theme-default.js +558 -252
  61. package/config/themes/theme-eap.js +558 -0
  62. package/config/themes/theme-gold.js +558 -252
  63. package/config/themes/theme-lime.js +558 -252
  64. package/config/themes/theme-orange.js +559 -40
  65. package/config/themes/theme-red.js +558 -40
  66. package/config/themes/theme-white.js +558 -0
  67. package/config/themes/white/var.less +676 -0
  68. package/config/themes/white/white.css +576 -0
  69. package/config/themes/white/white.css.map +1 -0
  70. package/config/themes/white/white.less +669 -0
  71. package/directives/index.js +23 -23
  72. package/directives/module/draggable.js +56 -56
  73. package/directives/module/permission.js +49 -49
  74. package/directives/module/print.js +1 -0
  75. package/directives/module/vue-print-nb/README.md +63 -0
  76. package/directives/module/vue-print-nb/print.js +94 -0
  77. package/directives/module/vue-print-nb/printarea.js +532 -0
  78. package/index.js +10 -4
  79. package/nstyles/common.less +197 -0
  80. package/nstyles/components/404.less +46 -0
  81. package/nstyles/components/button.less +34 -0
  82. package/nstyles/components/date-picker.less +37 -0
  83. package/nstyles/components/drawer.less +20 -0
  84. package/nstyles/components/dropdown.less +18 -0
  85. package/nstyles/components/excel-flow.less +72 -0
  86. package/nstyles/components/form.less +313 -0
  87. package/nstyles/components/index.less +23 -0
  88. package/nstyles/components/layout/collect.less +10 -0
  89. package/nstyles/components/layout/detail-view.less +107 -0
  90. package/nstyles/components/layout/full-screen.less +7 -0
  91. package/nstyles/components/layout/index.less +7 -0
  92. package/nstyles/components/layout/other-menu.less +142 -0
  93. package/nstyles/components/layout/page-view.less +101 -0
  94. package/nstyles/components/layout/sider-trigger.less +41 -0
  95. package/nstyles/components/layout/tags-nav.less +113 -0
  96. package/nstyles/components/modal.less +85 -0
  97. package/nstyles/components/n-button.less +131 -0
  98. package/nstyles/components/n-image-preview.less +131 -0
  99. package/nstyles/components/n-model/index.less +19 -0
  100. package/nstyles/components/n-model/report-index.less +43 -0
  101. package/nstyles/components/n-panel.less +41 -0
  102. package/nstyles/components/n-picker.less +37 -0
  103. package/nstyles/components/n-sign.less +17 -0
  104. package/nstyles/components/n-tooltip.less +10 -0
  105. package/nstyles/components/panel.less +31 -0
  106. package/nstyles/components/select.less +3 -0
  107. package/nstyles/components/sign.less +27 -0
  108. package/nstyles/components/table.less +315 -0
  109. package/nstyles/components/tree.less +159 -0
  110. package/nstyles/components/upload.less +164 -0
  111. package/nstyles/index.less +5 -0
  112. package/nstyles/reset.less +65 -0
  113. package/nstyles/third/ag.less +174 -0
  114. package/nstyles/third/icons/sort-desc.svg +1 -0
  115. package/nstyles/third/icons/sort-up.svg +1 -0
  116. package/nstyles/third/icons/sorting.svg +1 -0
  117. package/nstyles/third/index.less +11 -0
  118. package/nstyles/third/view-design.less +367 -0
  119. package/nstyles/variables/base.less +143 -0
  120. package/nstyles/variables/index.less +4 -0
  121. package/nstyles/variables/theme/default/button.less +7 -0
  122. package/nstyles/variables/theme/default/common.less +57 -0
  123. package/nstyles/variables/theme/default/index.less +7 -0
  124. package/nstyles/variables/theme/default/layout.less +40 -0
  125. package/nstyles/variables/theme/default/table.less +37 -0
  126. package/nstyles/variables/theme/default/tag.less +3 -0
  127. package/nstyles/variables/theme/default/upload.less +3 -0
  128. package/nstyles/variables/theme/index.less +13 -0
  129. package/nstyles/variables/theme/small/button.less +7 -0
  130. package/nstyles/variables/theme/small/common.less +39 -0
  131. package/nstyles/variables/theme/small/index.less +5 -0
  132. package/nstyles/variables/theme/small/layout.less +21 -0
  133. package/nstyles/variables/theme/small/table.less +17 -0
  134. package/nstyles/variables/theme/small/tag.less +3 -0
  135. package/package.json +27 -7
  136. package/plugin/index.js +12 -0
  137. package/plugin/module/date-format.js +30 -0
  138. package/plugin/module/loading.js +26 -0
  139. package/plugin/module/warn-handler.js +11 -0
  140. package/styles/image/inspur.png +0 -0
  141. package/styles/image/lan_navigator.png +0 -0
  142. package/styles/image/lv_navigator.png +0 -0
  143. package/styles/variables.less +21 -21
  144. package/utils/ajax/cacheconf.js +19 -19
  145. package/utils/ajax/content-type.js +30 -0
  146. package/utils/ajax/index.js +12 -12
  147. package/utils/ajax/interceptors.js +97 -97
  148. package/utils/assist.js +147 -84
  149. package/utils/base64.js +126 -0
  150. package/utils/blob.js +47 -0
  151. package/utils/bus.js +3 -3
  152. package/utils/crypto/index.js +48 -38
  153. package/utils/crypto/md5.js +152 -152
  154. package/utils/crypto/sm3.js +235 -235
  155. package/utils/date.js +381 -352
  156. package/utils/dict/built-in-dict.js +20 -0
  157. package/utils/dict/index.js +168 -0
  158. package/utils/dom.js +38 -38
  159. package/utils/event.js +72 -0
  160. package/utils/excel.js +655 -523
  161. package/utils/file.js +19 -0
  162. package/utils/form/validate.js +29 -0
  163. package/utils/half-year.js +68 -0
  164. package/utils/index.js +42 -5
  165. package/utils/json.js +29 -0
  166. package/utils/lodop.js +165 -160
  167. package/utils/menu/before-close.js +17 -17
  168. package/utils/menu/index.js +395 -135
  169. package/utils/mime_type.js +67 -0
  170. package/utils/modelerUtil.js +227 -224
  171. package/utils/n/api.js +22 -0
  172. package/utils/n/date.js +57 -0
  173. package/utils/n/index.js +10 -0
  174. package/utils/n/is-type.js +176 -0
  175. package/utils/n/number.js +144 -0
  176. package/utils/n/permission-cache.js +11 -0
  177. package/utils/n/reuqest/axiosN.js +17 -0
  178. package/utils/n/reuqest/content-type.js +19 -0
  179. package/utils/n/reuqest/interceptors.js +95 -0
  180. package/utils/n/reuqest/url-params.js +12 -0
  181. package/utils/n/storage.js +51 -0
  182. package/utils/n/token.js +51 -0
  183. package/utils/n/user-cache.js +11 -0
  184. package/utils/n/user.js +34 -0
  185. package/utils/n/uuid.js +16 -0
  186. package/utils/n-generator-routers.js +208 -0
  187. package/utils/n-router.js +205 -0
  188. package/utils/n-theme.js +30 -0
  189. package/utils/number.js +180 -123
  190. package/utils/oss.js +57 -0
  191. package/utils/platform.js +1334 -583
  192. package/utils/quarter.js +58 -0
  193. package/utils/storage.js +198 -0
  194. package/utils/style.js +24 -0
  195. package/utils/theme.js +138 -43
  196. package/utils/transfer-queue.js +7 -0
  197. package/utils/transform.js +206 -0
  198. package/utils/type.js +102 -0
  199. package/utils/util.js +795 -0
  200. package/utils/validator.js +181 -0
  201. package/utils/vxetable/index.js +25 -25
  202. package/utils/zoomScroll.js +9 -9
  203. package/config/themes/gold/default.css +0 -241
  204. package/config/themes/gold/default.less +0 -319
  205. package/config/themes/lime/default.css +0 -241
  206. 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
- //====判断是否需要 Web打印服务CLodop:===
4
- //===(不支持插件的浏览器版本需要用它)===
5
- function needCLodop() {
6
- try {
7
- var ua = navigator.userAgent;
8
- if (ua.match(/Windows\sPhone/i))
9
- return true;
10
- if (ua.match(/iPhone|iPod|iPad/i))
11
- return true;
12
- if (ua.match(/Android/i))
13
- return true;
14
- if (ua.match(/Edge\D?\d+/i))
15
- return true;
16
-
17
- var verTrident = ua.match(/Trident\D?\d+/i);
18
- var verIE = ua.match(/MSIE\D?\d+/i);
19
- var verOPR = ua.match(/OPR\D?\d+/i);
20
- var verFF = ua.match(/Firefox\D?\d+/i);
21
- var x64 = ua.match(/x64/i);
22
- if ((!verTrident) && (!verIE) && (x64))
23
- return true;
24
- else if (verFF) {
25
- verFF = verFF[0].match(/\d+/);
26
- if ((verFF[0] >= 41) || (x64))
27
- return true;
28
- } else if (verOPR) {
29
- verOPR = verOPR[0].match(/\d+/);
30
- if (verOPR[0] >= 32)
31
- return true;
32
- } else if ((!verTrident) && (!verIE)) {
33
- var verChrome = ua.match(/Chrome\D?\d+/i);
34
- if (verChrome) {
35
- verChrome = verChrome[0].match(/\d+/);
36
- if (verChrome[0] >= 41)
37
- return true;
38
- }
39
- }
40
- return false;
41
- } catch (err) {
42
- return true;
43
- }
44
- }
45
-
46
- //====页面引用CLodop云打印必须的JS文件,用双端口(8000和18000)避免其中某个被占用:====
47
- if (needCLodop()) {
48
- var src1 = "http://localhost:8000/CLodopfuncs.js?priority=1";
49
- var src2 = "http://localhost:18000/CLodopfuncs.js?priority=0";
50
-
51
- var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
52
- var oscript = document.createElement("script");
53
- oscript.src = src1;
54
- head.insertBefore(oscript, head.firstChild);
55
- oscript = document.createElement("script");
56
- oscript.src = src2;
57
- head.insertBefore(oscript, head.firstChild);
58
- CLodopIsLocal = !!((src1 + src2).match(/\/\/localho|\/\/127.0.0./i));
59
- }
60
-
61
- //====获取LODOP对象的主过程:====
62
- export function getLodop(oOBJECT, oEMBED) {
63
- // var printHint = "<div class='print-hint' ></div>"
64
- // printHint.className = 'print-hint'
65
- var strHtmInstall = "<div >打印控件未安装!点击这里<a href='file/install_lodop32.exe' target='view_window'>执行安装</a>,安装后请刷新页面或重新进入。</div>";
66
- var strHtmUpdate = "<div >打印控件需要升级!点击这里<a href='file/install_lodop32.exe' target='view_window'>执行升级</a>,升级后请重新进入。</div>";
67
- var strHtm64_Install = "<div >打印控件未安装!点击这里<a href='file/install_lodop64.exe' target='view_window'>执行安装</a>,安装后请刷新页面或重新进入。</div>";
68
- var strHtm64_Update = "<div >打印控件需要升级!点击这里<a href='file/install_lodop64.exe' target='view_window'>执行升级</a>,升级后请重新进入。</div>";
69
- var strHtmFireFox = "<div >(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</div>";
70
- var strHtmChrome = "<div >(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</div>";
71
- var strCLodopInstall_1 = "<div >Web打印服务CLodop未安装启动,点击这里<a href='file/CLodop_Setup_for_Win32NT.exe' target='view_window'>下载执行安装</a></div>";
72
- var strCLodopInstall_2 = "<div >(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)";
73
- var strCLodopInstall_3 = ",成功后请刷新本页面。</div>";
74
- var strCLodopUpdate = "<div >Web打印服务CLodop需升级!点击这里<a href='file/CLodop_Setup_for_Win32NT.exe' target='view_window'>执行升级</a>,升级后请刷新页面。</div>";
75
- var LODOP;
76
- try {
77
- var ua = navigator.userAgent;
78
- var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));
79
- if (needCLodop()) {
80
- try {
81
- LODOP = getCLodop();
82
- } catch (err) {
83
- }
84
- if (!LODOP && document.readyState !== "complete") {
85
- alert("网页还没下载完毕,请稍等一下再操作.");
86
- return;
87
- }
88
- if (!LODOP) {
89
- let info = "<div class='print-hint'>" + (strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3) + "</div>";
90
- let html = document.getElementById("app").innerHTML
91
- document.getElementById("app").innerHTML = info + html
92
- return;
93
- } else {
94
- if (CLODOP.CVERSION < "3.0.7.5") {
95
- let info = "<div class='print-hint'>" + strCLodopUpdate + "</div>";
96
- let html = document.getElementById("app").innerHTML
97
- document.getElementById("app").innerHTML = info + html
98
- // document.body.innerHTML = strCLodopUpdate + document.body.innerHTML;
99
- }
100
- if (oEMBED && oEMBED.parentNode)
101
- oEMBED.parentNode.removeChild(oEMBED);
102
- if (oOBJECT && oOBJECT.parentNode)
103
- oOBJECT.parentNode.removeChild(oOBJECT);
104
- }
105
- } else {
106
- var is64IE = isIE && !!(ua.match(/x64/i));
107
- //=====如果页面有Lodop就直接使用,没有则新建:==========
108
- if (oOBJECT || oEMBED) {
109
- if (isIE)
110
- LODOP = oOBJECT;
111
- else
112
- LODOP = oEMBED;
113
- } else if (!CreatedOKLodop7766) {
114
- LODOP = document.createElement("object");
115
- LODOP.setAttribute("width", 0);
116
- LODOP.setAttribute("height", 0);
117
- LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
118
- if (isIE)
119
- LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
120
- else
121
- LODOP.setAttribute("type", "application/x-print-lodop");
122
- document.documentElement.appendChild(LODOP);
123
- CreatedOKLodop7766 = LODOP;
124
- } else
125
- LODOP = CreatedOKLodop7766;
126
- //=====Lodop插件未安装时提示下载地址:==========
127
- if ((!LODOP) || (!LODOP.VERSION)) {
128
- if (ua.indexOf('Chrome') >= 0) {
129
- let info = "<div class='print-hint'>" + strHtmChrome + "</div>";
130
- let html = document.getElementById("app").innerHTML
131
- document.getElementById("app").innerHTML = info + html
132
- }
133
- if (ua.indexOf('Firefox') >= 0) {
134
- let info = "<div class='print-hint'>" + strHtmFireFox + "</div>";
135
- let html = document.getElementById("app").innerHTML
136
- document.getElementById("app").innerHTML = info + html
137
- }
138
- let info = "<div class='print-hint'>" + (is64IE ? strHtm64_Install : strHtmInstall) + "</div>";
139
- let html = document.getElementById("app").innerHTML
140
- document.getElementById("app").innerHTML = info + html
141
- return LODOP;
142
- }
143
- }
144
- if (LODOP.VERSION < "6.2.2.6") {
145
- if (!needCLodop()) {
146
- let info = "<div class='print-hint'>" + (is64IE ? strHtm64_Update : strHtmUpdate) + "</div>";
147
- let html = document.getElementById("app").innerHTML
148
- document.getElementById("app").innerHTML = info + html
149
- }
150
- return LODOP;
151
- }
152
- //===如下空白位置适合调用统一功能(如注册语句、语言选择等):==
153
- LODOP.SET_LICENSES("浪潮软件股份有限公司", "E06FBED5C95F9D41C185E57C393C53F6AE2", "浪潮軟件股份有限公司", "410D0FEB0AABCBD335D53B757C0BF007CFE");
154
- LODOP.SET_LICENSES("THIRD LICENSE", "", "Inspur software Co., Ltd", "DB58BD6748AE0A151B3648415F61251084E");
155
- //=======================================================
156
- return LODOP;
157
- } catch (err) {
158
- alert("getLodop出错:" + err);
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