centaline-data-driven 1.3.25 → 1.3.28

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.3.25",
3
+ "version": "1.3.28",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Form.vue CHANGED
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
2
+ <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
4
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
- <ct-form :api="'/salemanage/adjust/point/readDetail'" :apiParam="apiParam"></ct-form>
5
+ <ct-form :api="'/api/finance/account-flow/task'" :apiParam="apiParam"></ct-form>
6
6
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
@@ -14,10 +14,16 @@
14
14
  data() {
15
15
  return {
16
16
  apiParam:{
17
- adjustID:"220704140952A0156309F316436CAEBA",actionType:3
17
+ actionType: 1,
18
+ businessId: "1547837545432465409",
19
+ pageOnly: true,
20
+ pageStyle: 2,
21
+ stepId: "1547838255872065538"
18
22
  }
19
23
  }
20
24
  },
25
+ activated(){
26
+ },
21
27
  methods: {
22
28
  test111(val) {
23
29
  alert(JSON.stringify(val));
@@ -8,13 +8,16 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <!-- <ct-searchlist :searchConditionApi="'/PropertyDutyList/getLayoutOfSearch'" :searchDataApi="'/PropertyDutyList/getListOfSearchModel'"></ct-searchlist> -->
11
+ <ct-searchlist :searchConditionApi="'/ProfileWorklistList/getLayoutOfSearch'"
12
+ :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
13
+ :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'">
14
+ </ct-searchlist>
12
15
 
13
- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
16
+ <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
14
17
  :searchDataApi="'/PropertyRETList/getListOfSearchModel'"
15
18
  :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
16
19
  :searchStatsApi="'/exampleList/getListStats'"
17
- ></ct-searchlist>
20
+ ></ct-searchlist> -->
18
21
 
19
22
  <ct-dialog-list></ct-dialog-list>
20
23
  </div>
@@ -1,4 +1,7 @@
1
1
  .ccai.ct-Sw .ct-radios {
2
2
  padding-top: 0px;
3
3
  padding-bottom: 0;
4
- }
4
+ }
5
+ .ccai.button-absolute{
6
+ bottom: 26px;
7
+ }
@@ -39,9 +39,20 @@
39
39
  .max-ToolbarButton .max-btn-gray{
40
40
  height: 26px;
41
41
  background: #FFFFFF;
42
- border: 1px solid #CCCCCC;
42
+ /* border: 1px solid #CCCCCC; */
43
43
  border-radius: 6px;
44
44
  }
45
+ .max-ToolbarButton .max-btn-gray button.el-button.el-button--primary.el-button--mini {
46
+ height: 26px;
47
+ background: #fff;
48
+ }
49
+ .max-ToolbarButton .max-btn-gray button.el-button.el-button--primary.el-button--mini:hover {
50
+ color: #666;
51
+ border: 1px solid #ced0d9;
52
+ background: -webkit-gradient(linear,left top, left bottom,from(#F4F4F5),to(#DFE3F1));
53
+ background: linear-gradient(#F4F4F5,#DFE3F1);
54
+ }
55
+
45
56
  /* 弹层新增按钮 */
46
57
  .max-btn-add button,.max-btn-add{ /*list-button*/
47
58
  height: 26px;
@@ -251,3 +262,17 @@
251
262
  .ct-text .showLabel label{
252
263
  line-height: 27px!important;
253
264
  }
265
+
266
+ .dragItem .el-checkbox__input.is-checked+.el-checkbox__label {
267
+ /* color: #409EFF !important; */
268
+ color: #666 !important;
269
+ }
270
+ #dragAll .el-checkbox__input.is-checked+.el-checkbox__label{
271
+ font-weight: 700;
272
+ }
273
+ /* .dragItem .el-checkbox__input.is-checked .el-checkbox__inner,
274
+ .dragItem .el-checkbox__input.is-indeterminate .el-checkbox__inner {
275
+ background-color: #409EFF !important;
276
+ border-color: #409EFF !important;
277
+ } */
278
+
@@ -160,7 +160,8 @@
160
160
  width: item.attrs.width,
161
161
  'height': item.attrs.height,
162
162
  'overflow': 'auto',
163
- }
163
+ },
164
+ ref:'content'
164
165
  }, [
165
166
  h(item.component, {
166
167
  props: item.attrs,
@@ -168,7 +169,8 @@
168
169
  }, [])
169
170
  ]);
