centaline-data-driven 1.1.28 → 1.1.32

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 (29) hide show
  1. package/package.json +1 -1
  2. package/src/SearchList.vue +1 -1
  3. package/src/centaline/css/common.css +3 -4
  4. package/src/centaline/css/max.css +36 -0
  5. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +4 -0
  6. package/src/centaline/dynamicIti/src/dynamicIti.vue +5 -2
  7. package/src/centaline/dynamicMo/src/dynamicMo.vue +1 -0
  8. package/src/centaline/dynamicSearchList/src/dynamicSearchCategory.vue +114 -0
  9. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +32 -6
  10. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +29 -12
  11. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +1 -2
  12. package/src/centaline/dynamicSensitiveEye/index.js +11 -0
  13. package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +61 -0
  14. package/src/centaline/dynamicSo/src/dynamicSo.vue +1 -1
  15. package/src/centaline/dynamicSos/src/dynamicSos.vue +1 -1
  16. package/src/centaline/dynamicT/src/dynamicT.vue +5 -1
  17. package/src/centaline/dynamicTags/src/dynamicTags.vue +1 -1
  18. package/src/centaline/loader/src/ctl/Base.js +13 -3
  19. package/src/centaline/loader/src/ctl/Checkbox.js +2 -1
  20. package/src/centaline/loader/src/ctl/Iti.js +1 -10
  21. package/src/centaline/loader/src/ctl/SearchCategory.js +50 -0
  22. package/src/centaline/loader/src/ctl/SearchScreen.js +6 -0
  23. package/src/centaline/loader/src/ctl/SensitiveEye.js +65 -0
  24. package/src/centaline/loader/src/ctl/So.js +1 -1
  25. package/src/centaline/loader/src/ctl/Sos.js +1 -2
  26. package/src/centaline/loader/src/ctl/lib/LibFunction.js +5 -0
  27. package/src/centaline/loader/src/ctl.js +1 -0
  28. package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
  29. 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.1.28",
3
+ "version": "1.1.32",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="app-search" style="height:100%;position: fixed;">
3
3
  <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
4
- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getList'"></ct-searchlist>
4
+ <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist>
5
5
  <!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
6
6
  <ct-dialog-list></ct-dialog-list>
7
7
  </div>
