cloud-web-corejs 1.0.54-dev.57 → 1.0.54-dev.571

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 (471) hide show
  1. package/package.json +21 -13
  2. package/src/App.vue +30 -34
  3. package/src/api/user.js +16 -0
  4. package/src/components/Qrcode/fileParse.vue +0 -1
  5. package/src/components/Tinymce/index.vue +112 -71
  6. package/src/components/VabUpload/image-viewer.vue +2 -2
  7. package/src/components/VabUpload/index.js +49 -1
  8. package/src/components/VabUpload/mixins.js +1822 -2
  9. package/src/components/VabUpload/propertiesDialog.vue +1 -1
  10. package/src/components/VabUpload/view.vue +209 -120
  11. package/src/components/advancedSearchDialog/mixins.js +28 -1
  12. package/src/components/base-textarea/index.vue +104 -0
  13. package/src/components/baseAlert/index.js +44 -1
  14. package/src/components/baseAlert/index.vue +23 -19
  15. package/src/components/baseAlert/mixins.js +61 -1
  16. package/src/components/baseAttachment/index.vue +49 -40
  17. package/src/components/baseAttachment/install.js +21 -5
  18. package/src/components/baseAttachment/mixins.js +310 -1
  19. package/src/components/baseInputBatch/mixins.js +58 -1
  20. package/src/components/baseInputExport/index.vue +19 -12
  21. package/src/components/baseInputExport/mixins.js +391 -1
  22. package/src/components/baseTabs/mixins.js +166 -1
  23. package/src/components/cnPrint/index.js +44 -1
  24. package/src/components/cnPrint/mixins.js +189 -1
  25. package/src/components/code-editor/index.vue +102 -63
  26. package/src/components/confirmDialog/index.js +41 -1
  27. package/src/components/confirmDialog/index.vue +24 -17
  28. package/src/components/confirmDialog/mixins.js +31 -1
  29. package/src/components/errorMsg/index.js +44 -1
  30. package/src/components/errorMsg/index.vue +78 -70
  31. package/src/components/errorMsg/mixins.js +101 -5
  32. package/src/components/excelExport/button.vue +57 -4
  33. package/src/components/excelExport/exportFieldDialog.vue +215 -81
  34. package/src/components/excelExport/index.js +6 -6
  35. package/src/components/excelExport/index.vue +56 -2
  36. package/src/components/excelExport/mixins.js +3 -2
  37. package/src/components/excelImport/index.js +13 -13
  38. package/src/components/excelImport/mixins.js +2 -1
  39. package/src/components/fileLibrary/fileObjAuthDialog.vue +179 -89
  40. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -0
  41. package/src/components/fileLibrary/filterDialog.vue +454 -0
  42. package/src/components/fileLibrary/index.vue +605 -262
  43. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  44. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  45. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  46. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +339 -211
  47. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +31 -27
  48. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +4 -4
  49. package/src/components/fileLibrary/mixins/indexMixins.js +220 -101
  50. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +64 -4
  51. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +3 -3
  52. package/src/components/fileLibrary/propertiesDialog.vue +113 -74
  53. package/src/components/fileLibrary/shareDialog.vue +1 -1
  54. package/src/components/formOplog/mixins.js +77 -1
  55. package/src/components/hiprint/css/bootstrap.min.css +6 -0
  56. package/src/components/hiprint/fonts/glyphicons-halflings-regular.eot +0 -0
  57. package/src/components/hiprint/fonts/glyphicons-halflings-regular.svg +288 -0
  58. package/src/components/hiprint/fonts/glyphicons-halflings-regular.ttf +0 -0
  59. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff +0 -0
  60. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff2 +0 -0
  61. package/src/components/hiprint/hiprint.bundle.js +7 -2
  62. package/src/components/hiprint/view/design/index.vue +140 -47
  63. package/src/components/hiprint/view/design/mixins.js +611 -1
  64. package/src/components/hiprint/view/design/preview.vue +75 -52
  65. package/src/components/hiprint/view/json-view.vue +31 -31
  66. package/src/components/jdPrint/index.js +44 -1
  67. package/src/components/jdPrint/mixins.js +208 -1
  68. package/src/components/jsonImport/index.js +187 -17
  69. package/src/components/jsonImport/mixins.js +333 -1
  70. package/src/components/langImport/index.js +80 -1
  71. package/src/components/langImport/mixins.js +500 -16
  72. package/src/components/langTag/mixins/addButton.js +51 -5
  73. package/src/components/langTag/mixins/deleteButton.js +55 -5
  74. package/src/components/langTag/mixins/view.js +47 -5
  75. package/src/components/luckysheet/dialog.vue +159 -0
  76. package/src/components/luckysheet/export.js +595 -0
  77. package/src/components/luckysheet/fileUtils.js +147 -0
  78. package/src/components/luckysheet/index.js +72 -0
  79. package/src/components/luckysheet/templateJson.js +12078 -0
  80. package/src/components/luckysheet/view.vue +210 -0
  81. package/src/components/obsUpload/index.js +34 -0
  82. package/src/components/obsUpload/index.vue +231 -0
  83. package/src/components/obsUpload/mixins.js +1476 -0
  84. package/src/components/onlineTalk/mixins.js +852 -1
  85. package/src/components/oplogTable/mixins.js +83 -4
  86. package/src/components/pddPrint/index.js +44 -1
  87. package/src/components/pddPrint/mixins.js +252 -1
  88. package/src/components/projectTag/mixins/addButton.js +52 -1
  89. package/src/components/projectTag/mixins/deleteButton.js +52 -1
  90. package/src/components/projectTag/mixins/view.js +43 -1
  91. package/src/components/scriptDescription/button.vue +12 -4
  92. package/src/components/scriptDescription/mixins.js +30 -1
  93. package/src/components/scriptTest/mixins.js +90 -1
  94. package/src/components/statusTag/mixins.js +66 -1
  95. package/src/components/table/CellSlot.vue +1 -0
  96. package/src/components/table/config.js +1 -1
  97. package/src/components/table/index.js +12 -11
  98. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.es6.min.js +11028 -0
  99. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.min.css +200 -0
  100. package/src/components/table/tableForm.vue +99 -63
  101. package/src/components/table/tableFormMixin.js +1 -1
  102. package/src/components/table/util/index.js +335 -0
  103. package/src/components/table/vxeFilter/index.js +1 -1
  104. package/src/components/table/vxeFilter/mixin.js +6 -6
  105. package/src/components/tempStorage/index.vue +76 -55
  106. package/src/components/tempStorage/tempStorageDialog.vue +179 -54
  107. package/src/components/vb-tabs/x-tabs.vue +56 -30
  108. package/src/components/vipPrint/index.js +44 -1
  109. package/src/components/vipPrint/mixins.js +268 -1
  110. package/src/components/wf/addOpinionButton.vue +57 -0
  111. package/src/components/wf/content.vue +834 -362
  112. package/src/components/wf/mixins/addOpinionButton.js +53 -0
  113. package/src/components/wf/mixins/setCandidateButton.js +161 -0
  114. package/src/components/wf/mixins/setCandidateDialog.js +213 -1
  115. package/src/components/wf/mixins/setCandidateDialog2.js +252 -0
  116. package/src/components/wf/mixins/wfFlowEleScriptDialog.js +131 -0
  117. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +69 -0
  118. package/src/components/wf/setCandidateButton.vue +40 -0
  119. package/src/components/wf/setCandidateDialog.vue +10 -0
  120. package/src/components/wf/setCandidateDialog2.vue +105 -0
  121. package/src/components/wf/wf.js +2156 -1
  122. package/src/components/wf/wfFlowEleScriptDialog.vue +89 -0
  123. package/src/components/wf/wfStartDialog.vue +66 -42
  124. package/src/components/wf/wfTaskUserRangeDialog.vue +65 -0
  125. package/src/components/wf/wfUtil.js +279 -1
  126. package/src/components/xform/form-designer/designer.js +5 -3
  127. package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +434 -0
  128. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +1 -1
  129. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +9 -8
  130. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -1
  131. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +3 -3
  132. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog copy.vue +971 -0
  133. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue +971 -0
  134. package/src/components/xform/form-designer/form-widget/dialog/exportDialog.vue +13 -0
  135. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +301 -0
  136. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +82 -49
  137. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +5 -1
  138. package/src/components/xform/form-designer/form-widget/dialog/formulaDialog.vue +799 -0
  139. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +38 -7
  140. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +9 -903
  141. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +196 -73
  142. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +2 -2
  143. package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
  144. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +32 -4
  145. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  146. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +19 -1
  147. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +40 -28
  148. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +18 -7
  149. package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +4 -1
  150. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +95 -0
  151. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +14 -2
  152. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +30 -4
  153. package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +133 -0
  154. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  155. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  156. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +25 -997
  157. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +705 -379
  158. package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +964 -0
  159. package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +6 -2
  160. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +22 -11
  161. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +90 -0
  162. package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +7 -2
  163. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +40 -10
  164. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +58 -91
  165. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +8 -1
  166. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +179 -0
  167. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  168. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +114 -81
  169. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +186 -0
  170. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +55 -28
  171. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +119 -0
  172. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +154 -47
  173. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +26 -6
  174. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +2 -2
  175. package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +86 -0
  176. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +92 -0
  177. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +24 -9
  178. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  179. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -0
  180. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +12 -1
  181. package/src/components/xform/form-designer/form-widget/field-widget/static-text-widget.vue +8 -3
  182. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +31 -17
  183. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +38 -37
  184. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +99 -0
  185. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +147 -0
  186. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +106 -33
  187. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  188. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +3 -171
  189. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +191 -66
  190. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +753 -0
  191. package/src/components/xform/form-designer/form-widget/indexMixin.js +1 -1
  192. package/src/components/xform/form-designer/indexMixin.js +3 -772
  193. package/src/components/xform/form-designer/refMixinDesign.js +1 -28
  194. package/src/components/xform/form-designer/setting-panel/form-setting.vue +978 -169
  195. package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
  196. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  197. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +537 -302
  198. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +4 -4
  199. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +3 -3
  200. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  201. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  202. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +28 -0
  203. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  204. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +125 -0
  205. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +953 -1042
  206. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +432 -0
  207. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  208. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +1127 -520
  209. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  210. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-pane/detail-pane-editor.vue +3 -3
  211. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  212. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  213. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  214. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  215. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree/tree-customClass-editor.vue +31 -2
  216. package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +36 -0
  217. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +32 -0
  218. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  219. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  220. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -7
  221. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +35 -20
  222. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +64 -5
  223. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  224. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  225. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  226. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +25 -0
  227. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +5 -5
  228. package/src/components/xform/form-designer/setting-panel/property-editor/field-gantt/gantt-editor.vue +36 -0
  229. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +77 -20
  230. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -0
  231. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +44 -15
  232. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +115 -0
  233. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  234. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +23 -0
  235. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +1 -1
  236. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +67 -41
  237. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +56 -0
  238. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +71 -0
  239. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +24 -8
  240. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  241. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +33 -1
  242. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +66 -0
  243. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +89 -19
  244. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +137 -0
  245. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +721 -466
  246. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +20 -11
  247. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +1 -1
  248. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +1 -1
  249. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +1 -1
  250. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  251. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  252. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  253. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +124 -50
  254. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +31 -0
  255. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  256. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +349 -0
  257. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +10 -6
  258. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +3 -3
  259. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  260. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +42 -0
  261. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +305 -19
  262. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +2 -2
  263. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +2 -2
  264. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +372 -50
  265. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +263 -0
  266. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +35 -11
  267. package/src/components/xform/form-designer/toolbar-panel/index.vue +12 -11
  268. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  269. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  270. package/src/components/xform/form-designer/widget-panel/indexMixin.js +19 -18
  271. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1724 -917
  272. package/src/components/xform/form-render/container-item/containerItemMixin.js +12 -11
  273. package/src/components/xform/form-render/container-item/data-table-item.vue +206 -198
  274. package/src/components/xform/form-render/container-item/data-table-mixin.js +22 -1685
  275. package/src/components/xform/form-render/container-item/detail-pane-item.vue +17 -3
  276. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  277. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  278. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  279. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  280. package/src/components/xform/form-render/container-item/tab-item.vue +62 -25
  281. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  282. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  283. package/src/components/xform/form-render/container-item/table2-cell-item.vue +53 -34
  284. package/src/components/xform/form-render/container-item/table2-item.vue +153 -92
  285. package/src/components/xform/form-render/container-item/tree-item.vue +32 -11
  286. package/src/components/xform/form-render/dynamicDialogRender.js +1 -1
  287. package/src/components/xform/form-render/index.vue +77 -20
  288. package/src/components/xform/form-render/indexMixin.js +24 -12
  289. package/src/components/xform/form-render/refMixin.js +3 -3
  290. package/src/components/xform/lang/zh-CN.js +29 -4
  291. package/src/components/xform/mixins/defaultHandle.js +3 -2
  292. package/src/components/xform/mixins/scriptHttp.js +3 -1
  293. package/src/components/xform/utils/emitter.js +4 -4
  294. package/src/components/xform/utils/formHttp.js +162 -0
  295. package/src/components/xform/utils/format.js +41 -34
  296. package/src/components/xform/utils/formula-util.js +966 -0
  297. package/src/components/xform/utils/util.js +5 -1
  298. package/src/components/xform/utils/validators.js +2 -5
  299. package/src/components/xform/utils/vue2js-generator.js +2 -2
  300. package/src/components/xhsPrint/index.js +44 -1
  301. package/src/components/xhsPrint/mixins.js +269 -1
  302. package/src/directive/LimitNumber/index.js +125 -1
  303. package/src/directive/el-dialog-center/index.js +34 -1
  304. package/src/directive/el-drag-dialog/drag.js +86 -1
  305. package/src/directive/el-readonly/index.js +15 -1
  306. package/src/directive/permission/hasPermi.js +34 -1
  307. package/src/index.js +215 -190
  308. package/src/lang/index.js +56 -51
  309. package/src/lang/locale/en/login.js +20 -0
  310. package/src/lang/locale/zh/login.js +20 -0
  311. package/src/layout/components/AppMain.vue +8 -1
  312. package/src/layout/components/Sidebar/default.vue +1423 -1222
  313. package/src/layout/components/TagsView/index.vue +37 -12
  314. package/src/layout/components/createCompany/createCompanyDialog.vue +157 -0
  315. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  316. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  317. package/src/layout/components/extractedCode/viewDialog.vue +193 -0
  318. package/src/layout/components/watermark/index.vue +83 -0
  319. package/src/layout/defaultLayout.vue +1 -1
  320. package/src/mixins/selectDialog/index.js +266 -1
  321. package/src/mixins/tableTree/index.js +199 -4
  322. package/src/mixins/wf/index.js +33 -1
  323. package/src/permission.js +135 -18
  324. package/src/resources/js/base/common.js +109 -109
  325. package/src/router/modules/customer.js +0 -15
  326. package/src/router/modules/system.js +4 -0
  327. package/src/store/config/index.js +667 -1
  328. package/src/store/getters.js +3 -1
  329. package/src/store/modules/permission.js +46 -41
  330. package/src/store/modules/settings.js +1 -1
  331. package/src/store/modules/tagsView.js +5 -8
  332. package/src/store/modules/user.js +10 -16
  333. package/src/utils/aes.js +2 -1
  334. package/src/utils/auth.js +1 -1
  335. package/src/utils/global.js +1 -1
  336. package/src/utils/index.js +2 -3
  337. package/src/utils/keepAlive.js +1 -1
  338. package/src/utils/pddLog.js +92 -0
  339. package/src/utils/pdfUtil.js +71 -0
  340. package/src/utils/request.js +1 -1
  341. package/src/utils/vab.js +19 -27
  342. package/src/utils/validate.js +1 -1
  343. package/src/utils/wf.js +4 -4
  344. package/src/views/bd/setting/bd_attach_setting/edit.vue +5 -5
  345. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  346. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +4 -5
  347. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +1 -1
  348. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -0
  349. package/src/views/bd/setting/bd_company_env/edit.vue +193 -0
  350. package/src/views/bd/setting/bd_company_env/list.vue +175 -0
  351. package/src/views/bd/setting/config_manage/list.vue +83 -0
  352. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  353. package/src/views/bd/setting/form_import_log/list.vue +206 -0
  354. package/src/views/bd/setting/form_script/edit.vue +9 -0
  355. package/src/views/bd/setting/form_script/edit1.vue +36 -3
  356. package/src/views/bd/setting/form_script/form_list.vue +99 -37
  357. package/src/views/bd/setting/form_script/list1.vue +181 -118
  358. package/src/views/bd/setting/form_script/mixins/dialog.js +1 -7
  359. package/src/views/bd/setting/form_script/mixins/edit.js +1 -7
  360. package/src/views/bd/setting/form_script/mixins/edit1.js +1 -9
  361. package/src/views/bd/setting/form_script/mixins/form_list.js +1 -14
  362. package/src/views/bd/setting/form_script/mixins/list.js +1 -8
  363. package/src/views/bd/setting/form_script/mixins/list1.js +1 -14
  364. package/src/views/bd/setting/form_script/mixins/list2.js +1 -5
  365. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +1 -0
  366. package/src/views/bd/setting/form_script/mixins/preformDialog.js +1 -3
  367. package/src/views/bd/setting/form_script/otherAuthDialog.vue +83 -0
  368. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +2 -2
  369. package/src/views/bd/setting/form_template/edit.vue +22 -1
  370. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  371. package/src/views/bd/setting/form_template/list.vue +326 -214
  372. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +2 -277
  373. package/src/views/bd/setting/form_template/mixins/edit.js +10 -9
  374. package/src/views/bd/setting/form_template/mixins/list.js +25 -22
  375. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +7 -0
  376. package/src/views/bd/setting/form_template/mixins/wf_list.js +1 -423
  377. package/src/views/bd/setting/form_template/otherAuthDialog.vue +83 -0
  378. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +4 -4
  379. package/src/views/bd/setting/form_template/wf_list.vue +1 -1
  380. package/src/views/bd/setting/logic_param/edit.vue +146 -0
  381. package/src/views/bd/setting/logic_param/edit1.vue +106 -0
  382. package/src/views/bd/setting/logic_param/edit2.vue +139 -0
  383. package/src/views/bd/setting/logic_param/list.vue +74 -0
  384. package/src/views/bd/setting/logic_param/list1.vue +12 -0
  385. package/src/views/bd/setting/logic_param/list2.vue +12 -0
  386. package/src/views/bd/setting/logic_param/mixins/edit.js +3 -0
  387. package/src/views/bd/setting/logic_param/mixins/list.js +9 -0
  388. package/src/views/bd/setting/menu_kind/list.vue +172 -83
  389. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +7 -7
  390. package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
  391. package/src/views/bd/setting/push_data/edit.vue +139 -0
  392. package/src/views/bd/setting/push_data/list.vue +283 -0
  393. package/src/views/bd/setting/push_data_h/edit.vue +153 -0
  394. package/src/views/bd/setting/push_data_h/list.vue +293 -0
  395. package/src/views/bd/setting/request_async_setting/edit.vue +320 -0
  396. package/src/views/bd/setting/request_async_setting/list.vue +372 -0
  397. package/src/views/bd/setting/request_setting/edit.vue +300 -0
  398. package/src/views/bd/setting/request_setting/list.vue +311 -0
  399. package/src/views/bd/setting/table_model/edit.vue +875 -426
  400. package/src/views/bd/setting/table_model/list.vue +190 -128
  401. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  402. package/src/views/bd/setting/table_model/mixins/edit copy.js +903 -0
  403. package/src/views/bd/setting/table_model/mixins/edit.js +14 -13
  404. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  405. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +7 -0
  406. package/src/views/bd/setting/table_model/otherAuthDialog.vue +83 -0
  407. package/src/views/user/access_log/list.vue +418 -349
  408. package/src/views/user/area/dialog.vue +223 -117
  409. package/src/views/user/area/list.vue +318 -0
  410. package/src/views/user/bill_setting/edit.vue +1 -1
  411. package/src/views/user/bill_setting/list.vue +1 -1
  412. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  413. package/src/views/user/common_attribute/list.vue +5 -2
  414. package/src/views/user/common_script/edit.vue +1 -1
  415. package/src/views/user/common_script/list.vue +1 -1
  416. package/src/views/user/company_info/dialog.vue +195 -163
  417. package/src/views/user/company_info/edit.vue +1 -1
  418. package/src/views/user/extend_datasource/dialog.vue +4 -0
  419. package/src/views/user/extend_datasource/edit.vue +5 -1
  420. package/src/views/user/extend_datasource/list.vue +5 -1
  421. package/src/views/user/fieldTranslation/editDialog.vue +7 -7
  422. package/src/views/user/fieldTranslation/list.vue +32 -32
  423. package/src/views/user/form/vform/designer.vue +776 -749
  424. package/src/views/user/form/vform/out_render.vue +1 -1
  425. package/src/views/user/form/vform/render.vue +59 -37
  426. package/src/views/user/form/view/edit.vue +38 -37
  427. package/src/views/user/form/view/list.vue +261 -49
  428. package/src/views/user/home/default.vue +1026 -979
  429. package/src/views/user/home/dev.vue +29 -0
  430. package/src/views/user/home/index.vue +16 -6
  431. package/src/views/user/login/default.vue +165 -36
  432. package/src/views/user/login/index.vue +4 -6
  433. package/src/views/user/login/indexMixin.js +186 -9
  434. package/src/views/user/menu/list.vue +24 -1
  435. package/src/views/user/notify_message/dialog.vue +44 -22
  436. package/src/views/user/notify_template/edit.vue +188 -187
  437. package/src/views/user/notify_template/edit2.vue +176 -0
  438. package/src/views/user/notify_template/list.vue +4 -1
  439. package/src/views/user/notify_template/list2.vue +190 -0
  440. package/src/views/user/outLink/form_view.vue +211 -211
  441. package/src/views/user/outLink/index.vue +67 -11
  442. package/src/views/user/position/list.vue +4 -4
  443. package/src/views/user/project_tag/dialog.vue +9 -4
  444. package/src/views/user/project_tag/edit.vue +2 -2
  445. package/src/views/user/project_tag/list.vue +9 -4
  446. package/src/views/user/push_setting/list.vue +2 -2
  447. package/src/views/user/request_setting/edit.vue +258 -0
  448. package/src/views/user/request_setting/list.vue +248 -0
  449. package/src/views/user/role/authConfig.vue +89 -0
  450. package/src/views/user/role/dialog.vue +70 -48
  451. package/src/views/user/role/edit.vue +609 -429
  452. package/src/views/user/role/list.vue +4 -4
  453. package/src/views/user/sale_org/dialog.vue +1 -1
  454. package/src/views/user/sale_org/list.vue +4 -1
  455. package/src/views/user/user/dialog.vue +46 -23
  456. package/src/views/user/user/edit.vue +1290 -1021
  457. package/src/views/user/user/form_dialog.vue +158 -0
  458. package/src/views/user/user/form_info.vue +210 -0
  459. package/src/views/user/user/list.vue +652 -563
  460. package/src/views/user/user/modifyPasswordDialog.vue +64 -53
  461. package/src/views/user/wf/wfReport/index.vue +619 -0
  462. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -0
  463. package/src/views/user/wf/wf_manage/list.vue +379 -250
  464. package/src/views/user/wf/wf_manage/wfContentDialog.vue +25 -22
  465. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  466. package/src/views/user/wf/wf_obj_config/itemEdit.vue +25 -1
  467. package/src/views/user/wf/wf_obj_config/list.vue +114 -9
  468. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
  469. package/src/views/user/wf/wf_transfer_setting/edit.vue +282 -0
  470. package/src/views/user/wf/wf_transfer_setting/list.vue +319 -0
  471. package/src/utils/renderUtils.js +0 -76
