cloud-web-corejs 1.0.54-dev.16 → 1.0.54-dev.161

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 (202) hide show
  1. package/package.json +9 -3
  2. package/src/components/Qrcode/fileParse.vue +0 -1
  3. package/src/components/VabUpload/index.vue +2 -1
  4. package/src/components/VabUpload/mixins.js +1 -1
  5. package/src/components/VabUpload/view.vue +22 -6
  6. package/src/components/advancedSearchDialog/mixins.js +1 -1
  7. package/src/components/baseAttachment/index.vue +22 -13
  8. package/src/components/baseAttachment/mixins.js +248 -1
  9. package/src/components/excelExport/exportFieldDialog.vue +16 -6
  10. package/src/components/excelExport/index.js +2 -1
  11. package/src/components/excelExport/index.vue +8 -6
  12. package/src/components/excelExport/mixins.js +1 -2
  13. package/src/components/excelImport/index.vue +1 -0
  14. package/src/components/excelImport/mixins.js +1 -1
  15. package/src/components/fileLibrary/fileObjAuthDialog.vue +1 -1
  16. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +7 -1
  17. package/src/components/fileLibrary/fileObjNotifyEdit.vue +90 -68
  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 +337 -207
  24. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +33 -26
  25. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +5 -5
  26. package/src/components/fileLibrary/mixins/indexMixins.js +77 -27
  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/jsonImport/mixins.js +1 -1
  32. package/src/components/onlineTalk/index.vue +327 -5
  33. package/src/components/onlineTalk/mixins.js +1 -1
  34. package/src/components/table/CellSlot.vue +1 -0
  35. package/src/components/table/index.js +12 -10
  36. package/src/components/table/tableForm.vue +99 -63
  37. package/src/components/table/tableFormMixin.js +1 -1
  38. package/src/components/table/vxeFilter/mixin.js +1 -1
  39. package/src/components/vb-tabs/x-tabs.vue +3 -2
  40. package/src/components/wf/wf.js +1 -1
  41. package/src/components/wf/wfStartDialog.vue +1 -1
  42. package/src/components/wf/wfUtil.js +1 -1
  43. package/src/components/xform/form-designer/designer.js +1 -1
  44. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +16 -4
  45. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +5 -1
  46. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +35 -5
  47. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
  48. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +23 -7
  49. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +31 -5
  50. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +10 -5
  51. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  52. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  53. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  54. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  55. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1245 -16
  56. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +138 -6
  57. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +4 -2
  58. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  59. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  60. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  61. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +67 -3
  62. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +9 -4
  63. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +8 -2
  64. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  65. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +46 -34
  66. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  67. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +86 -0
  68. package/src/components/xform/form-designer/indexMixin.js +784 -1
  69. package/src/components/xform/form-designer/setting-panel/form-setting.vue +67 -36
  70. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  71. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  72. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  73. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +125 -0
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1051 -1042
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +643 -300
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  81. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  82. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  83. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  84. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +27 -2
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  89. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  90. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +17 -1
  91. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  92. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  93. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +30 -1
  94. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +42 -4
  95. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  96. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  97. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  98. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  99. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +177 -0
  100. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +22 -18
  101. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  102. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +170 -20
  103. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +242 -27
  104. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -0
  105. package/src/components/xform/form-designer/toolbar-panel/index.vue +4 -7
  106. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  107. package/src/components/xform/form-designer/widget-panel/indexMixin.js +276 -1
  108. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +233 -254
  109. package/src/components/xform/form-render/container-item/containerItemMixin.js +330 -1
  110. package/src/components/xform/form-render/container-item/data-table-item.vue +33 -11
  111. package/src/components/xform/form-render/container-item/data-table-mixin.js +2132 -18
  112. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  113. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  114. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  115. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  116. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  117. package/src/components/xform/form-render/indexMixin.js +1802 -1
  118. package/src/components/xform/lang/zh-CN.js +1 -1
  119. package/src/components/xform/mixins/defaultHandle.js +1 -1
  120. package/src/components/xform/mixins/scriptHttp.js +164 -1
  121. package/src/components/xform/utils/emitter.js +4 -4
  122. package/src/components/xform/utils/util.js +1631 -1
  123. package/src/layout/components/Sidebar/default.vue +50 -6
  124. package/src/layout/components/TagsView/index.vue +0 -1
  125. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  126. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  127. package/src/layout/components/extractedCode/viewDialog.vue +192 -0
  128. package/src/mixins/selectDialog/index.js +1 -1
  129. package/src/router/modules/customer.js +15 -0
  130. package/src/store/config/index.js +1 -1
  131. package/src/store/modules/permission.js +1 -1
  132. package/src/store/modules/user.js +1 -1
  133. package/src/utils/index.js +4 -2
  134. package/src/utils/pddLog.js +103 -0
  135. package/src/utils/request.js +28 -28
  136. package/src/utils/vab.js +19 -27
  137. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  138. package/src/views/bd/setting/form_import_log/list.vue +205 -0
  139. package/src/views/bd/setting/form_script/edit1.vue +1 -1
  140. package/src/views/bd/setting/form_script/mixins/edit.js +3 -1
  141. package/src/views/bd/setting/form_script/mixins/edit1.js +1 -1
  142. package/src/views/bd/setting/form_script/mixins/list.js +1 -1
  143. package/src/views/bd/setting/form_script/mixins/list1.js +14 -14
  144. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  145. package/src/views/bd/setting/form_template/edit.vue +9 -1
  146. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  147. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  148. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  149. package/src/views/bd/setting/form_template/mixins/list.js +25 -22
  150. package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -0
  151. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  152. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  153. package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
  154. package/src/views/bd/setting/table_model/edit.vue +832 -426
  155. package/src/views/bd/setting/table_model/mixins/edit.js +1098 -13
  156. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  157. package/src/views/user/area/dialog.vue +21 -9
  158. package/src/views/user/bill_setting/edit.vue +1 -1
  159. package/src/views/user/bill_setting/list.vue +1 -1
  160. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  161. package/src/views/user/common_attribute/list.vue +1 -1
  162. package/src/views/user/common_script/edit.vue +1 -1
  163. package/src/views/user/common_script/list.vue +1 -1
  164. package/src/views/user/company_info/dialog.vue +164 -154
  165. package/src/views/user/company_info/edit.vue +1 -1
  166. package/src/views/user/extend_datasource/dialog.vue +1 -0
  167. package/src/views/user/extend_datasource/edit.vue +3 -0
  168. package/src/views/user/extend_datasource/list.vue +2 -1
  169. package/src/views/user/file_type/edit.vue +30 -1
  170. package/src/views/user/file_type/list.vue +28 -0
  171. package/src/views/user/form/vform/designer.vue +772 -749
  172. package/src/views/user/form/view/list.vue +27 -9
  173. package/src/views/user/groups/edit.vue +2 -0
  174. package/src/views/user/groups/list.vue +1 -0
  175. package/src/views/user/home/default.vue +1007 -979
  176. package/src/views/user/home/dev.vue +29 -0
  177. package/src/views/user/home/index.vue +16 -6
  178. package/src/views/user/login/default.vue +4 -2
  179. package/src/views/user/login/index2.vue +131 -0
  180. package/src/views/user/notify_message/dialog.vue +1 -1
  181. package/src/views/user/notify_template/edit.vue +188 -187
  182. package/src/views/user/notify_template/edit2.vue +176 -0
  183. package/src/views/user/notify_template/list.vue +4 -1
  184. package/src/views/user/notify_template/list2.vue +190 -0
  185. package/src/views/user/outLink/form_view.vue +39 -12
  186. package/src/views/user/outLink/index.vue +17 -0
  187. package/src/views/user/outLink/view.vue +39 -13
  188. package/src/views/user/position/list.vue +4 -4
  189. package/src/views/user/push_setting/list.vue +2 -2
  190. package/src/views/user/role/dialog.vue +1 -1
  191. package/src/views/user/role/list.vue +4 -4
  192. package/src/views/user/sale_org/dialog.vue +1 -1
  193. package/src/views/user/user/dialog.vue +1 -1
  194. package/src/views/user/user/edit.vue +9 -9
  195. package/src/views/user/user/form_edit.vue +63 -2
  196. package/src/views/user/user/form_info.vue +210 -0
  197. package/src/views/user/user/form_list.vue +1 -0
  198. package/src/views/user/user/list.vue +4 -4
  199. package/src/views/user/wf/wf_manage/list.vue +1 -1
  200. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  201. package/src/views/user/wf/wf_obj_config/list.vue +1 -13
  202. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