@@ -101,9 +101,9 @@ html {
101
101
 
102
102
  .ct-tags .showLabel .ct-input_inner, .ct-so .showLabel .ct-input_inner, .ct-iti-editor input,
103
103
  .ct-date-editor input, .ct-mt .el-input-group--prepend textarea, .ct-text .showLabel input, .ct-Dtd .ct-datepicker.showLabel .el-range-input,
104
- .ct-Seg .showLabel.ct-radios, .ct-so .showLabel .ct-input_inner,.ct-iti .ct-input_inner {
105
- border-top-left-radius: 6px !important;
106
- border-bottom-left-radius: 6px !important;
104
+ .ct-Seg .showLabel.ct-radios, .ct-so .showLabel .ct-input_inner,.ct-Dtd .el-input__inner {
105
+ border-top-left-radius: 4px !important;
106
+ border-bottom-left-radius: 4px !important;
107
107
  text-align: left !important;
108
108
  }
109
109
  .ct-Seg .showLabel.ct-radios {
@@ -716,4 +716,3 @@ html {
716
716
  .el-card.is-always-shadow{
717
717
  box-shadow: none!important;
718
718
  }
719
-
@@ -46,6 +46,7 @@
46
46
  .max-btn-add button{ /*list-button*/
47
47
  height: 26px;
48
48
  background: #EE6B6B;
49
+ border-color:#EE6B6B;
49
50
  box-shadow: 0px 2px 4px 0px rgba(238,107,107,0.25);
50
51
  border-radius: 6px;
51
52
  }
@@ -140,6 +141,11 @@
140
141
  height:6px;
141
142
  background-color:#f1f1f1
142
143
  }
144
+ .st-serach-screen::-webkit-scrollbar,.max-seachpopper::-webkit-scrollbar{
145
+ display: block;
146
+ width:4px;
147
+ height:6px;
148
+ }
143
149
  .ct-table .cell:last-child{
144
150
  white-space: nowrap;
145
151
  }
@@ -149,8 +155,38 @@
149
155
  .el-card{
150
156
  border: none;
151
157
  }
158
+ .ct-tags .showLabel .ct-input_inner, .ct-so .showLabel .ct-input_inner, .ct-iti-editor input,
159
+ .ct-date-editor input, .ct-mt .el-input-group--prepend textarea, .ct-text .showLabel input, .ct-Dtd .ct-datepicker.showLabel .el-range-input,
160
+ .ct-Seg .showLabel.ct-radios, .ct-so .showLabel .ct-input_inner,.ct-Dtd .el-input__inner {
161
+ border-top-left-radius: 6px !important;
162
+ border-bottom-left-radius: 6px !important;
163
+ text-align: left !important;
164
+ }
152
165
  .ct-iti .el-input-group--prepend .el-input__inner{
153
166
  border-top-left-radius: 6px !important;
154
167
  border-bottom-left-radius: 6px !important;
155
168
  text-align: left !important;
169
+ }
170
+ /* 重置input默认颜色 选中文字颜色 */
171
+ .ct-search-list input::-webkit-input-placeholder{
172
+ color: #666666!important;
173
+ }
174
+ .ct-search-list .el-date-editor .el-range-input,.ct-search-list .el-input__inner{
175
+ color: #409eff;
176
+ }
177
+ .ct-so .ct-input_inner {
178
+ color: #409eff!important;
179
+ }
180
+ .cover-list-item .el-checkbox__input.is-checked + .el-checkbox__label,.cover-list-item .el-checkbox__input.is-checked .el-checkbox__inner{
181
+ color: #409eff;
182
+ }
183
+ .cover-list-item .el-checkbox__input.is-checked .el-checkbox__inner{
184
+ background-color:#409eff;
185
+ border-color: #409eff;
186
+ }
187
+ .ct-search-list .el-input-group__append, .el-input-group__prepend{
188
+ color: #666666!important;
189
+ }
190
+ .ct-so .ct-input_inner,.el-input__inner{
191
+ border-radius: 6px!important;
156
192
  }
@@ -28,6 +28,9 @@
28
28
  @input="inputHandler(model.currentRow.data[v.id], model.currentRow.data.$sourceIndex)"></component>
29
29
  </span>
30
30
  <!--<span v-else>{{scope.row[v.id].labelValue}}</span>-->
31
+ <span v-else-if="v.is=='ct-sensitiveeye'">
32
+ <component v-if ref="Fields" :is="v.is" :vmodel="scope.row[v.id]" :vrowmodel="scope.row" :api="model.OptApi"></component>
33
+ </span>
31
34
  <ct-span v-else :vmodel="scope.row[v.id]" :rowNum="scope.row.$sourceIndex" ref="FieldsLabel"></ct-span>
32
35
  </template>
33
36
  </el-table-column>
@@ -127,6 +130,7 @@
127
130
  },
128
131
  //修改
129
132
  saveRow(row, index, isCancel) {
133
+ console.log(row);
130
134
  let app = this;
131
135
  if (app.model.dialogEdit) {
132
136
  this.editRow(row.$sourceIndex);
@@ -12,7 +12,7 @@
12
12
  <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
13
13
  <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
14
14
  v-model="model.value" @change="changeHandler($event)" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value','decimals')"
15
- :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" />
15
+ :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
16
16
 
17
17
  <!-- <span class="el-input__suffix el-input--mini" v-if="showClear.input1">
18
18
  <span class="el-input__suffix-inner ct-close">
@@ -24,7 +24,7 @@
24
24
  <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
25
25
  <input style="text-align:left;width:100%;" class="el-range-input" :placeholder="model.attrs.placeholder2"
26
26
  v-model="model.value1" @change="changeHandler($event);" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value1','decimals1')"
27
- :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" />
27
+ :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
28
28
  </div>
29
29
  <span class="el-input__suffix el-input--mini" v-if="showClear.input2">
30
30
  <span class="el-input__suffix-inner ct-close" style="display: flex;">
@@ -140,6 +140,9 @@
140
140
  this.showClear[id]=false;
141
141
  }
142
142
  },
143
+ search() {
144
+ if(this.model.autoSearch) this.$emit('click');
145
+ },
143
146
  }
144
147
  }