@@ -14,186 +14,18 @@
14
14
  @change="changeShowValue2"
15
15
  >
16
16
  <i slot="suffix" class="el-input__icon el-icon-search" @click="emitAppendButtonClick"></i>
17
- <span v-show="false">{{ showValue }}</span>
17
+ <span v-show="false">{{ showValue2 }}</span>
18
18
  </el-input>
19
19
  </form-item-wrapper>
20
20
  </template>
21
21
 
22
22
  <script>
23
- import FormItemWrapper from './form-item-wrapper'
24
- import emitter from '../../../../../components/xform/utils/emitter'
25
- import i18n from "../../../../../components/xform/utils/i18n";
26
- import {deepClone} from "../../../../../components/xform/utils/util";
27
- import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
23
+ import mixins from "@base/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin";
28
24
 
29
25
  export default {
30
26
  name: "vabsearch-widget",
31
27
  componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
32
- mixins: [emitter, fieldMixin, i18n],
33
- props: {
34
- field: Object,
35
- parentWidget: Object,
36
- parentList: Array,
37
- indexOfParentList: Number,
38
- designer: Object,
39
-
40
- designState: {
41
- type: Boolean,
42
- default: false
43
- },
44
- columnConfig: {
45
- type: Object,
46
- default: null
47
- },
48
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
49
- type: Number,
50
- default: -1
51
- },
52
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
53
- type: Number,
54
- default: -1
55
- },
56
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
57
- type: String,
58
- default: ''
59
- }
60
- },
61
- components: {
62
- FormItemWrapper
63
- },
64
- data() {
65
- let multipleChoices = this.field.options.multipleChoices || false;
66
- let defaultValue = !multipleChoices ? null : [];
67
- return {
68
- oldFieldValue: defaultValue, //field组件change之前的值
69
- fieldModel: defaultValue,
70
- showValue2: null,
71
- rules: [],
72
- showSearchialog: false,
73
- dialogContent: null,
74
- showSysSearchialog: false,
75
- systemDialogParam: {},
76
- showVformDialog: false,
77
- code: null,
78
- formDialogOption: {}
79
- }
80
- },
81
- watch: {
82
- fieldModel(val) {
83
- this.handleChangeEvent(val);
84
- },
85
- showValue(val) {
86
- this.setShowValue(val);
87
- }
88
- },
89
- computed: {
90
- showValue() {
91
- let currentData = this.currentData;
92
- let fieldKeyName = this.fieldKeyName;
93
- let vabSearchName = this.field.options.vabSearchName;
94
- let multipleChoices = this.field.options.multipleChoices || false;
95
- let labelField = this.field.options.vabSearchName || fieldKeyName;
96
- let value = null;
97
- if (!multipleChoices) {
98
- value = currentData[labelField] ?? null;
99
- } else {
100
- if (this.fieldModel) {
101
- value = this.fieldModel.map(item => item[labelField]).join(",");
102
- }
103
- }
104
- this.showValue2 = value;
105
- return value
106
- },
107
- tableRow() {
108
- let tableParam = this.tableParam;
109
- return tableParam && tableParam.row ? tableParam.row : null;
110
- },
111
- currentData() {
112
- let tableParam = this.tableParam;
113
- return tableParam && tableParam.row ? tableParam.row : this.formModel;
114
- }
115
- },
116
- beforeCreate() {
117
- /* 这里不能访问方法和属性!! */
118
- },
119
-
120
- created() {
121
- /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
122
- 需要在父组件created中初始化!! */
123
- if (this.field.options.readonly == undefined) {
124
- this.$set(this.field.options, "readonly", true);
125
- }
126
- this.initFieldModel()
127
- this.registerToRefList()
128
- this.initEventHandler()
129
- this.buildFieldRules()
130
-
131
- this.handleOnCreated()
132
- // this.initValue();
133
- },
134
-
135
- mounted() {
136
- this.handleOnMounted()
137
-
138
- },
139
-
140
- beforeDestroy() {
141
- this.unregisterFromRefList()
142
- },
143
- methods: {
144
- setShowValue(val = null) {
145
- let multipleChoices = this.field.options.multipleChoices || false;
146
- if (!multipleChoices) {
147
- let fieldKeyName = this.fieldKeyName;
148
- let labelField = this.field.options.vabSearchName || fieldKeyName;
149
- // this.$set(this.currentData, labelField, val)
150
-
151
- this.currentData[labelField] = val
152
- this.showValue2 = val;
153
- }
154
- },
155
- setValue: function (e) {
156
- if (this.field.formItemFlag) {
157
- let data = this.tableRow || this.formModel;
158
- var t = deepClone(this.fieldModel);
159
- this.fieldModel = e,
160
- this.initFileList(),
161
- this.syncUpdateFormModel(e),
162
- this.emitFieldDataChange(e, t);
163
- }
164
- },
165
- clearHandle() {
166
- let multipleChoices = this.field.options.multipleChoices || false;
167
- let defaultValue = !multipleChoices ? null : [];
168
- this.setShowValue(null)
169
- this.setValue(defaultValue)
170
- if (this.field.options.onSearchClear) {
171
- let tableParam = this.tableParam;
172
- let eventParamNames = [];
173
- let eventParamValues = [];
174
- if (tableParam) {
175
- eventParamNames = ['rowData', 'rowIndex'];
176
- eventParamValues = [tableParam.row, tableParam.rowIndex];
177
- }
178
- this.handleCustomEvent(this.field.options.onSearchClear, eventParamNames, eventParamValues)
179
-
180
- /* var e = new Function(this.field.options.onSearchClear);
181
- e.call(this);*/
182
- }
183
- this.handleClearSearchDialog();
184
- },
185
- changeShowValue2(val) {
186
- if (this.field.options.readonly === false) {
187
- let multipleChoices = this.field.options.multipleChoices || false;
188
- if (!multipleChoices) {
189
- let fieldKeyName = this.fieldKeyName;
190
- let vabSearchName = this.field.options.vabSearchName;
191
- let labelField = this.field.options.vabSearchName || fieldKeyName;
192
- this.currentData[labelField] = val;
193
- }
194
- }
195
- }
196
- }
28
+ mixins: [mixins],
197
29
  }
