cloud-web-corejs 1.0.54-dev.19 → 1.0.54-dev.191

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 (215) hide show
  1. package/package.json +10 -4
  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 +1 -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 +37 -6
  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 +34 -5
  50. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
  51. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +14 -6
  52. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  53. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  54. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  55. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  56. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1389 -16
  57. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +196 -6
  58. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +5 -8
  59. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +80 -0
  60. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  61. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  62. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  63. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +67 -3
  64. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +13 -5
  65. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
  66. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +12 -3
  67. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  68. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +46 -34
  69. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  70. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +4 -1
  71. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +88 -8
  72. package/src/components/xform/form-designer/indexMixin.js +866 -1
  73. package/src/components/xform/form-designer/setting-panel/form-setting.vue +67 -36
  74. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  75. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  76. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  77. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  78. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +125 -0
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1054 -1042
  81. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  82. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +812 -455
  83. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  84. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  85. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  86. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  87. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  88. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  90. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +27 -2
  91. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  92. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  93. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  94. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  95. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +19 -8
  96. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +80 -0
  97. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  98. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  99. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +30 -1
  100. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +42 -4
  101. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  102. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  103. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  104. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  105. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +177 -0
  106. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +22 -18
  107. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  108. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +216 -17
  109. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +242 -27
  110. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
  111. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +8 -0
  112. package/src/components/xform/form-designer/toolbar-panel/index.vue +4 -7
  113. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  114. package/src/components/xform/form-designer/widget-panel/indexMixin.js +277 -1
  115. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +321 -276
  116. package/src/components/xform/form-render/container-item/containerItemMixin.js +1 -1
  117. package/src/components/xform/form-render/container-item/data-table-item.vue +37 -15
  118. package/src/components/xform/form-render/container-item/data-table-mixin.js +2167 -18
  119. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  120. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  121. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  122. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  123. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  124. package/src/components/xform/form-render/indexMixin.js +2029 -1
  125. package/src/components/xform/lang/zh-CN.js +3 -2
  126. package/src/components/xform/mixins/defaultHandle.js +1 -1
  127. package/src/components/xform/mixins/scriptHttp.js +3 -1
  128. package/src/components/xform/utils/emitter.js +4 -4
  129. package/src/components/xform/utils/util.js +1 -1
  130. package/src/layout/components/Sidebar/default.vue +50 -6
  131. package/src/layout/components/TagsView/index.vue +0 -1
  132. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  133. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  134. package/src/layout/components/extractedCode/viewDialog.vue +192 -0
  135. package/src/mixins/selectDialog/index.js +241 -1
  136. package/src/mixins/tableTree/index.js +1 -1
  137. package/src/router/modules/customer.js +15 -0
  138. package/src/store/config/index.js +1 -1
  139. package/src/store/modules/permission.js +1 -1
  140. package/src/store/modules/settings.js +1 -1
  141. package/src/store/modules/user.js +1 -1
  142. package/src/utils/index.js +4 -2
  143. package/src/utils/pddLog.js +103 -0
  144. package/src/utils/request.js +28 -28
  145. package/src/utils/vab.js +19 -27
  146. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  147. package/src/views/bd/setting/form_import_log/list.vue +205 -0
  148. package/src/views/bd/setting/form_script/edit1.vue +1 -1
  149. package/src/views/bd/setting/form_script/mixins/edit.js +3 -1
  150. package/src/views/bd/setting/form_script/mixins/edit1.js +1 -1
  151. package/src/views/bd/setting/form_script/mixins/list.js +1 -1
  152. package/src/views/bd/setting/form_script/mixins/list1.js +14 -14
  153. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  154. package/src/views/bd/setting/form_template/edit.vue +9 -1
  155. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  156. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  157. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  158. package/src/views/bd/setting/form_template/mixins/list.js +25 -22
  159. package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -0
  160. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  161. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  162. package/src/views/bd/setting/menu_kind/list.vue +4 -0
  163. package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
  164. package/src/views/bd/setting/table_model/edit.vue +834 -426
  165. package/src/views/bd/setting/table_model/mixins/dialog.js +72 -1
  166. package/src/views/bd/setting/table_model/mixins/edit.js +1117 -13
  167. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  168. package/src/views/user/area/dialog.vue +21 -9
  169. package/src/views/user/bill_setting/edit.vue +1 -1
  170. package/src/views/user/bill_setting/list.vue +1 -1
  171. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  172. package/src/views/user/common_attribute/list.vue +1 -1
  173. package/src/views/user/common_script/edit.vue +1 -1
  174. package/src/views/user/common_script/list.vue +1 -1
  175. package/src/views/user/company_info/dialog.vue +164 -154
  176. package/src/views/user/company_info/edit.vue +1 -1
  177. package/src/views/user/extend_datasource/dialog.vue +1 -0
  178. package/src/views/user/extend_datasource/edit.vue +3 -0
  179. package/src/views/user/extend_datasource/list.vue +2 -1
  180. package/src/views/user/file_type/edit.vue +30 -1
  181. package/src/views/user/file_type/list.vue +28 -0
  182. package/src/views/user/form/vform/designer.vue +772 -749
  183. package/src/views/user/form/view/list.vue +27 -9
  184. package/src/views/user/groups/edit.vue +2 -0
  185. package/src/views/user/groups/list.vue +1 -0
  186. package/src/views/user/home/default.vue +1022 -979
  187. package/src/views/user/home/dev.vue +29 -0
  188. package/src/views/user/home/index.vue +16 -6
  189. package/src/views/user/login/default.vue +4 -2
  190. package/src/views/user/login/index2.vue +131 -0
  191. package/src/views/user/notify_message/dialog.vue +1 -1
  192. package/src/views/user/notify_template/edit.vue +188 -187
  193. package/src/views/user/notify_template/edit2.vue +176 -0
  194. package/src/views/user/notify_template/list.vue +4 -1
  195. package/src/views/user/notify_template/list2.vue +190 -0
  196. package/src/views/user/outLink/form_view.vue +39 -12
  197. package/src/views/user/outLink/index.vue +17 -0
  198. package/src/views/user/outLink/view.vue +39 -13
  199. package/src/views/user/position/list.vue +4 -4
  200. package/src/views/user/push_setting/list.vue +2 -2
  201. package/src/views/user/role/dialog.vue +1 -1
  202. package/src/views/user/role/list.vue +4 -4
  203. package/src/views/user/sale_org/dialog.vue +1 -1
  204. package/src/views/user/sale_org/list.vue +4 -1
  205. package/src/views/user/user/dialog.vue +1 -1
  206. package/src/views/user/user/edit.vue +39 -19
  207. package/src/views/user/user/form_edit.vue +63 -2
  208. package/src/views/user/user/form_info.vue +210 -0
  209. package/src/views/user/user/form_list.vue +1 -0
  210. package/src/views/user/user/list.vue +4 -4
  211. package/src/views/user/wf/wf_manage/list.vue +1 -1
  212. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  213. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  214. package/src/views/user/wf/wf_obj_config/list.vue +94 -8
  215. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