145
148
  </script>
@@ -168,6 +168,7 @@
168
168
  }
169
169
  this.inputHandler(self.model.value);
170
170
  this.changeHandler(self.model.value);
171
+ if(this.model.autoSearch) this.$emit('click');
171
172
  },
172
173
  focusHandle: function () {
173
174
  this.$set(this, 'focus', true);
@@ -0,0 +1,114 @@
1
+ <template>
2
+ <div style="width:100%;display:flex" v-if="model !== null" class="ct-searchcategory" :class="[model.attrs.size?'ct-searchcategory-'+model.attrs.size:''
3
+ ]">
4
+ <div style="flex:1;" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
5
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
+ <img v-if="model.preLabel" :src="model.preLabel" style="width: 1em;height: 1em;fill: currentColor;
7
+ overflow: hidden;vertical-align: middle;"/>
8
+ {{model.label}}
9
+ </div>
10
+ <div class="ct-radios" :class="[model.showLabel?'showLabel':'',model.value !== ''?'hasValue':'']">
11
+ <el-radio-group v-model="model.value" @change="changeHandler1($event)">
12
+ <el-radio-button v-bind="model.attrs" v-for="(value, index) in model.segmentValue" :key="index" v-model="model.value"
13
+ :label="value[model.optionAttrs.value]" :disabled="model.lock">
14
+ {{value[model.optionAttrs.label]}}
15
+ </el-radio-button >
16
+ </el-radio-group>
17
+ </div>
18
+ </div>
19
+ <span v-show="!valid" class="errorMessage">
20
+ {{validMessage}}
21
+ </span>
22
+ </div>
23
+ </template>
24
+ <script>
25
+ import dynamicElement from '../../mixins/dynamicElement';
26
+ export default {
27
+ name: 'ct-searchcategory',
28
+ mixins: [dynamicElement],
29
+ props: {
30
+ vmodel: Object,
31
+ api: String
32
+ },
33
+ data() {
34
+ return {
35
+ };
36
+ },
37
+ mounted() {
38
+ var self = this;
39
+ this.$nextTick(function () {
40
+ if (self.vmodel) {
41
+ self.load(self.vmodel);
42
+ }
43
+ else if (typeof self.source !== 'undefined') {
44
+ self.loaderObj.SearchCategory(self.source,self.load);
45
+ }
46
+ else if (typeof self.api !== 'undefined') {
47
+ self.loaderObj.SearchCategory(self.api, self.load);
48
+ }
49
+ });
50
+ },
51
+ methods: {
52
+ load(data) {
53
+ this.model = data;
54
+ let parm={};
55
+ parm[this.model.id]=this.model.value;
56
+ this.$emit('loadedCategory',parm);
57
+ },
58
+ clearClickHandle: function (event) {
59
+ this.model.value = '';
60
+ this.inputHandler(this.model.value);
61
+ this.changeHandler(this.model.value);
62
+ },
63
+ changeHandler1: function (event) {
64
+ this.inputHandler(this.model.value);
65
+ this.changeHandler(this.model.value);
66
+ let parm={};
67
+ parm[this.model.id]=this.model.value;
68
+ this.$emit('changeCategory',parm);
69
+ }
70
+ }
71
+ }
72
+ </script>
73
+ <style>
74
+ .ct-searchcategory {
75
+ margin-bottom: 10px;
76
+ line-height: 30px;
77
+ }
78
+ .ct-searchcategory .el-input-group__prepend{
79
+ text-align: left;
80
+ color:#EE6B6B;
81
+ font-weight: Bold;
82
+ text-shadow: 0 2px 2px rgb(121 0 4 / 10%);
83
+ font-size: 20px;
84
+ vertical-align: middle;
85
+ }
86
+ .ct-searchcategory .ct-radios {
87
+ color: #606266;
88
+ border-radius: 4px;
89
+ /*border: 1px solid #dcdfe6;*/
90
+ line-height: 40px;
91
+ padding-left: 15px;
92
+ text-align: right;
93
+ }
94
+ .ct-searchcategory .ct-radios:hover {
95
+ border-color: #c0c4cc;
96
+ }
97
+ .ct-searchcategory .ct-radios .el-radio {
98
+ margin-left: 0px;
99
+ margin-right: 10px;
100
+ }
101
+ .ct-searchcategory .ct-radios .ct-Seg-label {
102
+ margin-right: 15px;
103
+ }
104
+ .ct-searchcategory .el-radio-button__orig-radio:checked+.el-radio-button__inner {
105
+ color: #FFF;
106
+ background-color: #EE6B6B;
107
+ border-color: #EE6B6B;
108
+ -webkit-box-shadow: -1px 0 0 0 #EE6B6B;
109
+ box-shadow: -1px 0 0 0 #EE6B6B;
110
+ }
111
+ .ct-searchcategory .el-radio-button__inner:hover {
112
+ color: #EE6B6B;
113
+ }
114
+ </style>
@@ -3,15 +3,22 @@
3
3
  <div slot="header" class="clearfix" v-if="typeof title !== 'undefined' && showTitle">
