cloud-web-corejs 1.0.281 → 1.1.0-dev.5

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 (161) hide show
  1. package/package.json +6 -2
  2. package/src/components/VabUpload/image-viewer.vue +442 -442
  3. package/src/components/VabUpload/index.vue +44 -2
  4. package/src/components/VabUpload/mixins.js +126 -19
  5. package/src/components/VabUpload/view.vue +247 -209
  6. package/src/components/baseTabs/mixins.js +181 -181
  7. package/src/components/bizTab/BizBillActions.vue +129 -0
  8. package/src/components/bizTab/BizTabListPage.vue +391 -0
  9. package/src/components/bizTab/README.md +378 -0
  10. package/src/components/bizTab/billTableUtil.js +48 -0
  11. package/src/components/bizTab/billValidators.js +136 -0
  12. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  13. package/src/components/bizTab/index.js +24 -0
  14. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  15. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  16. package/src/components/excelExport/mixins.js +3 -3
  17. package/src/components/mobile/statusTag/mixins.js +1 -61
  18. package/src/components/mobile/wf/content.vue +1662 -1556
  19. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  20. package/src/components/table/config.js +78 -78
  21. package/src/components/table/index.js +1276 -1276
  22. package/src/components/table/plugins/cell-area/index.js +1055 -0
  23. package/src/components/table/plugins/cell-area/index.scss +77 -0
  24. package/src/components/table/plugins/cell-area/util.js +224 -0
  25. package/src/components/table/tableForm.vue +330 -330
  26. package/src/components/table/tableFormMixin.js +318 -318
  27. package/src/components/table/vxeFilter/index.js +163 -163
  28. package/src/components/table/vxeFilter/mixin.js +316 -316
  29. package/src/components/wf/content.vue +1188 -1188
  30. package/src/components/wf/wf.js +40 -20
  31. package/src/components/wf/wfActionDropdown.vue +1 -1
  32. package/src/components/wf/wfActionItems.js +1 -1
  33. package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
  34. package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
  35. package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
  36. package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
  37. package/src/components/xform/form-designer/designer.js +15 -0
  38. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  39. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  40. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  41. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  42. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  43. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  44. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  45. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  46. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  47. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  48. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  49. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  50. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  51. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  52. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  53. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  54. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  55. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +1 -0
  56. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  57. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  58. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  59. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  60. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  61. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  62. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +19 -5
  63. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  64. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  65. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  66. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  67. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  68. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  69. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  70. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  71. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  72. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  73. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  74. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  75. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  76. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  77. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  78. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +4 -0
  79. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +59 -3
  80. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  81. package/src/components/xform/form-render/container-item/detail-h5-item.vue +183 -32
  82. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  83. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  84. package/src/components/xform/form-render/container-item/list-h5-item.vue +1688 -1700
  85. package/src/components/xform/form-render/index.vue +153 -147
  86. package/src/components/xform/form-render/indexMixin.js +12 -0
  87. package/src/components/xform/lang/en-US.js +10 -0
  88. package/src/components/xform/lang/zh-CN.js +12 -0
  89. package/src/components/xform/mixins/defaultHandle.js +707 -707
  90. package/src/components/xform/styles/h5.scss +1992 -0
  91. package/src/components/xform/utils/textMaskUtil.js +182 -179
  92. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  93. package/src/components/xform/utils/util.js +56 -11
  94. package/src/index.js +9 -4
  95. package/src/layout/components/Sidebar/default.vue +1 -1
  96. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  97. package/src/router/index.js +21 -0
  98. package/src/router/modules/customer.js +71 -14
  99. package/src/store/modules/permission.js +17 -18
  100. package/src/utils/pdfUtil.js +429 -429
  101. package/src/utils/resolveViewComponent.js +142 -16
  102. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  103. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  104. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  105. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  106. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  107. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  108. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  109. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  110. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  111. package/src/views/bd/project/common/form_script/list.vue +16 -0
  112. package/src/views/bd/project/common/form_template/list.vue +15 -0
  113. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  114. package/src/views/bd/project/core/branchContext.js +100 -0
  115. package/src/views/bd/project/core/branchPage.js +78 -0
  116. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  117. package/src/views/bd/project/core/branchScope.js +44 -0
  118. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  119. package/src/views/bd/project/core/branchSelect.vue +85 -0
  120. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  121. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  122. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  123. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  124. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  125. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  126. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  127. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  128. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  129. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  130. package/src/views/demo/bizTab/bill/list.vue +288 -0
  131. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  132. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  133. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  134. package/src/views/demo/bizTab/simple/list.vue +217 -0
  135. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  136. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  137. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  138. package/src/views/demo/bizTab/wf/list.vue +242 -0
  139. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  140. package/src/views/support/form-dialog-demo/index.vue +537 -0
  141. package/src/views/user/file_view_ins/list.vue +3 -3
  142. package/src/views/user/home/default.vue +1 -1
  143. package/src/views/user/home/default2.vue +1 -1
  144. package/src/views/user/home/index.vue +8 -6
  145. package/src/views/user/home/wjl/content.vue +1569 -0
  146. package/src/views/user/notify_message/dialog.vue +7 -5
  147. package/src/views/user/outLink/cc_form_view.vue +188 -0
  148. package/src/views/user/outLink/form_view.vue +2 -2
  149. package/src/views/user/outLink/index.vue +4 -4
  150. package/src/views/user/outLink/view.vue +3 -3
  151. package/src/views/user/role/edit.vue +632 -632
  152. package/src/views/user/role/list.vue +260 -260
  153. package/src/views/user/wf/iframe/index.vue +3 -3
  154. package/src/views/user/wf/iframe/index2.vue +3 -3
  155. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  156. package/src/views/user/wf/wf_manage/list2.vue +9 -13
  157. package/src/views/user/wf/wf_manage/wfContentDialog.vue +8 -5
  158. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  159. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  160. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  161. package/src/utils/wf.js +0 -766
