cloud-web-corejs 1.0.54-dev.15 → 1.0.54-dev.151

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 (200) 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 +4 -3
  6. package/src/components/advancedSearchDialog/mixins.js +1 -1
  7. package/src/components/baseAttachment/index.vue +20 -11
  8. package/src/components/baseAttachment/mixins.js +249 -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 -735
  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 +7 -3
  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 +11 -2
  49. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +32 -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 +4 -2
  57. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  58. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  59. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  60. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +67 -3
  61. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +9 -4
  62. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +8 -2
  63. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  64. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +46 -34
  65. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
  66. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +80 -0
  67. package/src/components/xform/form-designer/indexMixin.js +785 -1
  68. package/src/components/xform/form-designer/setting-panel/form-setting.vue +67 -36
  69. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  70. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  71. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  72. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  73. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +127 -0
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1051 -1042
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +628 -300
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  81. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  82. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  83. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +27 -2
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  89. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +3 -0
  90. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  91. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  92. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +42 -4
  93. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  94. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  95. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  96. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  97. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +177 -0
  98. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +22 -18
  99. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  100. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +1 -1
  101. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +242 -27
  102. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -0
  103. package/src/components/xform/form-designer/toolbar-panel/index.vue +4 -7
  104. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  105. package/src/components/xform/form-designer/widget-panel/indexMixin.js +276 -1
  106. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +184 -148
  107. package/src/components/xform/form-render/container-item/containerItemMixin.js +330 -1
  108. package/src/components/xform/form-render/container-item/data-table-item.vue +33 -11
  109. package/src/components/xform/form-render/container-item/data-table-mixin.js +2127 -18
  110. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  111. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  112. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  113. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  114. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  115. package/src/components/xform/form-render/indexMixin.js +1802 -1
  116. package/src/components/xform/lang/zh-CN.js +1 -1
  117. package/src/components/xform/mixins/defaultHandle.js +1 -1
  118. package/src/components/xform/mixins/scriptHttp.js +129 -1
  119. package/src/components/xform/utils/emitter.js +4 -4
  120. package/src/components/xform/utils/util.js +1 -1
  121. package/src/layout/components/Sidebar/default.vue +50 -6
  122. package/src/layout/components/TagsView/index.vue +0 -1
  123. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  124. package/src/layout/components/extractedCode/queryDialog.vue +96 -0
  125. package/src/layout/components/extractedCode/viewDialog.vue +192 -0
  126. package/src/mixins/selectDialog/index.js +1 -1
  127. package/src/router/modules/customer.js +15 -0
  128. package/src/store/config/index.js +1 -1
  129. package/src/store/modules/permission.js +1 -1
  130. package/src/store/modules/user.js +1 -1
  131. package/src/utils/index.js +4 -2
  132. package/src/utils/pddLog.js +103 -0
  133. package/src/utils/request.js +28 -28
  134. package/src/utils/vab.js +19 -27
  135. package/src/views/bd/setting/form_import_log/edit.vue +127 -0
  136. package/src/views/bd/setting/form_import_log/list.vue +205 -0
  137. package/src/views/bd/setting/form_script/edit1.vue +1 -1
  138. package/src/views/bd/setting/form_script/mixins/edit.js +3 -1
  139. package/src/views/bd/setting/form_script/mixins/edit1.js +1 -1
  140. package/src/views/bd/setting/form_script/mixins/list.js +1 -1
  141. package/src/views/bd/setting/form_script/mixins/list1.js +14 -14
  142. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  143. package/src/views/bd/setting/form_template/edit.vue +9 -1
  144. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  145. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  146. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  147. package/src/views/bd/setting/form_template/mixins/list.js +25 -22
  148. package/src/views/bd/setting/form_template/mixins/wf_list.js +12 -0
  149. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  150. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  151. package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
  152. package/src/views/bd/setting/table_model/edit.vue +824 -426
  153. package/src/views/bd/setting/table_model/mixins/edit.js +1047 -13
  154. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  155. package/src/views/user/area/dialog.vue +21 -9
  156. package/src/views/user/bill_setting/edit.vue +1 -1
  157. package/src/views/user/bill_setting/list.vue +1 -1
  158. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  159. package/src/views/user/common_attribute/list.vue +1 -1
  160. package/src/views/user/common_script/edit.vue +1 -1
  161. package/src/views/user/common_script/list.vue +1 -1
  162. package/src/views/user/company_info/dialog.vue +164 -154
  163. package/src/views/user/company_info/edit.vue +1 -1
  164. package/src/views/user/extend_datasource/dialog.vue +1 -0
  165. package/src/views/user/extend_datasource/edit.vue +3 -0
  166. package/src/views/user/extend_datasource/list.vue +2 -1
  167. package/src/views/user/file_type/edit.vue +30 -1
  168. package/src/views/user/file_type/list.vue +28 -0
  169. package/src/views/user/form/vform/designer.vue +772 -749
  170. package/src/views/user/form/view/list.vue +27 -9
  171. package/src/views/user/groups/edit.vue +2 -0
  172. package/src/views/user/groups/list.vue +1 -0
  173. package/src/views/user/home/default.vue +1007 -979
  174. package/src/views/user/home/dev.vue +29 -0
  175. package/src/views/user/home/index.vue +16 -6
  176. package/src/views/user/login/default.vue +4 -2
  177. package/src/views/user/login/index2.vue +131 -0
  178. package/src/views/user/notify_message/dialog.vue +1 -1
  179. package/src/views/user/notify_template/edit.vue +188 -187
  180. package/src/views/user/notify_template/edit2.vue +176 -0
  181. package/src/views/user/notify_template/list.vue +4 -1
  182. package/src/views/user/notify_template/list2.vue +190 -0
  183. package/src/views/user/outLink/form_view.vue +39 -12
  184. package/src/views/user/outLink/index.vue +17 -0
  185. package/src/views/user/outLink/view.vue +39 -13
  186. package/src/views/user/position/list.vue +4 -4
  187. package/src/views/user/push_setting/list.vue +2 -2
  188. package/src/views/user/role/dialog.vue +1 -1
  189. package/src/views/user/role/list.vue +4 -4
  190. package/src/views/user/sale_org/dialog.vue +1 -1
  191. package/src/views/user/user/dialog.vue +1 -1
  192. package/src/views/user/user/edit.vue +9 -9
  193. package/src/views/user/user/form_edit.vue +63 -2
  194. package/src/views/user/user/form_info.vue +210 -0
  195. package/src/views/user/user/form_list.vue +1 -0
  196. package/src/views/user/user/list.vue +3 -3
  197. package/src/views/user/wf/wf_manage/list.vue +1 -1
  198. package/src/views/user/wf/wf_manage/wfContentDialog.vue +1 -1
  199. package/src/views/user/wf/wf_obj_config/list.vue +1 -13
  200. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +2 -2