4
4
  <span style="font-weight:bold">{{title}}</span>
5
5
  </div>
6
- <ct-searchscreen ref="screen" :api="searchConditionApi" @loaded="screenLoaded" :screenPara="apiParam" @search="search()" @showTitle="showTitleScreenHandler"></ct-searchscreen>
6
+ <ct-searchcategory v-if="searchCategoryApi" ref="category" :api="searchCategoryApi" @loadedCategory="categoryLoaded"
7
+ @changeCategory="categorychange" ></ct-searchcategory>
8
+
9
+ <ct-searchscreen ref="screen" :api="searchConditionApi" :key="reloadKey"
10
+ @loaded="screenLoaded" :screenPara="screenPara"
11
+ :categoryLoaded="loaded.categoryLoaded" @search="search()"
12
+ @showTitle="showTitleScreenHandler"></ct-searchscreen>
13
+
7
14
  <ct-searchtable ref="table" :api="searchDataApi" :searchDataStatisticsApi="searchDataStatisticsApi"
8
- @toolbarClick="toolbarClickHandler"
9
- @refreshParent="refreshParentHandler"
15
+ @toolbarClick="toolbarClickHandler" @refreshParent="refreshParentHandler" :key="reloadKey"
10
16
  @showTitle="showTitleHandler"></ct-searchtable>
11
17
  </div>
12
18
  </template>
13
19
  <script>
14
20
  import dynamicElement from '../../mixins/dynamicElement';
21
+ import dynamicSearchCategory from './dynamicSearchCategory.vue';
15
22
  import dynamicSearchScreen from './dynamicSearchScreen.vue';
16
23
  import dynamicSearchTable from './dynamicSearchTable.vue';
17
24
  import progress from '../../progress/src/progress.vue';
@@ -21,10 +28,12 @@
21
28
  components: {
22
29
  'ct-searchscreen': dynamicSearchScreen,
23
30
  'ct-searchtable': dynamicSearchTable,
24
- 'ct-progress': progress
31
+ 'ct-progress': progress,
32
+ 'ct-searchcategory': dynamicSearchCategory
25
33
  },
26
34
  props: {
27
35
  vmodel: Object,
36
+ searchCategoryApi: String,
28
37
  searchConditionApi: String,
29
38
  searchDataApi: String,
30
39
  searchDataStatisticsApi: String,
@@ -36,6 +45,10 @@
36
45
  },
37
46
  created() {
38
47
  this.model = this.vmodel;
48
+ this.screenPara=this.apiParam;
49
+ if(this.searchCategoryApi){
50
+ this.loaded.categoryLoaded=false;
51
+ }
39
52
  },
