centaline-data-driven 1.6.33 → 1.6.35
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/release-log.md +28 -0
- package/src/SearchList.vue +17 -4
- package/src/centaline/dynamicFile/src/dynamicFile.vue +99 -29
- package/src/centaline/dynamicForm/src/dynamicForm.vue +42 -3
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +8 -2
- package/src/centaline/dynamicSos/src/dynamicSos.vue +20 -12
- package/src/centaline/dynamicTags/src/dynamicTags.vue +15 -7
- package/src/centaline/dynamicTreeList/src/dynamicTreeList.vue +75 -24
- package/src/centaline/dynamicViewerFile/src/dynamicViewerPDF.vue +38 -24
- package/src/centaline/loader/src/ctl/File.js +4 -2
- package/src/centaline/loader/src/ctl/FormList.js +26 -0
- package/src/centaline/loader/src/ctl/lib/Enum.js +6 -19
- package/src/centaline/selectOption/src/selectOptionVertical.vue +1 -0
- package/src/main.js +4 -3
- package/wwwroot/static/centaline/centaline-data-driven.js +463 -267
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/release-log.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# v1.6.35
|
|
2
|
+
2024-01-08
|
|
3
|
+
|
|
4
|
+
优化
|
|
5
|
+
|
|
6
|
+
列表新增和修改页面引用的父页面的表单项将以label的形式展现在表单的最上面,多个用逗号(,) 分隔
|
|
7
|
+
|
|
8
|
+
onAfterChanged找不到路由后,支持直接执行脚本
|
|
9
|
+
|
|
10
|
+
表单列表弹层支持修改必填required到行数据上
|
|
11
|
+
|
|
12
|
+
BUG
|
|
13
|
+
|
|
14
|
+
文件预览,部分发票PDF,内容显示不全,前端更新pdf.js必须更新SDK版本
|
|
15
|
+
|
|
16
|
+
# v1.6.34
|
|
17
|
+
2024-12-30
|
|
18
|
+
|
|
19
|
+
优化
|
|
20
|
+
|
|
21
|
+
树组件增加拖拽改变宽度
|
|
22
|
+
|
|
23
|
+
附件上传组件增加粘贴上传功能
|
|
24
|
+
|
|
25
|
+
BUG
|
|
26
|
+
|
|
27
|
+
下拉搜索框修复在拼音打汉字过快时会出现拼音的bug
|
|
28
|
+
|
|
1
29
|
# v1.6.33
|
|
2
30
|
2024-11-22
|
|
3
31
|
|
package/src/SearchList.vue
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
<!-- CCES -->
|
|
33
33
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/salemattersmanage/agentuserlist/getLayoutOfSearch'" :searchDataApi="'/salemattersmanage/agentuserlist/getList'"></ct-searchlist> -->
|
|
34
|
-
|
|
34
|
+
<ct-searchlist :apiParam="para" :searchConditionApi="'/contractmanage/ContractList/getLayoutOfSearch'" :searchDataApi="'/contractmanage/ContractList/getList'"></ct-searchlist>
|
|
35
35
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/sunexpensemanage/sunexpenserecordlist/getLayoutOfSearch'" :searchDataApi="'/sunexpensemanage/sunexpenserecordlist/getList'"></ct-searchlist> -->
|
|
36
36
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/customermanage/ProjectCustomerList/getLayoutOfSearch'" :searchDataApi="'/customermanage/ProjectCustomerList/getList'"></ct-searchlist> -->
|
|
37
37
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/workwxmanage/WorkWXApplicationList/getLayoutOfSearch'" :searchDataApi="'/workwxmanage/WorkWXApplicationList/getList'"></ct-searchlist> -->
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/salemattersmanage/agentuserlist/getLayoutOfSearch'" :searchDataApi="'/salemattersmanage/agentuserlist/getList'"></ct-searchlist> -->
|
|
41
41
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/salemattersmanage/EntranceNoticeInfoList/getLayoutOfSearch'" :searchDataApi="'/salemattersmanage/EntranceNoticeInfoList/getList'"></ct-searchlist> -->
|
|
42
42
|
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/commissionquery/properformanceszjjbreport/getLayoutOfSearch'" :searchDataApi="'/commissionquery/properformanceszjjbreport/getList'"></ct-searchlist> -->
|
|
43
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/employeelist/getLayoutOfSearch'" :searchDataApi="'/employeelist/getList'"></ct-searchlist> -->
|
|
44
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/estatemanage/estatlist/getLayoutOfSearch'" :searchDataApi="'/estatemanage/estatlist/getList'"></ct-searchlist> -->
|
|
43
45
|
<!-- CCES -->
|
|
44
46
|
|
|
45
47
|
<!-- <ct-searchlist :apiParam="para"
|
|
@@ -106,6 +108,8 @@
|
|
|
106
108
|
<!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/TaskList/getLayoutOfSearch'" :searchStatsApi="'/TaskList/getListStats'" :searchDataApi="'/TaskList/getListOfSearchModel'"></ct-searchlist> -->
|
|
107
109
|
|
|
108
110
|
<!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/PropertyVRRealLookBalanceList/getLayoutOfSearchForOFI'" :searchDataApi="'/PropertyVRRealLookBalanceList/getListOfSearchModel'"></ct-searchlist> -->
|
|
111
|
+
|
|
112
|
+
<!-- <ct-searchlist :apiParam="para" :appRootUrl="appRootUrl" :searchConditionApi="'/PropertyRealLookList/getLayoutOfSearch'" :searchDataApi="'/PropertyRealLookList/getListOfSearchModel'"></ct-searchlist> -->
|
|
109
113
|
|
|
110
114
|
<!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/SystemParameterList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterList/getListOfSearchModel'"></ct-searchlist> -->
|
|
111
115
|
|
|
@@ -155,9 +159,18 @@
|
|
|
155
159
|
// appRootUrl:'http://10.88.22.13:6060/onecard-api/',
|
|
156
160
|
appRootUrl:'',
|
|
157
161
|
para:{
|
|
158
|
-
type
|
|
159
|
-
:
|
|
160
|
-
"
|
|
162
|
+
type: "top",
|
|
163
|
+
"deleteRight": 0,
|
|
164
|
+
"editRight": 0,
|
|
165
|
+
"browseRight": 0,
|
|
166
|
+
"auditRight": 0,
|
|
167
|
+
"addRight": 0,
|
|
168
|
+
"deptId": "E5A389CB-8665-4BFD-8C97-3A70CEA28604",
|
|
169
|
+
"cityName": "深圳",
|
|
170
|
+
"name": "深圳中原",
|
|
171
|
+
"path": "001",
|
|
172
|
+
"code": "001",
|
|
173
|
+
"new": false
|
|
161
174
|
},
|
|
162
175
|
}
|
|
163
176
|
},
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:file-list="model.fileList" :multiple="true" :auto-upload="true" :action="model.action" :data="model.uploadData"
|
|
9
9
|
:headers="headers" :before-upload="beforeUploadProcess" :on-success="handleAvatarSuccess"
|
|
10
10
|
:on-error="handleAvatarError" :on-progress="uploadProcess" :limit="parseInt(model.max || 999)"
|
|
11
|
-
:on-exceed="handleExceed">
|
|
11
|
+
:on-exceed="handleExceed" :uploadStatus="!disableUpload&&!model.lock?'upload':'lock'">
|
|
12
12
|
<template slot="default">
|
|
13
13
|
<i class="el-icon-plus"></i>
|
|
14
14
|
</template>
|
|
@@ -18,8 +18,11 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
<div slot="tip" v-show="model.description" v-html="model.description">
|
|
20
20
|
</div>
|
|
21
|
-
<
|
|
22
|
-
|
|
21
|
+
<div class="qrcode-target" v-if="model.QRCodeAction">
|
|
22
|
+
<img @click.stop="qrcodeFn" ref="QRCodeRef"
|
|
23
|
+
:src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;float: right;" alt="扫码上传"
|
|
24
|
+
title="扫码上传">
|
|
25
|
+
</div>
|
|
23
26
|
<div class="ScanUploadPhoto" v-if="qrcodeVisible" @click.stop="qrcodeVisible = true"
|
|
24
27
|
:style="{ top: QRCodeRefTop + 'px', left: QRCodeRefLeft + 'px' }">
|
|
25
28
|
<div style="border-bottom:none">
|
|
@@ -44,14 +47,14 @@
|
|
|
44
47
|
<span v-if="model.lock" class="el-dropdown-link">
|
|
45
48
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
46
49
|
model.mediaLabe.mediaLabelName
|
|
47
|
-
|
|
50
|
+
}}</span>
|
|
48
51
|
</span>
|
|
49
52
|
<!--复杂分类-->
|
|
50
53
|
<span v-else-if="model.isComplexClassify" class="el-dropdown-link"
|
|
51
54
|
@click.stop="classifyFormClickHandle(model.mediaLabe)">
|
|
52
55
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
53
56
|
model.mediaLabe.mediaLabelName
|
|
54
|
-
|
|
57
|
+
}}</span>
|
|
55
58
|
<i class="el-icon-arrow-down el-icon--right"></i>
|
|
56
59
|
</span>
|
|
57
60
|
<!--简单分类-->
|
|
@@ -62,7 +65,7 @@
|
|
|
62
65
|
<span class="el-dropdown-link" @click.stop="classifyClickHandle">
|
|
63
66
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
64
67
|
model.mediaLabe.mediaLabelName
|
|
65
|
-
|
|
68
|
+
}}</span>
|
|
66
69
|
<i class="el-icon-arrow-down el-icon--right" style="color: #fff;"></i>
|
|
67
70
|
</span>
|
|
68
71
|
<el-dropdown-menu slot="dropdown" class="el-upload-list__item-preview">
|
|
@@ -72,15 +75,13 @@
|
|
|
72
75
|
</el-dropdown-item>
|
|
73
76
|
</el-dropdown-menu>
|
|
74
77
|
</el-dropdown>
|
|
75
|
-
</span>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
+
</span>
|
|
78
79
|
<div slot="file" slot-scope="{ file }" :title="file.fileName">
|
|
79
80
|
<div class="cover-list-item">
|
|
80
81
|
<div @click="viewerfile(file)">
|
|
81
|
-
<div v-if="file.progressFlag"
|
|
82
|
-
|
|
83
|
-
</div>
|
|
82
|
+
<div v-if="file.progressFlag" v-loading="file.progressFlag" style="width: 100px; height: 100px"
|
|
83
|
+
element-loading-spinner="el-icon-loading">
|
|
84
|
+
</div>
|
|
84
85
|
<el-image v-else fit="fill"
|
|
85
86
|
:src="file.url ? file.url : file.mediaUrl ? file.mediaUrl + '/100/100' : require('../../../assets/blank.png')"
|
|
86
87
|
style="width: 100px; height: 100px" :z-index="previewZIndex">
|
|
@@ -154,7 +155,9 @@
|
|
|
154
155
|
:accept="model.fileAccept" :on-change="handleChange" list-type="picture-card" :file-list="model.fileList"
|
|
155
156
|
:multiple="true" :auto-upload="true" :action="model.action" :data="model.uploadData" :headers="headers"
|
|
156
157
|
:before-upload="beforeUploadProcess" :on-success="handleAvatarSuccess" :on-error="handleAvatarError"
|
|
157
|
-
:on-progress="uploadProcess" :limit="parseInt(model.max || 999)" :on-exceed="handleExceed"
|
|
158
|
+
:on-progress="uploadProcess" :limit="parseInt(model.max || 999)" :on-exceed="handleExceed"
|
|
159
|
+
:uploadStatus="!disableUpload&&!model.lock?'upload':'lock'"
|
|
160
|
+
>
|
|
158
161
|
<i slot="default" class="el-icon-plus"></i>
|
|
159
162
|
<div slot="tip" class="el-upload__tip errorMessage" style="white-space:pre-wrap;" v-show="!valid"
|
|
160
163
|
v-html="validMessage">
|
|
@@ -162,8 +165,11 @@
|
|
|
162
165
|
</div>
|
|
163
166
|
<div slot="tip" v-show="model.description" v-html="model.description">
|
|
164
167
|
</div>
|
|
165
|
-
<
|
|
166
|
-
|
|
168
|
+
<div class="qrcode-target">
|
|
169
|
+
<img @click.stop="qrcodeFn" ref="QRCodeRef" v-if="model.QRCodeAction"
|
|
170
|
+
:src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;float: right;" alt="扫码上传"
|
|
171
|
+
title="扫码上传">
|
|
172
|
+
</div>
|
|
167
173
|
<div class="ScanUploadPhoto" v-if="qrcodeVisible" @click.stop="qrcodeVisible = true"
|
|
168
174
|
:style="{ top: QRCodeRefTop + 'px', left: QRCodeRefLeft + 'px' }">
|
|
169
175
|
<div style="border-bottom:none">
|
|
@@ -186,13 +192,13 @@
|
|
|
186
192
|
<!--锁定-->
|
|
187
193
|
<span v-if="model.lock" class="el-dropdown-link">
|
|
188
194
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
189
|
-
model.mediaLabe.mediaLabelName}}</span>
|
|
195
|
+
model.mediaLabe.mediaLabelName }}</span>
|
|
190
196
|
</span>
|
|
191
197
|
<!--复杂分类-->
|
|
192
198
|
<span v-else-if="model.isComplexClassify" class="el-dropdown-link"
|
|
193
199
|
@click.stop="classifyFormClickHandle(model.mediaLabe)">
|
|
194
200
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
195
|
-
model.mediaLabe.mediaLabelName}}</span>
|
|
201
|
+
model.mediaLabe.mediaLabelName }}</span>
|
|
196
202
|
<i class="el-icon-arrow-down el-icon--right"></i>
|
|
197
203
|
</span>
|
|
198
204
|
<!--简单分类-->
|
|
@@ -202,7 +208,7 @@
|
|
|
202
208
|
|
|
203
209
|
<span class="el-dropdown-link" @click.stop="classifyClickHandle">
|
|
204
210
|
<span style="width: 80px; height: 26px; display: inline-flex;overflow: hidden;"> {{
|
|
205
|
-
model.mediaLabe.mediaLabelName}}</span>
|
|
211
|
+
model.mediaLabe.mediaLabelName }}</span>
|
|
206
212
|
<i class="el-icon-arrow-down el-icon--right" style="color: #fff;"></i>
|
|
207
213
|
</span>
|
|
208
214
|
<el-dropdown-menu slot="dropdown" class="el-upload-list__item-preview">
|
|
@@ -217,13 +223,13 @@
|
|
|
217
223
|
<div slot="file" slot-scope="{ file }" :title="file.fileName">
|
|
218
224
|
<div class="cover-list-item">
|
|
219
225
|
<div @click="viewerfile(file)">
|
|
220
|
-
<div v-if="file.progressFlag"
|
|
221
|
-
|
|
222
|
-
</div>
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
226
|
+
<div v-if="file.progressFlag" v-loading="file.progressFlag" style="width: 100px; height: 100px"
|
|
227
|
+
element-loading-spinner="el-icon-loading">
|
|
228
|
+
</div>
|
|
229
|
+
<el-image v-else fit="fill"
|
|
230
|
+
:src="file.url ? file.url : file.mediaUrl ? file.url : require('../../../assets/blank.png')"
|
|
231
|
+
style="width: 100px; height: 100px" :z-index="previewZIndex">
|
|
232
|
+
</el-image>
|
|
227
233
|
</div>
|
|
228
234
|
<span class="cover-list-item-span-Default"
|
|
229
235
|
v-if="(model.lock && file.flagDefault) || (model.rightDefault && model.rightDefault == 1 && file.mediaTypeID == 2)">
|
|
@@ -324,8 +330,16 @@ export default {
|
|
|
324
330
|
return this.$common.getDataDrivenOpts().zindex + 100;
|
|
325
331
|
},
|
|
326
332
|
},
|
|
333
|
+
deactivated() {
|
|
334
|
+
document.addEventListener('paste', this.ListenerPaste);
|
|
335
|
+
|
|
336
|
+
},
|
|
337
|
+
mounted() {
|
|
338
|
+
document.addEventListener('paste', this.ListenerPaste);
|
|
339
|
+
|
|
340
|
+
},
|
|
327
341
|
created() {
|
|
328
|
-
var self = this;
|
|
342
|
+
var self = this;
|
|
329
343
|
this.$nextTick(function () {
|
|
330
344
|
if (self.vmodel) {
|
|
331
345
|
self.load(self.vmodel);
|
|
@@ -337,6 +351,8 @@ export default {
|
|
|
337
351
|
});
|
|
338
352
|
}
|
|
339
353
|
this.disableUpload = this.model.lock;
|
|
354
|
+
|
|
355
|
+
|
|
340
356
|
});
|
|
341
357
|
},
|
|
342
358
|
methods: {
|
|
@@ -477,7 +493,7 @@ export default {
|
|
|
477
493
|
},
|
|
478
494
|
handleDownload(file) {
|
|
479
495
|
},
|
|
480
|
-
handleChange(file, fileList) {
|
|
496
|
+
handleChange(file, fileList) {
|
|
481
497
|
this.changeHandler(this.model.value);
|
|
482
498
|
},
|
|
483
499
|
//上传之前的钩子
|
|
@@ -706,7 +722,7 @@ export default {
|
|
|
706
722
|
|
|
707
723
|
var refupload = this.$refs.refupload;
|
|
708
724
|
if (refupload) {
|
|
709
|
-
if (flagError) {
|
|
725
|
+
if (flagError) {
|
|
710
726
|
this.$message({
|
|
711
727
|
message: res,
|
|
712
728
|
type: 'error',
|
|
@@ -844,11 +860,63 @@ export default {
|
|
|
844
860
|
}
|
|
845
861
|
self.QRCodeRefLeft = QRCodeRef.getBoundingClientRect().left + QRCodeRefWith + 20;
|
|
846
862
|
}
|
|
863
|
+
},
|
|
864
|
+
PasteUpload(event) {
|
|
865
|
+
let self = this;
|
|
866
|
+
if (!self.model.locked && !self.disableUpload) {
|
|
867
|
+
// 获取粘贴板中的图片
|
|
868
|
+
const clipboardDatas = (event.clipboardData || event.originalEvent.clipboardData);
|
|
869
|
+
const items = clipboardDatas.items;
|
|
870
|
+
for (let index in items) {
|
|
871
|
+
const item = items[index];
|
|
872
|
+
if (item.kind === 'file') {
|
|
873
|
+
const file = item.getAsFile();
|
|
874
|
+
let uid = self.uploadguid();
|
|
875
|
+
file.uid = file.uid || uid;
|
|
876
|
+
self.$refs.upload.handleStart(file);
|
|
877
|
+
// 提交上传队列
|
|
878
|
+
self.$refs.upload.submit();
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
|
|
847
883
|
},
|
|
884
|
+
ListenerPaste(event) {
|
|
885
|
+
let self = this;
|
|
886
|
+
if (!self.model.locked&&!self.disableUpload) {
|
|
887
|
+
var target = event.target;
|
|
888
|
+
const uploads = document.querySelectorAll('[uploadStatus="upload"]');
|
|
889
|
+
|
|
890
|
+
if (!window.uploads) {
|
|
891
|
+
window.uploads = { count: 0, length: uploads.length };
|
|
892
|
+
}
|
|
893
|
+
if (uploads.length > 1) {
|
|
894
|
+
window.uploads.count = window.uploads.count + 1;
|
|
895
|
+
window.uploads.length = uploads.length;
|
|
896
|
+
|
|
897
|
+
if (window.uploads.count == window.uploads.length) {
|
|
898
|
+
window.uploads = null;
|
|
899
|
+
|
|
900
|
+
self.$message({
|
|
901
|
+
message: "存在多个上传组件,请点击上传!",
|
|
902
|
+
type: 'info',
|
|
903
|
+
showClose: true,
|
|
904
|
+
});
|
|
905
|
+
return false;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
else if (uploads.length == 1) {
|
|
909
|
+
window.uploads = null;
|
|
910
|
+
self.PasteUpload(event);
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
}
|
|
848
914
|
},
|
|
849
915
|
beforeDestroy() {
|
|
850
916
|
clearTimeout(this.qrtimer);
|
|
851
917
|
window.removeEventListener('scroll', this.QRCodeLocate, true)
|
|
918
|
+
//销毁粘贴事件监听器
|
|
919
|
+
document.removeEventListener('paste', this.ListenerPaste)
|
|
852
920
|
},
|
|
853
921
|
|
|
854
922
|
};
|
|
@@ -1012,10 +1080,12 @@ export default {
|
|
|
1012
1080
|
|
|
1013
1081
|
.qrcode-target {
|
|
1014
1082
|
position: absolute;
|
|
1015
|
-
top: 3px;
|
|
1016
1083
|
right: 3px;
|
|
1017
1084
|
width: 35px;
|
|
1018
1085
|
height: 35px;
|
|
1086
|
+
color: red;
|
|
1087
|
+
text-align: right;
|
|
1088
|
+
top: 0px;
|
|
1019
1089
|
}
|
|
1020
1090
|
|
|
1021
1091
|
.Public-classification {
|
|
@@ -11,6 +11,21 @@
|
|
|
11
11
|
<span style="font-weight:bold">{{model.title}}</span>
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
+
<!--relationParentFormFields-->
|
|
15
|
+
<el-row v-if="relationParentFormFields.length > 0">
|
|
16
|
+
<template v-for="(col, index) in relationParentFormFields">
|
|
17
|
+
<el-col :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
|
|
18
|
+
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" :parentModel="model" v-bind="col.bindPara"
|
|
19
|
+
:fileData="getFileData(col)" :from="'form'" :documentHeight="documentHeight" :documentWidth="documentWidth"
|
|
20
|
+
@click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
|
|
21
|
+
@input="inputHandler(col,$event)" @importComplete="importComplete" @blur="blurHandler(col,$event)"
|
|
22
|
+
@popupSearchList="popupSearchListHandler" @flagNotificationParentAfterContentChanged="flagNotificationParentAfterContentChanged"
|
|
23
|
+
@popupLocation="popupLocationHandler"
|
|
24
|
+
@tableButtonClick="clickHandler"></component>
|
|
25
|
+
</el-col>
|
|
26
|
+
</template>
|
|
27
|
+
</el-row>
|
|
28
|
+
|
|
14
29
|
<!--头部元素-->
|
|
15
30
|
<el-row v-if="collapseFieldsRow.length > 0">
|
|
16
31
|
<template v-for="(col, index) in collapseFieldsRow[0]">
|
|
@@ -208,6 +223,12 @@
|
|
|
208
223
|
Boolean,
|
|
209
224
|
default: false,
|
|
210
225
|
},
|
|
226
|
+
relationParentFormFields: {
|
|
227
|
+
Array,
|
|
228
|
+
default: function () {
|
|
229
|
+
return [];
|
|
230
|
+
},
|
|
231
|
+
},
|
|
211
232
|
},
|
|
212
233
|
data() {
|
|
213
234
|
return {
|
|
@@ -1167,7 +1188,16 @@
|
|
|
1167
1188
|
var router = self.model.actionRouters.find((v) => {
|
|
1168
1189
|
return v.id === field.onAfterChanged;
|
|
1169
1190
|
});
|
|
1170
|
-
|
|
1191
|
+
if(router){
|
|
1192
|
+
self.clickHandler(router);
|
|
1193
|
+
}
|
|
1194
|
+
else{
|
|
1195
|
+
if (typeof this.model.scripts !== 'undefined') {
|
|
1196
|
+
this.model.scripts.formData.setExcuteListData(this.model.fields);
|
|
1197
|
+
}
|
|
1198
|
+
this.model.scripts.$fd = field.id;
|
|
1199
|
+
this.$common.excute.call(this.model.scripts, field.onAfterChanged);
|
|
1200
|
+
}
|
|
1171
1201
|
}
|
|
1172
1202
|
|
|
1173
1203
|
self.$forceUpdate();
|
|
@@ -1177,8 +1207,17 @@
|
|
|
1177
1207
|
if (field.onAfterChanged) {
|
|
1178
1208
|
var router = self.model.actionRouters.find((v) => {
|
|
1179
1209
|
return v.id === field.onAfterChanged;
|
|
1180
|
-
});
|
|
1181
|
-
|
|
1210
|
+
});
|
|
1211
|
+
if(router){
|
|
1212
|
+
self.clickHandler(router);
|
|
1213
|
+
}
|
|
1214
|
+
else{
|
|
1215
|
+
if (typeof this.model.scripts !== 'undefined') {
|
|
1216
|
+
this.model.scripts.formData.setExcuteListData(this.model.fields);
|
|
1217
|
+
}
|
|
1218
|
+
this.model.scripts.$fd = field.id;
|
|
1219
|
+
this.$common.excute.call(this.model.scripts, field.onAfterChanged);
|
|
1220
|
+
}
|
|
1182
1221
|
}
|
|
1183
1222
|
self.$forceUpdate();
|
|
1184
1223
|
},
|
|
@@ -795,8 +795,14 @@ import dynamicElement from '../../mixins/dynamicElement';
|
|
|
795
795
|
if (field.onAfterChanged && field.type !== 4) {
|
|
796
796
|
var router = self.model.actionRouters.find((v) => {
|
|
797
797
|
return v.id === field.onAfterChanged;
|
|
798
|
-
});
|
|
799
|
-
|
|
798
|
+
});
|
|
799
|
+
if(router){
|
|
800
|
+
self.clickHandlerfield(router);
|
|
801
|
+
}
|
|
802
|
+
else{
|
|
803
|
+
this.model.scripts.$fd = field.id;
|
|
804
|
+
this.$common.excute.call(this.model.scripts, field.onAfterChanged);
|
|
805
|
+
}
|
|
800
806
|
}
|
|
801
807
|
|
|
802
808
|
self.$forceUpdate();
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div>
|
|
13
13
|
<el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
|
|
14
14
|
</div>
|
|
15
|
-
<ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
|
|
15
|
+
<ctSelectOptionVertical :model="model" @click="selectOption($event)" @dataUpdated="dataUpdated()"></ctSelectOptionVertical>
|
|
16
16
|
</div>
|
|
17
17
|
<input slot="reference" v-bind="model.attrs" readonly="readonly" v-model="model.text" :placeholder="soPlaceholder"
|
|
18
18
|
ref="ct-input" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
|
|
@@ -140,17 +140,17 @@
|
|
|
140
140
|
mounted() {
|
|
141
141
|
var self = this;
|
|
142
142
|
this.$nextTick(function () {
|
|
143
|
-
var dropdown = self.$refs["pop"];
|
|
144
|
-
this.unwatch1=self.$watch('model.options', function (newVal, oldVal) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}, { deep: true, immediate: true });
|
|
143
|
+
// var dropdown = self.$refs["pop"];
|
|
144
|
+
// this.unwatch1=self.$watch('model.options', function (newVal, oldVal) {
|
|
145
|
+
// self.$nextTick(() => {
|
|
146
|
+
// if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
|
|
147
|
+
// // dropdown.popperJS.destroy();
|
|
148
|
+
// // dropdown.popperJS = null;
|
|
149
|
+
// // dropdown.updatePopper();
|
|
150
|
+
// }
|
|
151
|
+
// // self.$refs["searchInput"].$el.querySelector("input").focus();
|
|
152
|
+
// });
|
|
153
|
+
// }, { deep: true, immediate: true });
|
|
154
154
|
});
|
|
155
155
|
},
|
|
156
156
|
methods: {
|
|
@@ -274,6 +274,14 @@
|
|
|
274
274
|
self.getOptions(self.searchText);
|
|
275
275
|
}
|
|
276
276
|
}, self.model.searchTick);
|
|
277
|
+
},
|
|
278
|
+
dataUpdated: function () {
|
|
279
|
+
this.$nextTick(function () {
|
|
280
|
+
var dropdown = this.$refs["pop"];
|
|
281
|
+
if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
|
|
282
|
+
dropdown.updatePopper();
|
|
283
|
+
}
|
|
284
|
+
});
|
|
277
285
|
}
|
|
278
286
|
}
|
|
279
287
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<div>
|
|
23
23
|
<el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
|
|
24
24
|
</div>
|
|
25
|
-
<ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
|
|
25
|
+
<ctSelectOptionVertical :model="model" @click="selectOption($event)" @dataUpdated="dataUpdated()"></ctSelectOptionVertical>
|
|
26
26
|
</div>
|
|
27
27
|
<input slot="reference" v-bind="model.attrs" :placeholder="tagsPlaceholder"
|
|
28
28
|
ref="ct-input" class="" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
|
|
@@ -141,14 +141,14 @@
|
|
|
141
141
|
mounted() {
|
|
142
142
|
var self = this;
|
|
143
143
|
this.$nextTick(function () {
|
|
144
|
-
var dropdown = self.$refs["pop"];
|
|
144
|
+
// var dropdown = self.$refs["pop"];
|
|
145
145
|
this.unwatch=self.$watch('model.options', function (newVal, oldVal) {
|
|
146
146
|
self.$nextTick(() => {
|
|
147
|
-
if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
147
|
+
// if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
|
|
148
|
+
// dropdown.popperJS.destroy();
|
|
149
|
+
// dropdown.popperJS = null;
|
|
150
|
+
// dropdown.updatePopper();
|
|
151
|
+
// }
|
|
152
152
|
this.setToGlobalOptions();
|
|
153
153
|
self.$refs["searchInput"].$el.querySelector("input").focus();
|
|
154
154
|
|
|
@@ -367,6 +367,14 @@
|
|
|
367
367
|
self.globalOptions.push(v);
|
|
368
368
|
}
|
|
369
369
|
});
|
|
370
|
+
},
|
|
371
|
+
dataUpdated: function () {
|
|
372
|
+
this.$nextTick(function () {
|
|
373
|
+
var dropdown = this.$refs["pop"];
|
|
374
|
+
if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
|
|
375
|
+
dropdown.updatePopper();
|
|
376
|
+
}
|
|
377
|
+
});
|
|
370
378
|
}
|
|
371
379
|
},
|
|
372
380
|
watch: {
|