cloud-web-corejs 1.1.0-dev.11 → 1.1.0-dev.14

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 (48) hide show
  1. package/package.json +1 -1
  2. package/src/components/VabUpload/view.vue +25 -25
  3. package/src/components/excelExport/exportColumnMemory.js +118 -0
  4. package/src/components/excelExport/exportFieldDialog.vue +50 -38
  5. package/src/components/excelExport/index.js +30 -13
  6. package/src/components/excelExport/mixins.js +403 -65
  7. package/src/components/excelImport/mixins.js +898 -850
  8. package/src/components/mobile/wf/addTaskUserdialog.vue +100 -100
  9. package/src/components/mobile/wf/content.vue +4 -4
  10. package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -73
  11. package/src/components/mobile/wf/setCandidateDialog.vue +69 -69
  12. package/src/components/mobile/wf/urgingDialog.vue +75 -75
  13. package/src/components/table/index.js +14 -1
  14. package/src/components/table/vxeFilter/mixin.js +28 -18
  15. package/src/components/xform/docs/2026-07 table/344/270/216excelExport/344/277/256/345/244/215/345/217/212/345/257/274/345/207/272/344/274/230/345/214/226.md" +64 -57
  16. 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
  17. 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
  18. 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
  19. 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
  20. package/src/components/xform/docs/2026-09 /346/235/241/344/273/266/345/257/274/345/207/272/345/244/247/346/225/260/346/215/256/351/207/217/345/264/251/346/272/203/346/216/222/346/237/245.md" +389 -0
  21. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -243
  22. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -228
  23. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -165
  24. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +61 -2
  25. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +3 -0
  26. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -145
  27. package/src/components/xform/form-render/container-item/data-table-item.vue +350 -347
  28. package/src/components/xform/form-render/container-item/data-table-mixin.js +251 -37
  29. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -1
  30. package/src/components/xform/utils/dynamicSchemaUtil.js +385 -361
  31. package/src/layout/components/TagsView/index.vue +325 -323
  32. package/src/store/modules/tagsView.js +241 -217
  33. package/src/utils/importLimit.js +72 -0
  34. package/src/utils/pdfUtil.js +6 -1
  35. package/src/utils/request.js +17 -0
  36. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  37. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  38. package/src/views/demo/bizTab/bill/list.vue +288 -0
  39. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  40. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  41. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  42. package/src/views/demo/bizTab/simple/list.vue +217 -0
  43. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  44. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  45. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  46. package/src/views/demo/bizTab/wf/list.vue +242 -0
  47. package/src/views/user/home/wjl/content.vue +1569 -0
  48. package/src/views/user/outLink/cc_form_view.vue +188 -0
@@ -1,243 +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
- <!-- 投放区说明(设计器画布常驻)。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>
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>