40
53
  computed: {
41
54
  searchListStyle: function() {
@@ -43,16 +56,20 @@
43
56
  return { 'height': this.pageHeight };
44
57
  }
45
58
  return {};
46
- }
59
+ },
47
60
  },
48
61
  data() {
49
62
  return {
50
63
  loaded: {
51
64
  screenLoaded: false,
52
- tableLoaded: false
65
+ tableLoaded: false,
66
+ categoryLoaded: true,
53
67
  },
54
68
  title:'',
55
69
  showTitle:false,
70
+ screenPara:null,
71
+ reloadKey:0,
72
+ isReload:false,
56
73
  }
57
74
  },
58
75
  methods: {
@@ -61,6 +78,15 @@
61
78
  this.$refs.table.searchComplate(this.$refs.screen.model, defaultSearch);
62
79
  this.$emit('loaded', this.$refs.screen.model);
63
80
  },
81
+ categoryLoaded(param) {
82
+ this.loaded.categoryLoaded = true;
83
+ if(param)this.screenPara=param;
84
+ this.$refs.screen.searchComplate();
85
+ },
86
+ categorychange(param) {
87
+ if(param)this.screenPara=param;
88
+ this.reloadKey = this.reloadKey+1;
89
+ },
64
90
  search(btn) {
65
91
  if (this.$refs.table.model) {
66
92
  this.$refs.table.getPage(1);
@@ -45,6 +45,7 @@
45
45
  props: {
46
46
  api: String,
47
47
  vmodel: Object,
48
+ categoryLoaded:Boolean,
48
49
  screenPara: {
49
50
  type: Object,
50
51
  default: () => { }
@@ -61,17 +62,19 @@
61
62
  },
62
63
  mounted() {
63
64
  var self = this;
64
- this.$nextTick(function () {
65
- if (typeof self.api !== 'undefined') {
66
- self.loaderObj.SearchScreen(self.api, self.load, self.screenPara);
67
- }
68
- if (typeof self.source !== 'undefined') {
69
- self.load(self.loaderObj.SearchScreen(self.source));
70
- }
71
- if (self.vmodel) {
72
- self.load(self.vmodel);
73
- }
74
- });
65
+ if(self.categoryLoaded){
66
+ this.$nextTick(function () {
67
+ if (typeof self.api !== 'undefined') {
68
+ self.loaderObj.SearchScreen(self.api, self.load, self.screenPara);
69
+ }
70
+ if (typeof self.source !== 'undefined') {
71
+ self.load(self.loaderObj.SearchScreen(self.source));
72
+ }
73
+ if (self.vmodel) {
74
+ self.load(self.vmodel);
75
+ }
76
+ });
77
+ }
75
78
  },
76
79
  methods: {
77
80
  clickHandler(model) {
@@ -156,7 +159,21 @@
156
159
  self.isLoading = false;
157
160
  self.$emit('loaded', self.model.defaultSearch);
158
161
  self.$emit('showTitle');
159
- }
162
+ },
163
+ searchComplate() {
164
+ var self = this;
165
+ this.$nextTick(function () {
166
+ if (typeof self.api !== 'undefined') {
167
+ self.loaderObj.SearchScreen(self.api, self.load, self.screenPara);
168
+ }
169
+ if (typeof self.source !== 'undefined') {
170
+ self.load(self.loaderObj.SearchScreen(self.source));
171
+ }
172
+ if (self.vmodel) {
173
+ self.load(self.vmodel);
174
+ }
175
+ });
176
+ },
160
177
  }
161
178
  }
162
179
  </script>
@@ -38,8 +38,7 @@
38
38
  },