198
30
  </script>
199
31
 
@@ -1,35 +1,58 @@
1
1
  <template>
2
- <form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
3
- :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
- :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
- :sub-form-row-id="subFormRowId">
2
+ <form-item-wrapper
3
+ :designer="designer"
4
+ :field="field"
5
+ :rules="rules"
6
+ :design-state="designState"
7
+ :parent-widget="parentWidget"
8
+ :parent-list="parentList"
9
+ :index-of-parent-list="indexOfParentList"
10
+ :sub-form-row-index="subFormRowIndex"
11
+ :sub-form-col-index="subFormColIndex"
12
+ :sub-form-row-id="subFormRowId"
13
+ >
6
14
  <div id="uploadImage" class="upload-img" v-if="designState">
7
- <div class="el-upload el-upload--picture" style="vertical-align: middle;display: inline-block;float:left">
8
- <button type="button" class=" avatar-uploader">
15
+ <div
16
+ class="el-upload el-upload--picture"
17
+ style="vertical-align: middle; display: inline-block; float: left"
18
+ >
19
+ <button type="button" class="avatar-uploader">
9
20
  <i class="el-icon-plus avatar-uploader-icon"></i>
10
21
  </button>
11
22
  </div>
12
23
  </div>
13
- <baseUpload accept="file" :file.sync="fieldModel" :hidePasteArea.sync="isH5"
14
- :uploadDialogCustomClass="isH5?'dialog-upload-h5':null" :pickPrivateProfile="false"
15
- :multi.sync="multi"
16
- :limit.sync="limit"
17
- resultType="Array"
18
- :edit="!field.options.disabled"
19
- @callback="submitFile"
20
- v-else></baseUpload>
24
+ <baseUpload
25
+ accept="file"
26
+ :file.sync="fieldModel"
27
+ :hidePasteArea.sync="isH5"
28
+ :uploadDialogCustomClass="isH5 ? 'dialog-upload-h5' : null"
29
+ :pickPrivateProfile="false"
30
+ :multi="field.options.limit !== 1"
31
+ :limit="field.options.limit"
32
+ resultType="Array"
33
+ :edit="!field.options.disabled"
34
+ :remove="!field.options.hideRemoveButton"
35
+ @callback="submitFile"
36
+ :hideInfo="field.options.hideFileInfo"
37
+ :hideName="field.options.hideFileName"
38
+ :showSize="!!field.options.showFileSize"
39
+ :createBy="!!field.options.showFileCreateBy"
40
+ :createDate="!!field.options.showFileCreateDate"
41
+ :widgetSize="field.options.fileShowImageSize"
42
+ v-else
43
+ ></baseUpload>
21
44
  </form-item-wrapper>
