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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.6.33",
3
+ "version": "1.6.35",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
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
 
@@ -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
- <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/contractmanage/ContractList/getLayoutOfSearch'" :searchDataApi="'/contractmanage/ContractList/getList'"></ct-searchlist> -->
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
- "top"
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
- <img class="qrcode-target" @click.stop="qrcodeFn" ref="QRCodeRef" v-if="model.QRCodeAction"
22
- :src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;" alt="扫码上传" title="扫码上传">
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;">&nbsp;{{
46
49
  model.mediaLabe.mediaLabelName
47
- }}</span>
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;">&nbsp;{{
53
56
  model.mediaLabe.mediaLabelName
54
- }}</span>
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;">&nbsp;{{
64
67
  model.mediaLabe.mediaLabelName
65
- }}</span>
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" v-loading="file.progressFlag" style="width: 100px; height: 100px"
82
- element-loading-spinner="el-icon-loading">
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
- <img class="qrcode-target" @click.stop="qrcodeFn" ref="QRCodeRef" v-if="model.QRCodeAction"
166
- :src="require('../../../assets/serw1.png')" style="width: 35px;height: 35px;" alt="扫码上传" title="扫码上传">
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;">&nbsp;{{
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;">&nbsp;{{
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;">&nbsp;{{
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" v-loading="file.progressFlag" style="width: 100px; height: 100px"
221
- element-loading-spinner="el-icon-loading">
222
- </div>
223
- <el-image v-else fit="fill"
224
- :src="file.url ? file.url : file.mediaUrl ? file.url : require('../../../assets/blank.png')"
225
- style="width: 100px; height: 100px" :z-index="previewZIndex">
226
- </el-image>
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
- self.clickHandler(router);
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
- self.clickHandler(router);
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
- self.clickHandlerfield(router);
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
- 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 });
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
- dropdown.popperJS.destroy();
149
- dropdown.popperJS = null;
150
- dropdown.updatePopper();
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: {