cloud-web-corejs 1.0.54-dev.34 → 1.0.54-dev.341

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 (337) hide show
  1. package/package.json +8 -3
  2. package/src/components/Qrcode/fileParse.vue +0 -1
  3. package/src/components/VabUpload/mixins.js +1490 -1
  4. package/src/components/VabUpload/propertiesDialog.vue +1 -1
  5. package/src/components/VabUpload/view.vue +135 -120
  6. package/src/components/advancedSearchDialog/mixins.js +1 -1
  7. package/src/components/baseAttachment/index.vue +49 -40
  8. package/src/components/baseAttachment/mixins.js +1 -1
  9. package/src/components/baseInputExport/mixins.js +386 -1
  10. package/src/components/errorMsg/mixins.js +94 -5
  11. package/src/components/excelExport/button.vue +57 -4
  12. package/src/components/excelExport/exportFieldDialog.vue +16 -6
  13. package/src/components/excelExport/index.js +7 -5
  14. package/src/components/excelExport/index.vue +64 -8
  15. package/src/components/excelExport/mixins.js +938 -2
  16. package/src/components/excelImport/mixins.js +750 -1
  17. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -0
  18. package/src/components/fileLibrary/filterDialog.vue +383 -0
  19. package/src/components/fileLibrary/index.vue +23 -24
  20. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  21. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  22. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  23. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +335 -212
  24. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +31 -27
  25. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +4 -4
  26. package/src/components/fileLibrary/mixins/indexMixins.js +69 -26
  27. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +63 -3
  28. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +1 -1
  29. package/src/components/fileLibrary/propertiesDialog.vue +18 -0
  30. package/src/components/fileLibrary/shareDialog.vue +1 -1
  31. package/src/components/formOplog/mixins.js +1 -1
  32. package/src/components/jsonImport/index.js +1 -1
  33. package/src/components/jsonImport/mixins.js +333 -1
  34. package/src/components/langImport/mixins.js +500 -16
  35. package/src/components/statusTag/mixins.js +1 -1
  36. package/src/components/table/CellSlot.vue +1 -0
  37. package/src/components/table/index.js +12 -10
  38. package/src/components/table/tableForm.vue +99 -63
  39. package/src/components/table/tableFormMixin.js +1 -1
  40. package/src/components/table/util/index.js +328 -0
  41. package/src/components/table/vxeFilter/mixin.js +6 -6
  42. package/src/components/tempStorage/index.vue +9 -6
  43. package/src/components/tempStorage/tempStorageDialog.vue +1 -1
  44. package/src/components/vb-tabs/x-tabs.vue +3 -2
  45. package/src/components/wf/addOpinionButton.vue +57 -0
  46. package/src/components/wf/content.vue +138 -28
  47. package/src/components/wf/mixins/addOpinionButton.js +3 -0
  48. package/src/components/wf/mixins/setCandidateButton.js +6 -0
  49. package/src/components/wf/mixins/setCandidateDialog.js +2 -1
  50. package/src/components/wf/mixins/setCandidateDialog2.js +6 -0
  51. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +3 -0
  52. package/src/components/wf/setCandidateButton.vue +40 -0
  53. package/src/components/wf/setCandidateDialog.vue +10 -0
  54. package/src/components/wf/setCandidateDialog2.vue +95 -0
  55. package/src/components/wf/wf.js +1 -1
  56. package/src/components/wf/wfStartDialog.vue +70 -42
  57. package/src/components/wf/wfTaskUserRangeDialog.vue +65 -0
  58. package/src/components/wf/wfUtil.js +1 -1
  59. package/src/components/xform/form-designer/designer.js +1649 -3
  60. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +3 -3
  61. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +289 -8
  62. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -1
  63. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +3 -3
  64. package/src/components/xform/form-designer/form-widget/dialog/exportDialog.vue +13 -0
  65. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +301 -0
  66. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +16 -4
  67. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +5 -1
  68. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +37 -6
  69. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1331 -1
  70. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +26 -7
  71. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +1 -1
  72. package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
  73. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +34 -5
  74. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  75. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +14 -6
  76. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +89 -0
  77. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  78. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +21 -2
  79. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  80. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  81. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  82. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  83. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  84. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1615 -16
  85. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +652 -379
  86. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +10 -8
  87. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +81 -0
  88. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  89. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  90. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  91. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
  92. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  93. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +107 -81
  94. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +185 -0
  95. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
  96. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +108 -0
  97. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +70 -3
  98. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +21 -5
  99. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +2 -2
  100. package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +86 -0
  101. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +17 -5
  102. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  103. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -0
  104. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +2 -1
  105. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +31 -17
  106. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  107. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +127 -0
  108. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +46 -34
  109. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  110. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -170
  111. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +259 -58
  112. package/src/components/xform/form-designer/indexMixin.js +825 -2
  113. package/src/components/xform/form-designer/setting-panel/form-setting.vue +927 -159
  114. package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
  115. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  116. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +376 -302
  117. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +4 -4
  118. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +3 -3
  119. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  120. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  121. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +28 -0
  122. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  123. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +126 -0
  124. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1196 -1042
  125. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  126. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +1160 -511
  127. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  128. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-pane/detail-pane-editor.vue +3 -3
  129. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  130. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  131. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  132. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  133. package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +36 -0
  134. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  135. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  136. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  137. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +35 -20
  138. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +64 -5
  139. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  140. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  141. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  142. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  143. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  144. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  145. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +32 -9
  146. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +86 -0
  147. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +8 -0
  148. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +91 -0
  149. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  150. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +67 -41
  151. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +56 -0
  152. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  153. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  154. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +30 -1
  155. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +52 -5
  156. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +721 -466
  157. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +20 -11
  158. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +1 -1
  159. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +1 -1
  160. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +1 -1
  161. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  162. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  163. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  164. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +31 -0
  165. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  166. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +318 -0
  167. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +10 -6
  168. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +3 -3
  169. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  170. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +23 -0
  171. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +305 -19
  172. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +2 -2
  173. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +2 -2
  174. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +384 -53
  175. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +263 -0
  176. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +29 -11
  177. package/src/components/xform/form-designer/toolbar-panel/index.vue +12 -11
  178. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  179. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  180. package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -2
  181. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1508 -865
  182. package/src/components/xform/form-render/container-item/containerItemMixin.js +359 -11
  183. package/src/components/xform/form-render/container-item/data-table-item.vue +89 -42
  184. package/src/components/xform/form-render/container-item/data-table-mixin.js +2728 -18
  185. package/src/components/xform/form-render/container-item/detail-pane-item.vue +17 -3
  186. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  187. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  188. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  189. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  190. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  191. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  192. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  193. package/src/components/xform/form-render/index.vue +4 -1
  194. package/src/components/xform/form-render/indexMixin.js +3129 -4
  195. package/src/components/xform/lang/zh-CN.js +19 -3
  196. package/src/components/xform/mixins/defaultHandle.js +1 -1
  197. package/src/components/xform/mixins/scriptHttp.js +175 -1
  198. package/src/components/xform/utils/emitter.js +4 -4
  199. package/src/components/xform/utils/format.js +21 -30
  200. package/src/components/xform/utils/formula-util.js +669 -0
  201. package/src/components/xform/utils/util.js +1451 -1
  202. package/src/components/xform/utils/validators.js +1 -5
  203. package/src/index.js +2 -2
  204. package/src/layout/components/AppMain.vue +5 -1
  205. package/src/layout/components/Sidebar/default.vue +50 -6
  206. package/src/layout/components/TagsView/index.vue +37 -12
  207. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  208. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  209. package/src/layout/components/extractedCode/viewDialog.vue +193 -0
  210. package/src/layout/components/watermark/index.vue +83 -0
  211. package/src/layout/defaultLayout.vue +1 -1
  212. package/src/mixins/selectDialog/index.js +1 -1
  213. package/src/mixins/tableTree/index.js +1 -1
  214. package/src/router/modules/customer.js +61 -8
  215. package/src/store/config/index.js +1 -1
  216. package/src/store/modules/permission.js +1 -1
  217. package/src/store/modules/settings.js +1 -1
  218. package/src/store/modules/tagsView.js +1 -14
  219. package/src/store/modules/user.js +1 -1
  220. package/src/utils/index.js +2 -3
  221. package/src/utils/pddLog.js +103 -0
  222. package/src/utils/pdfUtil.js +71 -0
  223. package/src/utils/request.js +359 -1
  224. package/src/utils/vab.js +1113 -27
  225. package/src/views/bd/setting/bd_attach_setting/edit.vue +5 -5
  226. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  227. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +4 -5
  228. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +239 -1
  229. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -0
  230. package/src/views/bd/setting/bd_company_env/edit.vue +163 -0
  231. package/src/views/bd/setting/bd_company_env/list.vue +175 -0
  232. package/src/views/bd/setting/config_manage/list.vue +51 -0
  233. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  234. package/src/views/bd/setting/form_import_log/list.vue +206 -0
  235. package/src/views/bd/setting/form_script/edit.vue +9 -0
  236. package/src/views/bd/setting/form_script/edit1.vue +36 -3
  237. package/src/views/bd/setting/form_script/form_list.vue +1 -1
  238. package/src/views/bd/setting/form_script/list1.vue +4 -4
  239. package/src/views/bd/setting/form_script/mixins/dialog.js +130 -1
  240. package/src/views/bd/setting/form_script/mixins/edit.js +201 -1
  241. package/src/views/bd/setting/form_script/mixins/edit1.js +193 -1
  242. package/src/views/bd/setting/form_script/mixins/form_list.js +1 -1
  243. package/src/views/bd/setting/form_script/mixins/list.js +236 -1
  244. package/src/views/bd/setting/form_script/mixins/list1.js +423 -14
  245. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +194 -0
  246. package/src/views/bd/setting/form_script/otherAuthDialog.vue +83 -0
  247. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  248. package/src/views/bd/setting/form_template/edit.vue +22 -1
  249. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  250. package/src/views/bd/setting/form_template/list.vue +5 -5
  251. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +282 -0
  252. package/src/views/bd/setting/form_template/mixins/edit.js +234 -9
  253. package/src/views/bd/setting/form_template/mixins/list.js +689 -22
  254. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +193 -0
  255. package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -0
  256. package/src/views/bd/setting/form_template/otherAuthDialog.vue +83 -0
  257. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  258. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  259. package/src/views/bd/setting/menu_kind/list.vue +4 -0
  260. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +294 -1
  261. package/src/views/bd/setting/menu_kind/mixins/list.js +201 -1
  262. package/src/views/bd/setting/push_data/edit.vue +139 -0
  263. package/src/views/bd/setting/push_data/list.vue +283 -0
  264. package/src/views/bd/setting/push_data_h/edit.vue +153 -0
  265. package/src/views/bd/setting/push_data_h/list.vue +293 -0
  266. package/src/views/bd/setting/request_async_setting/edit.vue +320 -0
  267. package/src/views/bd/setting/request_async_setting/list.vue +372 -0
  268. package/src/views/bd/setting/request_setting/edit.vue +300 -0
  269. package/src/views/bd/setting/request_setting/list.vue +311 -0
  270. package/src/views/bd/setting/table_model/edit.vue +875 -426
  271. package/src/views/bd/setting/table_model/list.vue +4 -4
  272. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  273. package/src/views/bd/setting/table_model/mixins/edit.js +1202 -13
  274. package/src/views/bd/setting/table_model/mixins/list.js +440 -14
  275. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +201 -0
  276. package/src/views/bd/setting/table_model/otherAuthDialog.vue +83 -0
  277. package/src/views/user/area/dialog.vue +21 -9
  278. package/src/views/user/bill_setting/edit.vue +1 -1
  279. package/src/views/user/bill_setting/list.vue +1 -1
  280. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  281. package/src/views/user/common_attribute/list.vue +1 -1
  282. package/src/views/user/common_script/edit.vue +1 -1
  283. package/src/views/user/common_script/list.vue +1 -1
  284. package/src/views/user/company_info/dialog.vue +164 -154
  285. package/src/views/user/company_info/edit.vue +1 -1
  286. package/src/views/user/extend_datasource/dialog.vue +1 -0
  287. package/src/views/user/extend_datasource/edit.vue +3 -0
  288. package/src/views/user/extend_datasource/list.vue +2 -1
  289. package/src/views/user/fieldTranslation/editDialog.vue +7 -7
  290. package/src/views/user/fieldTranslation/list.vue +32 -32
  291. package/src/views/user/form/vform/designer.vue +775 -749
  292. package/src/views/user/form/vform/out_render.vue +1 -1
  293. package/src/views/user/form/vform/render.vue +8 -4
  294. package/src/views/user/form/view/edit.vue +38 -37
  295. package/src/views/user/form/view/list.vue +68 -15
  296. package/src/views/user/groups/edit.vue +2 -0
  297. package/src/views/user/groups/list.vue +1 -0
  298. package/src/views/user/home/default.vue +1025 -979
  299. package/src/views/user/home/dev.vue +29 -0
  300. package/src/views/user/home/index.vue +16 -6
  301. package/src/views/user/home/taili/index.vue +1034 -0
  302. package/src/views/user/login/default.vue +32 -3
  303. package/src/views/user/login/indexMixin.js +117 -3
  304. package/src/views/user/notify_message/dialog.vue +39 -18
  305. package/src/views/user/notify_template/edit.vue +188 -187
  306. package/src/views/user/notify_template/edit2.vue +176 -0
  307. package/src/views/user/notify_template/list.vue +4 -1
  308. package/src/views/user/notify_template/list2.vue +190 -0
  309. package/src/views/user/outLink/form_view.vue +211 -184
  310. package/src/views/user/outLink/index.vue +17 -0
  311. package/src/views/user/outLink/view.vue +28 -23
  312. package/src/views/user/position/edit.vue +55 -54
  313. package/src/views/user/position/list.vue +4 -4
  314. package/src/views/user/project_tag/dialog.vue +9 -4
  315. package/src/views/user/project_tag/edit.vue +2 -2
  316. package/src/views/user/project_tag/list.vue +9 -4
  317. package/src/views/user/push_setting/list.vue +2 -2
  318. package/src/views/user/request_setting/edit.vue +258 -0
  319. package/src/views/user/request_setting/list.vue +248 -0
  320. package/src/views/user/role/dialog.vue +1 -1
  321. package/src/views/user/role/list.vue +4 -4
  322. package/src/views/user/sale_org/dialog.vue +1 -1
  323. package/src/views/user/sale_org/list.vue +4 -1
  324. package/src/views/user/user/dialog.vue +46 -23
  325. package/src/views/user/user/edit.vue +1059 -1021
  326. package/src/views/user/user/form_dialog.vue +158 -0
  327. package/src/views/user/user/form_edit.vue +63 -2
  328. package/src/views/user/user/form_info.vue +210 -0
  329. package/src/views/user/user/form_list.vue +1 -0
  330. package/src/views/user/user/list.vue +22 -3
  331. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -0
  332. package/src/views/user/wf/wf_manage/list.vue +30 -1
  333. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  334. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  335. package/src/views/user/wf/wf_obj_config/itemEdit.vue +25 -1
  336. package/src/views/user/wf/wf_obj_config/list.vue +114 -9
  337. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