39
39
  mounted() {
40
40
  var self = this;
41
- this.$nextTick(function () {
42
-
41
+ this.$nextTick(function () {
43
42
  if (self.vmodel) {
44
43
  self.load(self.vmodel);
45
44
  self.$emit('loaded');
@@ -0,0 +1,11 @@
1
+ import dynamicSensitiveEye from './src/dynamicSensitiveEye'
2
+
3
+ dynamicSensitiveEye.install = function (Vue) {
4
+ Vue.component(dynamicSensitiveEye.name, dynamicSensitiveEye);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicSensitiveEye);
9
+ }
10
+
11
+ export default dynamicSensitiveEye
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <div class="field-top">
3
+ <div v-if="model !== null" class="ct-text ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']">
4
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
5
+ <span>{{model.label}}</span>
6
+ </div>
7
+ <span>{{showLable==true?model.labelValue1:model.labelValue}}</span>
8
+ <i v-if="model.labelValue" class="el-icon-view" @click="onSensitiveEye($event)"></i>
9
+ </div>
10
+ </div>
11
+
12
+ </template>
13
+ <script>
14
+ import dynamicElement from '../../mixins/dynamicElement'
15
+ export default {
16
+ name: 'ct-sensitiveeye',
17
+ props: {
18
+ vmodel: Object,
19
+ vrowmodel: Object
20
+ },
21
+ mixins: [dynamicElement],
22
+ data: function () {
23
+ return {
24
+ showLable: false,
25
+ };
26
+ },
27
+ created() {
28
+ if (typeof this.vmodel === 'undefined') {
29
+ this.model = this.loaderObj.SensitiveEye(this.source);
30
+ }
31
+ else {
32
+ this.model = this.vmodel;
33
+ }
34
+ },
35
+ computed: {
36
+
37
+ },
38
+ methods: {
39
+ onSensitiveEye() {
40
+ if (this.model.labelValue1 == '') {
41
+ var extraData = "";
42
+ if (typeof this.vrowmodel != 'undefined') {
43
+ let submitData = {};
44
+ this.model.refFieldName.forEach((v) => {
45
+ submitData[v] = this.vrowmodel[v].value;
46
+ });
47
+ extraData = JSON.stringify(submitData);
48
+ }
49
+ this.model.getOptions(this.model.paramAction, extraData);
50
+ }
51
+ this.showLable = !this.showLable;
52
+ },
53
+ }
54
+ }
55
+ </script>
56
+ <style>
57
+ .el-icon-view {
58
+ margin-left: 5px;
59
+ font-size: 16px;
60
+ }
61
+ </style>
@@ -152,6 +152,7 @@
152
152
  }
153
153
  this.inputHandler(self.model.value);
154
154
  this.changeHandler(self.model.value);
155
+ if(this.model.autoSearch) this.$emit('click');
155
156
  },
156
157
  focusHandle: function () {
157
158
  this.$refs['ct-input'].focus();
@@ -212,7 +213,6 @@
212
213
  },
213
214
  selectOption(value) {
214
215
  if (this.model.value === value) {
215
- //this.model.value = '';
216
216
  this.$set(this, 'showDrop', false);
217
217
  return;
218
218
  }
@@ -158,6 +158,7 @@
158
158
  }
159
159
  this.inputHandler(self.model.value);
160
160
  this.changeHandler(self.model.value);
161
+ if(this.model.autoSearch) this.$emit('click');
161
162
  },
162
163
  focusHandle: function () {
163
164
  this.$set(this, 'focus', true);
@@ -223,7 +224,6 @@
223
224
  },
224
225
  selectOption(value) {
225
226
  if (this.model.value === value) {
226
- //this.model.value = '';
227
227
  this.$set(this, 'showDrop', false);
228
228
  return;
229
229
  }
@@ -7,7 +7,8 @@
7
7
  </div>
8
8
  <el-input :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event);isShowClear()" @change="changeHandler($event)"
9
9
  class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
10
- :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit">
10
+ :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit"
11
+ @keyup.enter.native="search()">
11
12
  <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
12
13
 
13
14
  <span slot="suffix" class="el-input__suffix el-input--mini" v-if="showClear" :class="model.unitName?'ct-right-10':'ct-right-0'">
@@ -69,6 +70,9 @@
69
70
  this.$set(this, 'showClear', false);
70
71
  }
71
72
  },
