cloud-web-corejs 1.0.284 → 1.0.286

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 (56) hide show
  1. package/package.json +1 -1
  2. package/src/components/VabUpload/mixins.js +126 -19
  3. package/src/components/VabUpload/view.vue +248 -209
  4. package/src/components/mobile/wf/addTaskUserdialog.vue +100 -80
  5. package/src/components/mobile/wf/content.vue +1705 -1556
  6. package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -54
  7. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  8. package/src/components/mobile/wf/selectUserDialog.vue +118 -0
  9. package/src/components/mobile/wf/setCandidateDialog.vue +69 -48
  10. package/src/components/mobile/wf/urgingDialog.vue +75 -52
  11. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  12. package/src/components/table/index.js +5 -2
  13. 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
  14. 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
  15. 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
  16. 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
  17. package/src/components/xform/form-designer/designer.js +5 -0
  18. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +1 -0
  19. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -227
  20. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -207
  21. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -136
  22. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +2 -3
  23. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +3 -3
  24. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +2 -3
  25. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +39 -1
  26. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  27. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  28. package/src/components/xform/form-designer/indexMixin.js +35 -1
  29. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +20 -9
  30. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +19 -5
  31. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  32. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  33. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +10 -0
  34. package/src/components/xform/form-designer/toolbar-panel/index.vue +6 -1
  35. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +13 -0
  36. package/src/components/xform/form-designer/widget-panel/indexMixin.js +22 -6
  37. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +58 -3
  38. package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -0
  39. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  40. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  41. package/src/components/xform/form-render/container-item/list-h5-item.vue +1917 -1700
  42. package/src/components/xform/form-render/index.vue +7 -1
  43. package/src/components/xform/form-render/indexMixin.js +42 -4
  44. package/src/components/xform/lang/en-US.js +10 -0
  45. package/src/components/xform/lang/zh-CN.js +10 -0
  46. package/src/components/xform/styles/h5.scss +2305 -0
  47. package/src/directive/append-to-body/index.js +48 -0
  48. package/src/index.js +4 -0
  49. package/src/views/bd/setting/form_template/edit.vue +25 -3
  50. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  51. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  52. package/src/views/bd/setting/form_template/list.vue +1 -0
  53. package/src/views/bd/setting/form_template/mixins/edit.js +64 -0
  54. package/src/views/bd/setting/form_template/mixins/list.js +27 -0
  55. package/src/views/user/form/vform/designer.vue +3 -1
  56. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