@@ -1,132 +1,150 @@
1
- <template>
2
- <static-content-wrapper
3
- :designer="designer"
4
- :field="field"
5
- :design-state="designState"
6
- :display-style="field.options.displayStyle"
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
- <div class="ellipsis">
15
- <a class="a-link" :class="widgetClass" @click="handleClick">
16
- <el-tooltip
17
- :enterable="false"
18
- effect="dark"
19
- :content="label"
20
- placement="top"
21
- popper-class="tooltip-skin"
22
- :disabled="!label || field.options.disabled"
23
- >
24
- <span>
25
- <i
26
- :class="field.options.prefixIcon"
27
- v-if="!!field.options.prefixIcon"
28
- ></i>
29
- <span v-if="!!label">{{ label }}</span>
30
- <i
31
- :class="field.options.suffixIcon"
32
- v-if="!!field.options.suffixIcon"
33
- ></i>
34
- </span>
35
- </el-tooltip>
36
- </a>
37
- </div>
38
- </static-content-wrapper>
39
- </template>
40
-
41
- <script>
42
- import StaticContentWrapper from "./static-content-wrapper";
43
- import emitter from "../../../../../components/xform/utils/emitter";
44
- import i18n from "../../../../../components/xform/utils/i18n";
45
- import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
46
-
47
- export default {
48
- name: "a-link-widget",
49
- componentName: "FieldWidget", //必须固定为FieldWidget,用于接收父级组件的broadcast事件
50
- mixins: [emitter, fieldMixin, i18n],
51
- props: {
52
- field: Object,
53
- parentWidget: Object,
54
- parentList: Array,
55
- indexOfParentList: Number,
56
- designer: Object,
57
-
58
- designState: {
59
- type: Boolean,
60
- default: false,
61
- },
62
-
63
- subFormRowIndex: {
64
- /* 子表单组件行索引,从0开始计数 */ type: Number,
65
- default: -1,
66
- },
67
- subFormColIndex: {
68
- /* 子表单组件列索引,从0开始计数 */ type: Number,
69
- default: -1,
70
- },
71
- subFormRowId: {
72
- /* 子表单组件行Id,唯一id且不可变 */ type: String,
73
- default: "",
74
- },
75
- },
76
- components: {
77
- StaticContentWrapper,
78
- },
79
- computed: {
80
- label() {
81
- return this.field.options.isFormLabel
82
- ? this.getCurrentValue()
83
- : this.getI18nLabel(this.field.options.label);
84
- },
85
- widgetClass() {
86
- let list = [];
87
- let optionModel = this.field.options;
88
- if (optionModel.colorClass) list.push(optionModel.colorClass);
89
- if (optionModel.underline) list.push("underLine");
90
- if (optionModel.disabled) list.push("is-disabled");
91
- return list;
92
- },
93
- },
94
- beforeCreate() {
95
- /* 这里不能访问方法和属性!! */
96
- },
97
-
98
- created() {
99
- /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
100
- 需要在父组件created中初始化!! */
101
- this.registerToRefList();
102
- this.initEventHandler();
103
-
104
- this.handleOnCreated();
105
- },
106
-
107
- mounted() {
108
- this.handleOnMounted();
109
- },
110
-
111
- beforeDestroy() {
112
- this.unregisterFromRefList();
113
- },
114
-
115
- methods: {
116
- handleClick(e) {
117
- if (this.field.options.disabled) return;
118
- this.handleButtonWidgetClick(e);
119
- if (!this.designState && this.field.options.href) {
120
- window.open(this.field.options.href);
121
- }
122
- },
123
- },
124
- };
125
- </script>
126
-
127
- <style lang="scss" scoped>
128
- @import "~@/styles/global.scss"; //* static-content-wrapper已引入,还需要重复引入吗? *//
129
- a.is-disabled {
130
- cursor: not-allowed;
131
- }
132
- </style>
1
+ <template>
2
+ <static-content-wrapper
3
+ :designer="designer"
4
+ :field="field"
5
+ :design-state="designState"
6
+ :display-style="field.options.displayStyle"
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
+ <div class="ellipsis">
15
+ <a class="a-link" :class="widgetClass" @click="handleClick">
16
+ <el-tooltip
17
+ :enterable="false"
18
+ effect="dark"
19
+ :content="label"
20
+ placement="top"
21
+ popper-class="tooltip-skin"
22
+ :disabled="!label || field.options.disabled"
23
+ >
24
+ <span>
25
+ <i
26
+ :class="field.options.prefixIcon"
27
+ v-if="!!field.options.prefixIcon"
28
+ ></i>
29
+ <span v-if="!!label && labelTextVisible">{{ label }}</span>
30
+ <i
31
+ :class="field.options.suffixIcon"
32
+ v-if="!!field.options.suffixIcon"
33
+ ></i>
34
+ </span>
35
+ </el-tooltip>
36
+ </a>
37
+ </div>
38
+ </static-content-wrapper>
39
+ </template>
40
+
41
+ <script>
42
+ import StaticContentWrapper from "./static-content-wrapper";
43
+ import emitter from "../../../../../components/xform/utils/emitter";
44
+ import i18n from "../../../../../components/xform/utils/i18n";
45
+ import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
46
+
47
+ export default {
48
+ name: "a-link-widget",
49
+ componentName: "FieldWidget", //必须固定为FieldWidget,用于接收父级组件的broadcast事件
50
+ mixins: [emitter, fieldMixin, i18n],
51
+ props: {
52
+ field: Object,
53
+ parentWidget: Object,
54
+ parentList: Array,
55
+ indexOfParentList: Number,
56
+ designer: Object,
57
+
58
+ designState: {
59
+ type: Boolean,
60
+ default: false,
61
+ },
62
+
63
+ subFormRowIndex: {
64
+ /* 子表单组件行索引,从0开始计数 */ type: Number,
65
+ default: -1,
66
+ },
67
+ subFormColIndex: {
68
+ /* 子表单组件列索引,从0开始计数 */ type: Number,
69
+ default: -1,
70
+ },
71
+ subFormRowId: {
72
+ /* 子表单组件行Id,唯一id且不可变 */ type: String,
73
+ default: "",
74
+ },
75
+ },
76
+ components: {
77
+ StaticContentWrapper,
78
+ },
79
+ computed: {
80
+ label() {
81
+ return this.field.options.isFormLabel
82
+ ? this.getCurrentValue()
83
+ : this.getI18nLabel(this.field.options.label);
84
+ },
85
+ /**
86
+ * 名称是否画在按钮上。a-link 没有 el-form-item 标签,「隐藏字段标签」
87
+ * 只能作用于按钮文案,此前无人消费、勾了不生效(内置的删除/查看/删除树
88
+ * 节点按钮都配了 labelHidden: true + 图标,本意就是只留图标)。
89
+ *
90
+ * 两种情况仍然保留文字:
91
+ * 1. isFormLabel —— 此时按钮文字是字段值而非标签,不归 labelHidden 管;
92
+ * 2. 未配任何图标 —— 藏掉文字按钮就成了空白不可点,H5 列表编辑器对所有列
93
+ * 无条件写 labelHidden: true,存量里大量 a-link 列并没有图标。
94
+ * 隐藏后名称仍由 tooltip 给出,纯图标按钮不会失去说明。
95
+ */
96
+ labelTextVisible() {
97
+ let optionModel = this.field.options;
98
+ if (!optionModel.labelHidden || optionModel.isFormLabel) {
99
+ return true;
100
+ }
101
+ return !optionModel.prefixIcon && !optionModel.suffixIcon;
102
+ },
103
+ widgetClass() {
104
+ let list = [];
105
+ let optionModel = this.field.options;
106
+ if (optionModel.colorClass) list.push(optionModel.colorClass);
107
+ if (optionModel.underline) list.push("underLine");
108
+ if (optionModel.disabled) list.push("is-disabled");
109
+ return list;
110
+ },
111
+ },
112
+ beforeCreate() {
113
+ /* 这里不能访问方法和属性!! */
114
+ },
115
+
116
+ created() {
117
+ /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
118
+ 需要在父组件created中初始化!! */
119
+ this.registerToRefList();
120
+ this.initEventHandler();
121
+
122
+ this.handleOnCreated();
123
+ },
124
+
125
+ mounted() {
126
+ this.handleOnMounted();
127
+ },
128
+
129
+ beforeDestroy() {
130
+ this.unregisterFromRefList();
131
+ },
132
+
133
+ methods: {
134
+ handleClick(e) {
135
+ if (this.field.options.disabled) return;
136
+ this.handleButtonWidgetClick(e);
137
+ if (!this.designState && this.field.options.href) {
138
+ window.open(this.field.options.href);
139
+ }
140
+ },
141
+ },
142
+ };
143
+ </script>
144
+
145
+ <style lang="scss" scoped>
146
+ @import "~@/styles/global.scss"; //* static-content-wrapper已引入,还需要重复引入吗? *//
147
+ a.is-disabled {
148
+ cursor: not-allowed;
149
+ }
150
+ </style>
@@ -1,114 +1,114 @@
1
- <template>
2
- <form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
3
- :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
- :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
- :sub-form-row-id="subFormRowId">
6
- <el-date-picker ref="fieldEditor" :type="field.options.type" v-model="fieldModel" v-show="!isReadMode" class="full-width-input"
7
- :disabled="field.options.disabled" :readonly="field.options.readonly"
8
- :size="field.options.size"
9
- :clearable="field.options.clearable" :editable="field.options.editable"
10
- :format="field.options.format" :value-format="field.options.valueFormat"
11
- :default-time.sync="field.options.defaultTime"
12
- :start-placeholder="getI18nLabel(field.options.startPlaceholder || '起始日期')"
13
- :end-placeholder="getI18nLabel(field.options.endPlaceholder || '截止日期')"
14
- @focus="handleFocusCustomEvent" @blur="handleBlurCustomEvent"
15
- @change="handleChangeEvent">
16
- </el-date-picker>
17
- <template v-if="isReadMode">
18
- <span class="readonly-mode-field">{{contentForReadMode}}</span>
19
- </template>
20
- </form-item-wrapper>
21
- </template>
22
-
23
- <script>
24
- import FormItemWrapper from './form-item-wrapper'
25
- import emitter from '../../../../../components/xform/utils/emitter'
26
- import i18n from "../../../../../components/xform/utils/i18n";
27
- import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
28
- import utcTransformMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin";
29
- import relativeDefaultMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin";
30
-
31
- export default {
32
- name: "date-range-widget",
33
- componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
34
- mixins: [emitter, fieldMixin, i18n, utcTransformMixin, relativeDefaultMixin],
35
- props: {
36
- field: Object,
37
- parentWidget: Object,
38
- parentList: Array,
39
- indexOfParentList: Number,
40
- designer: Object,
41
-
42
- designState: {
43
- type: Boolean,
44
- default: false
45
- },
46
-
47
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
48
- type: Number,
49
- default: -1
50
- },
51
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
52
- type: Number,
53
- default: -1
54
- },
55
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
56
- type: String,
57
- default: ''
58
- },
59
-
60
- },
61
- components: {
62
- FormItemWrapper,
63
- },
64
- inject: ['refList', 'globalOptionData', 'globalModel'],
65
- data() {
66
- return {
67
- oldFieldValue: null, //field组件change之前的值
68
- fieldModel: null,
69
- rules: [],
70
- }
71
- },
72
- computed: {
73
- contentForReadMode() {
74
- if (!this.fieldModel || !this.fieldModel.length) {
75
- return '';
76
- }
77
- return this.fieldModel[0] + ' - ' + this.fieldModel[1];
78
- },
79
- },
80
- beforeCreate() {
81
- /* 这里不能访问方法和属性!! */
82
- },
83
-
84
- created() {
85
- /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
86
- 需要在父组件created中初始化!! */
87
- this.initRelativeFieldModel()
88
- this.registerToRefList()
89
- this.initEventHandler()
90
- this.buildFieldRules()
91
-
92
- this.handleOnCreated()
93
- },
94
-
95
- mounted() {
96
- this.handleOnMounted()
97
- },
98
-
99
- beforeDestroy() {
100
- this.unregisterFromRefList()
101
- },
102
-
103
- methods: {}
104
- }
105
- </script>
106
-
107
- <style lang="scss" scoped>
108
- @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
109
-
110
- .full-width-input {
111
- width: 100% !important;
112
- }
113
-
114
- </style>
1
+ <template>
2
+ <form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
3
+ :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
+ :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
+ :sub-form-row-id="subFormRowId">
6
+ <el-date-picker ref="fieldEditor" :type="field.options.type" v-model="fieldModel" v-show="!isReadMode" class="full-width-input"
7
+ :disabled="field.options.disabled" :readonly="field.options.readonly"
8
+ :size="field.options.size"
9
+ :clearable="field.options.clearable" :editable="field.options.editable"
10
+ :format="field.options.format" :value-format="field.options.valueFormat"
11
+ :default-time.sync="field.options.defaultTime"
12
+ :start-placeholder="getI18nLabel(field.options.startPlaceholder || '起始日期')"
13
+ :end-placeholder="getI18nLabel(field.options.endPlaceholder || '截止日期')"
14
+ @focus="handleFocusCustomEvent" @blur="handleBlurCustomEvent"
15
+ @change="handleChangeEvent">
16
+ </el-date-picker>
17
+ <template v-if="isReadMode">
18
+ <span class="readonly-mode-field">{{contentForReadMode}}</span>
19
+ </template>
20
+ </form-item-wrapper>
21
+ </template>
22
+
23
+ <script>
24
+ import FormItemWrapper from './form-item-wrapper'
25
+ import emitter from '../../../../../components/xform/utils/emitter'
26
+ import i18n from "../../../../../components/xform/utils/i18n";
27
+ import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
28
+ import utcTransformMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin";
29
+ import relativeDefaultMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin";
30
+
31
+ export default {
32
+ name: "date-range-widget",
33
+ componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
34
+ mixins: [emitter, fieldMixin, i18n, utcTransformMixin, relativeDefaultMixin],
35
+ props: {
36
+ field: Object,
37
+ parentWidget: Object,
38
+ parentList: Array,
39
+ indexOfParentList: Number,
40
+ designer: Object,
41
+
42
+ designState: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+
47
+ subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
48
+ type: Number,
49
+ default: -1
50
+ },
51
+ subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
52
+ type: Number,
53
+ default: -1
54
+ },
55
+ subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
56
+ type: String,
57
+ default: ''
58
+ },
59
+
60
+ },
61
+ components: {
62
+ FormItemWrapper,
63
+ },
64
+ inject: ['refList', 'globalOptionData', 'globalModel'],
65
+ data() {
66
+ return {
67
+ oldFieldValue: null, //field组件change之前的值
68
+ fieldModel: null,
69
+ rules: [],
70
+ }
71
+ },
72
+ computed: {
73
+ contentForReadMode() {
74
+ if (!this.fieldModel || !this.fieldModel.length) {
75
+ return '';
76
+ }
77
+ return this.fieldModel[0] + ' - ' + this.fieldModel[1];
78
+ },
79
+ },
80
+ beforeCreate() {
81
+ /* 这里不能访问方法和属性!! */
82
+ },
83
+
84
+ created() {
85
+ /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
86
+ 需要在父组件created中初始化!! */
87
+ this.initRelativeFieldModel()
88
+ this.registerToRefList()
89
+ this.initEventHandler()
90
+ this.buildFieldRules()
91
+
92
+ this.handleOnCreated()
93
+ },
94
+
95
+ mounted() {
96
+ this.handleOnMounted()
97
+ },
98
+
99
+ beforeDestroy() {
100
+ this.unregisterFromRefList()
101
+ },
102
+
103
+ methods: {}
104
+ }
105
+ </script>
106
+
107
+ <style lang="scss" scoped>
108
+ @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
109
+
110
+ .full-width-input {
111
+ width: 100% !important;
112
+ }
113
+
114
+ </style>