@@ -9,10 +9,12 @@
9
9
  -->
10
10
 
11
11
  <template>
12
- <div class="field-wrapper" :class="{'design-time-bottom-margin': !!this.designer}">
12
+ <div class="field-wrapper" :class="{'design-time-bottom-margin': !!this.designer}" v-show="!field.options.hidden || (designState === true)">
13
13
  <div>
14
14
  <template v-if="formItemProp=='false'">
15
- <slot></slot>
15
+ <template v-if="!field.options.hidden">
16
+ <slot></slot>
17
+ </template>
16
18
  </template>
17
19
  <template v-else>
18
20
  <el-form-item v-if="!!field.formItemFlag && (!field.options.hidden || (designState === true))"
@@ -3,7 +3,7 @@ import i18n from '../../../../../../components/xform/utils/i18n';
3
3
  import fieldMixin from '../../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin';
4
4
 
5
5
  import {deepClone} from '../../../../../../components/xform/utils/util';
6
-
6
+ import {extendDeeply} from "@base/utils/index.js";
7
7
  import {use} from 'echarts/core';
8
8
  import {CanvasRenderer} from 'echarts/renderers';
9
9
  import {BarChart} from 'echarts/charts';
@@ -53,7 +53,6 @@ modules = {
53
53
  serieClone: {},
54
54
  showChart: true,
55
55
  colors: [
56
-
57
56
  {
58
57
  type: 'linear',
59
58
  x: 0.5,
@@ -206,6 +205,9 @@ modules = {
206
205
  delete chartOptions.yAxis.data;
207
206
  }
208
207
  }
208
+ },
209
+ chartOption() {
210
+ return this.field.options.echarBarOption
209
211
  }
210
212
  },
