centaline-data-driven 1.6.21 → 1.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +1 -1
  2. package/release-log.md +14 -0
  3. package/src/SearchList.vue +5 -3
  4. package/src/centaline/dialogList/src/dialog.vue +6 -0
  5. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +6 -1
  6. package/src/centaline/dynamicDetail/src/dynamicCustomerSimpleDetail.vue +3 -0
  7. package/src/centaline/dynamicDetail/src/dynamicEstateBuildingDetail.vue +3 -0
  8. package/src/centaline/dynamicDetail/src/dynamicEstateSimpleDetail.vue +3 -0
  9. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +3 -0
  10. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +5 -1
  11. package/src/centaline/dynamicDetail/src/dynamicPropertySimpleDetailRET.vue +3 -0
  12. package/src/centaline/dynamicDrop/src/dynamicDrop.vue +4 -1
  13. package/src/centaline/dynamicForm/src/dynamicForm.vue +19 -0
  14. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +4 -0
  15. package/src/centaline/dynamicL/src/dynamicL.vue +28 -31
  16. package/src/centaline/dynamicMo/src/dynamicMo.vue +8 -2
  17. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +4 -3
  18. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +12 -0
  19. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +18 -5
  20. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +6 -1
  21. package/src/centaline/dynamicSo/src/dynamicSo.vue +8 -2
  22. package/src/centaline/dynamicSos/src/dynamicSos.vue +14 -4
  23. package/src/centaline/dynamicSosTt/src/dynamicSosTt.vue +12 -3
  24. package/src/centaline/dynamicSteps/src/dynamicSteps.vue +5 -1
  25. package/src/centaline/dynamicT/src/dynamicT.vue +9 -1
  26. package/src/centaline/dynamicTags/src/dynamicTags.vue +12 -3
  27. package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +4 -1
  28. package/src/centaline/formData/index.js +4 -4
  29. package/src/centaline/loader/src/ctl/SearchScreen.js +377 -2
  30. package/src/centaline/loader/src/ctl/SearchTable.js +378 -2
  31. package/src/centaline/mixins/dynamicElement.js +13 -3
  32. package/src/centaline/quickInput/src/quickInput.vue +4 -1
  33. package/src/centaline/quickInputSos/src/quickInput.vue +9 -1
  34. package/src/centaline/selectOption/src/selectOptionVertical.vue +3 -0
  35. package/src/main.js +4 -4
  36. package/wwwroot/static/centaline/centaline-data-driven.js +2691 -1768
  37. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.6.21",
3
+ "version": "1.6.23",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,3 +1,17 @@
1
+ # v1.6.23
2
+ 2024-10-22
3
+
4
+ 优化
5
+
6
+ 内存溢出优化
7
+
8
+ # v1.6.22
9
+ 2024-09-18
10
+
11
+ 优化
12
+
13
+ steps控件支持各个步骤自定义状态
14
+
1
15
  # v1.6.21
2
16
  2024-09-14
3
17
 
@@ -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> -->
@@ -106,7 +106,7 @@
106
106
 
107
107
  <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/PropertyVRRealLookBalanceList/getLayoutOfSearchForOFI'" :searchDataApi="'/PropertyVRRealLookBalanceList/getListOfSearchModel'"></ct-searchlist> -->
108
108
 
109
- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/SystemParameterList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterList/getListOfSearchModel'"></ct-searchlist>
109
+ <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/SystemParameterList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterList/getListOfSearchModel'"></ct-searchlist> -->
110
110
 
111
111
 
112
112
  <!-- <ct-searchlist :apiParam="apiParam" :searchConditionApi="'/propertyPublishList/getLayoutOfSearch'"
@@ -152,7 +152,9 @@
152
152
  // appRootUrl:'http://10.88.22.13:6060/onecard-api/',
153
153
  appRootUrl:'',
154
154
  para:{
155
- "name":"安全中心访问配置","code":"011.001","paramName":"安全中心访问配置","paramKey":"SecurityCenterConfig"
155
+ type
156
+ :
157
+ "top"
156
158
  },
157
159
  }
158
160
  },
@@ -20,6 +20,12 @@
20
20
  this.$refs.content.scrollTop=this.contentTop;
21
21
  }
22
22
  },