73
+ search() {
74
+ if(this.model.autoSearch) this.$emit('click');
75
+ },
72
76
  },
73
77
  }</script>
74
78
  <style>
@@ -173,9 +173,9 @@
173
173
  else {
174
174
  this.model.text = [];
175
175
  }
176
- //this.$emit('change', this.model.value);
177
176
  this.inputHandler(self.model.value);
178
177
  this.changeHandler(self.model.value);
178
+ if(this.model.autoSearch) this.$emit('click');
179
179
  },
180
180
  focusHandle: function () {
181
181
  this.$set(this, 'focus', true);
@@ -1,3 +1,4 @@
1
+ import Enum from '../ctl/lib/Enum';
1
2
  const Base = function (source) {
2
3
  let rtn = {
3
4
  collapseName: -1,
@@ -155,7 +156,12 @@ const Base = function (source) {
155
156
  searchObj:{
156
157
  get dataType() { return source.dearchDataTyp; },
157
158
  get fieldName1() { return source.fieldName1; },
158
- get fieldName2() { return source.fieldName2; },
159
+ get fieldName2() {
160
+ if(source.controlType === Enum.ControlType.NumericRange){
161
+ if(!source.fieldName2) return source.fieldName1;
162
+ }
163
+ return source.fieldName2;
164
+ },
159
165
  get groupName() { return source.groupName || source.fieldName1; },
160
166
  get operation() { return source.searchOperation; },
161
167
  get searchDataType() { return source.searchDataType; } ,
@@ -239,8 +245,12 @@ const Base = function (source) {
239
245
  return null;
240
246
  },
241
247
  /*选择搜索条件后是否默认显示标签*/
242
- get dlfs() {
243
- return source.dlfs;
248
+ get displayLabelAfterSelected() {
249
+ return source.displayLabelAfterSelected==undefined? false:source.displayLabelAfterSelected;
250
+ },
251
+ /*选择搜索条件后是否触发搜索*/
252
+ get autoSearch() {
253
+ return source.autoSearch==undefined? false:source.autoSearch;
244
254
  },
245
255
  };
246
256
 
@@ -46,7 +46,8 @@ const box = function (source, callBack) {
46
46
  checked.forEach((v) => {
47
47
  if (self.checkedItemArr.indexOf(v[this.optionAttrs.value]) > -1) {
48
48
  v[this.optionAttrs.flagDeleted] = false;
49
- currentOptions.splice(currentOptions.findIndex((op) => { return op[rtn.optionAttrs.value] === v[rtn.optionAttrs.value] }), 1);
49
+ let ic=currentOptions.findIndex((op) => { return op[rtn.optionAttrs.value] === v[rtn.optionAttrs.value] });
50
+ if(ic>-1) currentOptions.splice(ic, 1);
50
51
  }
51
52
  else {
52
53
  v[this.optionAttrs.flagDeleted] = true;
@@ -3,7 +3,6 @@ import Base from './Base';
3
3
  import valid from '../../../validate/index';
4
4
  const Iti = function (source) {
5
5
  var rtn = {
6
-
7
6
  get clearable() {
8
7
  if (typeof source.clear === 'undefined'&&!source.locked) {
9
8
  return true;
@@ -17,8 +16,7 @@ const Iti = function (source) {
17
16
  },
18
17
  set clearable(v) {
19
18
  source.clear = v;
20
- },
21
-
19
+ },
22
20
  get value1() {
23
21
  return source.code2||'';
24
22
  },
@@ -60,13 +58,6 @@ const Iti = function (source) {
60
58
  set min1(v) {
61
59
  source.minValue2 = v;
62
60
  },
63
- //searchObj: {
64
- // get searchValue() {
65
- // if (source.code1 || source.code2) {
66
- // return source.code1 + '^' + source.code2;
67
- // }
68
- // }
69
- //},
70
61
  getFormObj() {
71
62
  var rtnFormObj = {};
72
63
  Object.defineProperty(rtnFormObj, source.fieldName1, {