@@ -9,6 +9,7 @@ import {CanvasRenderer} from 'echarts/renderers';
9
9
  import {PieChart} from 'echarts/charts';
10
10
  import {TitleComponent, TooltipComponent, LegendComponent} from 'echarts/components';
11
11
  import {THEME_KEY} from 'vue-echarts';
12
+ import {extendDeeply} from "@base/utils/index.js";
12
13
 
13
14
  use([CanvasRenderer, PieChart, TitleComponent, TooltipComponent, LegendComponent]);
14
15
 
@@ -53,6 +54,7 @@ modules = {
53
54
  requestAccess: null,
54
55
  serieClone: {},
55
56
  showChart: true,
57
+ colors:[]
56
58
  };
57
59
  },
58
60
  computed: {
@@ -77,6 +79,9 @@ modules = {
77
79
  return height;
78
80
  }
79
81
  return '';
82
+ },
83
+ chartOption() {
84
+ return this.field.options.echarPieOption
80
85
  }
81
86
  },
82
87
  beforeCreate() {
@@ -91,6 +96,7 @@ modules = {
91
96
  this.initEventHandler();
92
97
 
93
98
  this.handleOnCreated();
99
+ this.initOption();
94
100
  this.serieClone = deepClone(this.field.options.echarPieOption.series[0]);
95
101
  // this.loadData();
96
102
  },
@@ -104,6 +110,10 @@ modules = {
104
110
  },
105
111
 
106
112
  methods: {
113
+ initOption() {
114
+ let echartConfig = this.handleCustomEvent(this.field.options.echartConfig) || {};
115
+ this.field.options.echarPieOption = extendDeeply(this.field.options.echarPieOption, echartConfig);
116
+ },
107
117
  /*async loadData() {
108
118
  if (this.designState) {
109
119
  return;
@@ -188,6 +198,9 @@ modules = {
188
198
  this.$nextTick(() => {
189
199
  this.showChart = true;
190
200
  })
201
+ },
202
+ getChart() {
203
+ return this.$refs.chart;
191
204
  }
192
205
  }
193
206
  };
@@ -4,7 +4,21 @@
4
4
  :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
5
  :sub-form-row-id="subFormRowId">
6
6
  <el-button icon="el-icon-plus" type="warning" class="el-button-tag" v-if="designState"></el-button>
7
- <projectTagView v-else v-model="fieldModel" :readonly="field.options.readonly"></projectTagView>
7
+ <div v-else>
8
+ <el-tag
9
+ v-for="(tag,index) in fieldModel"
10
+ :key="index"
11
+ type="warning"
12
+ :disable-transitions="false"
13
+ :closable="!field.options.disabled && field.options.tabDeleteEnabled"
14
+ @close="deleteCallback(index)"
15
+ >
16
+ {{ tag[field.options.tagLabelField] }}
17
+ </el-tag>
18
+ <el-button icon="el-icon-plus" type="warning" class="el-button-tag" @click="openProjectTagDialog"
19
+ v-if="!field.options.disabled"></el-button>
20
+ </div>
21
+
8
22
  </form-item-wrapper>
9
23
  </template>
10
24
 
@@ -13,7 +27,6 @@ import FormItemWrapper from './form-item-wrapper'
13
27
  import emitter from '../../../../../components/xform/utils/emitter'
14
28
  import i18n from "../../../../../components/xform/utils/i18n";
15
29
  import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
16
- import projectTagView from "../../../../../components/projectTag/view.vue";
17
30
 
18
31
  export default {
19
32
  name: "project-tag-widget",
@@ -45,7 +58,6 @@ export default {
45
58
  }
46
59
  },
47
60
  components: {
48
- projectTagView,
49
61
  FormItemWrapper,
50
62
  },
51
63
  inject: ['refList', 'globalOptionData', 'globalModel', 'getFormConfig'],
@@ -124,6 +136,58 @@ export default {
124
136
  });
125
137
 
126
138
  },
139
+ openProjectTagDialog() {
140
+ if (this.field.options.onClick) {
141
+ this.handleCustomEvent(this.field.options.onClick);
142
+ return
143
+ }
144
+ let formCode = this.field.options.tagFormCode;
145
+ let tagLabelField = this.field.options.tagLabelField;
146
+ let tagUniqueField = this.field.options.tagUniqueField;
147
+ let tagFormLabelField = this.field.options.tagFormLabelField;
148
+ let tagFormUniqueField = this.field.options.tagFormUniqueField;
149
+ /*let checkRows = this.fieldModel.map(item => {
150
+ return {
151
+ [tagFormUniqueField]: item[tagUniqueField] ?? null,
152
+ [tagFormLabelField]: item[tagLabelField] ?? null,
153
+ }
154
+ })*/
155
+ let tagFormParam = this.handleCustomEvent(this.field.options.tagFormParam)
156
+ this.getFormRef().openSearchDialog({
157
+ formCode,
158
+ param: tagFormParam,
159
+ // rows: checkRows,
160
+ multiple: true,
161
+ confirm: (rows) => {
162
+ if (!this.field.options.tagConfirmCallback) {
163
+ let tagFillConfig = this.field.options.tagFillConfig || [];
164
+ let items = rows.map(item => {
165
+ let newData = {
166
+ [tagUniqueField]: item[tagFormUniqueField],
167
+ [tagLabelField]: item[tagFormLabelField],
168
+ }
169
+ tagFillConfig.forEach(item1 => {
170
+ newData[item1.targetField] = item[item1.sourceField]
171
+ })
172
+ return newData
173
+ });
174
+ this.addTagData(items);
175
+ } else {
176
+ this.handleCustomEvent(this.field.options.tagConfirmCallback, ['rows'], [rows])
177
+ }
178
+ }
179
+ });
180
+ },
181
+ addTagData(rows) {
182
+ let tagUniqueField = this.field.options.tagUniqueField;
183
+ let keys = this.fieldModel.map(item => item[tagUniqueField]);
184
+ let items = rows.filter(item => !keys.includes(item[tagUniqueField]))
185
+ this.fieldModel.push(...items);
186
+ },
187
+ deleteCallback(index) {
188
+ this.fieldModel.splice(index, 1)
189
+ this.handleCustomEvent(this.field.options.tagDeleteCallback)
190
+ }
127
191
  }