@@ -11,9 +11,9 @@
11
11
  :style="{display: field.options.displayStyle}">{{ getI18nLabel(item.label) }}</el-radio-button>
12
12
  </template>
13
13
  <template v-else>
14
- <el-radio v-for="(item, index) in field.options.optionItems" :key="index" :label="item.value"
14
+ <el-radio v-for="(item, index) in field.options.optionItems" :key="index" :label="item[valueField]"
15
15
  :disabled="item.disabled" :border="field.options.border"
16
- :style="{display: field.options.displayStyle}">{{ getI18nLabel(item.label) }}</el-radio>
16
+ :style="{display: field.options.displayStyle}">{{ getI18nLabel(item[labelField]) }}</el-radio>
17
17
  </template>
18
18
  </el-radio-group>
19
19
  </form-item-wrapper>
@@ -67,7 +67,12 @@
67
67
  }
68
68
  },
69
69
  computed: {
70
-
70
+ labelField(){
71
+ return this.field.options.labelKey || "label";
72
+ },
73
+ valueField(){
74
+ return this.field.options.valueKey || "value";
75
+ },
71
76
  },
72
77
  beforeCreate() {
73
78
  /* 这里不能访问方法和属性!! */
@@ -78,8 +83,8 @@
78
83
  /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
79
84
  需要在父组件created中初始化!! */
80
85
  this.handleCreatedEnterEvent();
81
- this.initOptionItems()
82
86
  this.initFieldModel()
87
+ this.initOptionItems()
83
88
  this.registerToRefList()
84
89
  this.initEventHandler()
85
90
  this.buildFieldRules()
@@ -18,8 +18,8 @@
18
18
  @change="handleChangeEvent"
19
19
  :style="'width:'+field.options.widgetWidth+' !important;'"
20
20
  :class="{'custom-width':field.options.widgetWidth!=null}">
21
- <el-option v-for="item in field.options.optionItems" :key="item.value" :label="getI18nLabel(item.label)"
22
- :value="item.value" :disabled="item.disabled">
21
+ <el-option v-for="item in field.options.optionItems" :key="item[valueField]" :label="getI18nLabel(item[labelField])"
22
+ :value="item[valueField]" :disabled="item.disabled">
23
23
  </el-option>
24
24
  </el-select>
25
25
  <span v-else>{{ fieldModelLabel }}</span>
@@ -73,6 +73,12 @@ export default {
73
73
  }
74
74
  },
