@lambo-design/shared 1.0.0-beta.237 → 1.0.0-beta.239

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 (182) hide show
  1. package/config/config.js +51 -51
  2. package/config/env.js +4 -4
  3. package/config/index.js +7 -7
  4. package/config/themes/atrovirens/atrovirens.css +575 -575
  5. package/config/themes/atrovirens/atrovirens.less +667 -667
  6. package/config/themes/atrovirens/var.less +674 -674
  7. package/config/themes/blue/blue.css +575 -575
  8. package/config/themes/blue/blue.less +669 -669
  9. package/config/themes/blue/var.less +677 -677
  10. package/config/themes/blue-white/blue-white.css +575 -575
  11. package/config/themes/blue-white/blue-white.less +669 -669
  12. package/config/themes/blue-white/var.less +676 -676
  13. package/config/themes/blue-white-tight/blue-white-tight.css +576 -576
  14. package/config/themes/blue-white-tight/blue-white-tight.less +672 -672
  15. package/config/themes/blue-white-tight/var.less +677 -677
  16. package/config/themes/danqing/danqing.css +576 -575
  17. package/config/themes/danqing/danqing.css.map +1 -1
  18. package/config/themes/danqing/danqing.less +668 -668
  19. package/config/themes/danqing/danqing.wxss +572 -572
  20. package/config/themes/danqing/var.less +679 -679
  21. package/config/themes/deep/deep.css +575 -575
  22. package/config/themes/deep/deep.less +669 -669
  23. package/config/themes/deep/var.less +677 -677
  24. package/config/themes/default/default.css +575 -575
  25. package/config/themes/default/default.less +671 -671
  26. package/config/themes/default/var.less +677 -677
  27. package/config/themes/eap/eap.css +575 -575
  28. package/config/themes/eap/eap.less +671 -671
  29. package/config/themes/eap/var.less +677 -677
  30. package/config/themes/gold/gold.css +575 -575
  31. package/config/themes/gold/gold.less +671 -671
  32. package/config/themes/gold/var.less +677 -677
  33. package/config/themes/index.js +28 -28
  34. package/config/themes/lime/lime.css +575 -575
  35. package/config/themes/lime/lime.less +671 -671
  36. package/config/themes/lime/var.less +678 -678
  37. package/config/themes/orange/orange.css +575 -575
  38. package/config/themes/orange/orange.less +671 -671
  39. package/config/themes/orange/var.less +678 -678
  40. package/config/themes/red/red.css +575 -575
  41. package/config/themes/red/red.less +671 -671
  42. package/config/themes/red/var.less +677 -677
  43. package/config/themes/theme-atrovirens.js +558 -558
  44. package/config/themes/theme-blue.js +558 -558
  45. package/config/themes/theme-bw.js +558 -558
  46. package/config/themes/theme-bwt.js +559 -559
  47. package/config/themes/theme-danqing.js +558 -558
  48. package/config/themes/theme-deep.js +558 -558
  49. package/config/themes/theme-default.js +558 -558
  50. package/config/themes/theme-eap.js +558 -558
  51. package/config/themes/theme-gold.js +558 -558
  52. package/config/themes/theme-lime.js +558 -558
  53. package/config/themes/theme-orange.js +559 -559
  54. package/config/themes/theme-red.js +558 -558
  55. package/config/themes/theme-white.js +557 -557
  56. package/config/themes/white/var.less +675 -675
  57. package/config/themes/white/white.css +575 -575
  58. package/config/themes/white/white.less +668 -668
  59. package/directives/index.js +23 -23
  60. package/directives/module/draggable.js +56 -56
  61. package/directives/module/permission.js +49 -49
  62. package/directives/module/print.js +1 -1
  63. package/directives/module/vue-print-nb/README.md +63 -63
  64. package/directives/module/vue-print-nb/print.js +94 -94
  65. package/directives/module/vue-print-nb/printarea.js +532 -532
  66. package/index.js +10 -10
  67. package/nstyles/common.less +197 -197
  68. package/nstyles/components/404.less +46 -46
  69. package/nstyles/components/button.less +34 -34
  70. package/nstyles/components/date-picker.less +37 -37
  71. package/nstyles/components/drawer.less +20 -20
  72. package/nstyles/components/dropdown.less +18 -18
  73. package/nstyles/components/excel-flow.less +72 -72
  74. package/nstyles/components/form.less +313 -303
  75. package/nstyles/components/index.less +23 -23
  76. package/nstyles/components/layout/collect.less +10 -10
  77. package/nstyles/components/layout/detail-view.less +107 -107
  78. package/nstyles/components/layout/full-screen.less +7 -7
  79. package/nstyles/components/layout/index.less +7 -7
  80. package/nstyles/components/layout/other-menu.less +142 -142
  81. package/nstyles/components/layout/page-view.less +101 -101
  82. package/nstyles/components/layout/sider-trigger.less +41 -41
  83. package/nstyles/components/layout/tags-nav.less +113 -113
  84. package/nstyles/components/modal.less +85 -85
  85. package/nstyles/components/n-button.less +131 -131
  86. package/nstyles/components/n-image-preview.less +131 -131
  87. package/nstyles/components/n-model/index.less +19 -19
  88. package/nstyles/components/n-model/report-index.less +43 -43
  89. package/nstyles/components/n-panel.less +40 -40
  90. package/nstyles/components/n-picker.less +37 -37
  91. package/nstyles/components/n-sign.less +17 -17
  92. package/nstyles/components/n-tooltip.less +10 -10
  93. package/nstyles/components/panel.less +31 -31
  94. package/nstyles/components/select.less +3 -3
  95. package/nstyles/components/sign.less +27 -27
  96. package/nstyles/components/table.less +315 -315
  97. package/nstyles/components/tree.less +158 -158
  98. package/nstyles/components/upload.less +164 -164
  99. package/nstyles/index.less +5 -5
  100. package/nstyles/reset.less +65 -65
  101. package/nstyles/third/ag.less +174 -174
  102. package/nstyles/third/index.less +11 -11
  103. package/nstyles/third/view-design.less +366 -366
  104. package/nstyles/variables/base.less +143 -143
  105. package/nstyles/variables/index.less +4 -4
  106. package/nstyles/variables/theme/default/button.less +7 -7
  107. package/nstyles/variables/theme/default/common.less +57 -57
  108. package/nstyles/variables/theme/default/index.less +7 -7
  109. package/nstyles/variables/theme/default/layout.less +40 -40
  110. package/nstyles/variables/theme/default/table.less +37 -37
  111. package/nstyles/variables/theme/default/tag.less +3 -3
  112. package/nstyles/variables/theme/default/upload.less +3 -3
  113. package/nstyles/variables/theme/index.less +13 -13
  114. package/nstyles/variables/theme/small/button.less +7 -7
  115. package/nstyles/variables/theme/small/common.less +39 -39
  116. package/nstyles/variables/theme/small/index.less +5 -5
  117. package/nstyles/variables/theme/small/layout.less +21 -21
  118. package/nstyles/variables/theme/small/table.less +17 -17
  119. package/nstyles/variables/theme/small/tag.less +3 -3
  120. package/package.json +1 -1
  121. package/plugin/index.js +12 -12
  122. package/plugin/module/date-format.js +30 -30
  123. package/plugin/module/loading.js +26 -26
  124. package/plugin/module/warn-handler.js +11 -11
  125. package/styles/variables.less +21 -21
  126. package/utils/ajax/cacheconf.js +19 -19
  127. package/utils/ajax/content-type.js +30 -30
  128. package/utils/ajax/index.js +12 -12
  129. package/utils/ajax/interceptors.js +97 -97
  130. package/utils/assist.js +147 -147
  131. package/utils/base64.js +126 -126
  132. package/utils/blob.js +47 -47
  133. package/utils/bus.js +3 -3
  134. package/utils/crypto/index.js +48 -48
  135. package/utils/crypto/md5.js +152 -152
  136. package/utils/crypto/sm3.js +235 -235
  137. package/utils/date.js +381 -381
  138. package/utils/dict/built-in-dict.js +20 -20
  139. package/utils/dict/index.js +167 -167
  140. package/utils/dom.js +38 -38
  141. package/utils/event.js +72 -72
  142. package/utils/excel.js +655 -655
  143. package/utils/file.js +19 -19
  144. package/utils/form/validate.js +29 -29
  145. package/utils/half-year.js +68 -68
  146. package/utils/index.js +41 -41
  147. package/utils/json.js +29 -29
  148. package/utils/lodop.js +165 -165
  149. package/utils/menu/before-close.js +17 -17
  150. package/utils/menu/index.js +395 -395
  151. package/utils/mime_type.js +67 -67
  152. package/utils/modelerUtil.js +227 -227
  153. package/utils/n/api.js +22 -22
  154. package/utils/n/date.js +57 -57
  155. package/utils/n/index.js +9 -9
  156. package/utils/n/is-type.js +176 -176
  157. package/utils/n/number.js +144 -144
  158. package/utils/n/permission-cache.js +11 -11
  159. package/utils/n/reuqest/axiosN.js +17 -17
  160. package/utils/n/reuqest/content-type.js +19 -19
  161. package/utils/n/reuqest/interceptors.js +95 -95
  162. package/utils/n/reuqest/url-params.js +12 -12
  163. package/utils/n/storage.js +51 -51
  164. package/utils/n/token.js +51 -51
  165. package/utils/n/user-cache.js +11 -11
  166. package/utils/n/user.js +34 -34
  167. package/utils/n/uuid.js +16 -16
  168. package/utils/n-generator-routers.js +208 -208
  169. package/utils/n-router.js +205 -205
  170. package/utils/n-theme.js +30 -30
  171. package/utils/number.js +180 -180
  172. package/utils/oss.js +57 -57
  173. package/utils/platform.js +1334 -1334
  174. package/utils/quarter.js +58 -58
  175. package/utils/storage.js +198 -198
  176. package/utils/theme.js +138 -138
  177. package/utils/transform.js +179 -0
  178. package/utils/type.js +102 -102
  179. package/utils/util.js +795 -795
  180. package/utils/validator.js +181 -181
  181. package/utils/vxetable/index.js +25 -25
  182. package/utils/zoomScroll.js +9 -9