22
45
  </template>
23
46
 
24
47
  <script>
25
- import FormItemWrapper from './form-item-wrapper'
26
- import emitter from '../../../../../components/xform/utils/emitter'
48
+ import FormItemWrapper from "./form-item-wrapper";
49
+ import emitter from "../../../../../components/xform/utils/emitter";
27
50
  import i18n from "../../../../../components/xform/utils/i18n";
28
51
  import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
29
52
 
30
53
  export default {
31
54
  name: "vabUpload-widget",
32
- componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
55
+ componentName: "FieldWidget", //必须固定为FieldWidget,用于接收父级组件的broadcast事件
33
56
  mixins: [emitter, fieldMixin, i18n],
34
57
  props: {
35
58
  field: Object,
@@ -40,50 +63,44 @@ export default {
40
63
 
41
64
  designState: {
42
65
  type: Boolean,
43
- default: false
66
+ default: false,
44
67
  },
45
68
 
46
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
47
- type: Number,
48
- default: -1
69
+ subFormRowIndex: {
70
+ /* 子表单组件行索引,从0开始计数 */ type: Number,
71
+ default: -1,
49
72
  },
50
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
51
- type: Number,
52
- default: -1
73
+ subFormColIndex: {
74
+ /* 子表单组件列索引,从0开始计数 */ type: Number,
75
+ default: -1,
76
+ },
77
+ subFormRowId: {
78
+ /* 子表单组件行Id,唯一id且不可变 */ type: String,
79
+ default: "",
53
80
  },
54
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
55
- type: String,
56
- default: ''
57
- }
58
81
  },
59
82
  components: {
60
83
  FormItemWrapper,
61
84
  },
62
- inject: ['refList', 'globalOptionData', 'globalModel', 'getFormConfig'],
85
+ inject: ["refList", "globalOptionData", "globalModel", "getFormConfig"],
63
86
  data() {
64
87
  return {
65
88
  oldFieldValue: [], //field组件change之前的值
66
89
  fieldModel: [],
67
90
  rules: [],
68
- isH5: false
69
- }
91
+ isH5: false,
92
+ };
70
93
  },