128
192
  }
129
193
  </script>
@@ -6,14 +6,14 @@
6
6
  :disabled="field.options.disabled" :size="field.options.size"
7
7
  @change="handleChangeEvent">
8
8
  <template v-if="!!field.options.buttonStyle">
9
- <el-radio-button v-for="(item, index) in field.options.optionItems" :key="index" :label="item.value"
9
+ <el-radio-button v-for="(item, index) in optionItems" :key="index" :label="item.value"
10
10
  :disabled="item.disabled" :border="field.options.border"
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 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,15 @@
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
+ },
76
+ optionItems(){
77
+ return this.getOptionItems();
78
+ }
71
79
  },
72
80
  beforeCreate() {
73
81
  /* 这里不能访问方法和属性!! */
@@ -78,8 +86,8 @@
78
86
  /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
79
87
  需要在父组件created中初始化!! */
80
88
  this.handleCreatedEnterEvent();
81
- this.initOptionItems()
82
89
  this.initFieldModel()
90
+ this.initOptionItemsHandle()
83
91
  this.registerToRefList()
84
92
  this.initEventHandler()
85
93
  this.buildFieldRules()
@@ -5,7 +5,7 @@
5
5
  :index-of-parent-list="indexOfParentList"
6
6
  :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
7
7
  :sub-form-row-id="subFormRowId">
8
- <el-button class="button-sty" @click="handleButtonWidgetClick" icon="el-icon-search">
8
+ <el-button class="button-sty" @click="handleButtonWidgetClick" icon="el-icon-search" :disabled="!designState &&field.options.disabled">
9
9
  {{ field.options.label }}
10
10
  </el-button>
11
11
  </static-content-wrapper>
@@ -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,index) in optionItems" :key="index" :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
  },