@@ -1,67 +1,67 @@
1
- export const MIME_TYPE = {
2
- aac: 'audio/aac',
3
- abw: 'application/x-abiword',
4
- arc: 'application/x-freearc',
5
- avi: 'video/x-msvideo',
6
- azw: 'application/vnd.amazon.ebook',
7
- bin: 'application/octet-stream',
8
- bmp: 'image/bmp',
9
- bz: 'application/x-bzip',
10
- bz2: 'application/x-bzip2',
11
- csh: 'application/x-csh',
12
- css: 'text/css',
13
- csv: 'text/csv',
14
- doc: 'application/msword',
15
- docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
16
- eot: 'application/vnd.ms-fontobject',
17
- epub: 'application/epub+zip',
18
- gif: 'image/gif',
19
- html: 'text/html',
20
- ico: 'image/vnd.microsoft.icon',
21
- ics: 'text/calendar',
22
- jar: 'application/java-archive',
23
- jpg: 'image/jpeg',
24
- jpeg: 'image/jpeg',
25
- js: 'text/javascript',
26
- json: 'application/json',
27
- jsonld: 'application/ld+json',
28
- mid: 'audio/midi',
29
- midi: 'audio/x-midi',
30
- mjs: 'text/javascript',
31
- mp3: 'audio/mpeg',
32
- mpeg: 'video/mpeg',
33
- mpkg: 'application/vnd.apple.installer+xml',
34
- odp: 'application/vnd.oasis.opendocument.presentation',
35
- ods: 'application/vnd.oasis.opendocument.spreadsheet',
36
- odt: 'application/vnd.oasis.opendocument.text',
37
- oga: 'audio/ogg',
38
- ogv: 'video/ogg',
39
- ogx: 'application/ogg',
40
- otf: 'font/otf',
41
- png: 'image/png',
42
- pdf: 'application/pdf',
43
- ppt: 'application/vnd.ms-powerpoint',
44
- pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
45
- rar: 'application/x-rar-compressed',
46
- rtf: 'application/rtf',
47
- sh: 'application/x-sh',
48
- svg: 'image/svg+xml',
49
- swf: 'application/x-shockwave-flash',
50
- tar: 'application/x-tar',
51
- tiff: 'image/tiff',
52
- ttf: 'font/ttf',
53
- txt: 'text/plain',
54
- vsd: 'application/vnd.visio',
55
- wav: 'audio/wav',
56
- weba: 'audio/webm',
57
- webm: 'video/webm',
58
- webp: 'image/webp',
59
- woff: 'font/woff',
60
- woff2: 'font/woff2',
61
- xhtml: 'application/xhtml+xml',
62
- xls: 'application/vnd.ms-excel',
63
- xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
64
- xul: 'application/vnd.mozilla.xul+xml',
65
- zip: 'application/zip',
66
- '7z': 'application/x-7z-compressed',
67
- }
1
+ export const MIME_TYPE = {
2
+ aac: 'audio/aac',
3
+ abw: 'application/x-abiword',
4
+ arc: 'application/x-freearc',
5
+ avi: 'video/x-msvideo',
6
+ azw: 'application/vnd.amazon.ebook',
7
+ bin: 'application/octet-stream',
8
+ bmp: 'image/bmp',
9
+ bz: 'application/x-bzip',
10
+ bz2: 'application/x-bzip2',
11
+ csh: 'application/x-csh',
12
+ css: 'text/css',
13
+ csv: 'text/csv',
14
+ doc: 'application/msword',
15
+ docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
16
+ eot: 'application/vnd.ms-fontobject',
17
+ epub: 'application/epub+zip',
18
+ gif: 'image/gif',
19
+ html: 'text/html',
20
+ ico: 'image/vnd.microsoft.icon',
21
+ ics: 'text/calendar',
22
+ jar: 'application/java-archive',
23
+ jpg: 'image/jpeg',
24
+ jpeg: 'image/jpeg',
25
+ js: 'text/javascript',
26
+ json: 'application/json',
27
+ jsonld: 'application/ld+json',
28
+ mid: 'audio/midi',
29
+ midi: 'audio/x-midi',
30
+ mjs: 'text/javascript',
31
+ mp3: 'audio/mpeg',
32
+ mpeg: 'video/mpeg',
33
+ mpkg: 'application/vnd.apple.installer+xml',
34
+ odp: 'application/vnd.oasis.opendocument.presentation',
35
+ ods: 'application/vnd.oasis.opendocument.spreadsheet',
36
+ odt: 'application/vnd.oasis.opendocument.text',
37
+ oga: 'audio/ogg',
38
+ ogv: 'video/ogg',
39
+ ogx: 'application/ogg',
40
+ otf: 'font/otf',
41
+ png: 'image/png',
42
+ pdf: 'application/pdf',
43
+ ppt: 'application/vnd.ms-powerpoint',
44
+ pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
45
+ rar: 'application/x-rar-compressed',
46
+ rtf: 'application/rtf',
47
+ sh: 'application/x-sh',
48
+ svg: 'image/svg+xml',
49
+ swf: 'application/x-shockwave-flash',
50
+ tar: 'application/x-tar',
51
+ tiff: 'image/tiff',
52
+ ttf: 'font/ttf',
53
+ txt: 'text/plain',
54
+ vsd: 'application/vnd.visio',
55
+ wav: 'audio/wav',
56
+ weba: 'audio/webm',
57
+ webm: 'video/webm',
58
+ webp: 'image/webp',
59
+ woff: 'font/woff',
60
+ woff2: 'font/woff2',
61
+ xhtml: 'application/xhtml+xml',
62
+ xls: 'application/vnd.ms-excel',
63
+ xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
64
+ xul: 'application/vnd.mozilla.xul+xml',
65
+ zip: 'application/zip',
66
+ '7z': 'application/x-7z-compressed',
67
+ }
@@ -1,227 +1,227 @@
1
- import config from "@/config/config"
2
- import ajax from '@/utils/ajax'
3
-
4
- /**
5
- * 工作流工具
6
- */
7
- export const tools = {
8
-
9
- registerFileDrop(container, callback) {
10
- container.get(0).addEventListener('dragover', tools.handleDragOver, false);
11
- container.get(0).addEventListener('drop', tools.handleFileSelect, false);
12
- },
13
-
14
- /**
15
- * 通过xml创建bpmn
16
- * @param {string} xml 创建bpmn xml
17
- * @param {object} bpmnModeler bpmn对象
18
- * @param {object} container 容器对象
19
- */
20
- async createDiagram(xml, bpmnModeler, container) {
21
- try {
22
- await bpmnModeler.importXML(xml);
23
- } catch (err) {
24
- console.error(err);
25
- }
26
- },
27
- /**
28
- * 通过Json设置颜色
29
- * @param {object} json json 字符串
30
- */
31
- setColor(json, bpmnModeler) {
32
- var modeling = bpmnModeler.get('modeling');
33
- var elementRegistry = bpmnModeler.get('elementRegistry')
34
- var elementToColor = elementRegistry.get(json.name);
35
- if (elementToColor) {
36
- modeling.setColor([elementToColor], {
37
- stroke: json.stroke,
38
- fill: json.fill
39
- });
40
- }
41
- },
42
-
43
-
44
- async createNewDiagram(bpmnModeler, processDefinitionId) {
45
- const {$Message} = this;
46
- let bpmnXmlStr = '<?xml version="1.0" encoding="UTF-8"?>\n' +
47
- '<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:normal="http://flowable.org/bpmn/normal" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="diagram" targetNamespace="http://bpmn.io/schema/bpmn">\n' +
48
- ' <bpmn2:process id="Process_1" isExecutable="true">\n' +
49
- ' <bpmn2:startEvent id="StartEvent_1"/>\n' +
50
- ' </bpmn2:process>\n' +
51
- ' <bpmndi:BPMNDiagram id="BPMNDiagram_1">\n' +
52
- ' <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">\n' +
53
- ' <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">\n' +
54
- ' <dc:Bounds height="36.0" width="36.0" x="412.0" y="240.0"/>\n' +
55
- ' </bpmndi:BPMNShape>\n' +
56
- ' </bpmndi:BPMNPlane>\n' +
57
- ' </bpmndi:BPMNDiagram>\n' +
58
- '</bpmn2:definitions>'
59
- if (processDefinitionId) {
60
- await ajax.get(config.upmsServerContext + '/manage/workflow/getProcessXml?processDefinitionId=' + processDefinitionId).then(function ({data}) {
61
- if (data.code === 1) {
62
- bpmnXmlStr = data.data;
63
- } else {
64
- $Message.error("加载流程xml失败," + data.message);
65
- }
66
- // 将字符串转换成图显示出来
67
- bpmnModeler.importXML(bpmnXmlStr, function (err) {
68
- if (err) {
69
- console.error(err)
70
- }
71
- })
72
- })
73
- } else {
74
- // 将字符串转换成图显示出来
75
- bpmnModeler.importXML(bpmnXmlStr, function (err) {
76
- if (err) {
77
- console.error(err)
78
- }
79
- })
80
- }
81
- },
82
- // 下载为SVG格式,done是个函数,调用的时候传入的
83
- saveSVG(bpmnModeler, done) {
84
- // 把传入的done再传给bpmn原型的saveSVG函数调用
85
- this.bpmnModeler.saveSVG(done)
86
- },
87
- // 下载为SVG格式,done是个函数,调用的时候传入的
88
- saveDiagram(bpmnModeler, done) {
89
- // 把传入的done再传给bpmn原型的saveXML函数调用
90
- this.bpmnModeler.saveXML({format: true}, function (err, xml) {
91
- done(err, xml)
92
- })
93
- },
94
- // 下载为SVG格式,done是个函数,调用的时候传入的
95
- deployBpm(bpmnModeler, xmlStr) {
96
- const {$Message, $Spin} = this
97
- const elementRegistry = bpmnModeler.get('elementRegistry');
98
- const processNode = elementRegistry.filter(
99
- (item) => {
100
- return item.type === 'bpmn:Process'
101
- }
102
- )[0];
103
- const processId = processNode.id;
104
- const processName = processNode.businessObject.name;
105
- if (!processId) {
106
- $Message.error("流程编号不能为空")
107
- return
108
- }
109
- if (!processName) {
110
- $Message.error("流程名称不能为空")
111
- return
112
- }
113
- $Spin.show();
114
- ajax.post(config.upmsServerContext + '/manage/workflow/deployString', {
115
- bpmnXml: xmlStr,
116
- processId: processId,
117
- processName: processName
118
- }).then(function ({data}) {
119
- $Spin.hide();
120
- if (data.code === 1) {
121
- $Message.success("流程部署成功")
122
- } else {
123
- $Message.error(data.data)
124
- }
125
- })
126
-
127
- // 把传入的done再传给bpmn原型的saveSVG函数调用
128
- // this.bpmnModeler.saveSVG(done)
129
- },
130
- // 当图发生改变的时候会调用这个函数,这个data就是图的xml
131
- // setEncoded(link, name, data) {
132
- // // 把xml转换为URI,下载要用到的
133
- // const encodedData = encodeURIComponent(data)
134
- // // 获取到图的xml,保存就是把这个xml提交给后台
135
- // this.xmlStr = data
136
- // // 下载图的具体操作,改变a的属性,className令a标签可点击,href令能下载,download是下载的文件的名字
137
- // if (data) {
138
- // link.className = 'active'
139
- // link.href = 'data:application/bpmn20-xml;charset=UTF-8,' + encodedData
140
- // link.download = name
141
- // }
142
- // },
143
-
144
- /**
145
- * 下载bpmn
146
- * @param {object} bpmnModeler bpmn对象
147
- */
148
- downLoad(bpmnModeler) {
149
- var downloadLink = $("#downloadBpmn")
150
- bpmnModeler.saveXML({format: true}, function (err, xml) {
151
- if (err) {
152
- return console.error('could not save BPMN 2.0 diagram', err);
153
- }
154
- tools.setEncoded(downloadLink, 'diagram.bpmn', err ? null : xml);
155
- });
156
- },
157
- /**
158
- * 转码xml并下载
159
- * @param {object} link 按钮
160
- * @param {string} name 下载名称
161
- * @param {string} data base64XML
162
- */
163
- setEncoded(link, name, data) {
164
- var encodedData = encodeURIComponent(data);
165
- if (data) {
166
- link.addClass('active').attr({
167
- 'href': 'data:application/bpmn20-xml;charset=UTF-8,' + encodedData,
168
- 'download': name
169
- });
170
- } else {
171
- link.removeClass('active');
172
- }
173
- },
174
- /**
175
- * 上传bpmn
176
- * @param {object} bpmnModeler bpmn对象
177
- * @param {object} container 容器对象
178
- */
179
- upload(bpmnModeler, container) {
180
-
181
- },
182
-
183
-
184
- /**
185
- * 根据数据设置颜色
186
- * @param data
187
- * @returns {Array}
188
- */
189
- getByColor(data) {
190
-
191
- var ColorJson = []
192
- for (var k in data['doneLightSet']) {
193
- var par = {
194
- "name": data['doneLightSet'][k],
195
- "stroke": "green",
196
- "fill": "green"
197
- }
198
- ColorJson.push(par)
199
- }
200
- for (var k in data['donePointSet']) {
201
- var par = {
202
- "name": data['donePointSet'][k],
203
- "stroke": "gray",
204
- "fill": "#53d63a"
205
-
206
- }
207
- ColorJson.push(par)
208
- }
209
- for (var k in data['doneTaskSet']) {
210
- var par = {
211
- "name": data['doneTaskSet'][k],
212
- "stroke": "green",
213
- "fill": "#53d63a"
214
- }
215
- ColorJson.push(par)
216
- }
217
- for (var k in data['todoPointSet']) {
218
- var par = {
219
- "name": data['todoPointSet'][k],
220
- "stroke": "green",
221
- "fill": "#d6541c"
222
- }
223
- ColorJson.push(par)
224
- }
225
- return ColorJson
226
- }
227
- }
1
+ import config from "@/config/config"
2
+ import ajax from '@/utils/ajax'
3
+
4
+ /**
5
+ * 工作流工具
6
+ */
7
+ export const tools = {
8
+
9
+ registerFileDrop(container, callback) {
10
+ container.get(0).addEventListener('dragover', tools.handleDragOver, false);
11
+ container.get(0).addEventListener('drop', tools.handleFileSelect, false);
12
+ },
13
+
14
+ /**
15
+ * 通过xml创建bpmn
16
+ * @param {string} xml 创建bpmn xml
17
+ * @param {object} bpmnModeler bpmn对象
18
+ * @param {object} container 容器对象
19
+ */
20
+ async createDiagram(xml, bpmnModeler, container) {
21
+ try {
22
+ await bpmnModeler.importXML(xml);
23
+ } catch (err) {
24
+ console.error(err);
25
+ }
26
+ },
27
+ /**
28
+ * 通过Json设置颜色
29
+ * @param {object} json json 字符串
30
+ */
31
+ setColor(json, bpmnModeler) {
32
+ var modeling = bpmnModeler.get('modeling');
33
+ var elementRegistry = bpmnModeler.get('elementRegistry')
34
+ var elementToColor = elementRegistry.get(json.name);
35
+ if (elementToColor) {
36
+ modeling.setColor([elementToColor], {
37
+ stroke: json.stroke,
38
+ fill: json.fill
39
+ });
40
+ }
41
+ },
42
+
43
+
44
+ async createNewDiagram(bpmnModeler, processDefinitionId) {
45
+ const {$Message} = this;
46
+ let bpmnXmlStr = '<?xml version="1.0" encoding="UTF-8"?>\n' +
47
+ '<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:normal="http://flowable.org/bpmn/normal" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="diagram" targetNamespace="http://bpmn.io/schema/bpmn">\n' +
48
+ ' <bpmn2:process id="Process_1" isExecutable="true">\n' +
49
+ ' <bpmn2:startEvent id="StartEvent_1"/>\n' +
50
+ ' </bpmn2:process>\n' +
51
+ ' <bpmndi:BPMNDiagram id="BPMNDiagram_1">\n' +
52
+ ' <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">\n' +
53
+ ' <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">\n' +
54
+ ' <dc:Bounds height="36.0" width="36.0" x="412.0" y="240.0"/>\n' +
55
+ ' </bpmndi:BPMNShape>\n' +
56
+ ' </bpmndi:BPMNPlane>\n' +
57
+ ' </bpmndi:BPMNDiagram>\n' +
58
+ '</bpmn2:definitions>'
59
+ if (processDefinitionId) {
60
+ await ajax.get(config.upmsServerContext + '/manage/workflow/getProcessXml?processDefinitionId=' + processDefinitionId).then(function ({data}) {
61
+ if (data.code === 1) {
62
+ bpmnXmlStr = data.data;
63
+ } else {
64
+ $Message.error("加载流程xml失败," + data.message);
65
+ }
66
+ // 将字符串转换成图显示出来
67
+ bpmnModeler.importXML(bpmnXmlStr, function (err) {
68
+ if (err) {
69
+ console.error(err)
70
+ }
71
+ })
72
+ })
73
+ } else {
74
+ // 将字符串转换成图显示出来
75
+ bpmnModeler.importXML(bpmnXmlStr, function (err) {
76
+ if (err) {
77
+ console.error(err)
78
+ }
79
+ })
80
+ }
81
+ },
82
+ // 下载为SVG格式,done是个函数,调用的时候传入的
83
+ saveSVG(bpmnModeler, done) {
84
+ // 把传入的done再传给bpmn原型的saveSVG函数调用
85
+ this.bpmnModeler.saveSVG(done)
86
+ },
87
+ // 下载为SVG格式,done是个函数,调用的时候传入的
88
+ saveDiagram(bpmnModeler, done) {
89
+ // 把传入的done再传给bpmn原型的saveXML函数调用
90
+ this.bpmnModeler.saveXML({format: true}, function (err, xml) {
91
+ done(err, xml)
92
+ })
93
+ },
94
+ // 下载为SVG格式,done是个函数,调用的时候传入的
95
+ deployBpm(bpmnModeler, xmlStr) {
96
+ const {$Message, $Spin} = this
97
+ const elementRegistry = bpmnModeler.get('elementRegistry');
98
+ const processNode = elementRegistry.filter(
99
+ (item) => {
100
+ return item.type === 'bpmn:Process'
101
+ }
102
+ )[0];
103
+ const processId = processNode.id;
104
+ const processName = processNode.businessObject.name;
105
+ if (!processId) {
106
+ $Message.error("流程编号不能为空")
107
+ return
108
+ }
109
+ if (!processName) {
110
+ $Message.error("流程名称不能为空")
111
+ return
112
+ }
113
+ $Spin.show();
114
+ ajax.post(config.upmsServerContext + '/manage/workflow/deployString', {
115
+ bpmnXml: xmlStr,
116
+ processId: processId,
117
+ processName: processName
118
+ }).then(function ({data}) {
119
+ $Spin.hide();
120
+ if (data.code === 1) {
121
+ $Message.success("流程部署成功")
122
+ } else {
123
+ $Message.error(data.data)
124
+ }
125
+ })
126
+
127
+ // 把传入的done再传给bpmn原型的saveSVG函数调用
128
+ // this.bpmnModeler.saveSVG(done)
129
+ },
130
+ // 当图发生改变的时候会调用这个函数,这个data就是图的xml
131
+ // setEncoded(link, name, data) {
132
+ // // 把xml转换为URI,下载要用到的
133
+ // const encodedData = encodeURIComponent(data)
134
+ // // 获取到图的xml,保存就是把这个xml提交给后台
135
+ // this.xmlStr = data
136
+ // // 下载图的具体操作,改变a的属性,className令a标签可点击,href令能下载,download是下载的文件的名字
137
+ // if (data) {
138
+ // link.className = 'active'
139
+ // link.href = 'data:application/bpmn20-xml;charset=UTF-8,' + encodedData
140
+ // link.download = name
141
+ // }
142
+ // },
143
+
144
+ /**
145
+ * 下载bpmn
146
+ * @param {object} bpmnModeler bpmn对象
147
+ */
148
+ downLoad(bpmnModeler) {
149
+ var downloadLink = $("#downloadBpmn")
150
+ bpmnModeler.saveXML({format: true}, function (err, xml) {
151
+ if (err) {
152
+ return console.error('could not save BPMN 2.0 diagram', err);
153
+ }
154
+ tools.setEncoded(downloadLink, 'diagram.bpmn', err ? null : xml);
155
+ });
156
+ },
157
+ /**
158
+ * 转码xml并下载
159
+ * @param {object} link 按钮
160
+ * @param {string} name 下载名称
161
+ * @param {string} data base64XML
162
+ */
163
+ setEncoded(link, name, data) {
164
+ var encodedData = encodeURIComponent(data);
165
+ if (data) {
166
+ link.addClass('active').attr({
167
+ 'href': 'data:application/bpmn20-xml;charset=UTF-8,' + encodedData,
168
+ 'download': name
169
+ });
170
+ } else {
171
+ link.removeClass('active');
172
+ }
173
+ },
174
+ /**
175
+ * 上传bpmn
176
+ * @param {object} bpmnModeler bpmn对象
177
+ * @param {object} container 容器对象
178
+ */
179
+ upload(bpmnModeler, container) {
180
+
181
+ },
182
+
183
+
184
+ /**
185
+ * 根据数据设置颜色
186
+ * @param data
187
+ * @returns {Array}
188
+ */
189
+ getByColor(data) {
190
+
191
+ var ColorJson = []
192
+ for (var k in data['doneLightSet']) {
193
+ var par = {
194
+ "name": data['doneLightSet'][k],
195
+ "stroke": "green",
196
+ "fill": "green"
197
+ }
198
+ ColorJson.push(par)
199
+ }
200
+ for (var k in data['donePointSet']) {
201
+ var par = {
202
+ "name": data['donePointSet'][k],
203
+ "stroke": "gray",
204
+ "fill": "#53d63a"
205
+
206
+ }
207
+ ColorJson.push(par)
208
+ }
209
+ for (var k in data['doneTaskSet']) {
210
+ var par = {
211
+ "name": data['doneTaskSet'][k],
212
+ "stroke": "green",
213
+ "fill": "#53d63a"
214
+ }
215
+ ColorJson.push(par)
216
+ }
217
+ for (var k in data['todoPointSet']) {
218
+ var par = {
219
+ "name": data['todoPointSet'][k],
220
+ "stroke": "green",
221
+ "fill": "#d6541c"
222
+ }
223
+ ColorJson.push(par)
224
+ }
225
+ return ColorJson
226
+ }
227
+ }
package/utils/n/api.js CHANGED
@@ -1,22 +1,22 @@
1
- import { axiosN } from './reuqest/axiosN'
2
- import config from '../../config/config'
3
-
4
- const CONTEXT = `${config.immServerContext}/manage/pub/dateperiod`
5
-
6
- export function getWeeksByMonthAPI(params) {
7
- return axiosN.get(`${CONTEXT}/getWeekByMonth`, { params })
8
- }
9
-
10
- /**
11
- * 获取文档中心预览URL
12
- *
13
- * @param fileId 文件Id
14
- * @returns 文件内容
15
- */
16
- export function getPreviewUrlApi(fileId) {
17
- const axiosConfig = {}
18
- return axiosN.get(
19
- `${location.protocol}//${location.host}${config.ucExtServerContext}/api/wps/getPreviewUrl/${fileId}?previewMode=high_definition`,
20
- axiosConfig,
21
- )
22
- }
1
+ import { axiosN } from './reuqest/axiosN'
2
+ import config from '../../config/config'
3
+
4
+ const CONTEXT = `${config.immServerContext}/manage/pub/dateperiod`
5
+
6
+ export function getWeeksByMonthAPI(params) {
7
+ return axiosN.get(`${CONTEXT}/getWeekByMonth`, { params })
8
+ }
9
+
10
+ /**
11
+ * 获取文档中心预览URL
12
+ *
13
+ * @param fileId 文件Id
14
+ * @returns 文件内容
15
+ */
16
+ export function getPreviewUrlApi(fileId) {
17
+ const axiosConfig = {}
18
+ return axiosN.get(
19
+ `${location.protocol}//${location.host}${config.ucExtServerContext}/api/wps/getPreviewUrl/${fileId}?previewMode=high_definition`,
20
+ axiosConfig,
21
+ )
22
+ }