71
94
  watch: {
72
95
  fieldModel(val) {
73
96
  this.handleChangeEvent(val);
74
- }
97
+ },
75
98
  },
76
99
  computed: {
77
100
  formDataId() {
78
101
  let formRef = this.getFormRef();
79
102
  return formRef.dataId;
80
103
  },
81
- limit() {
82
- return this.field.options.limit ? this.field.options.limit : null;
83
- },
84
- multi() {
85
- return this.limit !== 1;
86
- }
87
104
  },
88
105
  beforeCreate() {
89
106
  /* 这里不能访问方法和属性!! */
@@ -93,26 +110,26 @@ export default {
93
110
  /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
94
111
  需要在父组件created中初始化!! */
95
112
 
96
- this.isH5 = this.getFormConfig().layoutType === 'H5';
113
+ this.isH5 = this.getFormConfig().layoutType === "H5";
97
114
 
98
- this.initFieldModel()
99
- this.registerToRefList()
100
- this.initEventHandler()
101
- this.buildFieldRules()
115
+ this.initFieldModel();
116
+ this.registerToRefList();
117
+ this.initEventHandler();
118
+ this.buildFieldRules();
102
119
 
103
- this.handleOnCreated()
120
+ this.handleOnCreated();
104
121
  },
105
122
 
106
123
  mounted() {
107
- this.handleOnMounted()
124
+ this.handleOnMounted();
108
125
  },
109
126
 
110
127
  beforeDestroy() {
111
- this.unregisterFromRefList()
128
+ this.unregisterFromRefList();
112
129
  },
113
130
  methods: {
114
131
  setValue(val) {
115
- let data = val || []
132
+ let data = val || [];
116
133
  this.fieldModel = data;
117
134
  this.getFormRef().formDataModel[this.fieldKeyName] = data;
118
135
  },
@@ -122,10 +139,12 @@ export default {
122
139
  let reportTemplate = this.getFormRef().reportTemplate;
123
140
  let formCode = reportTemplate.formCode;
124
141
  let formScriptEnabled = this.field.options.formScriptEnabled || false;
125
- let scriptCode = this.field.options.formScriptCode || "getList"
142
+ let scriptCode = this.field.options.formScriptCode || "getList";
126
143
  if (!scriptCode) return;
127
144
  if (dataId) {
128
- let accessParam = this.handleCustomEvent(this.field.options.formScriptParam)
145
+ let accessParam = this.handleCustomEvent(
146
+ this.field.options.formScriptParam
147
+ );
129
148
  return this.formHttp({
130
149
  // url: "/" + reportTemplate.serviceName + "/form_ins/getList",
131
150
  scriptCode: scriptCode,
@@ -135,21 +154,125 @@ export default {
135
154
  taBm: this.fieldKeyName,
136
155
  data: {
137
156
  ...accessParam,
138
- id: dataId
139
- }
157
+ id: dataId,
158
+ },
140
159
  },
141
- callback: res => {
160
+ callback: (res) => {
142
161
  let rows = res.objx || [];
143
- this.setValue(rows)
144
- }
162
+ this.setValue(rows);
163
+ this.handleCustomEvent(
164
+ this.field.options.formScriptSuccess,
165
+ ["res"],
166
+ [res]
167
+ );
168
+ },
145
169
  });
146
170
  }
147
171
  },
148
172
  submitFile(rows, fileInfos) {
149
- this.handlLineCode(fileInfos);
150
- this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
173
+ // this.handlLineCode(fileInfos);
174
+ let eventParamNames = ["attachments", "fileInfos"];
175
+ let eventParamValues = [rows, fileInfos];
176
+ this.handleCustomEvent(
177
+ this.field.options.onAfterConfirmFile,
178
+ eventParamNames,
179
+ eventParamValues
180
+ );
151
181
  },
152
- handlLineCode(fileInfos) {
182
+ setValueByUrl(fileUrl) {
183
+ let value = [];
184
+ if (fileUrl) {
185
+ let row = this.parseFileUrl(fileUrl);
186
+ if (row) {
187
+ value.push(row);
188
+ }
189
+ }
190
+ this.setValue(value);
191
+ },
192
+ parseFileUrl(fileUrl) {
193
+ if (!fileUrl) return null;
194
+ let result = null;
195
+
196
+ // 输入校验
197
+ if (typeof fileUrl !== "string") {
198
+ throw new TypeError("输入必须是字符串格式");
199
+ }
200
+ if (!fileUrl.trim()) {
201
+ throw new Error("URL不能为空");
202
+ }
203
+
204
+ // 基本URL格式验证
205
+ const urlRegex =
206
+ /^(https?:\/\/)?([\w.-]+)(:\d+)?(\/[^?#]*)?(\?[^#]*)?(#.*)?$/i;
207
+ if (!urlRegex.test(fileUrl)) {
208
+ throw new Error("无效的URL格式");
209
+ }
210
+
211
+ // 提取域名部分
212
+ const domainRegex = /^(https?:\/\/[^\/]+)/i;
213
+ const domainMatch = fileUrl.match(domainRegex);
214
+ if (!domainMatch) {
215
+ throw new Error("URL缺少协议或域名部分");
216
+ }
217
+ const domain = domainMatch[0];
218
+
219
+ // 提取完整路径
220
+ const url = fileUrl.substring(domain.length);
221
+ if (!url || url === "/") {
222
+ throw new Error("URL缺少文件路径部分");
223
+ }
224
+
225
+ // 提取带扩展名的文件名
226
+ const filenameRegex = /[^\/]+$/;
227
+ const filenameMatch = url.match(filenameRegex);
228
+ if (!filenameMatch) {
229
+ throw new Error("无法从路径中提取文件名");
230
+ }
231
+ const fullFilename = filenameMatch[0];
232
+
233
+ // 验证文件名格式(至少1字符+扩展名)
234
+ const nameFormat = /^.+\..+$/;
235
+ if (!nameFormat.test(fullFilename)) {
236
+ throw new Error(`无效的文件名格式: ${fullFilename}`);
237
+ }
238
+
239
+ // 修复点:更可靠的文件名和扩展名分离
240
+ const lastDotIndex = fullFilename.lastIndexOf(".");
241
+ const filenameBase = fullFilename.substring(0, lastDotIndex); // 点之前部分
242
+ const extension = fullFilename.substring(lastDotIndex + 1).toLowerCase(); // 点之后部分
243
+
244
+ // 扩展名验证
245
+ /* const validExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'];
246
+ if (!validExtensions.includes(extension)) {
247
+ throw new Error(`不支持的扩展名类型: ${extension}`);
248
+ } */
249
+
250
+ let thumbnail = null,
251
+ large = null,
252
+ medium = null,
253
+ source = null;
254
+ if (this.$commonFileUtil.isPicture(extension)) {
255
+ thumbnail = url;
256
+ large = url;
257
+ medium = url;
258
+ source = url;
259
+ }
260
+
261
+ result = {
262
+ extension,
263
+ domain,
264
+ url,
265
+ thumbnail,
266
+ large,
267
+ medium,
268
+ source,
269
+ name: fullFilename,
270
+ };
271
+
272
+ // 返回结构化对象
273
+ return result;
274
+ },
275
+ /*handlLineCode(fileInfos) {
153
276
  let allPromise = [];
154
277
  fileInfos.forEach(async fileInfo => {
155
278
  await this.processFile(fileInfo.file, (lineCode) => {
@@ -176,7 +299,7 @@ export default {
176
299
  async processImage(base64, callback) {
177
300
  try {
178
301
  // 使用 ZXing 3.x 的 API
179
- const result = await decode(base64,(result, err) => {
302
+ const result = await decode(base64, (result, err) => {
180
303
  if (err) {
181
304
  this.handleError(`条码识别失败: ${err}`);
182
305
  callback && callback(null)
@@ -205,7 +328,7 @@ export default {
205
328
  // const imageData = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
206
329
  // const source = new ZXing.ImageLuminanceSource(imageData, base64.length);
207
330
 
208
- decode(base64, (result, err) => {
331
+ decode(base64, (result, err) => {
209
332
  if (err) {
210
333
  this.handleError(`条码识别失败: ${err}`);
211
334
  callback && callback(null)
@@ -220,9 +343,9 @@ export default {
220
343
  handleError(errorMessage) {
221
344
  this.error = errorMessage;
222
345
  this.loading = false;
223
- },
224
- }
225
- }
346
+ },*/
347
+ },
348
+ };
226
349
  </script>
227
350
 
228
351
  <style lang="scss" scoped>
@@ -233,17 +356,19 @@ export default {
233
356
  }
234
357
 
235
358
  .hideUploadDiv {
236
- ::v-deep div.el-upload--picture-card { /* 隐藏最后的图片上传按钮 */
359
+ ::v-deep div.el-upload--picture-card {
360
+ /* 隐藏最后的图片上传按钮 */
237
361
  display: none;
238
362
  }
239
363
 
240
- ::v-deep div.el-upload--text { /* 隐藏最后的文件上传按钮 */
364
+ ::v-deep div.el-upload--text {
365
+ /* 隐藏最后的文件上传按钮 */
241
366
  display: none;
242
367
  }
243
368
 
244
- ::v-deep div.el-upload__tip { /* 隐藏最后的文件上传按钮提示 */
369
+ ::v-deep div.el-upload__tip {
370
+ /* 隐藏最后的文件上传按钮提示 */
245
371
  display: none;
246
372
  }
247
373
  }
248
-
249
374
  </style>