211
213
  beforeCreate() {
@@ -220,6 +222,7 @@ modules = {
220
222
  this.initEventHandler();
221
223
 
222
224
  this.handleOnCreated();
225
+ this.initOption();
223
226
  this.serieClone = deepClone(this.field.options.echarBarOption.series[0]);
224
227
  },
225
228
 
@@ -232,6 +235,37 @@ modules = {
232
235
  },
233
236
 
234
237
  methods: {
238
+ reflush(){
239
+ this.showChart = false;
240
+ this.$nextTick(()=>{
241
+ this.showChart = true
242
+ })
243
+ },
244
+ getColors(){
245
+ let chartColors = this.field.options.echarBarOption.colors || [];
246
+ let colors = [...chartColors, ...this.colors];
247
+ return colors
248
+ },
249
+ adjustColor() {
250
+ let colors = this.getColors();
251
+ let colorsSize = colors.length;
252
+ this.field.options.echarBarOption.series.forEach((serie, index) => {
253
+ if (colorsSize > index) {
254
+ if (serie.itemStyle) {
255
+ serie.itemStyle.color = colors[index]
256
+ } else {
257
+ serie.itemStyle = {
258
+ color: colors[index]
259
+ }
260
+ }
261
+ }
262
+ })
263
+ },
264
+ initOption() {
265
+ let echartConfig = this.handleCustomEvent(this.field.options.echartConfig) || {};
266
+ this.field.options.echarBarOption = extendDeeply(this.field.options.echarBarOption, echartConfig);
267
+ this.adjustColor();
268
+ },
235
269
  /*async loadData() {
236
270
  if (this.designState) {
237
271
  this.showChart = true;
@@ -364,7 +398,7 @@ modules = {
364
398
  });
365
399
  },
366
400
  setValue(rows) {
367
- this.showChart = false;
401
+ this.showChart = false;
368
402
  let serieClone = this.serieClone;
369
403
  let resDatas = rows || [];
370
404
  let axisDatas = [];
@@ -383,14 +417,18 @@ modules = {
383
417
  nameDatas.push(resData.name);
384
418
  }
385
419
  });
386
- let colors = this.colors;
420
+ let colors = this.getColors();
387
421
  let colorsSize = colors.length;
388
422
  nameDatas.forEach((nameItem, index) => {
389
423
  let serie = deepClone(serieClone);
390
424
  serie.name = nameItem;
391
- if (serie.itemStyle) {
392
- if (colorsSize > index) {
425
+ if (colorsSize > index) {
426
+ if (serie.itemStyle) {
393
427
  serie.itemStyle.color = colors[index]
428
+ } else {
429
+ serie.itemStyle = {
430
+ color: colors[index]
431
+ }
394
432
  }
395
433
  }
396
434
  let serieDatas = [];
@@ -409,9 +447,12 @@ modules = {
409
447
  let chartOptions = this.field.options.echarBarOption;
410
448
  chartOptions[this.alignField].data = axisDatas;
411
449
  chartOptions.series = newSeries;
412
- this.$nextTick(()=>{
413
- this.showChart = true;
450
+ this.$nextTick(() => {
451
+ this.showChart = true;
414
452
  })
453
+ },
454
+ getChart() {
455
+ return this.$refs.chart;
415
456
  }
416
457
  }
417
458
  };
@@ -9,6 +9,7 @@ import {CanvasRenderer} from 'echarts/renderers';
9
9
  import {LineChart} 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, LineChart, TitleComponent, TooltipComponent, LegendComponent]);
14
15
  let modules = {};
@@ -52,87 +53,8 @@ modules = {
52
53
  requestAccesses: [],
53
54
  requestAccess: null,
54
55
  serieClone: {},
55
- showChart:true,
56
- colors: [
57
-
58
- {
59
- type: 'linear',
60
- x: 0.5,
61
- y: 0.9,
62
- r: 0.2,
63
- colorStops: [{
64
- offset: 1, color: '#08C084' // 0% 处的颜色
65
- }, {
66
- offset: 0, color: '#97EACE' // 100% 处的颜色
67
- }],
68
- },
69
- {
70
- type: 'linear',
71
- x: 0.5,
72
- y: 0.9,
73
- r: 0.2,
74
- colorStops: [{
75
- offset: 1, color: '#29ABE3' // 0% 处的颜色
76
- }, {
77
- offset: 0, color: '#AADEF4' // 100% 处的颜色
78
- }],
79
- },
80
- {
81
- type: 'linear',
82
- x: 0.5,
83
- y: 0.9,
84
- r: 0.2,
85
- colorStops: [{
86
- offset: 1, color: '#0044FE' // 0% 处的颜色
87
- }, {
88
- offset: 0, color: '#97B3FF' // 100% 处的颜色
89
- }],
90
- },
91
- {
92
- type: 'linear',
93
- x: 0.5,
94
- y: 0.9,
95
- r: 0.2,
96
- colorStops: [{
97
- offset: 1, color: '#75018A' // 0% 处的颜色
98
- }, {
99
- offset: 0, color: '#C492CD' // 100% 处的颜色
100
- }],
101
- },
102
- {
103
- type: 'linear',
104
- x: 0.5,
105
- y: 0.9,
106
- r: 0.2,
107
- colorStops: [{
108
- offset: 1, color: '#BF0104' // 0% 处的颜色
109
- }, {
110
- offset: 0, color: '#E59697' // 100% 处的颜色
111
- }],
112
- },
113
- {
114
- type: 'linear',
115
- x: 0.5,
116
- y: 0.9,
117
- r: 0.2,
118
- colorStops: [{
119
- offset: 1, color: '#FF8B01' // 0% 处的颜色
120
- }, {
121
- offset: 0, color: '#FFCF95' // 100% 处的颜色
122
- }],
123
- },
124
- {
125
- type: 'linear',
126
- x: 0.5,
127
- y: 0.9,
128
- r: 0.2,
129
- colorStops: [{
130
- offset: 1, color: '#FAFE09' // 0% 处的颜色
131
- }, {
132
- offset: 0, color: '#FCFFAF' // 100% 处的颜色
133
- }],
134
- }
135
- ]
56
+ showChart: true,
57
+ colors: []
136
58
  };
137
59
  },
138
60
  computed: {
@@ -157,6 +79,9 @@ modules = {
157
79
  return height;
158
80
  }
159
81
  return '';
82
+ },
83
+ chartOption() {
84
+ return this.field.options.echarCategoryOption
160
85
  }
161
86
  },
162
87
  beforeCreate() {
@@ -171,6 +96,7 @@ modules = {
171
96
  this.initEventHandler();
172
97
 
173
98
  this.handleOnCreated();
99
+ this.initOption();
174
100
  this.serieClone = deepClone(this.field.options.echarCategoryOption.series[0]);
175
101
  // this.loadData();
176
102
  },
@@ -184,6 +110,38 @@ modules = {
184
110
  },
185
111
 
186
112
  methods: {
113
+ getColors() {
114
+ let chartColors = this.field.options.echarCategoryOption.colors || [];
115
+ let colors = [...chartColors, ...this.colors];
116
+ return colors
117
+ },
118
+ adjustColor() {
119
+ let colors = this.getColors();
120
+ let colorsSize = colors.length;
121
+ this.field.options.echarCategoryOption.series.forEach((serie, index) => {
122
+ if (colorsSize > index) {
123
+ if (serie.lineStyle) {
124
+ serie.lineStyle.color = colors[index]
125
+ } else {
126
+ serie.lineStyle = {
127
+ color: colors[index]
128
+ }
129
+ }
130
+ if (serie.itemStyle) {
131
+ serie.itemStyle.color = colors[index]
132
+ } else {
133
+ serie.itemStyle = {
134
+ color: colors[index]
135
+ }
136
+ }
137
+ }
138
+ })
139
+ },
140
+ initOption() {
141
+ let echartConfig = this.handleCustomEvent(this.field.options.echartConfig) || {};
142
+ this.field.options.echarCategoryOption = extendDeeply(this.field.options.echarCategoryOption, echartConfig);
143
+ this.adjustColor();
144
+ },
187
145
  /*async loadData() {
188
146
  if (this.designState) {
189
147
  return;
@@ -312,7 +270,7 @@ modules = {
312
270
  });
313
271
  },
314
272
  setValue(rows) {
315
- this.showChart = false;
273
+ this.showChart = false;
316
274
  let serieClone = this.serieClone;
317
275
  let resDatas = rows || [];
318
276
  let axisDatas = [];
@@ -331,16 +289,28 @@ modules = {
331
289
  nameDatas.push(resData.name);
332
290
  }
333
291
  });
334
- let colors = this.colors;
292
+ let colors = this.getColors();
335
293
  let colorsSize = colors.length;
336
294
  nameDatas.forEach((nameItem, index) => {
337
295
  let serie = deepClone(serieClone);
338
296
  serie.name = nameItem;
339
- /*if (serie.lineStyle) {
340
- if (colorsSize > index) {
297
+ if (colorsSize > index) {
298
+ if (serie.lineStyle) {
341
299
  serie.lineStyle.color = colors[index]
300
+ } else {
301
+ serie.lineStyle = {
302
+ color: colors[index]
303
+ }
304
+ }
305
+ if (serie.itemStyle) {
306
+ serie.itemStyle.color = colors[index]
307
+ } else {
308
+ serie.itemStyle = {
309
+ color: colors[index]
310
+ }
342
311
  }
343
- }*/
312
+ }
313
+
344
314
  delete serie.lineStyle
345
315
 
346
316
  let serieDatas = [];
@@ -360,9 +330,12 @@ modules = {
360
330
  chartOptions.xAxis.data = axisDatas;
361
331
  chartOptions.series = newSeries;
362
332
 
363
- this.$nextTick(()=>{
364
- this.showChart = true;
333
+ this.$nextTick(() => {
334
+ this.showChart = true;
365
335
  })
336
+ },
337
+ getChart() {
338
+ return this.$refs.chart;
366
339
  }
367
340
  }
368
341
  };
@@ -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>
@@ -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;