170
171
  }
171
- else {var ph=0;
172
+ else {
173
+ var ph=0;
172
174
  if(item.attrs.height){
173
175
  ph=parseInt(item.attrs.height.replace('px',''));
174
176
  }
@@ -1,75 +1,88 @@
1
1
  <template>
2
2
  <!--使用draggable组件-->
3
- <div class="dragCol">
4
- <div class="dragItem">
5
- <el-checkbox id="all" v-model="checkAll" @change="handleAllChecked" class="checkbox-common">{{ controlLabel
6
- }}
3
+ <div class="dragCol" ref="dragCol">
4
+ <div class="dragItem dragHeader" ref="dragHeader">
5
+ <el-checkbox id="dragAll" v-model="checkAll" :indeterminate="isIndeterminate" @change="handleAllChecked"
6
+ class="checkbox-common">{{
7
+ this.vmodel.label
8
+ }}
7
9
  </el-checkbox>
8
10
  <span class="svgIcon">
9
11
  <!-- <svg-icon icon-class="sort" style="cursor: pointer"></svg-icon> -->
10
12
  </span>
11
13
  </div>
12
- <draggable v-model="testList" :options="{ group: { name: 'itxst', pull: 'clone' }, sort: true }" animation="300"
13
- :move="onMove" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"
14
- @input="handleListChange($event)">
15
- <transition-group>
16
- <div class="dragItem canDragon" v-for="(item, index) in testList" :key="index">
17
- <el-checkbox v-model="item.checked" :disabled="item.locked" name="checkItem"
18
- @change="handleChecked(item, $event)" class="checkbox-common"> {{ item.displayName
19
- }}</el-checkbox>
20
- <span class="svgIcon">
21
- <img :src="iconSort" alt="" width="100%" />
22
- </span>
23
- </div>
24
- </transition-group>
25
- </draggable>
14
+ <!-- <div class="dragMain" style="height:dragMainHeight;"> -->
15
+ <div class="dragMain" ref="dragMain" :style="{ height: mainHeight }">
16
+ <draggable v-model="testList"
17
+ :options="{ group: { name: 'itxst', pull: 'clone' }, sort: true }" animation="300"
18
+ :move="onMove" dragClass="dragClass" ghostClass="ghostClass" chosenClass="chosenClass"
19
+ @input="handleListChange($event)">
20
+ <transition-group>
21
+ <div class="dragItem canDragon" v-for="(item, index) in testList" :key="index" ref="dragItem">
22
+ <el-checkbox v-model="item.checked" :disabled="item.locked" name="checkItem"
23
+ @change="handleChecked(item, $event)" class="checkbox-common"> {{ item.displayName
24
+ }}</el-checkbox>
25
+ <span class="svgIcon">
26
+ <img :src="iconSort" alt="" width="100%" />
27
+ </span>
28
+ </div>
29
+ </transition-group>
30
+ </draggable>
31
+ </div>
26
32
  </div>
27
33
  </template>
28
34
 
29
35
  <script>
30
36
  //导入draggable组件
31
- import draggable from 'vuedraggable'
37
+ import draggable from "vuedraggable";
32
38
 
33
39
  export default {
34
40
  //注册draggable组件
35
- name: 'ct-dragSort',
41
+ name: "ct-dragSort",
36
42
  components: {
37
- draggable,
43
+ draggable
38
44
  },
39
45
  props: {
40
46
  vmodel: Object,
41
- api: String,
47
+ api: String
42
48
  },
43
49
  data() {
44
50
  return {
45
51
  iconSort: require("../../../assets/sort.png"),
46
52
  drag: false,
47
53
  checkAll: true,
48
- controlLabel: '列名',
49
54
  //定义要被拖拽对象的数组
50
55
  testList: [],
56
+ mainHeight: 500,
57
+ isIndeterminate: true
51
58
  };
52
59
  },
53
60
  watch: {
54
- testList: { // 监听事件,监听复选框是否全部选中,全部选中则全选的复选框勾选上
61
+ testList: {
62
+ // 监听事件,监听复选框是否全部选中,全部选中则全选的复选框勾选上
55
63
  handler(val) {
56
- var i = 0
64
+ var i = 0;
57
65
  this.testList.forEach(item => {
58
66
  if (item.checked === true) {
59
- i++
67
+ i++;
60
68
  }
61
69
  if (i === this.testList.length) {
62
- this.checkAll = true
70
+ this.checkAll = true;
71
+ this.isIndeterminate = false
63
72
  } else {
64
- this.checkAll = false
73
+ this.checkAll = false;
74
+ if (i > 0 && i < this.testList.length) {
75
+ this.isIndeterminate = true
76
+ } else {
77
+ this.isIndeterminate = false
78
+ }
65
79
  }
66
- })
80
+ });
67
81
  },
68
82
  deep: true
69
83
  }
70
84
  },
71
85
  created() {
72
- console.log('draglist', this.vmodel.dragList);
73
86
  this.$nextTick(function () {
74
87
  if (typeof this.vmodel === 'undefined') {
75
88
  this.model = this.loaderObj.DragSort(this.source);
@@ -77,30 +90,55 @@ export default {
77
90
  else {
78
91
  this.model = this.vmodel;
79
92
  this.testList = this.vmodel.dragList;
80
- console.log('this.testList', this.testList);
93
+ // console.log('this.testList', this.testList);
81
94
  }
82
95
  });
83
96
 
84
- this.testList.forEach(item => { // 处理后端传过来的数据,如果没有可以判断是否勾选复选框的字段,则需给数据作处理,加上一个isChecked字段,判断复选框勾选
85
- this.$set(item, 'checked', false) // 添加判断的字段
86
- })
97
+ this.testList.forEach(item => {
98
+ // 处理后端传过来的数据,如果没有可以判断是否勾选复选框的字段,则需给数据作处理,加上一个isChecked字段,判断复选框勾选
99
+ this.$set(item, "checked", false); // 添加判断的字段
100
+ });
101
+ },
102
+ mounted() {
103
+ this.$nextTick(() => {
104
+ this.sjcount();
105
+ });
87
106
  },
107
+
88
108
  methods: {
109
+ sjcount() {
110
+ this.$nextTick(() => {
111
+ // const height = window.innerHeight;
112
+ let screenHeight = document.body.clientHeight;
113
+ let dragHeaderHeight = this.$refs.dragHeader.offsetHeight;
114
+ let dragMainHeight = this.$refs.dragMain.style.height;
115
+ dragMainHeight =
116
+ screenHeight - dragHeaderHeight - 26 - 8 - 44 - 40;
117
+ this.mainHeight = dragMainHeight + "px";
118
+ let num = this.testList.length
119
+ let dragItemAll = 44.68 * num;
120
+ if (dragMainHeight > dragItemAll) {
121
+ this.mainHeight = dragItemAll + "px";
122
+ this.$refs.dragMain.style.overflowY = 'hidden'
123
+ } else {
124
+ this.mainHeight = dragMainHeight + "px";
125
+ this.$refs.dragMain.style.overflowY = 'overlay'
126
+ }
127
+
128
+ });
129
+ },
130
+
89
131
  // 更新位置
90
132
  handleListChange(event) {
91
133
  console.log(event);
92
134
  this.testList = event;
93
135
 
94
136
  this.testList.forEach((item, i) => {
95
- this.model.dragList.splice(i, 1, item)
96
- })
97
-
98
- console.log('handleListChange-testList', this.testList);
99
- console.log('this.model.code1', this.model.code1);
137
+ this.model.dragList.splice(i, 1, item);
138
+ });
100
139
  },
101
140
  //move回调方法
102
- onMove(e, originalEvent) {
103
- },
141
+ onMove(e, originalEvent) { },
104
142
  //开始拖拽事件
105
143
  onStart() {
106
144
  this.drag = true;
@@ -108,27 +146,25 @@ export default {
108
146
  //拖拽结束事件
109
147
  onEnd() {
110
148
  this.drag = false;
111
- // this.handleListChange()
112
149
  },
113
- handleAllChecked(v) { // 实现全选,反选(点击会传递true或者false过来)
150
+ handleAllChecked(v) {
151
+ // 实现全选,反选(点击会传递true或者false过来)
114
152
  this.testList.map(item => {
115
153
  if (!item.locked) {
116
- item.checked = v
154
+ item.checked = v;
117
155
  } else {
118
- return false
156
+ return false;
119
157
  }
120
- })
121
- this.vmodel.draglist = this.testList
122
- console.log('this.vmodel.draglist', this.vmodel.dragList);
158
+ });
159
+ this.vmodel.draglist = this.testList;
123
160
  },
124
- handleChecked(item, e) { // 单个选中
125
- item.checked = e
126
- console.log('this.testList', this.testList);
127
- this.vmodel.draglist = this.testList
128
- console.log('this.vmodel.draglist', this.vmodel.dragList);
161
+ handleChecked(item, e) {
162
+ // 单个选中
163
+ item.checked = e;
164
+ this.vmodel.draglist = this.testList;
129
165
  }
130
166
  }
131
- }
167
+ };
132
168
  </script>
133
169
  <style scoped>
134
170
  /*定义要拖拽元素的样式*/
@@ -155,6 +191,7 @@ export default {
155
191
  flex: 1;
156
192
  border-radius: 5px;
157
193
  float: left;
194
+ margin-top: -5px;
158
195
  }
159
196
 
160
197
  .dragCol+.dragCol {
@@ -172,7 +209,7 @@ export default {
172
209
  }
173
210
 
174
211
  .dragItem:hover {
175
- background-color: #F5F7FA;
212
+ background-color: #f5f7fa;
176
213
  cursor: move;
177
214
  }
178
215
 
@@ -180,7 +217,7 @@ export default {
180
217
  border-top: none;
181
218
  }
182
219
 
183
- #all {
220
+ #dragAll {
184
221
  color: #909399;
185
222
  font-weight: 700;
186
223
  }
@@ -188,10 +225,17 @@ export default {
188
225
  .svgIcon {
189
226
  width: 16px;
190
227
  text-align: center;
191
- cursor: pointer
228
+ cursor: pointer;
229
+ }
230
+
231
+ .dragHeader {}
232
+
233
+ .dragMain {
234
+ overflow-y: overlay;
235
+ overflow-x: hidden;
192
236
  }
193
237
 
194
238
  /* .checkbox-common>>>span.el-checkbox__label {
195
239
  padding-left: 30px;
196
240
  } */
197
- </style>
241
+ </style>
@@ -68,7 +68,8 @@
68
68
  <component v-for="(btn, index) in model.links" :key="index" :is="btn.is" :vmodel="btn" @click="clickHandler" v-if="btn.show"></component>
69
69
  </el-col>
70
70
  </el-row>
71
- <el-row v-if="model.buttons.findIndex((v)=>{return v.show}) > -1" style="margin-top: 8px;">
71
+ <el-row v-if="model.buttons.findIndex((v)=>{return v.show}) > -1" :class="isScroll?'ccai button-absolute':'button-initial'"
72
+ :style="{'max-width':pageWidth?(pageWidth-20)+'px':'100%'}">
72
73
  <el-col :span="24" style="text-align:center">
73
74
  <component v-for="(btn, index) in model.buttons" :key="index" :is="btn.is" :vmodel="btn" @click="clickHandler" v-if="btn.show"></component>
74
75
  </el-col>
@@ -102,8 +103,8 @@
102
103
  }
103
104
  },
104
105
  data() {
105
- var self = this;
106
106
  return {
107
+ isScroll: false,
107
108
  loading: true,
108
109
  activeName: '-1',
109
110
  collapse: [],//分组数组
@@ -115,6 +116,12 @@
115
116
  mounted() {
116
117
  this.init();
117
118
  },
119
+ updated(){
120
+ if(this.$el.parentElement.scrollHeight>this.$el.parentElement.clientHeight
121
+ && !this.model.isHorizontalLayout){
122
+ this.isScroll=true;
123
+ }
124
+ },
118
125
  methods: {
119
126
  init() {
120
127
  var self = this;
@@ -587,6 +594,7 @@
587
594
  var rtnBool = true;
588
595
  var jump = false;
589
596
  var i=0;
597
+ debugger
590
598
  self.$refs.Fields.forEach((f) => {
591
599
  if (f.model && typeof f.validExcute !== 'undefined') {
592
600
  if (!f.validExcute()) {
@@ -700,4 +708,18 @@
700
708
  .el-collapse-saveLine .ct-collapse-item-title:last-child .el-collapse-item__wrap{
701
709
  border-bottom:none;
702
710
  }
711
+ .button-initial{
712
+ margin-top: 8px;
713
+ }
714
+ .button-absolute{
715
+ z-index: 100;
716
+ bottom: 6px;
717
+ position: absolute;
718
+ line-height: 34px;
719
+ background-color: #fff;
720
+ width: 100%;
721
+ margin: auto;
722
+ box-shadow: 0 2px 20px 0 rgb(0 0 0 / 10%);
723
+ margin-left: -20px;
724
+ }
703
725
  </style>
@@ -16,7 +16,7 @@
16
16
  <!--数据列-->
17
17
  <el-table-column v-for="(v,i) in model.rows[0].field" :key="i" :prop="v.id" :label="v.label" v-if="v.show !== false">
18
18
  <template slot="header" slot-scope="scope">
19
- <div :class="[{'ct-table-required':v.required&&model.rows[0].edit&& model.rows[0].delete&&!model.tableDisabled},getHeadClass(v)]">
19
+ <div :class="[{'ct-table-required':v.required&&model.rows[0].edit&& model.rows[0].delete&&!model.tableDisabled},getHeadClass(v)]">
20
20
  {{v.label}}
21
21
  </div>
22
22
  </template>
@@ -32,8 +32,8 @@
32
32
  </span>
33
33
  <!--可点击的列-->
34
34
  <span v-else-if="v.router" :class="'cell'" style="display: flex;">
35
- <ct-tablecurrency :router="v.router" :colValue="scope.row[v.id].code1" :rowData="scope.row"
36
- @click="rolRouterClickHandler">
35
+ <span>{{scope.row.isSet}}</span>
36
+ <ct-tablecurrency :router="v.router" :colValue="scope.row[v.id].code1" :rowData="scope.row" @click="rolRouterClickHandler">
37
37
  </ct-tablecurrency>
38
38
  </span>
39
39
  <ct-span v-else :vmodel="scope.row[v.id]" :rowNum="scope.row.$sourceIndex" ref="FieldsLabel"></ct-span>
@@ -191,7 +191,8 @@
191
191
  app.model.currentRow.isNew = false;
192
192
  app.model.currentRow.index = index;
193
193
  app.model.currentRow.isSet = true;
194
- row.isSet = true;
194
+ row.isSet = true;
195
+ app.itemKey = Math.random();
195
196
  }
196
197
  },
197
198
  //删除
@@ -12,7 +12,7 @@
12
12
  {{validMessage}}
13
13
  </span>
14
14
  </transition>
15
- <ct-quick-input v-if="model.paramName && !model.lock" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
15
+ <ct-quick-input v-if="model.paramName && !model.lock" :pn="model.paramName" :action="api" @input="quickSelect"></ct-quick-input>
16
16
  </div>
17
17
  </template>
18
18
  <script>
@@ -35,8 +35,14 @@
35
35
  else {
36
36
  this.model = this.vmodel;
37
37
  }
38
+ },
39
+ methods: {
40
+ quickSelect(value,label) {
41
+ this.model.value=this.model.value+label;
42
+ },
38
43
  }
39
- }</script>
44
+ }
45
+ </script>
40
46
  <style>
41
47
  .noresize {
42
48
  resize: none;
@@ -799,8 +799,7 @@ export default {
799
799
  action = action || field.action;
800
800
  var clickAcion = function() {
801
801
  //若不是客户端方法,则直接访问接口
802
- if (!field.isClientFuntion) {
803
- // 外部框架tab页打开
802
+ if (!field.isClientFuntion) {// 外部框架tab页打开
804
803
  if (field.isFormPageInTab) {
805
804
  submitData = field.getActionPara(submitData).para;
806
805
  if (field.pageStyle) {
@@ -816,29 +815,24 @@ export default {
816
815
  field.dialogWidth
817
816
  );
818
817
  }
819
- else if (field.isSearchPageInTab) {
820
- // 外部框架tab页打开
818
+ else if (field.isSearchPageInTab) {// 外部框架tab页打开
821
819
  submitData = field.getActionPara(submitData).para;
822
820
  self.$common
823
821
  .getDataDrivenOpts()
824
822
  .handler.openTabSearch(field, submitData);
825
823
  }
826
- else if (field.isBrowserNewTab) {
827
- // 浏览器打开
824
+ else if (field.isBrowserNewTab) {// 浏览器打开
828
825
  submitData = field.getActionPara(submitData).para;
829
826
  let query = self.$common.objectToQueryStr(submitData);
830
827
  window.open(action + query, "_blank");
831
828
  }
832
- else if (field.isOpenUrlInBrowse) {
833
- // 浏览器打开
829
+ else if (field.isOpenUrlInBrowse) {// 浏览器打开
834
830
  window.open(submitData[field.submitFormField], "_blank");
835
831
  }
836
- else if (field.isSeeVoice) {
837
- //看视频
832
+ else if (field.isSeeVoice) {//看视频
838
833
  self.$common.browseVideo(field, submitData);
839
834
  }
840
- else if (field.isBrowseAttachment) {
841
- //浏览附件
835
+ else if (field.isBrowseAttachment) {//浏览附件
842
836
  var MediaAlbum = [
843
837
  { albumName: self.model.title || "媒体", medias: [] }
844
838
  ];
@@ -920,10 +914,7 @@ export default {
920
914
  },
921
915
  on: {
922
916
  submit(ev) {
923
- if (
924
- !field.flagFreshCurrentRow &&
925
- !field.flagAddRowAfterAction
926
- ) {
917
+ if ( !field.flagFreshCurrentRow && !field.flagAddRowAfterAction) {
927
918
  self.model.doAction(ev);
928
919
  }
929
920
  self.$forceUpdate();
@@ -21,7 +21,7 @@
21
21
  </el-input>
22
22
 
23
23
  <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
24
- <ctQuickInputSos v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @click="quickSelect"></ctQuickInputSos>
24
+ <ctQuickInputSos v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" :flagNew="true" @click="quickSelect"></ctQuickInputSos>
25
25
  </div>
26
26
  <transition name="el-fade-in" class="ct-flex-div-span">
27
27
  <span v-show="!valid" class="errorMessage ">
@@ -75,7 +75,8 @@
75
75
  isShowClear() {
76
76
  if (this.model.value !== '' && this.model.clearable) {
77
77
  this.$set(this, 'showClear', true);
78
- } else {
78
+ }
79
+ else {
79
80
  this.$set(this, 'showClear', false);
80
81
  }
81
82
  },
@@ -84,13 +85,19 @@
84
85
  this.$emit('click');
85
86
  }
86
87
  else if(this.model.routerKeyForEnterKey){
87
- if(this.model.value.trim()!=''){
88
+ if(this.model.value && this.model.value.trim()!=''){
88
89
  this.$emit('enter');
89
90
  }
90
91
  }
91
92
  },
92
- quickSelect(v) {
93
- this.model.value=v;
93
+ quickSelect(value,label) {
94
+ if(this.model.type===3){
95
+ this.model.value=this.model.value+label;
96
+ this.validExcute();
97
+ }
98
+ else{
99
+ this.model.value=label;
100
+ }
94
101
  this.search();
95
102
  },
96
103
  },