@@ -1,207 +1,228 @@
1
- <template>
2
- <div class="grid-cell" ref="baseTabRef"
3
- :class="[selected ? 'selected' : '', customClass]"
4
- :key="widget.id" @click.stop="selectWidget(widget)" :visible="!widget.options.hidden">
5
- <div class="h5-item">
6
- <div class="h5-title">
7
- <b>{{ widget.options.label }}</b>
8
- <div class="grid-cell">
9
- <draggable
10
- :list="widget.buttonWidgetList"
11
- v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
12
- handle=".drag-handler"
13
- @add="evt => onContainerDragAdd(evt, widget.buttonWidgetList)"
14
- @update="onContainerDragUpdate"
15
- :move="checkContainerMove"
16
- >
17
- <transition-group name="fade" tag="div" class="form-widget-list">
18
- <template v-for="(subWidget, swIdx) in widget.buttonWidgetList">
19
- <template v-if="'container' === subWidget.category">
20
- <component
21
- :is="subWidget.type + '-widget'"
22
- :widget="subWidget"
23
- :designer="designer"
24
- :key="subWidget.id"
25
- :parent-list="widget.buttonWidgetList"
26
- :index-of-parent-list="swIdx"
27
- :parent-widget="widget"
28
- ></component>
29
- </template>
30
- <template v-else>
31
- <component
32
- :is="subWidget.type + '-widget'"
33
- :field="subWidget"
34
- :designer="designer"
35
- :key="subWidget.id"
36
- :parent-list="widget.buttonWidgetList"
37
- :index-of-parent-list="swIdx"
38
- :parent-widget="widget"
39
- :design-state="true"
40
- ></component>
41
- </template>
42
- </template>
43
- </transition-group>
44
- </draggable>
45
- </div>
46
- </div>
47
- <div class="h5-form-box">
48
- <draggable
49
- :list="widget.widgetList"
50
- v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
51
- handle=".drag-handler"
52
- @add="evt => onContainerDragAdd(evt, widget.widgetList)"
53
- @update="onContainerDragUpdate"
54
- :move="checkContainerMove"
55
- >
56
- <transition-group name="fade" tag="div" class="form-widget-list">
57
- <template v-for="(subWidget, swIdx) in widget.widgetList">
58
- <template v-if="'container' === subWidget.category">
59
- <component
60
- :is="subWidget.type + '-widget'"
61
- :widget="subWidget"
62
- :designer="designer"
63
- :key="subWidget.id"
64
- :parent-list="widget.widgetList"
65
- :index-of-parent-list="swIdx"
66
- :parent-widget="widget"
67
- ></component>
68
- </template>
69
- <template v-else>
70
- <component
71
- :is="subWidget.type + '-widget'"
72
- :field="subWidget"
73
- :designer="designer"
74
- :key="subWidget.id"
75
- :parent-list="widget.widgetList"
76
- :index-of-parent-list="swIdx"
77
- :parent-widget="widget"
78
- :design-state="true"
79
- ></component>
80
- </template>
81
- </template>
82
- </transition-group>
83
- </draggable>
84
- </div>
85
- </div>
86
- <div class="grid-col-action" v-if="designer.selectedId === widget.id && widget.type === 'h5-card-pane'">
87
- <i class="el-icon-back" :title="i18nt('designer.hint.selectParentWidget')"
88
- @click.stop="selectParentWidget(widget)"></i>
89
- <i class="el-icon-top" v-if="!!parentList && (parentList.length > 1)" :title="i18nt('designer.hint.moveUpWidget')"
90
- @click.stop="moveUpWidget()"></i>
91
- <i class="el-icon-bottom" v-if="!!parentList && (parentList.length > 1)"
92
- :title="i18nt('designer.hint.moveDownWidget')"
93
- @click.stop="moveDownWidget()"></i>
94
- <i class="el-icon-copy-document" :title="i18nt('designer.hint.cloneWidget')"
95
- @click.stop="designer.cloneH5CardPanePane(widget,parentWidget)"></i>
96
- <i class="el-icon-delete" :title="i18nt('designer.hint.remove')" @click.stop="removeWidget"></i>
97
- </div>
98
- <div class="grid-col-handler" v-if="designer.selectedId === widget.id && widget.type === 'h5-card-pane'">
99
- <i>{{ i18nt('designer.widgetLabel.' + widget.type) }}</i>
100
- </div>
101
- </div>
102
- </template>
103
-
104
- <script>
105
- import Draggable from 'vuedraggable'
106
- import i18n from "../../../../../components/xform/utils/i18n";
107
- import refMixinDesign from "../../../../../components/xform/form-designer/refMixinDesign"
108
- import containerMixin from "../../../../../components/xform/form-designer/form-widget/container-widget/containerMixin";
109
- import FieldComponents from "../../../../../components/xform/form-designer/form-widget/field-widget";
110
-
111
- export default {
112
- name: "h5-card-pane-widget",
113
- componentName: "ContainerWidget",
114
- mixins: [i18n, containerMixin, refMixinDesign],
115
- inject: ['refList'],
116
- components: {
117
- Draggable,
118
- ...FieldComponents,
119
- },
120
- props: {
121
- widget: Object,
122
- parentWidget: Object,
123
- parentList: Array,
124
- indexOfParentList: Number,
125
- designer: Object,
126
- },
127
- computed: {
128
- selected() {
129
- return this.widget.id === this.designer.selectedId
130
- },
131
-
132
- customClass() {
133
- return this.widget.options.customClass || ''
134
- },
135
-
136
- },
137
- watch: {
138
- //
139
- },
140
- created() {
141
- this.initRefList()
142
- },
143
- mounted() {
144
- //
145
- },
146
- methods: {
147
- checkContainerMove(evt) {
148
- return true;
149
- }
150
- }
151
- }
152
- </script>
153
-
154
- <style lang="scss" scoped>
155
- .grid-cell {
156
- min-height: 38px;
157
- //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */
158
- padding: 3px;
159
- outline: 1px dashed #336699;
160
- position: relative;
161
-
162
- > div {
163
- height: 100%;
164
- }
165
-
166
- .form-widget-list {
167
- min-height: 50px;
168
- height: 100%;
169
- outline: 1px dashed #336699;
170
- }
171
-
172
- .grid-col-action {
173
- position: absolute;
174
- bottom: 0;
175
- right: -2px;
176
- height: 28px;
177
- line-height: 28px;
178
- background: $--color-primary;
179
- z-index: 999;
180
-
181
- i {
182
- font-size: 14px;
183
- color: #fff;
184
- margin: 0 5px;
185
- cursor: pointer;
186
- }
187
- }
188
-
189
- .grid-col-handler {
190
- position: absolute;
191
- top: -2px;
192
- left: -2px;
193
- height: 22px;
194
- line-height: 22px;
195
- background: $--color-primary;
196
- z-index: 9;
197
-
198
- i {
199
- font-size: 14px;
200
- font-style: normal;
201
- color: #fff;
202
- margin: 4px;
203
- cursor: default;
204
- }
205
- }
206
- }
207
- </style>
1
+ <template>
2
+ <div class="grid-cell" ref="baseTabRef"
3
+ :class="[selected ? 'selected' : '', customClass]"
4
+ :key="widget.id" @click.stop="selectWidget(widget)" :visible="!widget.options.hidden">
5
+ <div class="h5-item">
6
+ <div class="h5-title">
7
+ <b>{{ widget.options.label }}</b>
8
+ <!-- 投放区说明(设计器画布常驻)。标题栏这个格子收的是 buttonWidgetList,
9
+ 下面 .h5-form-box 那个收的是 widgetList,两个空框长得一模一样、
10
+ 不写清楚分不出哪个该放按钮。pointer-events:none 让它不挡拖放。 -->
11
+ <div class="grid-cell h5-area">
12
+ <span class="h5-area-hint">{{ i18nt('designer.hint.h5PaneButtonArea') }}</span>
13
+ <draggable
14
+ :list="widget.buttonWidgetList"
15
+ v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
16
+ handle=".drag-handler"
17
+ @add="evt => onContainerDragAdd(evt, widget.buttonWidgetList)"
18
+ @update="onContainerDragUpdate"
19
+ :move="checkContainerMove"
20
+ >
21
+ <transition-group name="fade" tag="div" class="form-widget-list">
22
+ <template v-for="(subWidget, swIdx) in widget.buttonWidgetList">
23
+ <template v-if="'container' === subWidget.category">
24
+ <component
25
+ :is="subWidget.type + '-widget'"
26
+ :widget="subWidget"
27
+ :designer="designer"
28
+ :key="subWidget.id"
29
+ :parent-list="widget.buttonWidgetList"
30
+ :index-of-parent-list="swIdx"
31
+ :parent-widget="widget"
32
+ ></component>
33
+ </template>
34
+ <template v-else>
35
+ <component
36
+ :is="subWidget.type + '-widget'"
37
+ :field="subWidget"
38
+ :designer="designer"
39
+ :key="subWidget.id"
40
+ :parent-list="widget.buttonWidgetList"
41
+ :index-of-parent-list="swIdx"
42
+ :parent-widget="widget"
43
+ :design-state="true"
44
+ ></component>
45
+ </template>
46
+ </template>
47
+ </transition-group>
48
+ </draggable>
49
+ </div>
50
+ </div>
51
+ <div class="h5-form-box h5-area">
52
+ <span class="h5-area-hint">{{ i18nt('designer.hint.h5PaneFieldArea') }}</span>
53
+ <draggable
54
+ :list="widget.widgetList"
55
+ v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
56
+ handle=".drag-handler"
57
+ @add="evt => onContainerDragAdd(evt, widget.widgetList)"
58
+ @update="onContainerDragUpdate"
59
+ :move="checkContainerMove"
60
+ >
61
+ <transition-group name="fade" tag="div" class="form-widget-list">
62
+ <template v-for="(subWidget, swIdx) in widget.widgetList">
63
+ <template v-if="'container' === subWidget.category">
64
+ <component
65
+ :is="subWidget.type + '-widget'"
66
+ :widget="subWidget"
67
+ :designer="designer"
68
+ :key="subWidget.id"
69
+ :parent-list="widget.widgetList"
70
+ :index-of-parent-list="swIdx"
71
+ :parent-widget="widget"
72
+ ></component>
73
+ </template>
74
+ <template v-else>
75
+ <component
76
+ :is="subWidget.type + '-widget'"
77
+ :field="subWidget"
78
+ :designer="designer"
79
+ :key="subWidget.id"
80
+ :parent-list="widget.widgetList"
81
+ :index-of-parent-list="swIdx"
82
+ :parent-widget="widget"
83
+ :design-state="true"
84
+ ></component>
85
+ </template>
86
+ </template>
87
+ </transition-group>
88
+ </draggable>
89
+ </div>
90
+ </div>
91
+ <div class="grid-col-action" v-if="designer.selectedId === widget.id && widget.type === 'h5-card-pane'">
92
+ <i class="el-icon-back" :title="i18nt('designer.hint.selectParentWidget')"
93
+ @click.stop="selectParentWidget(widget)"></i>
94
+ <i class="el-icon-top" v-if="!!parentList && (parentList.length > 1)" :title="i18nt('designer.hint.moveUpWidget')"
95
+ @click.stop="moveUpWidget()"></i>
96
+ <i class="el-icon-bottom" v-if="!!parentList && (parentList.length > 1)"
97
+ :title="i18nt('designer.hint.moveDownWidget')"
98
+ @click.stop="moveDownWidget()"></i>
99
+ <i class="el-icon-copy-document" :title="i18nt('designer.hint.cloneWidget')"
100
+ @click.stop="designer.cloneH5CardPanePane(widget,parentWidget)"></i>
101
+ <i class="el-icon-delete" :title="i18nt('designer.hint.remove')" @click.stop="removeWidget"></i>
102
+ </div>
103
+ <div class="grid-col-handler" v-if="designer.selectedId === widget.id && widget.type === 'h5-card-pane'">
104
+ <i>{{ i18nt('designer.widgetLabel.' + widget.type) }}</i>
105
+ </div>
106
+ </div>
107
+ </template>
108
+
109
+ <script>
110
+ import Draggable from 'vuedraggable'
111
+ import i18n from "../../../../../components/xform/utils/i18n";
112
+ import refMixinDesign from "../../../../../components/xform/form-designer/refMixinDesign"
113
+ import containerMixin from "../../../../../components/xform/form-designer/form-widget/container-widget/containerMixin";
114
+ import FieldComponents from "../../../../../components/xform/form-designer/form-widget/field-widget";
115
+
116
+ export default {
117
+ name: "h5-card-pane-widget",
118
+ componentName: "ContainerWidget",
119
+ mixins: [i18n, containerMixin, refMixinDesign],
120
+ inject: ['refList'],
121
+ components: {
122
+ Draggable,
123
+ ...FieldComponents,
124
+ },
125
+ props: {
126
+ widget: Object,
127
+ parentWidget: Object,
128
+ parentList: Array,
129
+ indexOfParentList: Number,
130
+ designer: Object,
131
+ },
132
+ computed: {
133
+ selected() {
134
+ return this.widget.id === this.designer.selectedId
135
+ },
136
+
137
+ customClass() {
138
+ return this.widget.options.customClass || ''
139
+ },
140
+
141
+ },
142
+ watch: {
143
+ //
144
+ },
145
+ created() {
146
+ this.initRefList()
147
+ },
148
+ mounted() {
149
+ //
150
+ },
151
+ methods: {
152
+ checkContainerMove(evt) {
153
+ return true;
154
+ }
155
+ }
156
+ }
157
+ </script>
158
+
159
+ <style lang="scss" scoped>
160
+ /* 两个投放区的说明文字。常驻而不是「空了才出」:填上内容之后仍要看得出
161
+ 哪个格子是按钮区、哪个是字段区。
162
+ 走文档流(不用绝对定位):它就排在各自那个虚线投放框的正上方,
163
+ 一眼对得上归属;也不会盖住框里已有的组件、更不会挡住拖放。
164
+ 绝对定位那一版还要跟 style.scss 的 `.h5-detail-wrap .h5-item .h5-form-box
165
+ {padding:12px}` (0,3,0) 抢内边距 —— 与 scoped 属性选择器同分,靠加载顺序
166
+ 决胜负,不可靠。 */
167
+ .h5-area > .h5-area-hint {
168
+ display: block;
169
+ font-size: 12px;
170
+ line-height: 16px;
171
+ color: #a8abb2;
172
+ pointer-events: none;
173
+ white-space: nowrap;
174
+ }
175
+
176
+ .grid-cell {
177
+ min-height: 38px;
178
+ //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */
179
+ padding: 3px;
180
+ outline: 1px dashed #336699;
181
+ position: relative;
182
+
183
+ > div {
184
+ height: 100%;
185
+ }
186
+
187
+ .form-widget-list {
188
+ min-height: 50px;
189
+ height: 100%;
190
+ outline: 1px dashed #336699;
191
+ }
192
+
193
+ .grid-col-action {
194
+ position: absolute;
195
+ bottom: 0;
196
+ right: -2px;
197
+ height: 28px;
198
+ line-height: 28px;
199
+ background: $--color-primary;
200
+ z-index: 999;
201
+
202
+ i {
203
+ font-size: 14px;
204
+ color: #fff;
205
+ margin: 0 5px;
206
+ cursor: pointer;
207
+ }
208
+ }
209
+
210
+ .grid-col-handler {
211
+ position: absolute;
212
+ top: -2px;
213
+ left: -2px;
214
+ height: 22px;
215
+ line-height: 22px;
216
+ background: $--color-primary;
217
+ z-index: 9;
218
+
219
+ i {
220
+ font-size: 14px;
221
+ font-style: normal;
222
+ color: #fff;
223
+ margin: 4px;
224
+ cursor: default;
225
+ }
226
+ }
227
+ }
228
+ </style>