@@ -1,302 +1,376 @@
1
- <template>
2
- <div class="option-items-pane">
3
- <el-form-item label="选项值类型">
4
- <el-radio-group v-model="optionModel.optionItemValueType" @change="changeValueType">
5
- <el-radio :label="0">文本</el-radio>
6
- <el-radio :label="1">数值</el-radio>
7
- <el-radio :label="2">布尔值</el-radio>
8
- </el-radio-group>
9
- </el-form-item>
10
-
11
- <!-- <el-form-item label="选项值为数值">
12
- <el-switch v-model="optionModel.isNumericOptionItemValue" @change="changeValueType"></el-switch>
13
- </el-form-item>-->
14
- <el-radio-group
15
- v-if="selectedWidget.type === 'radio' || (selectedWidget.type === 'select' && !selectedWidget.options.multiple)"
16
- v-model="optionModel.defaultValue"
17
- @change="emitDefaultValueChange"
18
- >
19
- <draggable tag="ul" class="draggable-box" :list="optionModel.optionItems" v-bind="{ group: 'optionsGroup', ghostClass: 'ghost', handle: '.drag-option' }">
20
- <li v-for="(option, idx) in optionModel.optionItems" :key="idx">
21
- <el-radio :label="option.value">
22
- <el-input v-model="option.value" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
23
- <base-input-number v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType==1" />
24
- <!-- <el-input v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType===2" disabled></el-input>-->
25
- <el-select v-model="option.value" style="width: 100px" v-if="optionModel.optionItemValueType===2">
26
- <el-option :value="true" label="true"></el-option>
27
- <el-option :value="false" label="false"></el-option>
28
- </el-select>
29
- <el-input v-model="option.label" size="mini" style="width: 100px"></el-input>
30
- <i class="el-icon-s-operation drag-option"></i>
31
- <el-button circle plain size="mini" type="danger" @click="deleteOption(option, idx)" icon="el-icon-minus" class="col-delete-button"></el-button>
32
- </el-radio>
33
- </li>
34
- </draggable>
35
- </el-radio-group>
36
- <el-checkbox-group
37
- v-else-if="selectedWidget.type === 'checkbox' || (selectedWidget.type === 'select' && selectedWidget.options.multiple)"
38
- v-model="optionModel.defaultValue"
39
- @change="emitDefaultValueChange"
40
- >
41
- <draggable tag="ul" class="draggable-box" :list="optionModel.optionItems" v-bind="{ group: 'optionsGroup', ghostClass: 'ghost', handle: '.drag-option' }">
42
- <li v-for="(option, idx) in optionModel.optionItems" :key="idx">
43
- <el-checkbox :label="option.value">
44
- <el-input v-model="option.value" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
45
- <base-input-number v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType==1" />
46
- <el-input v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType===2" disabled></el-input>
47
- <el-input v-model="option.label" size="mini" style="width: 100px"></el-input>
48
- <i class="el-icon-s-operation drag-option"></i>
49
- <el-button circle plain size="mini" type="danger" @click="deleteOption(option, idx)" icon="el-icon-minus" class="col-delete-button"></el-button>
50
- </el-checkbox>
51
- </li>
52
- </draggable>
53
- </el-checkbox-group>
54
- <el-cascader
55
- v-else-if="selectedWidget.type === 'cascader'"
56
- v-model="optionModel.defaultValue"
57
- :options="optionModel.optionItems"
58
- @change="emitDefaultValueChange"
59
- :placeholder="i18nt('render.hint.selectPlaceholder')"
60
- style="width: 100%"
61
- ></el-cascader>
62
- <div v-if="selectedWidget.type === 'cascader'">
63
- <el-button type="text" @click="importCascaderOptions">{{ i18nt('designer.setting.importOptions') }}</el-button>
64
- <el-button type="text" @click="resetDefault">{{ i18nt('designer.setting.resetDefault') }}</el-button>
65
- </div>
66
-
67
- <div v-if="selectedWidget.type === 'radio' || selectedWidget.type === 'checkbox' || selectedWidget.type === 'select'">
68
- <el-button type="text" @click="addOption">{{ i18nt('designer.setting.addOption') }}</el-button>
69
- <el-button type="text" @click="importOptions" v-if="optionModel.optionItemValueType!==2">{{ i18nt('designer.setting.importOptions') }}</el-button>
70
- <el-button type="text" @click="resetDefault">{{ i18nt('designer.setting.resetDefault') }}</el-button>
71
- </div>
72
-
73
- <el-dialog
74
- :title="i18nt('designer.setting.importOptions')"
75
- :visible.sync="showImportDialogFlag"
76
- v-if="showImportDialogFlag"
77
- :show-close="true"
78
- class="small-padding-dialog"
79
- :close-on-click-modal="false"
80
- :close-on-press-escape="false"
81
- :destroy-on-close="true"
82
- :append-to-body="true"
83
- :modal-append-to-body="true"
84
- >
85
- <el-form-item><el-input type="textarea" rows="10" v-model="optionLines"></el-input></el-form-item>
86
- <div slot="footer" class="dialog-footer">
87
- <el-button size="large" type="primary" @click="saveOptions">{{ i18nt('designer.hint.confirm') }}</el-button>
88
- <el-button size="large" type="" @click="showImportDialogFlag = false">{{ i18nt('designer.hint.cancel') }}</el-button>
89
- </div>
90
- </el-dialog>
91
-
92
- <el-dialog
93
- :title="i18nt('designer.setting.importOptions')"
94
- :visible.sync="showImportCascaderDialogFlag"
95
- v-if="showImportCascaderDialogFlag"
96
- :show-close="true"
97
- class="small-padding-dialog"
98
- :close-on-click-modal="false"
99
- :close-on-press-escape="false"
100
- :destroy-on-close="true"
101
- :append-to-body="true"
102
- :modal-append-to-body="true"
103
- >
104
- <code-editor v-model="cascaderOptions" mode="json" :readonly="false"></code-editor>
105
- <div slot="footer" class="dialog-footer">
106
- <el-button size="large" type="primary" @click="saveCascaderOptions">{{ i18nt('designer.hint.confirm') }}</el-button>
107
- <el-button size="large" type="" @click="showImportCascaderDialogFlag = false">{{ i18nt('designer.hint.cancel') }}</el-button>
108
- </div>
109
- </el-dialog>
110
- </div>
111
- </template>
112
-
113
- <script>
114
- import Draggable from 'vuedraggable';
115
- import i18n from '../../../../components/xform/utils/i18n';
116
-
117
- export default {
118
- name: 'OptionItemsSetting',
119
- mixins: [i18n],
120
- components: {
121
- Draggable,
122
- },
123
- props: {
124
- designer: Object,
125
- selectedWidget: Object
126
- },
127
- data() {
128
- return {
129
- showImportDialogFlag: false,
130
- optionLines: '',
131
-
132
- cascaderOptions: '',
133
- showImportCascaderDialogFlag: false,
134
-
135
- //separator: '||',
136
- separator: ','
137
- };
138
- },
139
- computed: {
140
- optionModel() {
141
- return this.selectedWidget.options;
142
- }
143
- },
144
- watch: {
145
- 'selectedWidget.options': {
146
- deep: true,
147
- handler(val) {
148
- //console.log('888888', 'Options change!')
149
- }
150
- }
151
- },
152
- created() {
153
- if(!this.optionModel.hasOwnProperty('optionItemValueType')){
154
- this.optionModel.optionItemValueType = 0;
155
- }
156
- },
157
- methods: {
158
- emitDefaultValueChange() {
159
- if (!!this.designer && !!this.designer.formWidget) {
160
- let fieldWidget = this.designer.formWidget.getWidgetRef(this.selectedWidget.options.name);
161
- if (!!fieldWidget && !!fieldWidget.refreshDefaultValue) {
162
- fieldWidget.refreshDefaultValue();
163
- }
164
- }
165
- },
166
-
167
- deleteOption(option, index) {
168
- this.optionModel.optionItems.splice(index, 1);
169
- },
170
-
171
- addOption() {
172
- let optionItemValueType = this.optionModel.optionItemValueType;
173
- let newValue = this.optionModel.optionItems.length + 1;
174
- if(!optionItemValueType){
175
- newValue = newValue+'';
176
- }else if(optionItemValueType==2){
177
- newValue = true;
178
- }
179
- this.optionModel.optionItems.push({
180
- value: newValue,
181
- label: 'new option'
182
- });
183
- },
184
-
185
- importOptions() {
186
- this.optionLines = '';
187
- if (this.optionModel.optionItems.length > 0) {
188
- this.optionModel.optionItems.forEach(opt => {
189
- if (opt.value === opt.label) {
190
- this.optionLines += opt.value + '\n';
191
- } else {
192
- this.optionLines += opt.value + this.separator + opt.label + '\n';
193
- }
194
- });
195
- }
196
-
197
- this.showImportDialogFlag = true;
198
- },
199
-
200
- saveOptions() {
201
- let lineArray = this.optionLines.split('\n');
202
- //console.log('test', lineArray)
203
- if (lineArray.length > 0) {
204
- let isNumericOptionItemValue = this.optionModel.optionItemValueType === 1;
205
- this.optionModel.optionItems = [];
206
- lineArray.forEach(optLine => {
207
- if (!!optLine && !!optLine.trim()) {
208
- if (optLine.indexOf(this.separator) !== -1) {
209
- let valueStr = optLine.split(this.separator)[0];
210
- let value = isNumericOptionItemValue?Number(valueStr):valueStr;
211
- this.optionModel.optionItems.push({
212
- value: value,
213
- label: optLine.split(this.separator)[1]
214
- });
215
- } else {
216
- let value = isNumericOptionItemValue?Number(optLine):optLine;
217
- this.optionModel.optionItems.push({
218
- value: value,
219
- label: optLine
220
- });
221
- }
222
- }
223
- });
224
- } else {
225
- this.optionModel.optionItems = [];
226
- }
227
-
228
- this.showImportDialogFlag = false;
229
- },
230
-
231
- resetDefault() {
232
- if (this.selectedWidget.type === 'checkbox' || (this.selectedWidget.type === 'select' && this.selectedWidget.options.multiple)) {
233
- this.optionModel.defaultValue = [];
234
- } else {
235
- this.optionModel.defaultValue = null;
236
- }
237
-
238
- this.emitDefaultValueChange();
239
- },
240
-
241
- importCascaderOptions() {
242
- this.cascaderOptions = JSON.stringify(this.optionModel.optionItems, null, ' ');
243
- this.showImportCascaderDialogFlag = true;
244
- },
245
-
246
- saveCascaderOptions() {
247
- try {
248
- let newOptions = JSON.parse(this.cascaderOptions);
249
- this.optionModel.optionItems = newOptions;
250
- //TODO: 是否需要重置选项默认值??
251
-
252
- this.showImportCascaderDialogFlag = false;
253
- } catch (ex) {
254
- this.$message.error(this.i18nt('designer.hint.invalidOptionsData') + ex.message);
255
- }
256
- },
257
- changeValueType(val){
258
- let optionItems = this.optionModel.optionItems;
259
- this.optionModel.defaultValue = null;
260
- this.optionModel.optionItems.length = 0;
261
- if(val==2){
262
- optionItems.push({
263
- label:"是",
264
- value:true,
265
- });
266
- optionItems.push({
267
- label:"否",
268
- value:false
269
- });
270
- }else{
271
- this.addOption();
272
- }
273
- this.$forceUpdate()
274
- this.emitDefaultValueChange();
275
- }
276
- }
277
- };
278
- </script>
279
-
280
- <style lang="scss" scoped>
281
- .option-items-pane ul {
282
- padding-inline-start: 6px;
283
- padding-left: 6px; /* 重置IE11默认样式 */
284
- }
285
-
286
- li.ghost {
287
- background: #fff;
288
- border: 2px dotted $--color-primary;
289
- }
290
-
291
- .drag-option {
292
- cursor: move;
293
- }
294
-
295
- .small-padding-dialog ::v-deep .el-dialog__body {
296
- padding: 10px 15px;
297
- }
298
-
299
- .dialog-footer .el-button {
300
- width: 100px;
301
- }
302
- </style>
1
+ <template>
2
+ <div class="option-items-pane">
3
+ <el-form-item label="选项值类型">
4
+ <el-radio-group v-model="optionModel.optionItemValueType" @change="changeValueType">
5
+ <el-radio :label="0">文本</el-radio>
6
+ <el-radio :label="1">数值</el-radio>
7
+ <el-radio :label="2">布尔值</el-radio>
8
+ </el-radio-group>
9
+ </el-form-item>
10
+
11
+ <el-form-item label="默认值">
12
+ <template v-if="selectedWidget.type === 'checkbox' || (selectedWidget.type === 'select' && selectedWidget.options.multiple)">
13
+ <a href="javascript:void(0);" class="a-link link-oneLind"
14
+ @click="openTableDataEdit()">
15
+ <span>{{ getDefaultValue() }}</span>
16
+ <i class="el-icon-edit"></i>
17
+ </a>
18
+ </template>
19
+ <template v-else>
20
+ <el-input v-model="optionModel.defaultValue" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
21
+ <base-input-number v-model="optionModel.defaultValue" size="mini" style="width: 100%" v-if="optionModel.optionItemValueType==1" />
22
+ <el-select v-model="optionModel.defaultValue" style="width: 100%" v-if="optionModel.optionItemValueType===2" clearable @clear="optionModel.defaultValue=null">
23
+ <el-option :value="true" label="true"></el-option>
24
+ <el-option :value="false" label="false"></el-option>
25
+ </el-select>
26
+ </template>
27
+
28
+ </el-form-item>
29
+ <el-form-item :label="i18nt('显示字段')">
30
+ <el-input type="text" v-model="optionModel.labelKey" placeholder="默认label" :disabled="optionModel.commonAttributeEnabled || !optionModel.formScriptEnabled"></el-input>
31
+ </el-form-item>
32
+ <el-form-item :label="i18nt('关联字段')">
33
+ <el-input type="text" v-model="optionModel.valueKey" placeholder="默认value" :disabled="optionModel.commonAttributeEnabled || !optionModel.formScriptEnabled"></el-input>
34
+ </el-form-item>
35
+ <template v-if="!optionModel.commonAttributeEnabled && !optionModel.formScriptEnabled">
36
+ <el-radio-group
37
+ v-if="selectedWidget.type === 'radio' || (selectedWidget.type === 'select' && !selectedWidget.options.multiple)"
38
+ v-model="optionModel.defaultValue"
39
+ @change="emitDefaultValueChange"
40
+ >
41
+ <draggable tag="ul" class="draggable-box" :list="optionModel.optionItems" v-bind="{ group: 'optionsGroup', ghostClass: 'ghost', handle: '.drag-option' }">
42
+ <li v-for="(option, idx) in optionModel.optionItems" :key="idx">
43
+ <el-radio :label="option.value">
44
+ <el-input v-model="option.value" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
45
+ <base-input-number v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType==1" />
46
+ <!-- <el-input v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType===2" disabled></el-input>-->
47
+ <el-select v-model="option.value" style="width: 100px" v-if="optionModel.optionItemValueType===2">
48
+ <el-option :value="true" label="true"></el-option>
49
+ <el-option :value="false" label="false"></el-option>
50
+ </el-select>
51
+ <el-input v-model="option.label" size="mini" style="width: 100px"></el-input>
52
+ <i class="el-icon-s-operation drag-option"></i>
53
+ <el-button circle plain size="mini" type="danger" @click="deleteOption(option, idx)" icon="el-icon-minus" class="col-delete-button"></el-button>
54
+ </el-radio>
55
+ </li>
56
+ </draggable>
57
+ </el-radio-group>
58
+ <el-checkbox-group
59
+ v-else-if="selectedWidget.type === 'checkbox' || (selectedWidget.type === 'select' && selectedWidget.options.multiple)"
60
+ v-model="optionModel.defaultValue"
61
+ @change="emitDefaultValueChange"
62
+ >
63
+ <draggable tag="ul" class="draggable-box" :list="optionModel.optionItems" v-bind="{ group: 'optionsGroup', ghostClass: 'ghost', handle: '.drag-option' }">
64
+ <li v-for="(option, idx) in optionModel.optionItems" :key="idx">
65
+ <el-checkbox :label="option.value">
66
+ <el-input v-model="option.value" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
67
+ <base-input-number v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType==1" />
68
+ <el-input v-model="option.value" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType===2" disabled></el-input>
69
+ <el-input v-model="option.label" size="mini" style="width: 100px"></el-input>
70
+ <i class="el-icon-s-operation drag-option"></i>
71
+ <el-button circle plain size="mini" type="danger" @click="deleteOption(option, idx)" icon="el-icon-minus" class="col-delete-button"></el-button>
72
+ </el-checkbox>
73
+ </li>
74
+ </draggable>
75
+ </el-checkbox-group>
76
+ <el-cascader
77
+ v-else-if="selectedWidget.type === 'cascader'"
78
+ v-model="optionModel.defaultValue"
79
+ :options="optionModel.optionItems"
80
+ @change="emitDefaultValueChange"
81
+ :placeholder="i18nt('render.hint.selectPlaceholder')"
82
+ style="width: 100%"
83
+ ></el-cascader>
84
+ <div v-if="selectedWidget.type === 'cascader'">
85
+ <el-button type="text" @click="importCascaderOptions">{{ i18nt('designer.setting.importOptions') }}</el-button>
86
+ <el-button type="text" @click="resetDefault">{{ i18nt('designer.setting.resetDefault') }}</el-button>
87
+ </div>
88
+
89
+ <div v-if="selectedWidget.type === 'radio' || selectedWidget.type === 'checkbox' || selectedWidget.type === 'select'">
90
+ <el-button type="text" @click="addOption">{{ i18nt('designer.setting.addOption') }}</el-button>
91
+ <el-button type="text" @click="importOptions" v-if="optionModel.optionItemValueType!==2">{{ i18nt('designer.setting.importOptions') }}</el-button>
92
+ <el-button type="text" @click="resetDefault">{{ i18nt('designer.setting.resetDefault') }}</el-button>
93
+ </div>
94
+ </template>
95
+
96
+
97
+ <el-dialog
98
+ :title="i18nt('designer.setting.importOptions')"
99
+ :visible.sync="showImportDialogFlag"
100
+ v-if="showImportDialogFlag"
101
+ :show-close="true"
102
+ class="small-padding-dialog"
103
+ :close-on-click-modal="false"
104
+ :close-on-press-escape="false"
105
+ :destroy-on-close="true"
106
+ :append-to-body="true"
107
+ :modal-append-to-body="true"
108
+ >
109
+ <el-form-item><el-input type="textarea" rows="10" v-model="optionLines"></el-input></el-form-item>
110
+ <div slot="footer" class="dialog-footer">
111
+ <el-button size="large" type="primary" @click="saveOptions">{{ i18nt('designer.hint.confirm') }}</el-button>
112
+ <el-button size="large" type="" @click="showImportDialogFlag = false">{{ i18nt('designer.hint.cancel') }}</el-button>
113
+ </div>
114
+ </el-dialog>
115
+
116
+ <el-dialog
117
+ :title="i18nt('designer.setting.importOptions')"
118
+ :visible.sync="showImportCascaderDialogFlag"
119
+ v-if="showImportCascaderDialogFlag"
120
+ :show-close="true"
121
+ class="small-padding-dialog"
122
+ :close-on-click-modal="false"
123
+ :close-on-press-escape="false"
124
+ :destroy-on-close="true"
125
+ :append-to-body="true"
126
+ :modal-append-to-body="true"
127
+ >
128
+ <code-editor v-model="cascaderOptions" mode="json" :readonly="false"></code-editor>
129
+ <div slot="footer" class="dialog-footer">
130
+ <el-button size="large" type="primary" @click="saveCascaderOptions">{{ i18nt('designer.hint.confirm') }}</el-button>
131
+ <el-button size="large" type="" @click="showImportCascaderDialogFlag = false">{{ i18nt('designer.hint.cancel') }}</el-button>
132
+ </div>
133
+ </el-dialog>
134
+ <el-dialog
135
+ v-if="dataDialogVisible"
136
+ custom-class="dialog-style list-dialog"
137
+ :title="i18nt('默认值编辑')"
138
+ :visible.sync="dataDialogVisible"
139
+ :show-close="!0"
140
+ append-to-body=""
141
+ :close-on-click-modal="!1"
142
+ :close-on-press-escape="!1"
143
+ :destroy-on-close="!0"
144
+ width="75%"
145
+ v-dialog-drag
146
+ >
147
+ <template slot="footer">
148
+ <div class="dialog-footer">
149
+ <el-button type="" @click="dataDialogVisible = !1" class="button-sty" icon="el-icon-close">
150
+ {{ i18nt('designer.hint.cancel') }}
151
+ </el-button>
152
+ <el-button type="primary" @click="saveTableData" class="button-sty" icon="el-icon-check">
153
+ {{ i18nt('designer.hint.confirm') }}
154
+ </el-button>
155
+ </div>
156
+ </template>
157
+ <code-editor mode="json" :readonly="!1" v-model="tableDataOptions"></code-editor>
158
+ </el-dialog>
159
+ </div>
160
+ </template>
161
+
162
+ <script>
163
+ import Draggable from 'vuedraggable';
164
+ import i18n from '../../../../components/xform/utils/i18n';
165
+
166
+ export default {
167
+ name: 'OptionItemsSetting',
168
+ componentName: 'PropertyEditor',
169
+ mixins: [i18n],
170
+ components: {
171
+ Draggable,
172
+ },
173
+ props: {
174
+ designer: Object,
175
+ selectedWidget: Object
176
+ },
177
+ data() {
178
+ return {
179
+ showImportDialogFlag: false,
180
+ optionLines: '',
181
+
182
+ cascaderOptions: '',
183
+ showImportCascaderDialogFlag: false,
184
+
185
+ //separator: '||',
186
+ separator: ',',
187
+ dataDialogVisible:false,
188
+ tableDataOptions:[],
189
+ };
190
+ },
191
+ computed: {
192
+ optionModel() {
193
+ return this.selectedWidget.options;
194
+ }
195
+ },
196
+ watch: {
197
+ 'selectedWidget.options': {
198
+ deep: true,
199
+ handler(val) {
200
+ //console.log('888888', 'Options change!')
201
+ }
202
+ }
203
+ },
204
+ created() {
205
+ if(!this.optionModel.hasOwnProperty('optionItemValueType')){
206
+ this.optionModel.optionItemValueType = 0;
207
+ }
208
+ },
209
+ methods: {
210
+ emitDefaultValueChange() {
211
+ if (!!this.designer && !!this.designer.formWidget) {
212
+ let fieldWidget = this.designer.formWidget.getWidgetRef(this.selectedWidget.options.name);
213
+ if (!!fieldWidget && !!fieldWidget.refreshDefaultValue) {
214
+ fieldWidget.refreshDefaultValue();
215
+ }
216
+ }
217
+ },
218
+
219
+ deleteOption(option, index) {
220
+ this.optionModel.optionItems.splice(index, 1);
221
+ },
222
+
223
+ addOption() {
224
+ let optionItemValueType = this.optionModel.optionItemValueType;
225
+ let newValue = this.optionModel.optionItems.length + 1;
226
+ if(!optionItemValueType){
227
+ newValue = newValue+'';
228
+ }else if(optionItemValueType==2){
229
+ newValue = true;
230
+ }
231
+ this.optionModel.optionItems.push({
232
+ value: newValue,
233
+ label: 'new option'
234
+ });
235
+ },
236
+
237
+ importOptions() {
238
+ this.optionLines = '';
239
+ if (this.optionModel.optionItems.length > 0) {
240
+ this.optionModel.optionItems.forEach(opt => {
241
+ if (opt.value === opt.label) {
242
+ this.optionLines += opt.value + '\n';
243
+ } else {
244
+ this.optionLines += opt.value + this.separator + opt.label + '\n';
245
+ }
246
+ });
247
+ }
248
+
249
+ this.showImportDialogFlag = true;
250
+ },
251
+
252
+ saveOptions() {
253
+ let lineArray = this.optionLines.split('\n');
254
+ //console.log('test', lineArray)
255
+ if (lineArray.length > 0) {
256
+ let isNumericOptionItemValue = this.optionModel.optionItemValueType === 1;
257
+ this.optionModel.optionItems = [];
258
+ lineArray.forEach(optLine => {
259
+ if (!!optLine && !!optLine.trim()) {
260
+ if (optLine.indexOf(this.separator) !== -1) {
261
+ let valueStr = optLine.split(this.separator)[0];
262
+ let value = isNumericOptionItemValue?Number(valueStr):valueStr;
263
+ this.optionModel.optionItems.push({
264
+ value: value,
265
+ label: optLine.split(this.separator)[1]
266
+ });
267
+ } else {
268
+ let value = isNumericOptionItemValue?Number(optLine):optLine;
269
+ this.optionModel.optionItems.push({
270
+ value: value,
271
+ label: optLine
272
+ });
273
+ }
274
+ }
275
+ });
276
+ } else {
277
+ this.optionModel.optionItems = [];
278
+ }
279
+
280
+ this.showImportDialogFlag = false;
281
+ },
282
+
283
+ resetDefault() {
284
+ if (this.selectedWidget.type === 'checkbox' || (this.selectedWidget.type === 'select' && this.selectedWidget.options.multiple)) {
285
+ this.optionModel.defaultValue = [];
286
+ } else {
287
+ this.optionModel.defaultValue = undefined;
288
+ }
289
+
290
+ this.emitDefaultValueChange();
291
+ },
292
+
293
+ importCascaderOptions() {
294
+ this.cascaderOptions = JSON.stringify(this.optionModel.optionItems, null, ' ');
295
+ this.showImportCascaderDialogFlag = true;
296
+ },
297
+
298
+ saveCascaderOptions() {
299
+ try {
300
+ let newOptions = JSON.parse(this.cascaderOptions);
301
+ this.optionModel.optionItems = newOptions;
302
+ //TODO: 是否需要重置选项默认值??
303
+
304
+ this.showImportCascaderDialogFlag = false;
305
+ } catch (ex) {
306
+ this.$message.error(this.i18nt('designer.hint.invalidOptionsData') + ex.message);
307
+ }
308
+ },
309
+ changeValueType(val){
310
+ let optionItems = this.optionModel.optionItems;
311
+ // this.optionModel.defaultValue = undefined;
312
+ this.resetDefault();
313
+ this.optionModel.optionItems.length = 0;
314
+ if(val==2){
315
+ optionItems.push({
316
+ label:"是",
317
+ value:true,
318
+ });
319
+ optionItems.push({
320
+ label:"否",
321
+ value:false
322
+ });
323
+ }else{
324
+ this.addOption();
325
+ }
326
+ this.$forceUpdate()
327
+ this.emitDefaultValueChange();
328
+ },
329
+
330
+
331
+ openTableDataEdit: function () {
332
+ (this.dataDialogVisible = !0), (this.tableDataOptions = JSON.stringify(this.optionModel.defaultValue, null, ' '));
333
+ },
334
+ saveTableData: function () {
335
+ try {
336
+ (this.optionModel.defaultValue = JSON.parse(this.tableDataOptions)), (this.dataDialogVisible = !1);
337
+ } catch (e) {
338
+ this.$message.error(this.i18nt('designer.hint.invalidOptionsData') + e.message);
339
+ }
340
+ },
341
+ getDefaultValue(){
342
+ let result = this.optionModel.defaultValue;
343
+ if(result){
344
+ if(Array.isArray(result)){
345
+ result = result.join(",");
346
+ }
347
+ }
348
+ return result;
349
+ },
350
+ }
351
+ };
352
+ </script>
353
+
354
+ <style lang="scss" scoped>
355
+ .option-items-pane ul {
356
+ padding-inline-start: 6px;
357
+ padding-left: 6px; /* 重置IE11默认样式 */
358
+ }
359
+
360
+ li.ghost {
361
+ background: #fff;
362
+ border: 2px dotted $--color-primary;
363
+ }
364
+
365
+ .drag-option {
366
+ cursor: move;
367
+ }
368
+
369
+ .small-padding-dialog ::v-deep .el-dialog__body {
370
+ padding: 10px 15px;
371
+ }
372
+
373
+ .dialog-footer .el-button {
374
+ width: 100px;
375
+ }
376
+ </style>