23
+ destroyed (){
24
+ this.$off();
25
+ if(this.$el.parentNode)this.$el.parentNode.removeChild(this.$el);
26
+ this.modelSelf = null;
27
+ this.$el = null;
28
+ },
23
29
  methods: {
24
30
  close() {
25
31
  this.$emit('close', this);
@@ -113,10 +113,15 @@
113
113
 
114
114
  }
115
115
  },
116
+ destroyed (){
117
+ this.model = null;
118
+ this.$el = null;
119
+ if(this.unwatch)this.unwatch();
120
+ },
116
121
  mounted() {
117
122
  var self = this;
118
123
  this.$nextTick(function () {
119
- self.$watch('model.options', function (newVal, oldVal) {
124
+ this.unwatch=self.$watch('model.options', function (newVal, oldVal) {
120
125
 
121
126
  }, { deep: true, immediate: true });
122
127
  });
@@ -235,6 +235,9 @@ export default {
235
235
  this.setDetailStyle();
236
236
  })
237
237
  },
238
+ destroyed (){
239
+ window.removeEventListener("resize",this.setDetailStyle);
240
+ },
238
241
  methods: {
239
242
  load(data) {
240
243
  this.isLoading = false;
@@ -320,6 +320,9 @@ export default {
320
320
  this.setDetailHeight();
321
321
  });
322
322
  },
323
+ destroyed (){
324
+ window.removeEventListener("resize",this.setDetailHeight);
325
+ },
323
326
  methods: {
324
327
  showStats() {
325
328
  var self = this;
@@ -199,6 +199,9 @@ export default {
199
199
  this.setDetailStyle();
200
200
  })
201
201
  },
202
+ destroyed (){
203
+ window.removeEventListener("resize",this.setDetailStyle);
204
+ },
202
205
  methods: {
203
206
  load(data) {
204
207
  this.isLoading=false;
@@ -523,6 +523,9 @@ export default {
523
523
  this.setDetailHeight();
524
524
  });
525
525
  },
526
+ destroyed (){
527
+ window.removeEventListener("resize",this.setDetailHeight);
528
+ },
526
529
  methods: {
527
530
  showStats() {
528
531
  var self = this;
@@ -491,7 +491,7 @@ export default {
491
491
  },
492
492
  mounted() {
493
493
  var self = this;
494
- this.$watch( "$refs.main.model.midlWidth",
494
+ this.unwatch=this.$watch( "$refs.main.model.midlWidth",
495
495
  function (newVal, oldVal) {
496
496
  if (oldVal != undefined) {
497
497
  self.showStats();
@@ -533,6 +533,10 @@ export default {
533
533
  this.setDetailHeight();
534
534
  });
535
535
  },
536
+ destroyed (){
537
+ window.removeEventListener("resize",this.setDetailHeight);
538
+ if(this.unwatch)this.unwatch();
539
+ },
536
540
  methods: {
537
541
  showStats() {
538
542
  var self = this;
@@ -202,6 +202,9 @@ export default {
202
202
  this.setDetailStyle();
203
203
  })
204
204
  },
205
+ destroyed (){
206
+ window.removeEventListener("resize",this.setDetailStyle);
207
+ },
205
208
  methods: {
206
209
  load(data) {
207
210
  this.isLoading=false;
@@ -38,12 +38,15 @@
38
38
  });
39
39
  }
40
40
  },
41
+ destroyed (){
42
+ if(this.unwatch)this.unwatch();
43
+ },
41
44
  mounted() {
42
45
  var self = this;
43
46
  this.$nextTick(function () {
44
47
  var dropdown = self.$refs["dropdown"];
45
48
  dropdown.createPopper();
46
- self.$watch('elementOptions', function (newVal, oldVal) {
49
+ this.unwatch=self.$watch('elementOptions', function (newVal, oldVal) {
47
50
  self.$nextTick(() => {
48
51
  dropdown.updatePopper();
49
52
  dropdown.updatePopper();
@@ -233,6 +233,25 @@
233
233
  updated() {
234
234
  this.computeScroll();
235
235
  },
236
+ destroyed (){
237
+ this.$off();
238
+ if(this.$el.parentNode)this.$el.parentNode.removeChild(this.$el);
239
+ if (typeof this.model.scripts !== 'undefined') {
240
+ this.model.scripts.formData.form = null;
241
+ this.model.scripts.formData.excuteData = null;
242
+ this.model.scripts.formData.fieldsDic = null;
243
+ this.model.scripts.formData = null;
244
+ }
245
+ this.collapse=[];
246
+ this.collapseActiveNames=[];
247
+ this.collapseFieldsRow=[];
248
+ this.independentItem=[];
249
+ this.isHorizontalLayout=false;
250
+ this.model.links = null;
251
+ this.model.buttons = null;
252
+ this.model = null;
253
+ this.$el = null;
254
+ },
236
255
  methods: {
237
256
  computeScroll(){
238
257
  this.$nextTick(() => {
@@ -223,6 +223,10 @@
223
223
  },
224
224
  mounted() {
225
225
  },
226
+ destroyed (){
227
+ this.model = null;
228
+ this.$el = null;
229
+ },
226
230
  methods: {
227
231
  getHeadClass(v) {
228
232
  if (v.is === "ct-inputNumber") {
@@ -1,16 +1,6 @@
1
1
  <template>
2
2
  <div class="field-top">
3
- <div class="ct-text" style="width:100%;display:flex" v-if="model !== null">
4
- <!-- <el-input v-model="model.labelValue" v-bind="model.attrs"
5
- :class="[model.showLabel?'showLabel':'',!valid?'inputError':'','lableinput']"
6
- :type="model.showLabel? 'text':'textarea'"
7
- style="flex:1" autosize :readonly="true" autocomplete="on">
8
- <div v-if="model.showLabel && model.label" slot="prepend" class="" :class="[model.labelClass]">
9
- {{model.label}}
10
- </div>
11
- <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
12
- </el-input>
13
- <span v-if="model.sufLabel" style="width:auto" class="spanMessage">{{model.sufLabel}}</span> -->
3
+ <div class="ct-text" style="width:100%;display:flex" v-if="model !== null">
14
4
  <div class="el-input el-input--mini el-input-group el-input-group--prepend el-input--suffix showLabel lableinput text-justify">
15
5
  <div v-if="model.showLabel && model.label" class="el-input-group__prepend">
16
6
  <div slot="prepend" class="label-ellipsis" :class="[model.labelClass]" :title="model.label">
@@ -31,7 +21,7 @@
31
21
  </div>
32
22
  <!-- 展示 -->
33
23
  <label class="ct-lable" :style="{ display: (model.labelValue ? 'inline-flex' : '') }">
34
- <el-tooltip placement="top" effect="light" :disabled="isShowTooltip">
24
+ <el-tooltip v-if="showTooltip" placement="top" effect="light" :disabled="isShowTooltip">
35
25
  <div slot="content" :style="{ 'width': (model.labelValue.length > 66 ? '400px' : 'auto') }">{{
36
26
  model.labelValue
37
27
  }}</div>
@@ -59,9 +49,10 @@
59
49
  },
60
50
  data() {
61
51
  return {
62
- isShowTooltip: true,// 是否需要禁止提示
63
- isShowComput: false
64
- }
52
+ isShowTooltip: true,// 是否需要禁止提示
53
+ isShowComput: false,
54
+ showTooltip: true,
55
+ }
65
56
  },
66
57
  created() {
67
58
  if (typeof this.vmodel === 'undefined') {
@@ -72,22 +63,28 @@
72
63
  }
73
64
  this.model.self=this;
74
65
  },
75
- methods: {
76
- // 移入事件: 判断内容的宽度contentWidth是否大于父级的宽度
77
- onMouseOver(str, index) {
78
- this.isShowComput = true
79
- this.$nextTick(function () {
80
- if (this.model.labelValue.length > 0) {
81
- let sumLabelItem = 'computLabel' + index;
82
- let contentWidth = this.$refs[sumLabelItem].offsetWidth;
83
- let parentWidth = this.$refs[str].parentNode.offsetWidth;
84
- // 判断是否禁用tooltip功能
85
- this.isShowTooltip = contentWidth <= parentWidth;
86
- this.isShowComput = false
87
- }
88
- });
89
- }
90
- }
66
+ destroyed (){
67
+ this.$off();
68
+ this.showTooltip=false;
69
+ this.model=null;
70
+ this.$el=null;
71
+ },
72
+ methods: {
73
+ // 移入事件: 判断内容的宽度contentWidth是否大于父级的宽度
74
+ onMouseOver(str, index) {
75
+ this.isShowComput = true
76
+ this.$nextTick(function () {
77
+ if (this.model.labelValue.length > 0) {
78
+ let sumLabelItem = 'computLabel' + index;
79
+ let contentWidth = this.$refs[sumLabelItem].offsetWidth;
80
+ let parentWidth = this.$refs[str].parentNode.offsetWidth;
81
+ // 判断是否禁用tooltip功能
82
+ this.isShowTooltip = contentWidth <= parentWidth;
83
+ this.isShowComput = false
84
+ }
85
+ });
86
+ }
87
+ }
91
88
  }
92
89
  </script>
93
90
  <style scoped>
@@ -84,7 +84,7 @@
84
84
  else {
85
85
  this.model = this.vmodel;
86
86
  }
87
- this.$watch('model.value', (n, o) => {
87
+ this.unwatch=this.$watch('model.value', (n, o) => {
88
88
  if (typeof this.model.child !== 'undefined') {
89
89
  for (var item of this.model.child) {
90
90
  if(typeof item.reset !== 'undefined'){
@@ -95,6 +95,12 @@
95
95
  });
96
96
  this.inputHeight = this.inputLineHeight;
97
97
  },
98
+ destroyed (){
99
+ this.model = null;
100
+ this.$el = null;
101
+ if(this.unwatch)this.unwatch();
102
+ if(this.unwatch1)this.unwatch1();
103
+ },
98
104
  computed: {
99
105
  tagsPlaceholder: {
100
106
  get: function () {
@@ -135,7 +141,7 @@
135
141
  //this.resize();
136
142
  this.$nextTick(function () {
137
143
  var dropdown = self.$refs["pop"];
138
- self.$watch('model.options', function (newVal, oldVal) {
144
+ this.unwatch1=self.$watch('model.options', function (newVal, oldVal) {
139
145
  self.$nextTick(() => {
140
146
  if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
141
147
  dropdown.popperJS.destroy();
@@ -168,6 +168,9 @@
168
168
  }
169
169
  })
170
170
  },
171
+ destroyed (){
172
+ window.removeEventListener("resize",this.resizeSearchList);
173
+ },
171
174
  methods: {
172
175
  screenLoaded(defaultSearch) {
173
176
  this.loaded.screenLoaded = true;
@@ -359,9 +362,7 @@
359
362
  }
360
363
  }
361
364
 
362
- window.addEventListener("resize", (ev) => {
363
- self.resizeSearchList();
364
- });
365
+ window.addEventListener("resize", self.resizeSearchList);
365
366
  }
366
367
  else{
367
368
  this.flagSideBarOfData=false;
@@ -95,6 +95,18 @@ import dynamicElement from '../../mixins/dynamicElement';
95
95
  });
96
96
  }
97
97
  },
98
+ destroyed (){
99
+ this.$off();
100
+ if(this.$el.parentNode)this.$el.parentNode.removeChild(this.$el);
101
+ if(this.model.scripts){
102
+ this.model.scripts.formData.form = null;
103
+ this.model.scripts.formData.excuteData = null;
104
+ this.model.scripts.formData.fieldsDic = null;
105
+ this.model.scripts.formData = null;
106
+ }
107
+ this.model = null;
108
+ this.$el = null;
109
+ },
98
110
  methods: {
99
111
  clickHandler(model) {
100
112
  switch (model.action) {
@@ -324,7 +324,7 @@ export default {
324
324
  updateTableColumnsKey: 0,
325
325
  backgroundColor: "#ecf5ff",
326
326
  dragenterEl: null,
327
-
327
+ timeoutHandle: null,
328
328
  };
329
329
  },
330
330
  deactivated() {
@@ -335,6 +335,21 @@ export default {
335
335
  this.setTableHeight();
336
336
  });
337
337
  },
338
+ destroyed (){
339
+ this.$off();
340
+ if(this.$el.parentNode)this.$el.parentNode.removeChild(this.$el);
341
+ if (typeof this.model.scripts !== 'undefined' && this.model.scripts.formData) {
342
+ this.model.scripts.formData.formTable = null;
343
+ this.model.scripts.formData = null;
344
+ }
345
+ window.removeEventListener("resize",this.setTableHeight);
346
+ if(this.$refs && this.$refs.tableParent)this.$refs.tableParent.removeEventListener("scroll", this.getScrollAttr);
347
+ this.model = null;
348
+ this.$el = null;
349
+ if(this.timeoutHandle){
350
+ clearTimeout(this.timeoutHandle)
351
+ }
352
+ },
338
353
  methods: {
339
354
  theadTitleHover(ev) {
340
355
  if (!this.model.columnWidthSaveAction) {
@@ -449,9 +464,7 @@ export default {
449
464
  this.selectAllType = this.model.getSelectAll();
450
465
  this.$nextTick(() => {
451
466
  self.loadStats();
452
- window.addEventListener("resize", (ev) => {
453
- self.setTableHeight();
454
- });
467
+ window.addEventListener("resize", self.setTableHeight);
455
468
  self.currentRow = null;
456
469
  self.rowColorChange();
457
470
  self.fiexdHead();
@@ -1575,7 +1588,7 @@ export default {
1575
1588
  self.$common.closeDialog(dialogOption.dialog);
1576
1589
  self.updateCurrentRow(field, ev);
1577
1590
  if(ev.responseData && ev.responseData.notification === 17){
1578
- setTimeout(() => {
1591
+ self.timeoutHandle=setTimeout(() => {
1579
1592
  self.routerClickHandler(self.model.getRtnRouter(ev.responseData.content), {});
1580
1593
  });
1581
1594
  }
@@ -37,6 +37,11 @@
37
37
  },
38
38
  created() {
39
39
  },
40
+ destroyed (){
41
+ this.model = null;
42
+ this.$el = null;
43
+ if(this.unwatch)this.unwatch();
44
+ },
40
45
  mounted() {
41
46
  var self = this;
42
47
  this.$nextTick(function () {
@@ -54,7 +59,7 @@
54
59
  self.load(data);
55
60
  });
56
61
  }
57
- self.$watch('model.value', (n, o) => {
62
+ this.unwatch=self.$watch('model.value', (n, o) => {
58
63
  if (typeof self.model.child !== 'undefined') {
59
64
  for (var item of self.model.child) {
60
65
  if(typeof item.reset !== 'undefined'){
@@ -74,7 +74,7 @@
74
74
  else {
75
75
  this.model = this.vmodel;
76
76
  }
77
- this.$watch('model.value', (n, o) => {
77
+ this.unwatch=this.$watch('model.value', (n, o) => {
78
78
  if (typeof this.model.child !== 'undefined') {
79
79
  for (var item of this.model.child) {
80
80
  if(typeof item.reset !== 'undefined'){
@@ -85,6 +85,12 @@
85
85
  });
86
86
  this.inputHeight = this.inputLineHeight;
87
87
  },
88
+ destroyed (){
89
+ this.model = null;
90
+ this.$el = null;
91
+ if(this.unwatch)this.unwatch();
92
+ if(this.unwatch1)this.unwatch1();
93
+ },
88
94
  computed: {
89
95
  soPlaceholder: {
90
96
  get: function () {
@@ -124,7 +130,7 @@
124
130
  var self = this;
125
131
  this.$nextTick(function () {
126
132
  var dropdown = self.$refs["pop"];
127
- self.$watch('model.options', function (newVal, oldVal) {
133
+ this.unwatch1=self.$watch('model.options', function (newVal, oldVal) {
128
134
  self.$nextTick(() => {
129
135
  if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
130
136
  dropdown.popperJS.destroy();
@@ -68,7 +68,8 @@
68
68
  showDrop: false,
69
69
  inputHeight: 26,
70
70
  showClear: false,
71
- searchText: ""
71
+ searchText: "",
72
+ timeoutHandle: null,
72
73
  }
73
74
  },
74
75
  created() {
@@ -78,7 +79,7 @@
78
79
  else {
79
80
  this.model = this.vmodel;
80
81
  }
81
- this.$watch('model.value', (n, o) => {
82
+ this.unwatch=this.$watch('model.value', (n, o) => {
82
83
  if (typeof this.model.child !== 'undefined' && this.model.enableRelationFields) {
83
84
  for (var item of this.model.child) {
84
85
  if(typeof item.reset !== 'undefined'){
@@ -92,6 +93,15 @@
92
93
  this.model.searchInputHeight = 26;
93
94
  this.model.$self=this;
94
95
  },
96
+ destroyed (){
97
+ this.model = null;
98
+ this.$el = null;
99
+ if(this.timeoutHandle){
100
+ clearTimeout(this.timeoutHandle)
101
+ }
102
+ if(this.unwatch)this.unwatch();
103
+ if(this.unwatch1)this.unwatch1();
104
+ },
95
105
  computed: {
96
106
  soPlaceholder: {
97
107
  get: function () {
@@ -131,7 +141,7 @@
131
141
  var self = this;
132
142
  this.$nextTick(function () {
133
143
  var dropdown = self.$refs["pop"];
134
- self.$watch('model.options', function (newVal, oldVal) {
144
+ this.unwatch1=self.$watch('model.options', function (newVal, oldVal) {
135
145
  self.$nextTick(() => {
136
146
  if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
137
147
  dropdown.popperJS.destroy();
@@ -259,7 +269,7 @@
259
269
  },
260
270
  searchTickControl: function (search) {
261
271
  var self = this;
262
- setTimeout(function () {
272
+ this.timeoutHandle=setTimeout(function () {
263
273
  if (search === self.searchText) {
264
274
  self.getOptions(self.searchText);
265
275
  }
@@ -80,7 +80,8 @@
80
80
  showDrop: false,
81
81
  inputHeight: 26,
82
82
  showClear: false,
83
- searchText: ""
83
+ searchText: "",
84
+ timeoutHandle: null,
84
85
  }
85
86
  },
86
87
  created() {
@@ -94,6 +95,14 @@
94
95
  this.model.searchInputHeight = 26;
95
96
  this.model.$self=this;
96
97
  },
98
+ destroyed (){
99
+ this.model = null;
100
+ this.$el = null;
101
+ if(this.timeoutHandle){
102
+ clearTimeout(this.timeoutHandle)
103
+ }
104
+ if(this.unwatch)this.unwatch();
105
+ },
97
106
  computed: {
98
107
  soPlaceholder: {
99
108
  get: function () {
@@ -133,7 +142,7 @@
133
142
  var self = this;
134
143
  this.$nextTick(function () {
135
144
  var dropdown = self.$refs["pop"];
136
- self.$watch('model.options', function (newVal, oldVal) {
145
+ this.unwatch=self.$watch('model.options', function (newVal, oldVal) {
137
146
  self.$nextTick(() => {
138
147
  if (typeof dropdown.popperJS !== 'undefined' && dropdown.popperJS) {
139
148
  dropdown.popperJS.destroy();
@@ -284,7 +293,7 @@
284
293
  },
285
294
  searchTickControl: function (search) {
286
295
  var self = this;
287
- setTimeout(function () {
296
+ this.timeoutHandle=setTimeout(function () {
288
297
  if (search === self.searchText) {
289
298
  self.getOptions(self.searchText);
290
299
  }
@@ -8,7 +8,7 @@
8
8
  <div>
9
9
  <el-steps :space="model.code2.space" :direction="model.code2.direction" :active="model.code2.active" :simple="model.code2.simple"
10
10
  :process-status="model.code2.processStatus" :finish-status="model.code2.finishStatus" :align-center="model.code2.alignCenter">
11
- <el-step v-for="(step, index) in model.code1" :key="index" :title="step.title" :icon="step.icon">
11
+ <el-step v-for="(step, index) in model.code1" :key="index" :title="step.title" :icon="step.icon" :status="step.status">
12
12
  <div slot="description" v-html="step.description">
13
13
  </div>
14
14
  </el-step>
@@ -49,6 +49,10 @@
49
49
  }
50
50
  });
51
51
  },
52
+ destroyed (){
53
+ this.model=null;
54
+ this.$el=null;
55
+ },
52
56
  methods: {
53
57
  load(data) {
54
58
  this.model = data;
@@ -104,6 +104,7 @@
104
104
  forbiddenWordsReg:'',
105
105
  showDrop:false,
106
106
  searchText:'',
107
+ timeoutHandle: null,
107
108
  }
108
109
  },
109
110
  created() {
@@ -115,6 +116,13 @@
115
116
  }
116
117
  this.model.self=this;
117
118
  },
119
+ destroyed (){
120
+ this.model = null;
121
+ this.$el = null;
122
+ if(this.timeoutHandle){
123
+ clearTimeout(this.timeoutHandle)
124
+ }
125
+ },
118
126
  mounted() {
119
127
  if(this.model.inputType === 'textarea'){
120
128
  if(this.model.max && this.model.max>0 && this.model.min && this.model.min > 0){
@@ -153,7 +161,7 @@
153
161
  }
154
162
  else{
155
163
  if (this.model.value !== this.searchText) {
156
- setTimeout(function () {
164
+ this.timeoutHandle=setTimeout(function () {
157
165
  self.searchText=self.model.value;
158
166
  self.model.getOptions(self.api, self.model.value,function(){
159
167
  if(self.model.options && self.model.options.length>0){