@@ -81,6 +87,9 @@ export default {
81
87
  let optionItems = this.field.options.optionItems;
82
88
  let optionItem = optionItems.find(item => item.value === fieldModel)
83
89
  return optionItem && optionItem.label ? optionItem.label : null;
90
+ },
91
+ optionItems(){
92
+ return this.getOptionItems();
84
93
  }
85
94
 
86
95
  },
@@ -99,7 +108,7 @@ export default {
99
108
  this.buildFieldRules()
100
109
 
101
110
  this.handleOnCreated()
102
- this.initOptionItems()
111
+ this.initOptionItemsHandle()
103
112
  },
104
113
 
105
114
  mounted() {
@@ -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
  },
@@ -192,7 +192,10 @@ export default {
192
192
  this.currentData[labelField] = val;
193
193
  }
194
194
  }
195
- }
195
+ },
196
+ fieldModelLabel() {
197
+ return this.showValue;
198
+ },
196
199
  }
197
200
  }
198
201
  </script>
@@ -12,10 +12,17 @@
12
12
  </div>
13
13
  <baseUpload accept="file" :file.sync="fieldModel" :hidePasteArea.sync="isH5"
14
14
  :uploadDialogCustomClass="isH5?'dialog-upload-h5':null" :pickPrivateProfile="false"