75
75
  computed: {
76
+ labelField(){
77
+ return this.field.options.labelKey || "label";
78
+ },
79
+ valueField(){
80
+ return this.field.options.valueKey || "value";
81
+ },
76
82
  allowDefaultFirstOption() {
77
83
  return (!!this.field.options.filterable && !!this.field.options.allowCreate)
78
84
  },
@@ -76,7 +76,12 @@ export default {
76
76
  if (this.designState) {
77
77
  return
78
78
  }
79
- let opt = {title: this.field.options.exportFileName || null, targetRef: this.field.options.tableRef || null};
79
+ let opt = {
80
+ title: this.field.options.exportFileName || null,
81
+ targetRef: this.field.options.tableRef || null,
82
+ pageSize: (this.field.options.exportPageSize || null),
83
+ showImageAtTable: this.field.options.showImageAtTable || null
84
+ };
80
85
  let tableExportParam = this.handleCustomEvent(this.field.options.tableExportParam);
81
86
  let options = {...opt, ...tableExportParam, type: type};
82
87
  let tableRef = options?.targetRef;
@@ -1,20 +1,29 @@
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" :sub-form-row-id="subFormRowId">
5
- <span>{{fieldModel}}</span>
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
+ >
14
+ <span>{{ showVaule }}</span>
6
15
  </form-item-wrapper>
7
16
  </template>
8
17
 
9
18
  <script>
10
- import FormItemWrapper from './form-item-wrapper'
11
- import emitter from '../../../../../components/xform/utils/emitter'
19
+ import FormItemWrapper from "./form-item-wrapper";
20
+ import emitter from "../../../../../components/xform/utils/emitter";
12
21
  import i18n from "../../../../../components/xform/utils/i18n";
13
22
  import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
14
23
 
15
24
  export default {
16
25
  name: "text-widget",
17
- componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
26
+ componentName: "FieldWidget", //必须固定为FieldWidget,用于接收父级组件的broadcast事件
18
27
  mixins: [emitter, fieldMixin, i18n],
19
28
  props: {
20
29
  field: Object,
@@ -25,37 +34,40 @@ export default {
25
34
 
26
35
  designState: {
27
36
  type: Boolean,
28
- default: false
37
+ default: false,
29
38
  },
30
39
 
31
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
32
- type: Number,
33
- default: -1
40
+ subFormRowIndex: {
41
+ /* 子表单组件行索引,从0开始计数 */ type: Number,
42
+ default: -1,
34
43
  },
35
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
36
- type: Number,
37
- default: -1
44
+ subFormColIndex: {
45
+ /* 子表单组件列索引,从0开始计数 */ type: Number,
46
+ default: -1,
38
47
  },
39
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
40
- type: String,
41
- default: ''
48
+ subFormRowId: {
49
+ /* 子表单组件行Id,唯一id且不可变 */ type: String,
50
+ default: "",
42
51
  },
43
-
44
52
  },
45
53
  components: {
46
54
  FormItemWrapper,
47
55
  },
48
- inject: ['refList', 'globalOptionData', 'globalModel'],
56
+ inject: ["refList", "globalOptionData", "globalModel"],
49
57
  data() {
50
58
  return {
51
59
  oldFieldValue: null, //field组件change之前的值
52
60
  fieldModel: null,
53
61
  rules: [],
54
- }
62
+ };
55
63
  },
56
64
  computed: {
57
-
58
-
65
+ showVaule() {
66
+ let value = !this.field.options.autoValueEnabled
67
+ ? this.fieldModel
68
+ : this.handleCustomEvent(this.field.options.autoValueHanlde);
69
+ return value;
70
+ },
59
71
  },
60
72
  beforeCreate() {
61
73
  /* 这里不能访问方法和属性!! */
@@ -64,29 +76,29 @@ export default {
64
76
  created() {
65
77
  /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
66
78
  需要在父组件created中初始化!! */
67
- this.initFieldModel()
68
- this.registerToRefList()
69
- this.initEventHandler()
70
- this.buildFieldRules()
79
+ this.initFieldModel();
80
+ this.registerToRefList();
81
+ this.initEventHandler();
82
+ this.buildFieldRules();
71
83
 
72
- this.handleOnCreated()
84
+ this.handleOnCreated();
73
85
  },
74
86
 
75
87
  mounted() {
76
- this.handleOnMounted()
88
+ this.handleOnMounted();
77
89
  },
78
90
 
79
91
  beforeDestroy() {
80
- this.unregisterFromRefList()
92
+ this.unregisterFromRefList();
81
93
  },
82
94
 
83
- methods: {
84
-
85
- }
86
- }
95
+ methods: {},
96
+ };
87
97
  </script>
88
98
 
89
99
  <style lang="scss" scoped>
90
100
  @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
91
- ::v-deep .el-form-item{min-height: 34px;}
101
+ ::v-deep .el-form-item {
102
+ min-height: 34px;
103
+ }
92
104
  </style>
@@ -57,8 +57,8 @@
57
57
  inject: ['refList', 'globalOptionData', 'globalModel'],
58
58
  data() {
59
59
  return {
60
- oldFieldValue: null, //field组件change之前的值
61
- fieldModel: null,
60
+ oldFieldValue: [], //field组件change之前的值
61
+ fieldModel: [],
62
62
  rules: [],
63
63
  }
64
64
  },
@@ -16,6 +16,13 @@
16
16
  :limit.sync="limit"
17
17
  resultType="Array"
18
18
  :edit="!field.options.disabled"
19
+ @callback="submitFile"
20
+ :hideInfo="field.options.hideFileInfo"
21
+ :hideName="field.options.hideFileName"
22
+ :showSize="!!field.options.showFileSize"
23
+ :createBy="!!field.options.showFileCreateBy"
24
+ :createDate="!!field.options.showFileCreateDate"
25
+ :widgetSize="field.options.fileShowImageSize"
19
26
  v-else></baseUpload>
20
27
  </form-item-wrapper>
21
28
  </template>
@@ -140,10 +147,89 @@ export default {
140
147
  callback: res => {
141
148
  let rows = res.objx || [];
142
149
  this.setValue(rows)
150
+ this.handleCustomEvent(this.field.options.formScriptSuccess,['res'],[res]);
143
151
  }
144
152
  });
145
153
  }
146
154
  },
