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,227 +1,243 @@
1
- <!--
2
- /**
3
- * author: vformAdmin
4
- * email: vdpadmin@163.com
5
- * website: https://www.vform666.com
6
- * date: 2021.08.18
7
- * remark: 如果要分发VForm源码,需在本文件顶部保留此文件头信息!!
8
- */
9
- -->
10
-
11
- <template>
12
- <container-wrapper :designer="designer" :widget="widget" :parent-widget="parentWidget" :parent-list="parentList"
13
- :index-of-parent-list="indexOfParentList" :class="widget.options.isFullscreen ? 'full-height':''">
14
- <div class="h5-detail-wrap grid-container" :key="widget.id"
15
- :class="{'selected': selected}" @click.stop="selectWidget(widget)">
16
- <div class="h5-header">{{ widget.options.label }}</div>
17
- <!-- <div class="h5-tab-nav">
18
- <div class="item on"><b>基本信息</b></div>
19
- <div class="item"><b>基本信息</b></div>
20
- <div class="item"><b>基本信息</b></div>
21
- </div>-->
22
- <!-- <detail-pane-widget v-for="(paneWidget, index) in widget.panes" :key="index" :widget="paneWidget" :designer="designer" :parent-list="widget.panes"
23
- :index-of-parent-list="index" :parent-widget="widget"
24
- :col-height="widget.options.colHeight" tabRef="baseTabRef" :tabPaneGrade="2"></detail-pane-widget>
25
- -->
26
- <div>
27
- <draggable
28
- :list="widget.panes"
29
- v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
30
- handle=".drag-handler"
31
- @add="evt => onContainerDragAdd(evt, widget.panes)"
32
- @update="onContainerDragUpdate"
33
- :move="checkContainerMove"
34
- >
35
- <transition-group name="fade" tag="div" class="form-widget-list">
36
- <template v-for="(subWidget, swIdx) in widget.panes">
37
- <template v-if="'container' === subWidget.category">
38
- <component
39
- :is="subWidget.type + '-widget'"
40
- :widget="subWidget"
41
- :designer="designer"
42
- :key="subWidget.id"
43
- :parent-list="widget.panes"
44
- :index-of-parent-list="swIdx"
45
- :parent-widget="widget"
46
- ></component>
47
- </template>
48
- <template v-else>
49
- <component
50
- :is="subWidget.type + '-widget'"
51
- :field="subWidget"
52
- :designer="designer"
53
- :key="subWidget.id"
54
- :parent-list="widget.panes"
55
- :index-of-parent-list="swIdx"
56
- :parent-widget="widget"
57
- :design-state="true"
58
- ></component>
59
- </template>
60
- </template>
61
- </transition-group>
62
- </draggable>
63
- </div>
64
-
65
- <div class="h5-fixed-bottom-btns " >
66
- <div class="grid-cell" :class="[selected ? 'selected' : '', customClass]" :key="widget.id" @click.stop="selectWidget(widget)" :visible="!widget.options.hidden">
67
- <draggable
68
- :list="widget.widgetList"
69
- v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
70
- handle=".drag-handler"
71
- @add="evt => onContainerDragAdd(evt, widget.widgetList)"
72
- @update="onContainerDragUpdate"
73
- :move="checkContainerMove"
74
- >
75
- <transition-group name="fade" tag="div" class="form-widget-list">
76
- <template v-for="(subWidget, swIdx) in widget.widgetList">
77
- <template v-if="'container' === subWidget.category">
78
- <component
79
- :is="subWidget.type + '-widget'"
80
- :widget="subWidget"
81
- :designer="designer"
82
- :key="subWidget.id"
83
- :parent-list="widget.widgetList"
84
- :index-of-parent-list="swIdx"
85
- :parent-widget="widget"
86
- ></component>
87
- </template>
88
- <template v-else>
89
- <component
90
- :is="subWidget.type + '-widget'"
91
- :field="subWidget"
92
- :designer="designer"
93
- :key="subWidget.id"
94
- :parent-list="widget.widgetList"
95
- :index-of-parent-list="swIdx"
96
- :parent-widget="widget"
97
- :design-state="true"
98
- ></component>
99
- </template>
100
- </template>
101
- </transition-group>
102
- </draggable>
103
- </div>
104
- </div>
105
- </div>
106
- </container-wrapper>
107
- </template>
108
-
109
- <script>
110
- import i18n from "../../../../../components/xform/utils/i18n"
111
- import containerMixin from "../../../../../components/xform/form-designer/form-widget/container-widget/containerMixin"
112
- import ContainerWrapper from "../../../../../components/xform/form-designer/form-widget/container-widget/container-wrapper"
113
- import refMixinDesign from "../../../../../components/xform/form-designer/refMixinDesign"
114
- import Draggable from 'vuedraggable'
115
- import FieldComponents from "../../../../../components/xform/form-designer/form-widget/field-widget";
116
-
117
- export default {
118
- name: "detail-h5-widget",
119
- componentName: 'ContainerWidget',
120
- mixins: [i18n, containerMixin, refMixinDesign],
121
- inject: ['refList'],
122
- components: {
123
- ContainerWrapper,
124
- Draggable,
125
- ...FieldComponents,
126
- },
127
- props: {
128
- widget: Object,
129
- parentWidget: Object,
130
- parentList: Array,
131
- indexOfParentList: Number,
132
- designer: Object,
133
- },
134
- computed: {
135
- selected() {
136
- return this.widget.id === this.designer.selectedId
137
- },
138
-
139
- customClass() {
140
- return this.widget.options.customClass || ''
141
- },
142
-
143
- },
144
- watch: {
145
- //
146
- },
147
- created() {
148
- this.initRefList()
149
- },
150
- mounted() {
151
- //
152
- },
153
- methods: {
154
- checkContainerMove(evt) {
155
- return true;
156
- }
157
- }
158
- }
159
- </script>
160
-
161
- <style lang="scss" scoped>
162
- .grid-container {
163
- min-height: 50px;
164
- //line-height: 48px;
165
- //padding: 6px;
166
- outline: 1px dashed #336699;
167
- > div{height:100%;}
168
- .form-widget-list {
169
- // min-height: 28px;
170
- height: 100%;
171
- }
172
-
173
- }
174
-
175
- .grid-container.selected, .grid-cell.selected {
176
- outline: 2px solid $--color-primary !important;
177
- }
178
-
179
- .grid-cell {
180
- min-height: 38px;
181
- //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */
182
- padding: 3px;
183
- outline: 1px dashed #336699;
184
- position: relative;
185
- > div{height:100%;}
186
- .form-widget-list {
187
- min-height: 50px;
188
- height:100%
189
- }
190
-
191
- .grid-col-action{
192
- position: absolute;
193
- bottom: 0;
194
- right: -2px;
195
- height: 28px;
196
- line-height: 28px;
197
- background: $--color-primary;
198
- z-index: 999;
199
-
200
- i {
201
- font-size: 14px;
202
- color: #fff;
203
- margin: 0 5px;
204
- cursor: pointer;
205
- }
206
- }
207
-
208
- .grid-col-handler {
209
- position: absolute;
210
- top: -2px;
211
- left: -2px;
212
- height: 22px;
213
- line-height: 22px;
214
- background: $--color-primary;
215
- z-index: 9;
216
-
217
- i {
218
- font-size: 14px;
219
- font-style: normal;
220
- color: #fff;
221
- margin: 4px;
222
- cursor: default;
223
- }
224
- }
225
- }
226
-
227
- </style>
1
+ <!--
2
+ /**
3
+ * author: vformAdmin
4
+ * email: vdpadmin@163.com
5
+ * website: https://www.vform666.com
6
+ * date: 2021.08.18
7
+ * remark: 如果要分发VForm源码,需在本文件顶部保留此文件头信息!!
8
+ */
9
+ -->
10
+
11
+ <template>
12
+ <container-wrapper :designer="designer" :widget="widget" :parent-widget="parentWidget" :parent-list="parentList"
13
+ :index-of-parent-list="indexOfParentList" :class="widget.options.isFullscreen ? 'full-height':''">
14
+ <div class="h5-detail-wrap grid-container" :key="widget.id"
15
+ :class="{'selected': selected}" @click.stop="selectWidget(widget)">
16
+ <div class="h5-header">{{ widget.options.label }}</div>
17
+ <!-- <div class="h5-tab-nav">
18
+ <div class="item on"><b>基本信息</b></div>
19
+ <div class="item"><b>基本信息</b></div>
20
+ <div class="item"><b>基本信息</b></div>
21
+ </div>-->
22
+ <!-- <detail-pane-widget v-for="(paneWidget, index) in widget.panes" :key="index" :widget="paneWidget" :designer="designer" :parent-list="widget.panes"
23
+ :index-of-parent-list="index" :parent-widget="widget"
24
+ :col-height="widget.options.colHeight" tabRef="baseTabRef" :tabPaneGrade="2"></detail-pane-widget>
25
+ -->
26
+ <!-- 投放区说明(设计器画布常驻)。H5详情有两个投放区:这里收 panes(内容区,
27
+ 装 h5卡片),下面 .h5-fixed-bottom-btns 收 widgetList(底部动作栏按钮)。
28
+ 空框长得一样,不写清楚分不出哪个是哪个。同款见 h5-card-pane-widget。 -->
29
+ <div class="h5-area">
30
+ <span class="h5-area-hint">{{ i18nt('designer.hint.h5DetailContentArea') }}</span>
31
+ <draggable
32
+ :list="widget.panes"
33
+ v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
34
+ handle=".drag-handler"
35
+ @add="evt => onContainerDragAdd(evt, widget.panes)"
36
+ @update="onContainerDragUpdate"
37
+ :move="checkContainerMove"
38
+ >
39
+ <transition-group name="fade" tag="div" class="form-widget-list">
40
+ <template v-for="(subWidget, swIdx) in widget.panes">
41
+ <template v-if="'container' === subWidget.category">
42
+ <component
43
+ :is="subWidget.type + '-widget'"
44
+ :widget="subWidget"
45
+ :designer="designer"
46
+ :key="subWidget.id"
47
+ :parent-list="widget.panes"
48
+ :index-of-parent-list="swIdx"
49
+ :parent-widget="widget"
50
+ ></component>
51
+ </template>
52
+ <template v-else>
53
+ <component
54
+ :is="subWidget.type + '-widget'"
55
+ :field="subWidget"
56
+ :designer="designer"
57
+ :key="subWidget.id"
58
+ :parent-list="widget.panes"
59
+ :index-of-parent-list="swIdx"
60
+ :parent-widget="widget"
61
+ :design-state="true"
62
+ ></component>
63
+ </template>
64
+ </template>
65
+ </transition-group>
66
+ </draggable>
67
+ </div>
68
+
69
+ <div class="h5-fixed-bottom-btns " >
70
+ <div class="grid-cell h5-area" :class="[selected ? 'selected' : '', customClass]" :key="widget.id" @click.stop="selectWidget(widget)" :visible="!widget.options.hidden">
71
+ <span class="h5-area-hint">{{ i18nt('designer.hint.h5DetailBottomArea') }}</span>
72
+ <draggable
73
+ :list="widget.widgetList"
74
+ v-bind="{ group: 'dragGroup', ghostClass: 'ghost', animation: 200 }"
75
+ handle=".drag-handler"
76
+ @add="evt => onContainerDragAdd(evt, widget.widgetList)"
77
+ @update="onContainerDragUpdate"
78
+ :move="checkContainerMove"
79
+ >
80
+ <transition-group name="fade" tag="div" class="form-widget-list">
81
+ <template v-for="(subWidget, swIdx) in widget.widgetList">
82
+ <template v-if="'container' === subWidget.category">
83
+ <component
84
+ :is="subWidget.type + '-widget'"
85
+ :widget="subWidget"
86
+ :designer="designer"
87
+ :key="subWidget.id"
88
+ :parent-list="widget.widgetList"
89
+ :index-of-parent-list="swIdx"
90
+ :parent-widget="widget"
91
+ ></component>
92
+ </template>
93
+ <template v-else>
94
+ <component
95
+ :is="subWidget.type + '-widget'"
96
+ :field="subWidget"
97
+ :designer="designer"
98
+ :key="subWidget.id"
99
+ :parent-list="widget.widgetList"
100
+ :index-of-parent-list="swIdx"
101
+ :parent-widget="widget"
102
+ :design-state="true"
103
+ ></component>
104
+ </template>
105
+ </template>
106
+ </transition-group>
107
+ </draggable>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </container-wrapper>
112
+ </template>
113
+
114
+ <script>
115
+ import i18n from "../../../../../components/xform/utils/i18n"
116
+ import containerMixin from "../../../../../components/xform/form-designer/form-widget/container-widget/containerMixin"
117
+ import ContainerWrapper from "../../../../../components/xform/form-designer/form-widget/container-widget/container-wrapper"
118
+ import refMixinDesign from "../../../../../components/xform/form-designer/refMixinDesign"
119
+ import Draggable from 'vuedraggable'
120
+ import FieldComponents from "../../../../../components/xform/form-designer/form-widget/field-widget";
121
+
122
+ export default {
123
+ name: "detail-h5-widget",
124
+ componentName: 'ContainerWidget',
125
+ mixins: [i18n, containerMixin, refMixinDesign],
126
+ inject: ['refList'],
127
+ components: {
128
+ ContainerWrapper,
129
+ Draggable,
130
+ ...FieldComponents,
131
+ },
132
+ props: {
133
+ widget: Object,
134
+ parentWidget: Object,
135
+ parentList: Array,
136
+ indexOfParentList: Number,
137
+ designer: Object,
138
+ },
139
+ computed: {
140
+ selected() {
141
+ return this.widget.id === this.designer.selectedId
142
+ },
143
+
144
+ customClass() {
145
+ return this.widget.options.customClass || ''
146
+ },
147
+
148
+ },
149
+ watch: {
150
+ //
151
+ },
152
+ created() {
153
+ this.initRefList()
154
+ },
155
+ mounted() {
156
+ //
157
+ },
158
+ methods: {
159
+ checkContainerMove(evt) {
160
+ return true;
161
+ }
162
+ }
163
+ }
164
+ </script>
165
+
166
+ <style lang="scss" scoped>
167
+ /* 两个投放区的说明文字,与 h5-card-pane-widget 同款:走文档流排在各自那个
168
+ 虚线投放框的正上方,归属一眼对得上;不盖住已有组件,也不挡拖放。 */
169
+ .h5-area > .h5-area-hint {
170
+ display: block;
171
+ font-size: 12px;
172
+ line-height: 16px;
173
+ color: #a8abb2;
174
+ pointer-events: none;
175
+ white-space: nowrap;
176
+ }
177
+
178
+ .grid-container {
179
+ min-height: 50px;
180
+ //line-height: 48px;
181
+ //padding: 6px;
182
+ outline: 1px dashed #336699;
183
+ > div{height:100%;}
184
+ .form-widget-list {
185
+ // min-height: 28px;
186
+ height: 100%;
187
+ }
188
+
189
+ }
190
+
191
+ .grid-container.selected, .grid-cell.selected {
192
+ outline: 2px solid $--color-primary !important;
193
+ }
194
+
195
+ .grid-cell {
196
+ min-height: 38px;
197
+ //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */
198
+ padding: 3px;
199
+ outline: 1px dashed #336699;
200
+ position: relative;
201
+ > div{height:100%;}
202
+ .form-widget-list {
203
+ min-height: 50px;
204
+ height:100%
205
+ }
206
+
207
+ .grid-col-action{
208
+ position: absolute;
209
+ bottom: 0;
210
+ right: -2px;
211
+ height: 28px;
212
+ line-height: 28px;
213
+ background: $--color-primary;
214
+ z-index: 999;
215
+
216
+ i {
217
+ font-size: 14px;
218
+ color: #fff;
219
+ margin: 0 5px;
220
+ cursor: pointer;
221
+ }
222
+ }
223
+
224
+ .grid-col-handler {
225
+ position: absolute;
226
+ top: -2px;
227
+ left: -2px;
228
+ height: 22px;
229
+ line-height: 22px;
230
+ background: $--color-primary;
231
+ z-index: 9;
232
+
233
+ i {
234
+ font-size: 14px;
235
+ font-style: normal;
236
+ color: #fff;
237
+ margin: 4px;
238
+ cursor: default;
239
+ }
240
+ }
241
+ }
242
+
243
+ </style>