15
- :multi.sync="multi"
16
- :limit.sync="limit"
15
+ :multi="field.options.limit!==1"
16
+ :limit="field.options.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>
@@ -76,12 +83,6 @@ export default {
76
83
  formDataId() {
77
84
  let formRef = this.getFormRef();
78
85
  return formRef.dataId;
79
- },
80
- limit() {
81
- return this.field.options.limit ? this.field.options.limit : null;
82
- },
83
- multi() {
84
- return this.limit !== 1;
85
86
  }
86
87
  },
87
88
  beforeCreate() {
@@ -140,10 +141,89 @@ export default {
140
141
  callback: res => {
141
142
  let rows = res.objx || [];
142
143
  this.setValue(rows)
144
+ this.handleCustomEvent(this.field.options.formScriptSuccess,['res'],[res]);
145
+ }
146
+ });
147
+ }
148
+ },
149
+ submitFile(rows, fileInfos) {
150
+ // this.handlLineCode(fileInfos);
151
+ let eventParamNames = ['attachments', 'fileInfos'];
152
+ let eventParamValues = [rows, fileInfos];
153
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
154
+ },
155
+ /*handlLineCode(fileInfos) {
156
+ let allPromise = [];
157
+ fileInfos.forEach(async fileInfo => {
158
+ await this.processFile(fileInfo.file, (lineCode) => {
159
+ fileInfo.lineCode = lineCode;
160
+ })
161
+ })
162
+
163
+ },
164
+ processFile(file, callback) {
165
+ return new Promise((resolve, reject) => {
166
+ const reader = new FileReader();
167
+ reader.onload = (e) => this.processImage(e.target.result, (lineCode) => {
168
+ resolve(lineCode)
169
+ callback(lineCode)
170
+ });
171
+ reader.onerror = () => {
172
+ resolve(null)
173
+ callback(null)
174
+ this.setError('文件读取失败')
175
+ };
176
+ reader.readAsDataURL(file);
177
+ })
178
+ },
179
+ async processImage(base64, callback) {
180
+ try {
181
+ // 使用 ZXing 3.x 的 API
182
+ const result = await decode(base64, (result, err) => {
183
+ if (err) {
184
+ this.handleError(`条码识别失败: ${err}`);
185
+ callback && callback(null)
186
+ return;
143
187
  }
188
+ this.scannedText = result.text;
189
+ this.loading = false;
190
+ callback && callback(result.text)
144
191
  });
192
+ } catch (err) {
193
+ console.error(err);
194
+ callback && callback(null)
195
+ this.handleError(`条码识别失败: ${err.message}`);
145
196
  }
146
197
  },
198
+ handleLineCode(fileInfos) {
199
+ fileInfos.forEach(fileInfo => {
200
+ let file = fileInfo.file;
201
+ })
202
+ },
203
+ handleImage(base64, fileName, callback) {
204
+ // 创建 ZXing Scanner
205
+
206
+
207
+ // 将 Base64 转换为 ImageLuminanceSource
208
+ // const imageData = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
209
+ // const source = new ZXing.ImageLuminanceSource(imageData, base64.length);
210
+
211
+ decode(base64, (result, err) => {
212
+ if (err) {
213
+ this.handleError(`条码识别失败: ${err}`);
214
+ callback && callback(null)
215
+ return;
216
+ }
217
+ this.scannedText = result.text;
218
+ this.loading = false;
219
+ callback && callback(result.text)
220
+ });
221
+ },
222
+
223
+ handleError(errorMessage) {
224
+ this.error = errorMessage;
225
+ this.loading = false;
226
+ },*/
147
227
  }
148
228
  }
149
229
  </script>