155
+ submitFile(rows, fileInfos) {
156
+ // this.handlLineCode(fileInfos);
157
+ let eventParamNames = ['attachments', 'fileInfos'];
158
+ let eventParamValues = [rows, fileInfos];
159
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
160
+ },
161
+ /*handlLineCode(fileInfos) {
162
+ let allPromise = [];
163
+ fileInfos.forEach(async fileInfo => {
164
+ await this.processFile(fileInfo.file, (lineCode) => {
165
+ fileInfo.lineCode = lineCode;
166
+ })
167
+ })
168
+
169
+ },
170
+ processFile(file, callback) {
171
+ return new Promise((resolve, reject) => {
172
+ const reader = new FileReader();
173
+ reader.onload = (e) => this.processImage(e.target.result, (lineCode) => {
174
+ resolve(lineCode)
175
+ callback(lineCode)
176
+ });
177
+ reader.onerror = () => {
178
+ resolve(null)
179
+ callback(null)
180
+ this.setError('文件读取失败')
181
+ };
182
+ reader.readAsDataURL(file);
183
+ })
184
+ },
185
+ async processImage(base64, callback) {
186
+ try {
187
+ // 使用 ZXing 3.x 的 API
188
+ const result = await decode(base64, (result, err) => {
189
+ if (err) {
190
+ this.handleError(`条码识别失败: ${err}`);
191
+ callback && callback(null)
192
+ return;
193
+ }
194
+ this.scannedText = result.text;
195
+ this.loading = false;
196
+ callback && callback(result.text)
197
+ });
198
+ } catch (err) {
199
+ console.error(err);
200
+ callback && callback(null)
201
+ this.handleError(`条码识别失败: ${err.message}`);
202
+ }
203
+ },
204
+ handleLineCode(fileInfos) {
205
+ fileInfos.forEach(fileInfo => {
206
+ let file = fileInfo.file;
207
+ })
208
+ },
209
+ handleImage(base64, fileName, callback) {
210
+ // 创建 ZXing Scanner
211
+
212
+
213
+ // 将 Base64 转换为 ImageLuminanceSource
214
+ // const imageData = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
215
+ // const source = new ZXing.ImageLuminanceSource(imageData, base64.length);
216
+
217
+ decode(base64, (result, err) => {
218
+ if (err) {
219
+ this.handleError(`条码识别失败: ${err}`);
220
+ callback && callback(null)
221
+ return;
222
+ }
223
+ this.scannedText = result.text;
224
+ this.loading = false;
225
+ callback && callback(result.text)
226
+ });
227
+ },
228
+
229
+ handleError(errorMessage) {
230
+ this.error = errorMessage;
231
+ this.loading = false;
232
+ },*/
147
233
  }
148
234
  }
149
235
  </script>