cloud-web-corejs 1.1.0-dev.11 → 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 (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 +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 +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 +240 -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,228 +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
- <!-- 投放区说明(设计器画布常驻)。标题栏这个格子收的是 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>
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>