cloud-web-corejs 1.0.54-dev.644 → 1.0.54-dev.646
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.
- package/package.json +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +210 -15
- package/src/components/xform/form-designer/toolbar-panel/index.vue +1 -1
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +51 -36
- package/src/components/xform/form-render/container-item/data-table-item.vue +7 -2
- package/src/components/xform/form-render/container-item/data-table-mixin.js +181 -100
- package/src/components/xform/form-render/container-item/list-h5-item.vue +1119 -394
- package/src/views/bd/setting/table_model/edit.vue +1 -1
- package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
|
@@ -1,78 +1,755 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
<container-item-wrapper
|
|
3
|
+
:widget="widget"
|
|
4
|
+
:class="widget.options.isFullscreen ? 'full-height' : ''"
|
|
5
|
+
>
|
|
6
|
+
<div class="h5-header">{{ widget.options.label }}</div>
|
|
7
|
+
<div class="h5-search-box">
|
|
8
|
+
<el-input v-model="keyword" placeholder="请选择" class="txt">
|
|
9
|
+
<i slot="suffix" class="el-input__icon el-icon-search"></i>
|
|
10
|
+
<el-button slot="append" class="btn" @click="searchEvent"
|
|
11
|
+
>搜索</el-button
|
|
12
|
+
>
|
|
13
|
+
</el-input>
|
|
14
|
+
<div class="icon-screen" @click="openAdvancedSearchDialog">
|
|
15
|
+
<i class="iconfont icon-chaxuntiaojianshezhi"></i>筛选
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div
|
|
19
|
+
v-if="widget.options.isQueryTable"
|
|
20
|
+
class="h5-fixed-top-btns"
|
|
21
|
+
title-width="92px"
|
|
22
|
+
title-align="right"
|
|
23
|
+
>
|
|
24
|
+
<el-form label-position="top">
|
|
25
|
+
<template v-if="!!widget.buttons && widget.buttons.length > 0">
|
|
26
|
+
<template v-for="(subWidget, swIdx) in widget.buttons">
|
|
27
|
+
<template v-if="'container' === subWidget.category">
|
|
28
|
+
<component
|
|
29
|
+
:is="subWidget.type + '-item'"
|
|
30
|
+
:widget="subWidget"
|
|
31
|
+
:key="swIdx"
|
|
32
|
+
:parent-list="widget.buttons"
|
|
33
|
+
:index-of-parent-list="swIdx"
|
|
34
|
+
:parent-widget="widget"
|
|
35
|
+
>
|
|
36
|
+
<!-- 递归传递插槽!!! -->
|
|
37
|
+
<template
|
|
38
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
39
|
+
v-slot:[slot]="scope"
|
|
40
|
+
>
|
|
41
|
+
<slot :name="slot" v-bind="scope" />
|
|
42
|
+
</template>
|
|
43
|
+
</component>
|
|
44
|
+
</template>
|
|
45
|
+
<template v-else>
|
|
46
|
+
<component
|
|
47
|
+
:is="subWidget.type + '-widget'"
|
|
48
|
+
:field="subWidget"
|
|
49
|
+
:designer="null"
|
|
50
|
+
:key="swIdx"
|
|
51
|
+
:parent-list="widget.buttons"
|
|
52
|
+
:index-of-parent-list="swIdx"
|
|
53
|
+
:parent-widget="widget"
|
|
54
|
+
>
|
|
55
|
+
<!-- 递归传递插槽!!! -->
|
|
56
|
+
<template
|
|
57
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
58
|
+
v-slot:[slot]="scope"
|
|
59
|
+
>
|
|
60
|
+
<slot :name="slot" v-bind="scope" />
|
|
61
|
+
</template>
|
|
62
|
+
</component>
|
|
63
|
+
</template>
|
|
64
|
+
</template>
|
|
65
|
+
</template>
|
|
66
|
+
</el-form>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="h5-list-box">
|
|
69
|
+
<div
|
|
70
|
+
v-for="(row, rowIndex) in fieldModel"
|
|
71
|
+
:key="rowIndex"
|
|
72
|
+
class="item"
|
|
73
|
+
@click="itemCheck(row)"
|
|
74
|
+
:class="{ checked: checkItemIds.includes(row.id) }"
|
|
75
|
+
>
|
|
76
|
+
<div
|
|
77
|
+
v-if="!widget.options.isQueryTable"
|
|
78
|
+
class="del-btn"
|
|
79
|
+
@click.stop="deleteRow(row, rowIndex)"
|
|
80
|
+
>
|
|
81
|
+
<i class="el-icon-delete"></i>
|
|
82
|
+
</div>
|
|
83
|
+
<template v-if="vxeOption.columns.length > 0">
|
|
84
|
+
<div class="t1" v-if="widget.options.isQueryTable">
|
|
85
|
+
<template
|
|
86
|
+
v-for="(column, columnIndex) in vxeOption.columns.filter(
|
|
87
|
+
(item, index) => item.isMainFiled
|
|
88
|
+
)"
|
|
89
|
+
>
|
|
90
|
+
<b :key="'1-' + columnIndex">{{ column.title }}:</b>
|
|
91
|
+
<span :key="'2-' + columnIndex">
|
|
92
|
+
<template v-if="!column.params.formatS">
|
|
93
|
+
{{ row[column.field] }}
|
|
94
|
+
</template>
|
|
95
|
+
<template v-else-if="column.params.formatS == 'render'">
|
|
96
|
+
{{
|
|
97
|
+
column.slots.default({
|
|
98
|
+
column: column,
|
|
99
|
+
rowIndex: rowIndex,
|
|
100
|
+
row: row,
|
|
101
|
+
items: fieldModel,
|
|
102
|
+
})
|
|
103
|
+
}}
|
|
104
|
+
</template>
|
|
105
|
+
<template
|
|
106
|
+
v-else-if="column.slots && column.slots.default == 'widget'"
|
|
107
|
+
>
|
|
108
|
+
<component
|
|
109
|
+
:is="getColumnWidgetName(column.params.widget)"
|
|
110
|
+
:field="column.params.widget"
|
|
111
|
+
:form-model="globalModel.formModel"
|
|
112
|
+
:designer="null"
|
|
113
|
+
:key="rowIndex"
|
|
114
|
+
:parent-widget="widget"
|
|
115
|
+
:columnConfig="column.params.columnConfig"
|
|
116
|
+
:subFormRowIndex="rowIndex"
|
|
117
|
+
:formItemProp="
|
|
118
|
+
getColumnProp(widget, {
|
|
119
|
+
column: column,
|
|
120
|
+
rowIndex: rowIndex,
|
|
121
|
+
row: row,
|
|
122
|
+
items: fieldModel,
|
|
123
|
+
})
|
|
124
|
+
"
|
|
125
|
+
:tableParam="{
|
|
126
|
+
column: column,
|
|
127
|
+
rowIndex: rowIndex,
|
|
128
|
+
row: row,
|
|
129
|
+
items: fieldModel,
|
|
130
|
+
}"
|
|
131
|
+
></component>
|
|
132
|
+
</template>
|
|
133
|
+
<template v-else-if="column.params.formatS == 'editDelete'">
|
|
134
|
+
<a
|
|
135
|
+
href="javascript:void(0);"
|
|
136
|
+
class="a-link"
|
|
137
|
+
@click="deleteRow(row, rowIndex)"
|
|
138
|
+
>
|
|
139
|
+
<el-tooltip
|
|
140
|
+
:enterable="false"
|
|
141
|
+
effect="dark"
|
|
142
|
+
content="删除"
|
|
143
|
+
placement="top"
|
|
144
|
+
popper-class="tooltip-skin"
|
|
145
|
+
>
|
|
146
|
+
<i class="el-icon-delete" />
|
|
147
|
+
</el-tooltip>
|
|
148
|
+
</a>
|
|
149
|
+
</template>
|
|
150
|
+
<template v-else-if="column.params.formatS == 'editButton'">
|
|
151
|
+
<a
|
|
152
|
+
href="javascript:void(0);"
|
|
153
|
+
class="a-link"
|
|
154
|
+
@click.stop="openEditDialog(obj.row)"
|
|
155
|
+
>
|
|
156
|
+
<el-tooltip
|
|
157
|
+
:enterable="false"
|
|
158
|
+
effect="dark"
|
|
159
|
+
content="查看"
|
|
160
|
+
placement="top"
|
|
161
|
+
popper-class="tooltip-skin"
|
|
162
|
+
>
|
|
163
|
+
<i class="el-icon-edit" />
|
|
164
|
+
</el-tooltip>
|
|
165
|
+
</a>
|
|
166
|
+
</template>
|
|
167
|
+
<template v-else>
|
|
168
|
+
{{
|
|
169
|
+
column.formatter({
|
|
170
|
+
cellValue: row[column.field],
|
|
171
|
+
column: column,
|
|
172
|
+
rowIndex: rowIndex,
|
|
173
|
+
row: row,
|
|
174
|
+
items: fieldModel,
|
|
175
|
+
})
|
|
176
|
+
}}
|
|
177
|
+
</template>
|
|
178
|
+
</span>
|
|
179
|
+
<!-- <div class="status">未审核</div>-->
|
|
180
|
+
</template>
|
|
12
181
|
</div>
|
|
13
|
-
<div class="
|
|
14
|
-
<
|
|
15
|
-
|
|
182
|
+
<div class="t2">
|
|
183
|
+
<template
|
|
184
|
+
v-if="
|
|
185
|
+
!widget.options.isQueryTable || vxeOption.columns.length > 1
|
|
186
|
+
"
|
|
187
|
+
>
|
|
188
|
+
<template v-for="(column, columnIndex) in vxeOption.columns">
|
|
189
|
+
<template
|
|
190
|
+
v-if="
|
|
191
|
+
(!widget.options.isQueryTable || !column.isMainFiled) &&
|
|
192
|
+
column.showForRow
|
|
193
|
+
"
|
|
194
|
+
>
|
|
195
|
+
<dl :key="columnIndex">
|
|
196
|
+
<div>
|
|
197
|
+
<dt>{{ column.title }}:</dt>
|
|
198
|
+
<dd>
|
|
199
|
+
<template v-if="!column.params.formatS">
|
|
200
|
+
{{ row[column.field] }}
|
|
201
|
+
</template>
|
|
202
|
+
<template v-else-if="column.params.formatS == 'render'">
|
|
203
|
+
{{
|
|
204
|
+
column.slots.default({
|
|
205
|
+
column: column,
|
|
206
|
+
rowIndex: rowIndex,
|
|
207
|
+
row: row,
|
|
208
|
+
items: fieldModel,
|
|
209
|
+
})
|
|
210
|
+
}}
|
|
211
|
+
</template>
|
|
212
|
+
|
|
213
|
+
<template
|
|
214
|
+
v-else-if="
|
|
215
|
+
column.slots && column.slots.default == 'widget'
|
|
216
|
+
"
|
|
217
|
+
>
|
|
218
|
+
<component
|
|
219
|
+
:is="getColumnWidgetName(column.params.widget)"
|
|
220
|
+
:field="column.params.widget"
|
|
221
|
+
:form-model="globalModel.formModel"
|
|
222
|
+
:designer="null"
|
|
223
|
+
:key="rowIndex + '-' + columnIndex"
|
|
224
|
+
:parent-widget="widget"
|
|
225
|
+
:columnConfig="column.params.columnConfig"
|
|
226
|
+
:subFormRowIndex="rowIndex"
|
|
227
|
+
:formItemProp="
|
|
228
|
+
getColumnProp(widget, {
|
|
229
|
+
column: column,
|
|
230
|
+
rowIndex: rowIndex,
|
|
231
|
+
row: row,
|
|
232
|
+
items: fieldModel,
|
|
233
|
+
})
|
|
234
|
+
"
|
|
235
|
+
:tableParam="{
|
|
236
|
+
column: column,
|
|
237
|
+
rowIndex: rowIndex,
|
|
238
|
+
row: row,
|
|
239
|
+
items: fieldModel,
|
|
240
|
+
}"
|
|
241
|
+
></component>
|
|
242
|
+
</template>
|
|
243
|
+
<template
|
|
244
|
+
v-else-if="column.params.formatS == 'editDelete'"
|
|
245
|
+
>
|
|
246
|
+
<a
|
|
247
|
+
href="javascript:void(0);"
|
|
248
|
+
class="a-link"
|
|
249
|
+
@click.stop="deleteRow(row, rowIndex)"
|
|
250
|
+
>
|
|
251
|
+
<el-tooltip
|
|
252
|
+
:enterable="false"
|
|
253
|
+
effect="dark"
|
|
254
|
+
content="删除"
|
|
255
|
+
placement="top"
|
|
256
|
+
popper-class="tooltip-skin"
|
|
257
|
+
>
|
|
258
|
+
<i class="el-icon-delete" />
|
|
259
|
+
</el-tooltip>
|
|
260
|
+
</a>
|
|
261
|
+
</template>
|
|
262
|
+
<template
|
|
263
|
+
v-else-if="column.params.formatS == 'editButton'"
|
|
264
|
+
>
|
|
265
|
+
<a
|
|
266
|
+
href="javascript:void(0);"
|
|
267
|
+
class="a-link"
|
|
268
|
+
@click.stop="openEditDialog(row)"
|
|
269
|
+
>
|
|
270
|
+
<el-tooltip
|
|
271
|
+
:enterable="false"
|
|
272
|
+
effect="dark"
|
|
273
|
+
content="查看"
|
|
274
|
+
placement="top"
|
|
275
|
+
popper-class="tooltip-skin"
|
|
276
|
+
>
|
|
277
|
+
<i class="el-icon-edit" />
|
|
278
|
+
</el-tooltip>
|
|
279
|
+
</a>
|
|
280
|
+
</template>
|
|
281
|
+
<template v-else>
|
|
282
|
+
{{
|
|
283
|
+
column.formatter({
|
|
284
|
+
cellValue: row[column.field],
|
|
285
|
+
column: column,
|
|
286
|
+
rowIndex: rowIndex,
|
|
287
|
+
row: row,
|
|
288
|
+
items: fieldModel,
|
|
289
|
+
})
|
|
290
|
+
}}
|
|
291
|
+
</template>
|
|
292
|
+
</dd>
|
|
293
|
+
</div>
|
|
294
|
+
</dl>
|
|
295
|
+
</template>
|
|
296
|
+
</template>
|
|
297
|
+
</template>
|
|
16
298
|
</div>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
299
|
+
<div class="btns">
|
|
300
|
+
<!-- <div class="checkbox_fl">
|
|
301
|
+
<el-checkbox></el-checkbox>
|
|
302
|
+
</div> -->
|
|
303
|
+
<!-- <a class="btn"><i class="el-icon-delete"/><span>删除</span></a>
|
|
304
|
+
<a class="btn"><i class="el-icon-edit"/><span>查看</span></a>-->
|
|
305
|
+
<template
|
|
306
|
+
v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
|
|
307
|
+
>
|
|
308
|
+
<template v-for="(subWidget, swIdx) in widget.lineButtons">
|
|
309
|
+
<template v-if="'container' === subWidget.category">
|
|
310
|
+
<component
|
|
311
|
+
:is="subWidget.type + '-item'"
|
|
312
|
+
:widget="subWidget"
|
|
313
|
+
:key="swIdx"
|
|
314
|
+
:parent-list="widget.lineButtons"
|
|
315
|
+
:index-of-parent-list="swIdx"
|
|
316
|
+
:parent-widget="widget"
|
|
317
|
+
:subFormRowIndex="rowIndex"
|
|
318
|
+
:tableParam="{
|
|
319
|
+
rowIndex: rowIndex,
|
|
320
|
+
row: row,
|
|
321
|
+
items: fieldModel,
|
|
322
|
+
}"
|
|
323
|
+
>
|
|
324
|
+
<!-- 递归传递插槽!!! -->
|
|
325
|
+
<template
|
|
326
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
327
|
+
v-slot:[slot]="scope"
|
|
328
|
+
>
|
|
329
|
+
<slot :name="slot" v-bind="scope" />
|
|
330
|
+
</template>
|
|
331
|
+
</component>
|
|
332
|
+
</template>
|
|
333
|
+
<template v-else>
|
|
334
|
+
<component
|
|
335
|
+
:is="subWidget.type + '-widget'"
|
|
336
|
+
:field="subWidget"
|
|
337
|
+
:designer="null"
|
|
338
|
+
:key="swIdx"
|
|
339
|
+
:parent-list="widget.lineButtons"
|
|
340
|
+
:index-of-parent-list="swIdx"
|
|
341
|
+
:parent-widget="widget"
|
|
342
|
+
:subFormRowIndex="rowIndex"
|
|
343
|
+
:tableParam="{
|
|
344
|
+
rowIndex: rowIndex,
|
|
345
|
+
row: row,
|
|
346
|
+
items: fieldModel,
|
|
347
|
+
}"
|
|
348
|
+
>
|
|
349
|
+
<!-- 递归传递插槽!!! -->
|
|
350
|
+
<template
|
|
351
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
352
|
+
v-slot:[slot]="scope"
|
|
353
|
+
>
|
|
354
|
+
<slot :name="slot" v-bind="scope" />
|
|
355
|
+
</template>
|
|
356
|
+
</component>
|
|
357
|
+
</template>
|
|
358
|
+
</template>
|
|
359
|
+
</template>
|
|
37
360
|
</div>
|
|
38
|
-
</
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
361
|
+
</template>
|
|
362
|
+
|
|
363
|
+
<!-- <div class="t1">
|
|
364
|
+
<b>订单号:21533666</b>
|
|
365
|
+
<div class="status">未审核</div>
|
|
366
|
+
</div>
|
|
367
|
+
<div class="t2">
|
|
368
|
+
<p>产地:广东佛山</p>
|
|
369
|
+
<p>产地:广东佛山</p>
|
|
370
|
+
<p>产地:广东佛山</p>
|
|
371
|
+
</div>-->
|
|
372
|
+
</div>
|
|
373
|
+
</div>
|
|
374
|
+
<div class="vxe-grid" v-if="widget.options.isQueryTable">
|
|
375
|
+
<div class="vxe-grid--pager-wrapper">
|
|
376
|
+
<vxe-pager
|
|
377
|
+
class="pages-box"
|
|
378
|
+
:current-page.sync="page.current"
|
|
379
|
+
:page-size.sync="page.size"
|
|
380
|
+
:total="page.total"
|
|
381
|
+
:layouts="['PrevPage', 'Number', 'NextPage']"
|
|
382
|
+
@page-change="changePageNew"
|
|
383
|
+
>
|
|
384
|
+
<template #right>
|
|
385
|
+
<span>
|
|
386
|
+
<span>当前记录</span>
|
|
387
|
+
<span class="f-red"> {{ page.records.length }} </span>
|
|
388
|
+
<span>/</span>
|
|
389
|
+
<span class="f-red"> {{ page.total }}</span>
|
|
390
|
+
</span>
|
|
391
|
+
</template>
|
|
392
|
+
</vxe-pager>
|
|
59
393
|
</div>
|
|
60
394
|
</div>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
395
|
+
|
|
396
|
+
<advancedSearchDialog
|
|
397
|
+
v-if="showAdvancedSearch"
|
|
398
|
+
:visiable.sync="showAdvancedSearch"
|
|
399
|
+
class="adSearchForm_all"
|
|
400
|
+
:formData="advancedFormData"
|
|
401
|
+
@confirm="confirmAdvancedSearchDialog"
|
|
402
|
+
@clear="advancedClear"
|
|
403
|
+
>
|
|
404
|
+
<template #form>
|
|
405
|
+
<vxe-form
|
|
406
|
+
:model="formModel"
|
|
407
|
+
title-width="102px"
|
|
408
|
+
:inline="true"
|
|
409
|
+
class="adSearchForm"
|
|
410
|
+
>
|
|
411
|
+
<template v-for="(searchColumn, index) in vxeOption.searchColumns">
|
|
412
|
+
<vxe-form-item>
|
|
413
|
+
<component
|
|
414
|
+
:is="getColumnWidgetName(searchColumn.widget)"
|
|
415
|
+
:field="searchColumn.widget"
|
|
416
|
+
:form-model="globalModel.formModel"
|
|
417
|
+
:designer="null"
|
|
418
|
+
:key="index"
|
|
419
|
+
:parent-widget="widget"
|
|
420
|
+
></component>
|
|
421
|
+
</vxe-form-item>
|
|
422
|
+
</template>
|
|
423
|
+
</vxe-form>
|
|
424
|
+
</template>
|
|
425
|
+
</advancedSearchDialog>
|
|
426
|
+
<el-dialog
|
|
427
|
+
title="明细详情"
|
|
428
|
+
:modal-append-to-body="false"
|
|
429
|
+
:close-on-click-modal="false"
|
|
430
|
+
:visible.sync="showRowDetailDialog"
|
|
431
|
+
:modal="false"
|
|
432
|
+
custom-class="dialog-style h5view-dialog"
|
|
433
|
+
width="100%"
|
|
434
|
+
top="0px"
|
|
435
|
+
v-el-drag-dialog
|
|
436
|
+
v-el-dialog-center
|
|
437
|
+
:destroy-on-close="true"
|
|
438
|
+
>
|
|
439
|
+
<div class="cont" style="height: calc(100vh - 73px)">
|
|
440
|
+
<div class="h5-list-box">
|
|
441
|
+
<div
|
|
442
|
+
v-for="(row, rowIndex) in [editRow]"
|
|
443
|
+
:key="rowIndex"
|
|
444
|
+
class="item"
|
|
445
|
+
>
|
|
446
|
+
<!-- <div class="del-btn"><i class="el-icon-delete"></i></div>-->
|
|
447
|
+
<template v-if="vxeOption.columns.length > 0">
|
|
448
|
+
<div class="t1" v-if="widget.options.isQueryTable">
|
|
449
|
+
<template
|
|
450
|
+
v-for="(column, columnIndex) in vxeOption.columns.filter(
|
|
451
|
+
(item, index) => item.isMainFiled
|
|
452
|
+
)"
|
|
453
|
+
>
|
|
454
|
+
<b>{{ column.title }}:</b>
|
|
455
|
+
<span>
|
|
456
|
+
<template v-if="!column.params.formatS">
|
|
457
|
+
{{ row[column.field] }}
|
|
458
|
+
</template>
|
|
459
|
+
<template v-else-if="column.params.formatS == 'render'">
|
|
460
|
+
{{
|
|
461
|
+
column.slots.default({
|
|
462
|
+
column: column,
|
|
463
|
+
rowIndex: rowIndex,
|
|
464
|
+
row: row,
|
|
465
|
+
items: fieldModel,
|
|
466
|
+
})
|
|
467
|
+
}}
|
|
468
|
+
</template>
|
|
469
|
+
<template
|
|
470
|
+
v-else-if="
|
|
471
|
+
column.slots && column.slots.default == 'widget'
|
|
472
|
+
"
|
|
473
|
+
>
|
|
474
|
+
<component
|
|
475
|
+
:is="getColumnWidgetName(column.params.widget)"
|
|
476
|
+
:field="column.params.widget"
|
|
477
|
+
:form-model="globalModel.formModel"
|
|
478
|
+
:designer="null"
|
|
479
|
+
:key="rowIndex"
|
|
480
|
+
:parent-widget="widget"
|
|
481
|
+
:columnConfig="column.params.columnConfig"
|
|
482
|
+
:subFormRowIndex="rowIndex"
|
|
483
|
+
:formItemProp="
|
|
484
|
+
getColumnProp(widget, {
|
|
485
|
+
column: column,
|
|
486
|
+
rowIndex: rowIndex,
|
|
487
|
+
row: row,
|
|
488
|
+
items: fieldModel,
|
|
489
|
+
})
|
|
490
|
+
"
|
|
491
|
+
:tableParam="{
|
|
492
|
+
column: column,
|
|
493
|
+
rowIndex: rowIndex,
|
|
494
|
+
row: row,
|
|
495
|
+
items: fieldModel,
|
|
496
|
+
}"
|
|
497
|
+
></component>
|
|
498
|
+
</template>
|
|
499
|
+
<template v-else-if="column.params.formatS == 'editDelete'">
|
|
500
|
+
<a
|
|
501
|
+
href="javascript:void(0);"
|
|
502
|
+
class="a-link"
|
|
503
|
+
@click.stop="deleteRow(row, rowIndex)"
|
|
504
|
+
>
|
|
505
|
+
<el-tooltip
|
|
506
|
+
:enterable="false"
|
|
507
|
+
effect="dark"
|
|
508
|
+
content="删除"
|
|
509
|
+
placement="top"
|
|
510
|
+
popper-class="tooltip-skin"
|
|
511
|
+
>
|
|
512
|
+
<i class="el-icon-delete" />
|
|
513
|
+
</el-tooltip>
|
|
514
|
+
</a>
|
|
515
|
+
</template>
|
|
516
|
+
<template v-else-if="column.params.formatS == 'editButton'">
|
|
517
|
+
<a
|
|
518
|
+
href="javascript:void(0);"
|
|
519
|
+
class="a-link"
|
|
520
|
+
@click.stop="openEditDialog(obj.row)"
|
|
521
|
+
>
|
|
522
|
+
<el-tooltip
|
|
523
|
+
:enterable="false"
|
|
524
|
+
effect="dark"
|
|
525
|
+
content="查看"
|
|
526
|
+
placement="top"
|
|
527
|
+
popper-class="tooltip-skin"
|
|
528
|
+
>
|
|
529
|
+
<i class="el-icon-edit" />
|
|
530
|
+
</el-tooltip>
|
|
531
|
+
</a>
|
|
532
|
+
</template>
|
|
533
|
+
<template v-else>
|
|
534
|
+
{{
|
|
535
|
+
column.formatter({
|
|
536
|
+
cellValue: row[column.field],
|
|
537
|
+
column: column,
|
|
538
|
+
rowIndex: rowIndex,
|
|
539
|
+
row: row,
|
|
540
|
+
items: fieldModel,
|
|
541
|
+
})
|
|
542
|
+
}}
|
|
543
|
+
</template>
|
|
544
|
+
</span>
|
|
545
|
+
<!-- <div class="status">未审核</div>-->
|
|
546
|
+
</template>
|
|
547
|
+
</div>
|
|
548
|
+
<div class="t2">
|
|
549
|
+
<template
|
|
550
|
+
v-if="
|
|
551
|
+
!widget.options.isQueryTable || vxeOption.columns.length > 1
|
|
552
|
+
"
|
|
553
|
+
>
|
|
554
|
+
<template v-for="(column, columnIndex) in vxeOption.columns">
|
|
555
|
+
<template
|
|
556
|
+
v-if="!widget.options.isQueryTable || !column.isMainFiled"
|
|
557
|
+
>
|
|
558
|
+
<dl>
|
|
559
|
+
<div>
|
|
560
|
+
<dt>{{ column.title }}:</dt>
|
|
561
|
+
<dd>
|
|
562
|
+
<template v-if="!column.params.formatS">
|
|
563
|
+
{{ row[column.field] }}
|
|
564
|
+
</template>
|
|
565
|
+
<template
|
|
566
|
+
v-else-if="column.params.formatS == 'render'"
|
|
567
|
+
>
|
|
568
|
+
{{
|
|
569
|
+
column.slots.default({
|
|
570
|
+
column: column,
|
|
571
|
+
rowIndex: rowIndex,
|
|
572
|
+
row: row,
|
|
573
|
+
items: fieldModel,
|
|
574
|
+
})
|
|
575
|
+
}}
|
|
576
|
+
</template>
|
|
577
|
+
|
|
578
|
+
<template
|
|
579
|
+
v-else-if="
|
|
580
|
+
column.slots && column.slots.default == 'widget'
|
|
581
|
+
"
|
|
582
|
+
>
|
|
583
|
+
<component
|
|
584
|
+
:is="getColumnWidgetName(column.params.widget)"
|
|
585
|
+
:field="column.params.widget"
|
|
586
|
+
:form-model="globalModel.formModel"
|
|
587
|
+
:designer="null"
|
|
588
|
+
:key="rowIndex + '-' + columnIndex"
|
|
589
|
+
:parent-widget="widget"
|
|
590
|
+
:columnConfig="column.params.columnConfig"
|
|
591
|
+
:subFormRowIndex="rowIndex"
|
|
592
|
+
:formItemProp="
|
|
593
|
+
getColumnProp(widget, {
|
|
594
|
+
column: column,
|
|
595
|
+
rowIndex: rowIndex,
|
|
596
|
+
row: row,
|
|
597
|
+
items: fieldModel,
|
|
598
|
+
})
|
|
599
|
+
"
|
|
600
|
+
:tableParam="{
|
|
601
|
+
column: column,
|
|
602
|
+
rowIndex: rowIndex,
|
|
603
|
+
row: row,
|
|
604
|
+
items: fieldModel,
|
|
605
|
+
}"
|
|
606
|
+
></component>
|
|
607
|
+
</template>
|
|
608
|
+
<template
|
|
609
|
+
v-else-if="column.params.formatS == 'editDelete'"
|
|
610
|
+
>
|
|
611
|
+
<a
|
|
612
|
+
href="javascript:void(0);"
|
|
613
|
+
class="a-link"
|
|
614
|
+
@click="deleteRow(row, rowIndex)"
|
|
615
|
+
>
|
|
616
|
+
<el-tooltip
|
|
617
|
+
:enterable="false"
|
|
618
|
+
effect="dark"
|
|
619
|
+
content="删除"
|
|
620
|
+
placement="top"
|
|
621
|
+
popper-class="tooltip-skin"
|
|
622
|
+
>
|
|
623
|
+
<i class="el-icon-delete" />
|
|
624
|
+
</el-tooltip>
|
|
625
|
+
</a>
|
|
626
|
+
</template>
|
|
627
|
+
<template
|
|
628
|
+
v-else-if="column.params.formatS == 'editButton'"
|
|
629
|
+
>
|
|
630
|
+
<a
|
|
631
|
+
href="javascript:void(0);"
|
|
632
|
+
class="a-link"
|
|
633
|
+
@click="openEditDialog(obj.row)"
|
|
634
|
+
>
|
|
635
|
+
<el-tooltip
|
|
636
|
+
:enterable="false"
|
|
637
|
+
effect="dark"
|
|
638
|
+
content="查看"
|
|
639
|
+
placement="top"
|
|
640
|
+
popper-class="tooltip-skin"
|
|
641
|
+
>
|
|
642
|
+
<i class="el-icon-edit" />
|
|
643
|
+
</el-tooltip>
|
|
644
|
+
</a>
|
|
645
|
+
</template>
|
|
646
|
+
<template v-else>
|
|
647
|
+
{{
|
|
648
|
+
column.formatter({
|
|
649
|
+
cellValue: row[column.field],
|
|
650
|
+
column: column,
|
|
651
|
+
rowIndex: rowIndex,
|
|
652
|
+
row: row,
|
|
653
|
+
items: fieldModel,
|
|
654
|
+
})
|
|
655
|
+
}}
|
|
656
|
+
</template>
|
|
657
|
+
</dd>
|
|
658
|
+
</div>
|
|
659
|
+
</dl>
|
|
660
|
+
</template>
|
|
661
|
+
</template>
|
|
662
|
+
</template>
|
|
663
|
+
</div>
|
|
664
|
+
<div class="btns">
|
|
665
|
+
<template
|
|
666
|
+
v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
|
|
667
|
+
>
|
|
668
|
+
<template v-for="(subWidget, swIdx) in widget.lineButtons">
|
|
669
|
+
<template v-if="'container' === subWidget.category">
|
|
670
|
+
<component
|
|
671
|
+
:is="subWidget.type + '-item'"
|
|
672
|
+
:widget="subWidget"
|
|
673
|
+
:key="swIdx"
|
|
674
|
+
:parent-list="widget.lineButtons"
|
|
675
|
+
:index-of-parent-list="swIdx"
|
|
676
|
+
:parent-widget="widget"
|
|
677
|
+
:subFormRowIndex="rowIndex"
|
|
678
|
+
:tableParam="{
|
|
679
|
+
rowIndex: rowIndex,
|
|
680
|
+
row: row,
|
|
681
|
+
items: fieldModel,
|
|
682
|
+
}"
|
|
683
|
+
>
|
|
684
|
+
<!-- 递归传递插槽!!! -->
|
|
685
|
+
<template
|
|
686
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
687
|
+
v-slot:[slot]="scope"
|
|
688
|
+
>
|
|
689
|
+
<slot :name="slot" v-bind="scope" />
|
|
690
|
+
</template>
|
|
691
|
+
</component>
|
|
692
|
+
</template>
|
|
693
|
+
<template v-else>
|
|
694
|
+
<component
|
|
695
|
+
:is="subWidget.type + '-widget'"
|
|
696
|
+
:field="subWidget"
|
|
697
|
+
:designer="null"
|
|
698
|
+
:key="swIdx"
|
|
699
|
+
:parent-list="widget.lineButtons"
|
|
700
|
+
:index-of-parent-list="swIdx"
|
|
701
|
+
:parent-widget="widget"
|
|
702
|
+
:subFormRowIndex="rowIndex"
|
|
703
|
+
:tableParam="{
|
|
704
|
+
rowIndex: rowIndex,
|
|
705
|
+
row: row,
|
|
706
|
+
items: fieldModel,
|
|
707
|
+
}"
|
|
708
|
+
>
|
|
709
|
+
<!-- 递归传递插槽!!! -->
|
|
710
|
+
<template
|
|
711
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
712
|
+
v-slot:[slot]="scope"
|
|
713
|
+
>
|
|
714
|
+
<slot :name="slot" v-bind="scope" />
|
|
715
|
+
</template>
|
|
716
|
+
</component>
|
|
717
|
+
</template>
|
|
718
|
+
</template>
|
|
719
|
+
</template>
|
|
720
|
+
</div>
|
|
721
|
+
</template>
|
|
722
|
+
|
|
723
|
+
<!-- <div class="t1">
|
|
724
|
+
<b>订单号:21533666</b>
|
|
725
|
+
<div class="status">未审核</div>
|
|
726
|
+
</div>
|
|
727
|
+
<div class="t2">
|
|
728
|
+
<p>产地:广东佛山</p>
|
|
729
|
+
<p>产地:广东佛山</p>
|
|
730
|
+
<p>产地:广东佛山</p>
|
|
731
|
+
</div>-->
|
|
732
|
+
</div>
|
|
733
|
+
</div>
|
|
734
|
+
</div>
|
|
735
|
+
</el-dialog>
|
|
736
|
+
</container-item-wrapper>
|
|
64
737
|
</template>
|
|
65
738
|
|
|
66
739
|
<script>
|
|
67
|
-
import emitter from
|
|
68
|
-
import i18n from
|
|
69
|
-
import refMixin from
|
|
70
|
-
import containerItemMixin from
|
|
71
|
-
import FieldComponents from
|
|
72
|
-
import {
|
|
740
|
+
import emitter from "../../../../components/xform/utils/emitter";
|
|
741
|
+
import i18n from "../../../../components/xform/utils/i18n";
|
|
742
|
+
import refMixin from "../../../../components/xform/form-render/refMixin";
|
|
743
|
+
import containerItemMixin from "./containerItemMixin";
|
|
744
|
+
import FieldComponents from "../../../../components/xform/form-designer/form-widget/field-widget/index";
|
|
745
|
+
import {
|
|
746
|
+
assembleAxiosConfig,
|
|
747
|
+
generateId,
|
|
748
|
+
getReportGlobalMap,
|
|
749
|
+
} from "../../../../components/xform/utils/util";
|
|
73
750
|
import * as formatUtil from "../../../../components/xform/utils/format";
|
|
751
|
+
import { extendDeeply } from "../../../../utils/index.js";
|
|
74
752
|
import render from "../../../../views/user/bill_setting/render.vue";
|
|
75
|
-
import mixin from "../../../../mixins/mobile/list/index";
|
|
76
753
|
|
|
77
754
|
const baseRefUtil = {
|
|
78
755
|
emitter,
|
|
@@ -81,16 +758,17 @@ const baseRefUtil = {
|
|
|
81
758
|
containerItemMixin,
|
|
82
759
|
formatUtil,
|
|
83
760
|
assembleAxiosConfig,
|
|
84
|
-
getReportGlobalMap
|
|
761
|
+
getReportGlobalMap,
|
|
85
762
|
};
|
|
86
763
|
|
|
764
|
+
const defaultPageSize = 2;
|
|
87
765
|
export default {
|
|
88
|
-
name:
|
|
766
|
+
name: "list-h5-item",
|
|
89
767
|
components: {
|
|
90
|
-
...FieldComponents
|
|
768
|
+
...FieldComponents,
|
|
91
769
|
},
|
|
92
|
-
mixins: [emitter, i18n, refMixin, containerItemMixin
|
|
93
|
-
componentName:
|
|
770
|
+
mixins: [emitter, i18n, refMixin, containerItemMixin],
|
|
771
|
+
componentName: "ContainerItem",
|
|
94
772
|
props: {
|
|
95
773
|
widget: Object,
|
|
96
774
|
parentWidget: Object,
|
|
@@ -98,21 +776,27 @@ export default {
|
|
|
98
776
|
indexOfParentList: Number,
|
|
99
777
|
subFormRowIndex: {
|
|
100
778
|
type: Number,
|
|
101
|
-
default: -1
|
|
779
|
+
default: -1,
|
|
102
780
|
},
|
|
103
781
|
subFormColIndex: {
|
|
104
782
|
type: Number,
|
|
105
|
-
default: -1
|
|
783
|
+
default: -1,
|
|
106
784
|
},
|
|
107
785
|
subFormRowId: {
|
|
108
786
|
type: String,
|
|
109
|
-
default:
|
|
110
|
-
}
|
|
787
|
+
default: "",
|
|
788
|
+
},
|
|
111
789
|
},
|
|
112
|
-
inject: [
|
|
790
|
+
inject: [
|
|
791
|
+
"refList",
|
|
792
|
+
"sfRefList",
|
|
793
|
+
"globalModel",
|
|
794
|
+
"getFormConfig",
|
|
795
|
+
"getGlobalDsv",
|
|
796
|
+
],
|
|
113
797
|
data: function () {
|
|
114
798
|
let that = this;
|
|
115
|
-
let pageSize =
|
|
799
|
+
let pageSize = defaultPageSize;
|
|
116
800
|
return {
|
|
117
801
|
showAdvancedSearch: false,
|
|
118
802
|
showRowDetailDialog: false,
|
|
@@ -124,20 +808,20 @@ export default {
|
|
|
124
808
|
currentPage: this.widget.options.pagination.currentPage,
|
|
125
809
|
total: this.widget.options.pagination.total,*/
|
|
126
810
|
formData: {
|
|
127
|
-
saleOrgName:
|
|
128
|
-
loginAccount:
|
|
129
|
-
mobile:
|
|
130
|
-
enabled: 1
|
|
811
|
+
saleOrgName: "",
|
|
812
|
+
loginAccount: "",
|
|
813
|
+
mobile: "",
|
|
814
|
+
enabled: 1,
|
|
131
815
|
},
|
|
132
|
-
vxeOption: {columns: []},
|
|
816
|
+
vxeOption: { columns: [] },
|
|
133
817
|
requestAccess: null,
|
|
134
818
|
columnFormatMap: {
|
|
135
|
-
editInput:
|
|
136
|
-
editNumber:
|
|
137
|
-
editDate:
|
|
138
|
-
editSelect:
|
|
139
|
-
editSearch:
|
|
140
|
-
button:
|
|
819
|
+
editInput: "input",
|
|
820
|
+
editNumber: "number",
|
|
821
|
+
editDate: "date",
|
|
822
|
+
editSelect: "select",
|
|
823
|
+
editSearch: "vabsearch",
|
|
824
|
+
button: "button",
|
|
141
825
|
},
|
|
142
826
|
dataTableConfig: {},
|
|
143
827
|
advancedFormData: {},
|
|
@@ -152,33 +836,33 @@ export default {
|
|
|
152
836
|
keyword: null,
|
|
153
837
|
|
|
154
838
|
checkItemIds: [],
|
|
155
|
-
|
|
156
|
-
dataId: 0,
|
|
157
|
-
showEdit: false,
|
|
158
|
-
showViewDialog: false
|
|
159
839
|
};
|
|
160
840
|
},
|
|
161
841
|
watch: {
|
|
162
842
|
fieldModel(val) {
|
|
163
843
|
this.formModel[this.fieldKeyName] = val || [];
|
|
164
|
-
}
|
|
844
|
+
},
|
|
165
845
|
},
|
|
166
846
|
computed: {
|
|
167
847
|
formConfig: function () {
|
|
168
848
|
return this.getFormConfig();
|
|
169
849
|
},
|
|
170
850
|
paginationLayout: function () {
|
|
171
|
-
return this.widget.options.smallPagination
|
|
851
|
+
return this.widget.options.smallPagination
|
|
852
|
+
? "prev, pager, next"
|
|
853
|
+
: "total, sizes, prev, pager, next, jumper";
|
|
172
854
|
},
|
|
173
855
|
customClass: function () {
|
|
174
|
-
return this.widget.options.customClass ||
|
|
856
|
+
return this.widget.options.customClass || "";
|
|
175
857
|
},
|
|
176
858
|
singleRowSelectFlag: function () {
|
|
177
859
|
return !this.widget.options.showCheckBox;
|
|
178
860
|
},
|
|
179
861
|
buttonsColumnFixed: function () {
|
|
180
|
-
return void 0 === this.widget.options.buttonsColumnFixed
|
|
181
|
-
|
|
862
|
+
return void 0 === this.widget.options.buttonsColumnFixed
|
|
863
|
+
? "right"
|
|
864
|
+
: !!this.widget.options.buttonsColumnFixed &&
|
|
865
|
+
this.widget.options.buttonsColumnFixed;
|
|
182
866
|
},
|
|
183
867
|
columns() {
|
|
184
868
|
let tableColumns = this.widget.options.tableColumns;
|
|
@@ -190,23 +874,25 @@ export default {
|
|
|
190
874
|
fixed: 'left'
|
|
191
875
|
});*/
|
|
192
876
|
|
|
193
|
-
let firstColumn = tableColumns.find(column => {
|
|
877
|
+
let firstColumn = tableColumns.find((column) => {
|
|
194
878
|
return !!column.prop && !!column.showForRow;
|
|
195
879
|
});
|
|
196
880
|
let mainFiled = firstColumn?.prop;
|
|
197
881
|
|
|
198
882
|
let formRef = this.getFormRef();
|
|
199
|
-
let dateConfig = this.$baseLodash.cloneDeep(
|
|
200
|
-
|
|
883
|
+
let dateConfig = this.$baseLodash.cloneDeep(
|
|
884
|
+
formRef.getFieldWidgetByType("date").options
|
|
885
|
+
);
|
|
886
|
+
tableColumns.forEach((t) => {
|
|
201
887
|
let columnOption;
|
|
202
888
|
let widget;
|
|
203
889
|
let columnWidgetConfig = this.getColumnWidgetConfig(t);
|
|
204
|
-
let {columnSelectedWidget, columnEditFields} = columnWidgetConfig;
|
|
890
|
+
let { columnSelectedWidget, columnEditFields } = columnWidgetConfig;
|
|
205
891
|
if (columnSelectedWidget) {
|
|
206
|
-
widget = columnSelectedWidget
|
|
892
|
+
widget = columnSelectedWidget;
|
|
207
893
|
columnOption = widget.options;
|
|
208
894
|
} else {
|
|
209
|
-
columnOption = {}
|
|
895
|
+
columnOption = {};
|
|
210
896
|
}
|
|
211
897
|
|
|
212
898
|
let col = {
|
|
@@ -215,7 +901,7 @@ export default {
|
|
|
215
901
|
title: t.label,
|
|
216
902
|
witdh: t.width,
|
|
217
903
|
sortable: t.sortable,
|
|
218
|
-
align: t.align ? t.align :
|
|
904
|
+
align: t.align ? t.align : "center",
|
|
219
905
|
formatter: this.formatterValue,
|
|
220
906
|
isMainFiled: mainFiled == t.prop,
|
|
221
907
|
showForRow: t.showForRow,
|
|
@@ -224,25 +910,25 @@ export default {
|
|
|
224
910
|
widget: widget,
|
|
225
911
|
formatS: t.formatS,
|
|
226
912
|
required: t.required || false,
|
|
227
|
-
columnConfig: t
|
|
913
|
+
columnConfig: t,
|
|
228
914
|
},
|
|
229
|
-
visible: t.show
|
|
915
|
+
visible: t.show,
|
|
230
916
|
};
|
|
231
917
|
|
|
232
|
-
if (t.formatS ==
|
|
233
|
-
let r = t.render ? new Function(
|
|
918
|
+
if (t.formatS == "render") {
|
|
919
|
+
let r = t.render ? new Function("params", "h", t.render) : null;
|
|
234
920
|
col.slots = {
|
|
235
921
|
default: (params, h) => {
|
|
236
|
-
return r ? r.call(this, params, h) :
|
|
237
|
-
}
|
|
922
|
+
return r ? r.call(this, params, h) : "";
|
|
923
|
+
},
|
|
238
924
|
};
|
|
239
925
|
} else if (columnSelectedWidget) {
|
|
240
926
|
col.slots = {
|
|
241
|
-
default:
|
|
927
|
+
default: "widget",
|
|
242
928
|
};
|
|
243
|
-
} else if ([
|
|
929
|
+
} else if (["editDelete", "editButton"].includes(t.formatS)) {
|
|
244
930
|
col.slots = {
|
|
245
|
-
default: t.formatS
|
|
931
|
+
default: t.formatS,
|
|
246
932
|
};
|
|
247
933
|
}
|
|
248
934
|
|
|
@@ -268,15 +954,16 @@ export default {
|
|
|
268
954
|
cache: !1,
|
|
269
955
|
get: function () {
|
|
270
956
|
return this.globalModel.formModel;
|
|
271
|
-
}
|
|
957
|
+
},
|
|
272
958
|
},
|
|
273
959
|
formDataId() {
|
|
274
960
|
let formRef = this.getFormRef();
|
|
275
961
|
return formRef.dataId;
|
|
276
|
-
}
|
|
962
|
+
},
|
|
277
963
|
},
|
|
278
964
|
created: function () {
|
|
279
|
-
if (!this.formModel[this.fieldKeyName])
|
|
965
|
+
if (!this.formModel[this.fieldKeyName])
|
|
966
|
+
this.formModel[this.fieldKeyName] = [];
|
|
280
967
|
this.initRefList();
|
|
281
968
|
this.handleOnCreated();
|
|
282
969
|
},
|
|
@@ -305,24 +992,24 @@ export default {
|
|
|
305
992
|
confirmAdvancedSearchDialog() {
|
|
306
993
|
let formModel = this.formModel;
|
|
307
994
|
let advancedFormData = this.advancedFormData;
|
|
308
|
-
this.vxeOption.searchColumns.forEach(form1Field => {
|
|
995
|
+
this.vxeOption.searchColumns.forEach((form1Field) => {
|
|
309
996
|
let value = formModel[form1Field.field];
|
|
310
997
|
if (value !== null && value !== undefined) {
|
|
311
|
-
advancedFormData[form1Field.field] = value
|
|
998
|
+
advancedFormData[form1Field.field] = value;
|
|
312
999
|
} else {
|
|
313
|
-
advancedFormData[form1Field.field] = null
|
|
1000
|
+
advancedFormData[form1Field.field] = null;
|
|
314
1001
|
}
|
|
315
1002
|
});
|
|
316
1003
|
this.searchEvent();
|
|
317
1004
|
},
|
|
318
1005
|
advancedClear() {
|
|
319
|
-
this.vxeOption.searchColumns.forEach(form1Field => {
|
|
320
|
-
let widgetRef = this.getWidgetRef(form1Field.widget.options.name)
|
|
1006
|
+
this.vxeOption.searchColumns.forEach((form1Field) => {
|
|
1007
|
+
let widgetRef = this.getWidgetRef(form1Field.widget.options.name);
|
|
321
1008
|
if (widgetRef && widgetRef.setValue) widgetRef.setValue(null);
|
|
322
1009
|
});
|
|
323
1010
|
},
|
|
324
1011
|
setValue(val) {
|
|
325
|
-
let rows = val || []
|
|
1012
|
+
let rows = val || [];
|
|
326
1013
|
this.formModel[this.fieldKeyName] = rows;
|
|
327
1014
|
this.fieldModel = rows;
|
|
328
1015
|
},
|
|
@@ -331,40 +1018,36 @@ export default {
|
|
|
331
1018
|
},
|
|
332
1019
|
getFieldKeyName(widget) {
|
|
333
1020
|
let o = widget.options.name;
|
|
334
|
-
return (
|
|
335
|
-
(widget.options.keyNameEnabled
|
|
336
|
-
&& widget.options.keyName)
|
|
337
|
-
|| o
|
|
338
|
-
);
|
|
1021
|
+
return (widget.options.keyNameEnabled && widget.options.keyName) || o;
|
|
339
1022
|
},
|
|
340
|
-
formatterValue: function ({cellValue, row, column}) {
|
|
1023
|
+
formatterValue: function ({ cellValue, row, column }) {
|
|
341
1024
|
if (cellValue === null || cellValue === undefined) return cellValue;
|
|
342
1025
|
|
|
343
1026
|
if (column.params && column.params.formatS)
|
|
344
1027
|
switch (column.params.formatS) {
|
|
345
|
-
case
|
|
1028
|
+
case "d1":
|
|
346
1029
|
return baseRefUtil.formatUtil.formatDate1(cellValue);
|
|
347
|
-
case
|
|
1030
|
+
case "d2":
|
|
348
1031
|
return baseRefUtil.formatUtil.formatDate2(cellValue);
|
|
349
|
-
case
|
|
1032
|
+
case "d3":
|
|
350
1033
|
return baseRefUtil.formatUtil.formatDate3(cellValue);
|
|
351
|
-
case
|
|
1034
|
+
case "d4":
|
|
352
1035
|
return baseRefUtil.formatUtil.formatDate4(cellValue);
|
|
353
|
-
case
|
|
1036
|
+
case "d5":
|
|
354
1037
|
return baseRefUtil.formatUtil.formatDate4(cellValue);
|
|
355
|
-
case
|
|
1038
|
+
case "n1":
|
|
356
1039
|
return baseRefUtil.formatUtil.formatNumber1(cellValue);
|
|
357
|
-
case
|
|
1040
|
+
case "n2":
|
|
358
1041
|
return baseRefUtil.formatUtil.formatNumber2(cellValue);
|
|
359
|
-
case
|
|
1042
|
+
case "n3":
|
|
360
1043
|
return baseRefUtil.formatUtil.formatNumber3(cellValue);
|
|
361
|
-
case
|
|
1044
|
+
case "n4":
|
|
362
1045
|
return baseRefUtil.formatUtil.formatNumber4(cellValue);
|
|
363
|
-
case
|
|
1046
|
+
case "n5":
|
|
364
1047
|
return baseRefUtil.formatUtil.formatNumber5(cellValue);
|
|
365
|
-
case
|
|
1048
|
+
case "n6":
|
|
366
1049
|
return baseRefUtil.formatUtil.formatNumber6(cellValue);
|
|
367
|
-
case
|
|
1050
|
+
case "n7":
|
|
368
1051
|
return baseRefUtil.formatUtil.formatNumber7(cellValue);
|
|
369
1052
|
}
|
|
370
1053
|
return cellValue;
|
|
@@ -376,73 +1059,60 @@ export default {
|
|
|
376
1059
|
async resetEvent() {
|
|
377
1060
|
let formData = this.formModel;
|
|
378
1061
|
this.keyword = null;
|
|
379
|
-
this.widget.widgetList &&
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
1062
|
+
this.widget.widgetList &&
|
|
1063
|
+
this.widget.widgetList.forEach((subWidget) => {
|
|
1064
|
+
let widgetRef = this.getWidgetRef(subWidget.options.name);
|
|
1065
|
+
let fieldKeyName = this.getFieldKeyName(subWidget);
|
|
1066
|
+
formData[fieldKeyName] = null;
|
|
1067
|
+
this.advancedFormData[fieldKeyName] = null;
|
|
1068
|
+
if (widgetRef && widgetRef.setValue) widgetRef.setValue(null);
|
|
1069
|
+
});
|
|
386
1070
|
// this.getGridTable().commitProxy('reload');
|
|
387
1071
|
this.loadAccessData();
|
|
388
1072
|
},
|
|
389
1073
|
openEditDialog(row) {
|
|
390
1074
|
let formRef = this.getFormRef();
|
|
391
1075
|
let parentTarget = formRef.$attrs["parent-target"];
|
|
392
|
-
parentTarget &&
|
|
1076
|
+
parentTarget &&
|
|
1077
|
+
parentTarget.$attrs.openEditDialog &&
|
|
1078
|
+
parentTarget.$attrs.openEditDialog(row);
|
|
393
1079
|
},
|
|
394
1080
|
initTableList() {
|
|
395
1081
|
let that = this;
|
|
396
1082
|
let path = null;
|
|
397
1083
|
let paramFun = null;
|
|
398
|
-
// let mainDataSetDTO = null;
|
|
399
|
-
let requestAccess = this.requestAccess;
|
|
400
1084
|
let tableRef = this.getTableRef();
|
|
401
|
-
let formDataModel = this.getFormRef().formDataModel;
|
|
402
1085
|
let isQueryTable = this.widget.options.isQueryTable || false;
|
|
403
|
-
let isDataPage = this.widget.options.accessReturnType
|
|
404
|
-
let
|
|
405
|
-
let dataId = this.formDataId;
|
|
406
|
-
let accessScript = this.widget.options.accessScript;
|
|
1086
|
+
let isDataPage = this.widget.options.accessReturnType === "2";
|
|
1087
|
+
let isQueryAllPage = !this.widget.options.isNotQueryAllPage;
|
|
407
1088
|
let searchColumns = null;
|
|
408
1089
|
if (isQueryTable) {
|
|
409
|
-
path =
|
|
1090
|
+
path = "#";
|
|
410
1091
|
paramFun = () => {
|
|
411
|
-
|
|
412
|
-
let conditions = {keyword: this.keyword, ...this.advancedFormData};
|
|
1092
|
+
let conditions = this.getSearchCondition();
|
|
413
1093
|
if (this.widget.options.showPagination) {
|
|
414
1094
|
let searchCount = true;
|
|
415
|
-
|
|
416
|
-
if (isQueryAllPage == false) {
|
|
1095
|
+
if (isQueryAllPage === false) {
|
|
417
1096
|
searchCount = false;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
conditions.size = pager.pageSize;
|
|
423
|
-
conditions.searchCount = searchCount;
|
|
424
|
-
}*/
|
|
1097
|
+
}
|
|
1098
|
+
conditions.current = this.page.current;
|
|
1099
|
+
conditions.size = this.page.size;
|
|
1100
|
+
conditions.searchCount = searchCount;
|
|
425
1101
|
}
|
|
426
|
-
|
|
427
|
-
/*let formData = {
|
|
428
|
-
accessCode: requestAccess.accessCode,
|
|
429
|
-
conditions: conditions
|
|
430
|
-
};*/
|
|
431
|
-
let formData = conditions;
|
|
432
|
-
return formData;
|
|
1102
|
+
return conditions;
|
|
433
1103
|
};
|
|
434
1104
|
|
|
435
1105
|
searchColumns = [];
|
|
436
1106
|
let widgetList = this.widget.widgetList;
|
|
437
1107
|
let typeMap = {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
1108
|
+
input: "input",
|
|
1109
|
+
number: "number",
|
|
1110
|
+
inputBatch: "inputBatch",
|
|
1111
|
+
date: "date",
|
|
1112
|
+
};
|
|
443
1113
|
|
|
444
|
-
widgetList.forEach(widget => {
|
|
445
|
-
if (
|
|
1114
|
+
widgetList.forEach((widget) => {
|
|
1115
|
+
if ("container" !== widget.category) {
|
|
446
1116
|
let options = widget.options;
|
|
447
1117
|
let type = typeMap[widget.type] || null;
|
|
448
1118
|
searchColumns.push({
|
|
@@ -454,14 +1124,14 @@ export default {
|
|
|
454
1124
|
defaultValueEnabled: !!type,
|
|
455
1125
|
slot: options.name,
|
|
456
1126
|
widget: widget,
|
|
457
|
-
formItem: false
|
|
1127
|
+
formItem: false,
|
|
458
1128
|
});
|
|
459
1129
|
}
|
|
460
1130
|
});
|
|
461
1131
|
}
|
|
462
1132
|
|
|
463
1133
|
let formRef = this.getFormRef();
|
|
464
|
-
let dataTableConfig = formRef.$attrs.dataTableOption || {}
|
|
1134
|
+
let dataTableConfig = formRef.$attrs.dataTableOption || {};
|
|
465
1135
|
this.dataTableConfig = dataTableConfig;
|
|
466
1136
|
|
|
467
1137
|
let tableOption = {
|
|
@@ -477,190 +1147,108 @@ export default {
|
|
|
477
1147
|
/*pagerConfig: {
|
|
478
1148
|
autoHidden: !this.widget.options.showPagination
|
|
479
1149
|
},*/
|
|
480
|
-
...dataTableConfig.config
|
|
1150
|
+
...dataTableConfig.config,
|
|
481
1151
|
},
|
|
482
1152
|
exportAjax: (param) => {
|
|
483
1153
|
let $grid = this.getGridTable();
|
|
484
1154
|
let pageSize = param.size;
|
|
485
1155
|
let currentPage = param.current;
|
|
486
|
-
let page = {pageSize, currentPage};
|
|
487
|
-
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
488
|
-
|
|
1156
|
+
let page = { pageSize, currentPage };
|
|
1157
|
+
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
1158
|
+
page,
|
|
1159
|
+
param,
|
|
1160
|
+
});
|
|
1161
|
+
},
|
|
489
1162
|
};
|
|
490
1163
|
|
|
491
1164
|
if (isQueryTable) {
|
|
492
1165
|
tableOption.path = path;
|
|
493
1166
|
tableOption.config.proxyConfig = {
|
|
494
1167
|
props: {
|
|
495
|
-
result: isDataPage ?
|
|
496
|
-
total: isDataPage ?
|
|
1168
|
+
result: isDataPage ? "objx.records" : "objx", // 配置响应结果列表字段
|
|
1169
|
+
total: isDataPage ? "objx.total" : "objx.length", // 配置响应结果总页数字段
|
|
497
1170
|
},
|
|
498
1171
|
ajax: {
|
|
499
1172
|
// 接收 Promise 对象
|
|
500
|
-
query: ({page, sorts, filters, form, param}) => {
|
|
501
|
-
|
|
502
|
-
return;
|
|
503
|
-
}
|
|
504
|
-
|
|
1173
|
+
query: ({ page, sorts, filters, form, param }) => {
|
|
1174
|
+
let scriptCode = this.getScriptCode();
|
|
505
1175
|
let formData = tableOption.param ? tableOption.param() || {} : {};
|
|
506
1176
|
const queryParams = Object.assign({}, formData);
|
|
507
1177
|
|
|
508
|
-
// 处理排序条件
|
|
509
|
-
if (sorts) {
|
|
510
|
-
const firstSort = sorts[0];
|
|
511
|
-
if (firstSort) {
|
|
512
|
-
queryParams.sort = firstSort.property;
|
|
513
|
-
queryParams.order = firstSort.order;
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
// 处理筛选条件
|
|
518
1178
|
if (filters) {
|
|
519
|
-
filters.forEach(({property, values}) => {
|
|
1179
|
+
filters.forEach(({ property, values }) => {
|
|
520
1180
|
queryParams[property] = values.join(",");
|
|
521
1181
|
});
|
|
522
1182
|
}
|
|
523
1183
|
|
|
524
1184
|
if (page.pageSize !== undefined) {
|
|
525
|
-
queryParams
|
|
526
|
-
queryParams
|
|
1185
|
+
queryParams.size = page.pageSize;
|
|
1186
|
+
queryParams.current = page.currentPage;
|
|
527
1187
|
}
|
|
528
1188
|
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
let pathStr1 = "";
|
|
532
|
-
if (isQueryAllPage === false) {
|
|
533
|
-
queryParams.searchCount = false;
|
|
534
|
-
}*/
|
|
535
|
-
Object.assign(queryParams, param)
|
|
1189
|
+
queryParams.searchCount = isQueryAllPage !== false;
|
|
1190
|
+
Object.assign(queryParams, param);
|
|
536
1191
|
|
|
537
|
-
|
|
1192
|
+
if (that.dataTableConfig.queryParam) {
|
|
1193
|
+
Object.assign(queryParams, that.dataTableConfig.queryParam);
|
|
1194
|
+
}
|
|
538
1195
|
|
|
539
1196
|
return new Promise((resolve, reject) => {
|
|
540
1197
|
let reqData = {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
this.
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
setTimeout(function () {
|
|
559
|
-
tableOption.callback(rows);
|
|
560
|
-
}, 0);
|
|
561
|
-
});
|
|
562
|
-
}
|
|
563
|
-
} else {
|
|
564
|
-
this.setValue([]);
|
|
1198
|
+
...queryParams,
|
|
1199
|
+
};
|
|
1200
|
+
if (scriptCode) {
|
|
1201
|
+
let done = (res) => {
|
|
1202
|
+
resolve(res);
|
|
1203
|
+
if (res.type === "success") {
|
|
1204
|
+
let rows = res.objx
|
|
1205
|
+
? res.objx.records || res.objx || []
|
|
1206
|
+
: [];
|
|
1207
|
+
this.setValue(rows);
|
|
1208
|
+
if (res.objx && res.objx.records !== undefined) {
|
|
1209
|
+
this.page = {
|
|
1210
|
+
current: res.objx.current ?? this.page.current,
|
|
1211
|
+
size: res.objx.size ?? this.page.size,
|
|
1212
|
+
total: res.objx.total ?? 0,
|
|
1213
|
+
records: rows,
|
|
1214
|
+
};
|
|
565
1215
|
}
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
1216
|
+
that.$nextTick(() => {
|
|
1217
|
+
setTimeout(function () {
|
|
1218
|
+
dataTableConfig.callback &&
|
|
1219
|
+
dataTableConfig.callback(rows);
|
|
1220
|
+
tableOption.callback && tableOption.callback(rows);
|
|
1221
|
+
that.handleCustomEvent(
|
|
1222
|
+
that.widget.options.formScriptCallback,
|
|
1223
|
+
["rows"],
|
|
1224
|
+
[rows]
|
|
1225
|
+
);
|
|
1226
|
+
}, 0);
|
|
571
1227
|
});
|
|
1228
|
+
} else {
|
|
1229
|
+
this.page = {
|
|
1230
|
+
current: 1,
|
|
1231
|
+
size: this.pageSize,
|
|
1232
|
+
total: 0,
|
|
1233
|
+
records: [],
|
|
1234
|
+
};
|
|
1235
|
+
this.setValue([]);
|
|
572
1236
|
}
|
|
573
1237
|
};
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
index++
|
|
578
|
-
setTimeout(() => {
|
|
579
|
-
loopHandle();
|
|
580
|
-
}, 10)
|
|
581
|
-
} else {
|
|
582
|
-
if ($grid.tableFormStop) $grid.tableFormStop = false;
|
|
583
|
-
toDo();
|
|
584
|
-
}*/
|
|
585
|
-
toDo();
|
|
586
|
-
}
|
|
587
|
-
loopHandle();
|
|
1238
|
+
this.loadDefaultQueryList(reqData, done).catch((error) => {
|
|
1239
|
+
reject(error);
|
|
1240
|
+
});
|
|
588
1241
|
} else {
|
|
589
1242
|
resolve();
|
|
590
1243
|
}
|
|
591
|
-
/*that.scriptHttp({
|
|
592
|
-
options: this.widget.options,
|
|
593
|
-
params: queryParams,
|
|
594
|
-
callback: (res) => {
|
|
595
|
-
resolve(res);
|
|
596
|
-
if (res.type == "success") {
|
|
597
|
-
let rows = res.objx ? res.objx.records || res.objx || [] : [];
|
|
598
|
-
/!*if (tableOption.treeNodeUrl) {
|
|
599
|
-
if (rows.length > 0) {
|
|
600
|
-
let $t = this.$refs[tableRef];
|
|
601
|
-
var treeConditions = $t.originOption.treeConditions || [
|
|
602
|
-
"enabled",
|
|
603
|
-
];
|
|
604
|
-
let treeFiled = Object.keys(formData).some((key) => {
|
|
605
|
-
return (
|
|
606
|
-
!treeConditions.includes(key) && formData[key] != null && formData[key] != ""
|
|
607
|
-
);
|
|
608
|
-
});
|
|
609
|
-
if (treeFiled) {
|
|
610
|
-
that.$nextTick(() => {
|
|
611
|
-
setTimeout(function () {
|
|
612
|
-
let isLazy = $t.treeConfig.lazy;
|
|
613
|
-
$t.treeConfig.lazy = false;
|
|
614
|
-
$t.setAllTreeExpand(true).then(() => {
|
|
615
|
-
let fullAllDataRowMap = $t.$refs.xTable.fullAllDataRowMap;
|
|
616
|
-
let fullData = $t.getTableData().fullData;
|
|
617
|
-
fullData.forEach((lineData) => {
|
|
618
|
-
if (
|
|
619
|
-
$t.$refs.xTable.isTreeExpandByRow(lineData)
|
|
620
|
-
) {
|
|
621
|
-
var rest = fullAllDataRowMap.get(lineData);
|
|
622
|
-
rest.treeLoaded = true;
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
$t.treeConfig.lazy = isLazy;
|
|
626
|
-
});
|
|
627
|
-
}, 0);
|
|
628
|
-
});
|
|
629
|
-
} else {
|
|
630
|
-
let row = rows[0];
|
|
631
|
-
if (row[result.treeConfig.hasChild]) {
|
|
632
|
-
that.$nextTick(() => {
|
|
633
|
-
setTimeout(function () {
|
|
634
|
-
$t.setTreeExpand(row, true);
|
|
635
|
-
}, 0);
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
}
|
|
640
|
-
}*!/
|
|
641
|
-
if (tableOption.callback) {
|
|
642
|
-
that.$nextTick(() => {
|
|
643
|
-
setTimeout(function () {
|
|
644
|
-
tableOption.callback(rows);
|
|
645
|
-
}, 0);
|
|
646
|
-
});
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
},
|
|
650
|
-
httpConfig: {
|
|
651
|
-
error: (error) => {
|
|
652
|
-
reject(error);
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
});*/
|
|
656
1244
|
});
|
|
657
|
-
}
|
|
658
|
-
}
|
|
1245
|
+
},
|
|
1246
|
+
},
|
|
659
1247
|
};
|
|
660
1248
|
tableOption.callback = (rows) => {
|
|
661
1249
|
// this.fieldModel = rows;
|
|
662
|
-
this.formModel[this.fieldKeyName] = rows
|
|
663
|
-
}
|
|
1250
|
+
this.formModel[this.fieldKeyName] = rows;
|
|
1251
|
+
};
|
|
664
1252
|
}
|
|
665
1253
|
this.vxeOption = tableOption;
|
|
666
1254
|
this.loadAccessData();
|
|
@@ -677,26 +1265,71 @@ export default {
|
|
|
677
1265
|
this.loadAccessData();
|
|
678
1266
|
}*/
|
|
679
1267
|
},
|
|
1268
|
+
getTableCondition() {
|
|
1269
|
+
if (this.widget.options.tableCondition) {
|
|
1270
|
+
let e = new Function(this.widget.options.tableCondition);
|
|
1271
|
+
return e.call(this);
|
|
1272
|
+
}
|
|
1273
|
+
},
|
|
1274
|
+
getSearchCondition() {
|
|
1275
|
+
// let extraAccessData = this.extraAccessData || {};
|
|
1276
|
+
let searchFormData = this.getSearchFormData();
|
|
1277
|
+
let conditions = {
|
|
1278
|
+
// ...this.getTableCondition(),
|
|
1279
|
+
...searchFormData,
|
|
1280
|
+
// ...this.advancedFormData,
|
|
1281
|
+
// ...extraAccessData,
|
|
1282
|
+
};
|
|
1283
|
+
if (this.keyword) {
|
|
1284
|
+
conditions.keyword = this.keyword;
|
|
1285
|
+
}
|
|
1286
|
+
return conditions;
|
|
1287
|
+
},
|
|
680
1288
|
getSearchFormData() {
|
|
681
|
-
let map = {};
|
|
1289
|
+
let map = { condition: [] };
|
|
682
1290
|
let formData = this.globalModel.formModel;
|
|
683
1291
|
let widgetList = this.widget.widgetList;
|
|
684
1292
|
if (!!widgetList && widgetList.length > 0) {
|
|
685
1293
|
let loop = (wItem) => {
|
|
686
|
-
if (wItem.category ===
|
|
1294
|
+
if (wItem.category === "container") {
|
|
687
1295
|
loop(wItem);
|
|
688
1296
|
} else {
|
|
689
1297
|
let formField = this.getFieldKeyName(wItem);
|
|
690
1298
|
let vaule = formData[formField];
|
|
691
|
-
if (vaule !== null && vaule !== undefined && vaule !==
|
|
692
|
-
|
|
1299
|
+
if (vaule !== null && vaule !== undefined && vaule !== "") {
|
|
1300
|
+
if (!Array.isArray(vaule) || vaule.length > 0) {
|
|
1301
|
+
let item = {
|
|
1302
|
+
value: vaule,
|
|
1303
|
+
field: formField,
|
|
1304
|
+
filter: null,
|
|
1305
|
+
};
|
|
1306
|
+
let wType = wItem.type;
|
|
1307
|
+
if (["date-range", "time-range"].includes(wType)) {
|
|
1308
|
+
item.filter = "between";
|
|
1309
|
+
} else if (
|
|
1310
|
+
["input-batch", "checkbox"].includes(wType) ||
|
|
1311
|
+
(wType === "select" && wItem.options.multiple)
|
|
1312
|
+
) {
|
|
1313
|
+
item.filter = "in";
|
|
1314
|
+
} else if (
|
|
1315
|
+
["radio", "time", "date"].includes(wType) ||
|
|
1316
|
+
(wType === "select" && !wItem.options.multiple)
|
|
1317
|
+
) {
|
|
1318
|
+
item.filter = "eq";
|
|
1319
|
+
} else {
|
|
1320
|
+
item.filter = "like";
|
|
1321
|
+
}
|
|
1322
|
+
map.condition.push(item);
|
|
1323
|
+
}
|
|
693
1324
|
}
|
|
694
1325
|
}
|
|
695
1326
|
};
|
|
696
|
-
widgetList.forEach(wItem => {
|
|
1327
|
+
widgetList.forEach((wItem) => {
|
|
697
1328
|
loop(wItem);
|
|
698
1329
|
});
|
|
699
1330
|
}
|
|
1331
|
+
debugger;
|
|
1332
|
+
let a = 1;
|
|
700
1333
|
return map;
|
|
701
1334
|
},
|
|
702
1335
|
loadTableData(param) {
|
|
@@ -706,51 +1339,131 @@ export default {
|
|
|
706
1339
|
param = param || {};
|
|
707
1340
|
let pageSize = param.size || this.pageSize;
|
|
708
1341
|
let currentPage = param.current || 1;
|
|
709
|
-
let page = {pageSize, currentPage};
|
|
710
|
-
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
1342
|
+
let page = { pageSize, currentPage };
|
|
1343
|
+
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
1344
|
+
page,
|
|
1345
|
+
param,
|
|
1346
|
+
});
|
|
711
1347
|
},
|
|
712
1348
|
loadAccessData() {
|
|
713
1349
|
let isQueryTable = this.widget.options.isQueryTable || false;
|
|
714
1350
|
if (isQueryTable) {
|
|
715
|
-
this.loadTableData({})
|
|
1351
|
+
this.loadTableData({});
|
|
716
1352
|
return;
|
|
717
1353
|
}
|
|
718
1354
|
if (!isQueryTable && !this.formDataId) return;
|
|
719
1355
|
|
|
720
|
-
let
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
1356
|
+
let scriptCode = this.getScriptCode();
|
|
1357
|
+
if (scriptCode) {
|
|
1358
|
+
this.loadDefaultViewList();
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
getAccessParam() {
|
|
1362
|
+
if (!this.widget.options.formScriptParam) return;
|
|
1363
|
+
return this.handleCustomEvent(this.widget.options.formScriptParam);
|
|
1364
|
+
},
|
|
1365
|
+
getScriptCode() {
|
|
1366
|
+
let accessReturnType = this.widget.options.accessReturnType;
|
|
1367
|
+
let defaultScriptCode = "getList";
|
|
1368
|
+
if (accessReturnType === "1") {
|
|
1369
|
+
defaultScriptCode = "getList";
|
|
1370
|
+
} else if (accessReturnType === "2") {
|
|
1371
|
+
defaultScriptCode = "getPage";
|
|
1372
|
+
}
|
|
1373
|
+
return this.widget.options.formScriptCode || defaultScriptCode;
|
|
1374
|
+
},
|
|
1375
|
+
getAttachmentType() {
|
|
1376
|
+
let result = [];
|
|
1377
|
+
let tableColumns = this.widget.options.tableColumns || [];
|
|
1378
|
+
tableColumns.forEach((item) => {
|
|
1379
|
+
if (item.prop && item.label && item.formatS === "editAttachment") {
|
|
1380
|
+
result.push(item.prop);
|
|
729
1381
|
}
|
|
730
|
-
|
|
731
|
-
|
|
1382
|
+
});
|
|
1383
|
+
return result;
|
|
1384
|
+
},
|
|
1385
|
+
getHttpConfigForUser() {
|
|
1386
|
+
return {
|
|
1387
|
+
addCreateInfo: true,
|
|
1388
|
+
queryCreateInfo: window.$vueRoot.$store.getters.queryCreateInfo || "0",
|
|
1389
|
+
};
|
|
1390
|
+
},
|
|
1391
|
+
loadDefaultQueryList(reqData, done) {
|
|
1392
|
+
let reportTemplate = this.getFormRef().reportTemplate;
|
|
1393
|
+
let formCode = reportTemplate.formCode;
|
|
1394
|
+
let scriptCode = this.getScriptCode();
|
|
1395
|
+
let accessParam = this.getAccessParam() || {};
|
|
1396
|
+
let otherParam = {};
|
|
1397
|
+
let attachmentType = this.getAttachmentType();
|
|
1398
|
+
if (attachmentType.length) {
|
|
1399
|
+
otherParam.attachmentType = attachmentType;
|
|
732
1400
|
}
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
1401
|
+
let defaultOption = this.getHttpConfigForUser();
|
|
1402
|
+
let requestData = {
|
|
1403
|
+
...reqData,
|
|
1404
|
+
...otherParam,
|
|
1405
|
+
};
|
|
1406
|
+
requestData = extendDeeply(requestData, accessParam);
|
|
1407
|
+
return this.formHttp({
|
|
1408
|
+
scriptCode: scriptCode,
|
|
1409
|
+
data: {
|
|
1410
|
+
formCode: formCode,
|
|
1411
|
+
formVersion: reportTemplate.formVersion,
|
|
1412
|
+
taBm: this.fieldKeyName,
|
|
1413
|
+
data: requestData,
|
|
1414
|
+
},
|
|
1415
|
+
isLoading: false,
|
|
1416
|
+
...defaultOption,
|
|
1417
|
+
callback: (res) => {
|
|
1418
|
+
done(res);
|
|
1419
|
+
},
|
|
1420
|
+
});
|
|
1421
|
+
},
|
|
1422
|
+
loadDefaultViewList() {
|
|
1423
|
+
let dataId = this.formDataId;
|
|
1424
|
+
let reportTemplate = this.getFormRef().reportTemplate;
|
|
1425
|
+
let formCode = reportTemplate.formCode;
|
|
1426
|
+
let accessParam = this.getAccessParam() || {};
|
|
1427
|
+
let otherParam = {};
|
|
1428
|
+
let attachmentType = this.getAttachmentType();
|
|
1429
|
+
if (attachmentType.length) {
|
|
1430
|
+
otherParam.attachmentType = attachmentType;
|
|
1431
|
+
}
|
|
1432
|
+
let scriptCode = this.getScriptCode();
|
|
1433
|
+
return this.formHttp({
|
|
1434
|
+
scriptCode: scriptCode,
|
|
1435
|
+
data: {
|
|
1436
|
+
formCode: formCode,
|
|
1437
|
+
formVersion: reportTemplate.formVersion,
|
|
1438
|
+
taBm: this.fieldKeyName,
|
|
1439
|
+
data: {
|
|
1440
|
+
id: dataId,
|
|
1441
|
+
...otherParam,
|
|
1442
|
+
...accessParam,
|
|
1443
|
+
},
|
|
1444
|
+
},
|
|
1445
|
+
callback: (res) => {
|
|
738
1446
|
let rows = res.objx ? res.objx.records || res.objx || [] : [];
|
|
739
|
-
this.
|
|
740
|
-
|
|
741
|
-
|
|
1447
|
+
this.setValue(rows);
|
|
1448
|
+
this.handleCustomEvent(
|
|
1449
|
+
this.widget.options.formScriptCallback,
|
|
1450
|
+
["rows"],
|
|
1451
|
+
[rows]
|
|
1452
|
+
);
|
|
1453
|
+
},
|
|
1454
|
+
});
|
|
742
1455
|
},
|
|
743
1456
|
getReqParam(item, dataId, billData) {
|
|
744
1457
|
let param = {};
|
|
745
1458
|
if (item.accessParam) {
|
|
746
1459
|
if (typeof item.accessParam === "string") {
|
|
747
|
-
let n = new Function(
|
|
1460
|
+
let n = new Function("billData", item.accessParam);
|
|
748
1461
|
param = n.call(this, billData);
|
|
749
1462
|
} else {
|
|
750
|
-
param = item.accessParam
|
|
1463
|
+
param = item.accessParam;
|
|
751
1464
|
}
|
|
752
1465
|
} else {
|
|
753
|
-
param = {id: dataId}
|
|
1466
|
+
param = { id: dataId };
|
|
754
1467
|
}
|
|
755
1468
|
return param;
|
|
756
1469
|
},
|
|
@@ -758,10 +1471,12 @@ export default {
|
|
|
758
1471
|
this.fieldModel.splice(rowIndex, 1);
|
|
759
1472
|
},
|
|
760
1473
|
createNewTableData() {
|
|
761
|
-
let vailColumns = this.widget.options.tableColumns.filter(
|
|
1474
|
+
let vailColumns = this.widget.options.tableColumns.filter(
|
|
1475
|
+
(item) => item.prop && item.label
|
|
1476
|
+
);
|
|
762
1477
|
let newData = {};
|
|
763
|
-
vailColumns.forEach(item => {
|
|
764
|
-
if (item.formatS ==
|
|
1478
|
+
vailColumns.forEach((item) => {
|
|
1479
|
+
if (item.formatS == "editSearch") {
|
|
765
1480
|
newData[item.prop] = null;
|
|
766
1481
|
let vabSearchName = item?.columnOption?.vabSearchName;
|
|
767
1482
|
if (vabSearchName) newData[vabSearchName] = null;
|
|
@@ -777,11 +1492,11 @@ export default {
|
|
|
777
1492
|
let fullData = this.fieldModel;
|
|
778
1493
|
let items;
|
|
779
1494
|
if (field) {
|
|
780
|
-
let keys = fullData.map(item => {
|
|
1495
|
+
let keys = fullData.map((item) => {
|
|
781
1496
|
return item[field] + "";
|
|
782
1497
|
});
|
|
783
|
-
items = rows.filter(item => {
|
|
784
|
-
let value = item[field] + ""
|
|
1498
|
+
items = rows.filter((item) => {
|
|
1499
|
+
let value = item[field] + "";
|
|
785
1500
|
return !keys.includes(value);
|
|
786
1501
|
});
|
|
787
1502
|
} else {
|
|
@@ -789,12 +1504,12 @@ export default {
|
|
|
789
1504
|
}
|
|
790
1505
|
if (items) {
|
|
791
1506
|
if (items.length) {
|
|
792
|
-
items.forEach(row => {
|
|
1507
|
+
items.forEach((row) => {
|
|
793
1508
|
let newData = this.createNewTableData();
|
|
794
1509
|
Object.assign(newData, row);
|
|
795
1510
|
|
|
796
1511
|
tableRows.push(newData);
|
|
797
|
-
})
|
|
1512
|
+
});
|
|
798
1513
|
}
|
|
799
1514
|
} else {
|
|
800
1515
|
let newData = this.createNewTableData();
|
|
@@ -806,16 +1521,18 @@ export default {
|
|
|
806
1521
|
},
|
|
807
1522
|
getColumnWidgetConfig(row) {
|
|
808
1523
|
let formRef = this.getFormRef();
|
|
809
|
-
let formatS = row.formatS
|
|
1524
|
+
let formatS = row.formatS;
|
|
810
1525
|
let columnSelectedWidget = null;
|
|
811
1526
|
let columnEditFields = null;
|
|
812
1527
|
|
|
813
1528
|
let type = this.columnFormatMap[row.formatS];
|
|
814
1529
|
|
|
815
1530
|
if (type) {
|
|
816
|
-
columnSelectedWidget = this.$baseLodash.cloneDeep(
|
|
1531
|
+
columnSelectedWidget = this.$baseLodash.cloneDeep(
|
|
1532
|
+
formRef.getFieldWidgetByType(type)
|
|
1533
|
+
);
|
|
817
1534
|
let tmpId = generateId();
|
|
818
|
-
let idVal = row.prop ? row.prop :
|
|
1535
|
+
let idVal = row.prop ? row.prop : type + tmpId;
|
|
819
1536
|
columnSelectedWidget.id = idVal;
|
|
820
1537
|
columnSelectedWidget.options.name = idVal;
|
|
821
1538
|
if (row.columnOption && Object.keys(row.columnOption).length) {
|
|
@@ -829,24 +1546,42 @@ export default {
|
|
|
829
1546
|
columnSelectedWidget.options.label = row.label;
|
|
830
1547
|
columnSelectedWidget.options.labelHidden = true;
|
|
831
1548
|
}
|
|
832
|
-
return {columnSelectedWidget, columnEditFields};
|
|
1549
|
+
return { columnSelectedWidget, columnEditFields };
|
|
833
1550
|
},
|
|
834
1551
|
getColumnProp(widget, obj) {
|
|
835
1552
|
let isQueryTable = this.widget.options.isQueryTable || false;
|
|
836
1553
|
if (isQueryTable) {
|
|
837
1554
|
return "false";
|
|
838
1555
|
} else {
|
|
839
|
-
let propName =
|
|
1556
|
+
let propName =
|
|
1557
|
+
this.getFieldKeyName(widget) +
|
|
1558
|
+
"." +
|
|
1559
|
+
obj.rowIndex +
|
|
1560
|
+
"." +
|
|
1561
|
+
obj.column.field;
|
|
840
1562
|
if (this.isVabsearchFlagWidget(widget)) {
|
|
841
1563
|
let vabSearchName = obj.column.params.widget.options.vabSearchName;
|
|
842
|
-
propName =
|
|
1564
|
+
propName =
|
|
1565
|
+
this.getFieldKeyName(widget) +
|
|
1566
|
+
"." +
|
|
1567
|
+
obj.rowIndex +
|
|
1568
|
+
"." +
|
|
1569
|
+
vabSearchName;
|
|
843
1570
|
}
|
|
844
1571
|
return propName;
|
|
845
1572
|
}
|
|
846
1573
|
},
|
|
1574
|
+
isVabsearchFlagWidget(widget) {
|
|
1575
|
+
let type = widget?.type;
|
|
1576
|
+
return (
|
|
1577
|
+
type === "vabsearch" ||
|
|
1578
|
+
type === "singerSearch" ||
|
|
1579
|
+
type === "multiSearch"
|
|
1580
|
+
);
|
|
1581
|
+
},
|
|
847
1582
|
getColumnWidgetName(e) {
|
|
848
1583
|
if (e && e.type) {
|
|
849
|
-
return e.type +
|
|
1584
|
+
return e.type + "-widget";
|
|
850
1585
|
}
|
|
851
1586
|
},
|
|
852
1587
|
getGridTable() {
|
|
@@ -858,8 +1593,8 @@ export default {
|
|
|
858
1593
|
return tableRef;
|
|
859
1594
|
},
|
|
860
1595
|
getUrl() {
|
|
861
|
-
let accessUrl = this.widget.options.accessUrl
|
|
862
|
-
return accessUrl ||
|
|
1596
|
+
let accessUrl = this.widget.options.accessUrl;
|
|
1597
|
+
return accessUrl || USER_PREFIX + `/form_ins/getFormInsData`;
|
|
863
1598
|
},
|
|
864
1599
|
openRowDetailDialog(row) {
|
|
865
1600
|
/*let isQueryTable = this.widget.options.isQueryTable || false;
|
|
@@ -867,17 +1602,17 @@ export default {
|
|
|
867
1602
|
this.editRow = row;
|
|
868
1603
|
this.showRowDetailDialog = true;
|
|
869
1604
|
},
|
|
870
|
-
changePageNew({type, currentPage, pageSize, $event}) {
|
|
1605
|
+
changePageNew({ type, currentPage, pageSize, $event }) {
|
|
871
1606
|
this.loadTableData({
|
|
872
1607
|
size: pageSize + "",
|
|
873
|
-
current: currentPage + ""
|
|
874
|
-
})
|
|
1608
|
+
current: currentPage + "",
|
|
1609
|
+
});
|
|
875
1610
|
},
|
|
876
1611
|
exportData(option) {
|
|
877
1612
|
let tableRef = this.getTableRef();
|
|
878
1613
|
let serverName = this.getFormRef().reportTemplate.serverName;
|
|
879
1614
|
option.prefix = option.prefix || serverName;
|
|
880
|
-
this.$excelExport({targetRef: tableRef, ...option})
|
|
1615
|
+
this.$excelExport({ targetRef: tableRef, ...option });
|
|
881
1616
|
},
|
|
882
1617
|
itemCheck(row) {
|
|
883
1618
|
let dataTableConfig = this.dataTableConfig;
|
|
@@ -889,25 +1624,15 @@ export default {
|
|
|
889
1624
|
checkItemIds.splice(checkItemIds.indexOf(row.id), 1);
|
|
890
1625
|
} else {
|
|
891
1626
|
checked = true;
|
|
892
|
-
checkItemIds.push(row.id)
|
|
1627
|
+
checkItemIds.push(row.id);
|
|
893
1628
|
}
|
|
894
|
-
let param = {row, checked};
|
|
895
|
-
dataTableConfig.onCheckboxChange &&
|
|
1629
|
+
let param = { row, checked };
|
|
1630
|
+
dataTableConfig.onCheckboxChange &&
|
|
1631
|
+
dataTableConfig.onCheckboxChange(param);
|
|
896
1632
|
}
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
}
|
|
1633
|
+
},
|
|
1634
|
+
},
|
|
900
1635
|
};
|
|
901
1636
|
</script>
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
.orderList-box {
|
|
906
|
-
flex: 1;
|
|
907
|
-
overflow-y: auto;
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
.search-H5box {
|
|
911
|
-
margin: 0 0 9px;
|
|
912
|
-
}
|
|
913
|
-
</style>
|
|
1637
|
+
|
|
1638
|
+
<style lang="scss" scoped></style>
|