cloud-web-corejs 1.1.0-dev.10 → 1.1.0-dev.13

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 (34) 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 +390 -64
  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 +5 -5
  10. package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -73
  11. package/src/components/mobile/wf/selectUserDialog.vue +8 -12
  12. package/src/components/mobile/wf/setCandidateDialog.vue +69 -69
  13. package/src/components/mobile/wf/urgingDialog.vue +75 -75
  14. package/src/components/table/index.js +14 -1
  15. package/src/components/table/vxeFilter/mixin.js +28 -18
  16. 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
  17. 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
  18. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -243
  19. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -228
  20. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -165
  21. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +61 -2
  22. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +3 -0
  23. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -145
  24. package/src/components/xform/form-render/container-item/data-table-item.vue +350 -347
  25. package/src/components/xform/form-render/container-item/data-table-mixin.js +240 -37
  26. package/src/components/xform/form-render/container-item/detail-h5-item.vue +1 -1
  27. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -1
  28. package/src/components/xform/styles/h5.scss +483 -459
  29. package/src/components/xform/utils/dynamicSchemaUtil.js +385 -361
  30. package/src/layout/components/TagsView/index.vue +325 -323
  31. package/src/store/modules/tagsView.js +241 -217
  32. package/src/utils/importLimit.js +72 -0
  33. package/src/utils/pdfUtil.js +6 -1
  34. package/src/utils/request.js +17 -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>