centaline-data-driven 1.5.27 → 1.5.29
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 +26 -0
- package/src/SearchList.vue +7 -5
- package/src/centaline/dynamicContact/src/dynamicContact.vue +28 -8
- package/src/centaline/dynamicForm/src/dynamicForm.vue +1 -1
- package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +51 -11
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +14 -13
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1 -0
- package/src/centaline/dynamicSearchList/src/dynamicTableStats.vue +26 -14
- package/src/centaline/dynamicSo/src/dynamicSo.vue +1 -1
- package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +27 -4
- package/src/centaline/loader/src/ctl/Cb.js +1 -1
- package/src/centaline/loader/src/ctl/Checkbox.js +12 -0
- package/src/centaline/loader/src/ctl/Contact.js +6 -2
- package/src/centaline/loader/src/ctl/Dtd.js +1 -1
- package/src/centaline/loader/src/ctl/DtdOld.js +1 -1
- package/src/centaline/loader/src/ctl/FormList.js +23 -5
- package/src/centaline/loader/src/ctl/Iti.js +1 -1
- package/src/centaline/loader/src/ctl/SearchTable.js +9 -2
- package/src/centaline/loader/src/ctl/TimeSelect.js +15 -1
- package/src/centaline/loader/src/ctl/Ttts.js +1 -1
- package/src/centaline/loader/src/ctl/lib/Enum.js +10 -0
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +6 -5
- package/src/main.js +4 -4
- package/wwwroot/static/centaline/centaline-data-driven.js +2 -2
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/release-log.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
## v1.5.29
|
|
2
|
+
2023-06-30
|
|
3
|
+
|
|
4
|
+
bug修复
|
|
5
|
+
|
|
6
|
+
列表没有数据,新增数据后,右侧详情页不展开bug处理
|
|
7
|
+
|
|
8
|
+
列表统计栏点击查询时tab顺序变动问题处理
|
|
9
|
+
|
|
10
|
+
## v1.5.28
|
|
11
|
+
2023-06-30
|
|
12
|
+
|
|
13
|
+
优化
|
|
14
|
+
|
|
15
|
+
电话拨号控件
|
|
16
|
+
|
|
17
|
+
表单列表弹层新增修改时,数字区间、时间区间、多选等控件显示优化
|
|
18
|
+
|
|
19
|
+
表单列表的列是组类型过滤不显示
|
|
20
|
+
|
|
21
|
+
列表合并行,滚动加载后要重新计算
|
|
22
|
+
|
|
23
|
+
呼叫任务右侧栏固定按钮左对齐优化
|
|
24
|
+
|
|
1
25
|
## v1.5.27
|
|
2
26
|
2023-06-27
|
|
3
27
|
|
|
@@ -11,6 +35,8 @@ formData添加submit方法
|
|
|
11
35
|
|
|
12
36
|
列表行删除完后,要关闭右侧
|
|
13
37
|
|
|
38
|
+
呼叫任务右侧栏固定按钮左对齐优化
|
|
39
|
+
|
|
14
40
|
## v1.5.26
|
|
15
41
|
2023-06-21
|
|
16
42
|
|
package/src/SearchList.vue
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist> -->
|
|
6
6
|
|
|
7
|
-
<!-- <ct-searchlist :apiParam="para"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
|
|
8
|
+
|
|
9
|
+
<ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-layout'" :searchDataApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-list'"></ct-searchlist>
|
|
10
|
+
|
|
11
11
|
|
|
12
12
|
<!-- <ct-searchlist :apiParam="para"
|
|
13
13
|
:searchConditionApi="'/api/transaction/adjustRecord/getLayoutOfSearch'"
|
|
@@ -60,6 +60,8 @@
|
|
|
60
60
|
:searchStatsApi="'/PropertyOFIList/getListStats'">
|
|
61
61
|
</ct-searchlist> -->
|
|
62
62
|
|
|
63
|
+
<!-- <ct-searchlist :searchConditionApi="'/CustomerList/getLayoutOfSearch'" :searchStatsApi="'/CustomerList/getListStats'" :searchDataApi="'/CustomerList/getListOfSearchModel'"></ct-searchlist> -->
|
|
64
|
+
|
|
63
65
|
<!-- <ct-searchlist :searchConditionApi="'/EstateList/getLayoutOfSearch'" :searchDataApi="'/EstateList/getListOfSearchModel'"></ct-searchlist> -->
|
|
64
66
|
|
|
65
67
|
<!-- <ct-searchlist :searchConditionApi="'/EstateBuildingList/getLayoutOfSearch'" :searchDataApi="'/EstateBuildingList/getListOfSearchModel'"></ct-searchlist> -->
|
|
@@ -68,7 +70,7 @@
|
|
|
68
70
|
|
|
69
71
|
<!-- <ct-searchlist :searchConditionApi="'/CustomerImportList/getLayoutOfSearch'" :searchDataApi="'/CustomerImportList/getListOfSearchModel'"></ct-searchlist> -->
|
|
70
72
|
|
|
71
|
-
<ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist>
|
|
73
|
+
<!-- <ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist> -->
|
|
72
74
|
|
|
73
75
|
<!-- <ct-searchlist :searchConditionApi="'/RoleList/getLayoutOfSearch'" :searchStatsApi="'/RoleList/getListStats'" :searchDataApi="'/RoleList/getListOfSearchModel'"></ct-searchlist> -->
|
|
74
76
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="contact" id="contactWidth" v-if="
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<div ref="contact" id="contactWidth" v-if="model && model.listData.length > 0" :class="[from=='form'?'ct-contact-form':'ct-contact']">
|
|
3
|
+
<div v-if="from=='form' && model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
|
|
4
|
+
{{model.label}}
|
|
5
|
+
</div>
|
|
6
|
+
<div class="ct-so" style="width:auto;margin-right: 10px;flex:1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
|
|
6
7
|
<el-popover ref="pop" placement="bottom-start" v-model="showDrop" trigger="click">
|
|
7
8
|
<div>
|
|
8
9
|
<ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
@change="changeHandler($event)" :disabled="model.lock"
|
|
15
16
|
:class="model.lock ? 'ct-is-disabled' : 'ct-input_inner'"></div>
|
|
16
17
|
</el-popover>
|
|
17
|
-
<span class="el-input__suffix" @click="clickHandle"
|
|
18
|
+
<span class="el-input__suffix" @click="clickHandle" :style="{top:'-4px'}"
|
|
18
19
|
:class="[model.attrs.size ? 'el-input--' + model.attrs.size : '']">
|
|
19
20
|
<span class="el-input__suffix-inner">
|
|
20
21
|
<i class="el-select__caret el-input__icon el-icon-arrow-up" :class="{ 'is-reverse': showDrop }"></i>
|
|
@@ -43,11 +44,16 @@ export default {
|
|
|
43
44
|
},
|
|
44
45
|
props: {
|
|
45
46
|
vmodel: Object,
|
|
47
|
+
source: Object,
|
|
46
48
|
api: String,
|
|
47
49
|
apiParam: Object,
|
|
48
50
|
apiRouter: {
|
|
49
51
|
Object,
|
|
50
|
-
default:
|
|
52
|
+
default: null
|
|
53
|
+
},
|
|
54
|
+
from: {
|
|
55
|
+
String,
|
|
56
|
+
default: ''
|
|
51
57
|
},
|
|
52
58
|
},
|
|
53
59
|
data() {
|
|
@@ -71,9 +77,7 @@ export default {
|
|
|
71
77
|
else if (typeof self.api !== 'undefined' && self.apiParam) {
|
|
72
78
|
self.loaderObj.Contact(self.api, self.apiParam, self.load);
|
|
73
79
|
}
|
|
74
|
-
|
|
75
80
|
});
|
|
76
|
-
|
|
77
81
|
},
|
|
78
82
|
activated() {
|
|
79
83
|
this.$nextTick(() => {
|
|
@@ -340,4 +344,20 @@ export default {
|
|
|
340
344
|
}
|
|
341
345
|
</script>
|
|
342
346
|
<style lang="scss" scoped>
|
|
347
|
+
.ct-contact{
|
|
348
|
+
border: 1px solid #ECEFF2;
|
|
349
|
+
box-shadow: 0 2px 4px 0 rgba(0,0,0,0.06);
|
|
350
|
+
border-radius: 6px;
|
|
351
|
+
padding-bottom: 10px;
|
|
352
|
+
padding-top: 10px;
|
|
353
|
+
padding-left: 10px;
|
|
354
|
+
display: flex;
|
|
355
|
+
font-size: 12px;
|
|
356
|
+
width:100%
|
|
357
|
+
}
|
|
358
|
+
.ct-contact-form{
|
|
359
|
+
display: flex;
|
|
360
|
+
font-size: 12px;
|
|
361
|
+
width:100%
|
|
362
|
+
}
|
|
343
363
|
</style>
|
|
@@ -1141,6 +1141,7 @@
|
|
|
1141
1141
|
z-index: 100;
|
|
1142
1142
|
/* bottom: 6px; */
|
|
1143
1143
|
bottom: 0;
|
|
1144
|
+
left: 0;
|
|
1144
1145
|
border-radius: 0 0 4px 4px;
|
|
1145
1146
|
position: absolute;
|
|
1146
1147
|
line-height: 34px;
|
|
@@ -1148,6 +1149,5 @@
|
|
|
1148
1149
|
width: 100%;
|
|
1149
1150
|
margin: auto;
|
|
1150
1151
|
box-shadow: 0 2px 20px 0 rgb(0 0 0 / 10%);
|
|
1151
|
-
margin-left: -20px;
|
|
1152
1152
|
}
|
|
1153
1153
|
</style>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<el-table size="mini" class="max-table--border" :data="model.tableData" :key="itemKey" border
|
|
18
18
|
style="width: 100%" highlight-current-row :show-summary="model.showSummary" :summary-method="getSummaries">
|
|
19
19
|
<!--数据列-->
|
|
20
|
-
<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" :render-header="renderHeader" :min-width="tableColumnWith">
|
|
20
|
+
<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 && v.type!==13" :render-header="renderHeader" :min-width="tableColumnWith">
|
|
21
21
|
<template slot="header" slot-scope="scope">
|
|
22
22
|
<div :class="[{'ct-table-required':v.required&&model.rows[0].edit&& model.rows[0].delete&&!model.tableDisabled},getHeadClass(v)]">
|
|
23
23
|
{{v.label}}
|
|
@@ -93,18 +93,58 @@
|
|
|
93
93
|
},
|
|
94
94
|
getLableShow(){
|
|
95
95
|
let labelShow=this.vmodel.labelValue;
|
|
96
|
-
if(this.vmodel.unitName){
|
|
96
|
+
if(labelShow && this.vmodel.unitName){
|
|
97
97
|
labelShow=labelShow+this.vmodel.unitName;
|
|
98
98
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
99
|
+
switch(this.vmodel.type){
|
|
100
|
+
case 6:
|
|
101
|
+
case 7:
|
|
102
|
+
if(this.vmodel.code2){
|
|
103
|
+
labelShow=this.vmodel.labelValue+this.vmodel.code2;
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
case 4:
|
|
107
|
+
case 24:
|
|
108
|
+
if(this.vmodel.name1){
|
|
109
|
+
labelShow=this.vmodel.name1;
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case 19:
|
|
113
|
+
if(this.vmodel.code1 && this.vmodel.code2){
|
|
114
|
+
}
|
|
115
|
+
else if(this.vmodel.code1){
|
|
116
|
+
labelShow=this.vmodel.code1+(this.vmodel.unitName?this.vmodel.unitName:'')+'以上';
|
|
117
|
+
}
|
|
118
|
+
else if(this.vmodel.code2){
|
|
119
|
+
labelShow=this.vmodel.code2+(this.vmodel.unitName?this.vmodel.unitName:'')+'以下';
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
122
|
+
case 20:
|
|
123
|
+
case 21:
|
|
124
|
+
if(this.vmodel.code1 && this.vmodel.code2){
|
|
125
|
+
}
|
|
126
|
+
else if(this.vmodel.code1){
|
|
127
|
+
labelShow=this.vmodel.code1+(this.vmodel.unitName?this.vmodel.unitName:'')+'以后';
|
|
128
|
+
}
|
|
129
|
+
else if(this.vmodel.code2){
|
|
130
|
+
labelShow=this.vmodel.code2+(this.vmodel.unitName?this.vmodel.unitName:'')+'以前';
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
case 11:
|
|
134
|
+
case 22:
|
|
135
|
+
labelShow=this.vmodel.getFormListTableShow();
|
|
136
|
+
break;
|
|
137
|
+
case 31:
|
|
138
|
+
labelShow=this.vmodel.getCheckedName();;
|
|
139
|
+
break;
|
|
140
|
+
case 30:
|
|
141
|
+
labelShow=this.vmodel.value?'开启':'关闭';
|
|
142
|
+
break;
|
|
143
|
+
case 43:
|
|
144
|
+
labelShow=this.vmodel.value?'是':'否';
|
|
145
|
+
break;
|
|
146
|
+
default:
|
|
147
|
+
break;
|
|
108
148
|
}
|
|
109
149
|
return labelShow;
|
|
110
150
|
},
|
|
@@ -251,21 +251,22 @@
|
|
|
251
251
|
if (typeof this.$refs.table.model.cellLayout !== "undefined") {
|
|
252
252
|
this.$refs.screen.LoadLayout();
|
|
253
253
|
}
|
|
254
|
+
|
|
255
|
+
this.flagSideBar=this.$refs.table.model.flagSideBar;
|
|
256
|
+
this.flagDefaultDisplaySideBar=this.$refs.table.model.flagDefaultDisplaySideBar;
|
|
257
|
+
if(this.$refs.table.model.rowSelectRouter){
|
|
258
|
+
this.sideBarApi=this.$refs.table.model.rowSelectRouter.action;
|
|
259
|
+
this.sideBarSearchConditionApi=this.$refs.table.model.rowSelectRouter.actionForSearchLayout;
|
|
260
|
+
this.sideBarSearchStatsApi=this.$refs.table.model.rowSelectRouter.actionForSearchStats;
|
|
261
|
+
this.sideBarSearchDataApi=this.$refs.table.model.rowSelectRouter.actionForSearch;
|
|
262
|
+
this.sideBarPageType=this.$refs.table.model.rowSelectRouter.actionSource;
|
|
263
|
+
}
|
|
264
|
+
else{
|
|
265
|
+
this.flagSideBar=false;
|
|
266
|
+
}
|
|
267
|
+
|
|
254
268
|
if(this.$refs.table.model.listData.length>0){
|
|
255
269
|
this.flagSideBarOfData=true;
|
|
256
|
-
this.flagSideBar=this.$refs.table.model.flagSideBar;
|
|
257
|
-
this.flagDefaultDisplaySideBar=this.$refs.table.model.flagDefaultDisplaySideBar;
|
|
258
|
-
|
|
259
|
-
if(this.$refs.table.model.rowSelectRouter){
|
|
260
|
-
this.sideBarApi=this.$refs.table.model.rowSelectRouter.action;
|
|
261
|
-
this.sideBarSearchConditionApi=this.$refs.table.model.rowSelectRouter.actionForSearchLayout;
|
|
262
|
-
this.sideBarSearchStatsApi=this.$refs.table.model.rowSelectRouter.actionForSearchStats;
|
|
263
|
-
this.sideBarSearchDataApi=this.$refs.table.model.rowSelectRouter.actionForSearch;
|
|
264
|
-
this.sideBarPageType=this.$refs.table.model.rowSelectRouter.actionSource;
|
|
265
|
-
}
|
|
266
|
-
else{
|
|
267
|
-
this.flagSideBar=false;
|
|
268
|
-
}
|
|
269
270
|
|
|
270
271
|
if(document.body.clientWidth && document.body.clientWidth<1024){
|
|
271
272
|
this.flagSideBar=false;
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div :style="{'width':(item.width ? item.width + 'px' : '' )}">
|
|
24
24
|
<li
|
|
25
25
|
:class="[
|
|
26
|
-
selectStats ==item.
|
|
26
|
+
selectStats ==item.key
|
|
27
27
|
? 'activecolor'
|
|
28
28
|
: '',
|
|
29
29
|
]"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<li class="tdcenter">
|
|
34
34
|
<span
|
|
35
35
|
:class="[
|
|
36
|
-
selectStats == item.
|
|
36
|
+
selectStats == item.key
|
|
37
37
|
? 'active'
|
|
38
38
|
: '',
|
|
39
39
|
]"
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<div :style="{'width':(item.width ? item.width + 'px' : '' ),'white-space': 'nowrap' }">
|
|
53
53
|
<li
|
|
54
54
|
:class="[
|
|
55
|
-
selectStats ==item.
|
|
55
|
+
selectStats ==item.key
|
|
56
56
|
? 'activecolor'
|
|
57
57
|
: '',
|
|
58
58
|
]"
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<li class="tdcenter">
|
|
63
63
|
<span
|
|
64
64
|
:class="[
|
|
65
|
-
selectStats == item.
|
|
65
|
+
selectStats == item.key
|
|
66
66
|
? 'active'
|
|
67
67
|
: '',
|
|
68
68
|
]"
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<ul class="popoverbtnTab" style="padding: 0px">
|
|
92
92
|
<li
|
|
93
93
|
:class="[
|
|
94
|
-
selectStats == item.
|
|
94
|
+
selectStats == item.key
|
|
95
95
|
? 'activecolor'
|
|
96
96
|
: '',
|
|
97
97
|
]"
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<li class="tdcenter">
|
|
102
102
|
<span
|
|
103
103
|
:class="[
|
|
104
|
-
selectStats == item.
|
|
104
|
+
selectStats == item.key
|
|
105
105
|
? 'active'
|
|
106
106
|
: '',
|
|
107
107
|
]"
|
|
@@ -168,6 +168,10 @@ export default {
|
|
|
168
168
|
});
|
|
169
169
|
},
|
|
170
170
|
methods: {
|
|
171
|
+
replabel(labelName){
|
|
172
|
+
let pattern =/([^()]*)$|\([^((]*\)|$/; // 匹配最后一个括号及其内部内容
|
|
173
|
+
return labelName.replace(pattern, "");
|
|
174
|
+
},
|
|
171
175
|
load(data) {
|
|
172
176
|
var self = this;
|
|
173
177
|
self.model = data;
|
|
@@ -177,15 +181,22 @@ export default {
|
|
|
177
181
|
if (data.source.content.length > 0) {
|
|
178
182
|
if (self.sortData == null) {
|
|
179
183
|
self.sortData = {};
|
|
180
|
-
data.source.content.forEach((item, index) => {
|
|
181
|
-
self.sortData[item.fieldName1 + "*" + item.code1] = index;
|
|
184
|
+
data.source.content.forEach((item, index) => {
|
|
182
185
|
item.sort = index;
|
|
186
|
+
item.key=item.fieldName1 + "*" + self.replabel(item.controlLabel);
|
|
187
|
+
self.sortData[item.key] = index;
|
|
183
188
|
});
|
|
184
189
|
}
|
|
185
190
|
else {
|
|
186
191
|
data.source.content.forEach((item, index) => {
|
|
187
|
-
item.
|
|
188
|
-
|
|
192
|
+
item.key=item.fieldName1 + "*" + self.replabel(item.controlLabel);
|
|
193
|
+
if(self.sortData[item.key]==undefined){
|
|
194
|
+
item.sort = index;
|
|
195
|
+
}else{
|
|
196
|
+
item.sort = self.sortData[item.key];
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
);
|
|
189
200
|
}
|
|
190
201
|
data.source.content.sort(function (a, b) {
|
|
191
202
|
if (a.sort > b.sort) {
|
|
@@ -196,7 +207,7 @@ export default {
|
|
|
196
207
|
});
|
|
197
208
|
self.data = data.source.content;
|
|
198
209
|
let i = self.data.findIndex(
|
|
199
|
-
(v) => self.selectStats === v.
|
|
210
|
+
(v) => self.selectStats === v.key
|
|
200
211
|
);
|
|
201
212
|
if (i == -1 || self.selectStats == []) {
|
|
202
213
|
self.handleClick(null, self.data[0], false);
|
|
@@ -267,7 +278,7 @@ export default {
|
|
|
267
278
|
handleClick(ev, obj, flagRefreshTable,type,index) {
|
|
268
279
|
var self = this;
|
|
269
280
|
self.flagClick=true;
|
|
270
|
-
self.selectStats = obj.
|
|
281
|
+
self.selectStats = obj.key;
|
|
271
282
|
var fields = self.model.searchData(
|
|
272
283
|
obj.fieldName1,
|
|
273
284
|
obj.code1,
|
|
@@ -283,8 +294,8 @@ export default {
|
|
|
283
294
|
let lastItem = self.showData[0][lastItemIndex];
|
|
284
295
|
self.showData[0][lastItemIndex]=obj;
|
|
285
296
|
self.showData[1][index]=lastItem;
|
|
286
|
-
self.sortData[lastItem.
|
|
287
|
-
self.sortData[obj.
|
|
297
|
+
self.sortData[lastItem.key]=obj.sort;
|
|
298
|
+
self.sortData[obj.key]=lastItem.sort;
|
|
288
299
|
}
|
|
289
300
|
},
|
|
290
301
|
searchStatsComplate(selectItem) {
|
|
@@ -304,6 +315,7 @@ export default {
|
|
|
304
315
|
},
|
|
305
316
|
watch: {
|
|
306
317
|
showWidth: function (newVal, oldVal) {
|
|
318
|
+
this.sliceIndex=null;
|
|
307
319
|
this.flagClick = false;
|
|
308
320
|
this.showStats();
|
|
309
321
|
},
|
|
@@ -110,10 +110,33 @@
|
|
|
110
110
|
//不能共用的数据校验 单独每一个时间框的非空校验
|
|
111
111
|
selfValidExcute: function (eventName) {
|
|
112
112
|
if (eventName === "input"||eventName === "valid") {
|
|
113
|
-
if
|
|
114
|
-
this.
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
if(this.model.required){
|
|
114
|
+
if(!this.model.isRange){
|
|
115
|
+
if (this.model.value== "" || this.model.value== null) {
|
|
116
|
+
this.valid = false;
|
|
117
|
+
this.validMessage = "必填"
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else if (this.model.value1 == "" || this.model.value== "" || this.model.value== null || this.model.value1== null) {
|
|
122
|
+
this.valid = false;
|
|
123
|
+
this.validMessage = "必填"
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else if(this.model.value && this.model.isRange){
|
|
128
|
+
if(this.model.value1 == "" || this.model.value1== null){
|
|
129
|
+
this.valid = false;
|
|
130
|
+
this.validMessage = "必填"
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if(this.model.value1 && this.model.isRange){
|
|
135
|
+
if(this.model.value == "" || this.model.value== null){
|
|
136
|
+
this.valid = false;
|
|
137
|
+
this.validMessage = "必填"
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
117
140
|
}
|
|
118
141
|
}
|
|
119
142
|
return true;
|
|
@@ -68,6 +68,18 @@ const box = function (source, callBack) {
|
|
|
68
68
|
}
|
|
69
69
|
return itemArr;
|
|
70
70
|
},
|
|
71
|
+
getCheckedName() {
|
|
72
|
+
var nameArr = '';
|
|
73
|
+
var checked = source.code1 === '' ? [] : [].concat(JSON.parse(source.code1));
|
|
74
|
+
checked.forEach((v) => {
|
|
75
|
+
if (v[this.optionAttrs.value]) {
|
|
76
|
+
if (!v[this.optionAttrs.flagDeleted]) {
|
|
77
|
+
nameArr = nameArr+ (nameArr?' ':'') +v[this.optionAttrs.label];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return nameArr;
|
|
82
|
+
},
|
|
71
83
|
//手动维护code1值
|
|
72
84
|
updateCode1() {
|
|
73
85
|
let self = this;
|
|
@@ -4,7 +4,7 @@ import Enum from './lib/Enum';
|
|
|
4
4
|
import common from '../../../common';
|
|
5
5
|
import Router from './Router';
|
|
6
6
|
import Vue from 'vue';
|
|
7
|
-
const
|
|
7
|
+
const Contact = function (source,para ,callBack,field) {
|
|
8
8
|
var init = function (data) {
|
|
9
9
|
var rtn = {
|
|
10
10
|
$vue: null,
|
|
@@ -325,6 +325,9 @@ const ContactList = function (source,para ,callBack) {
|
|
|
325
325
|
}
|
|
326
326
|
},
|
|
327
327
|
};
|
|
328
|
+
if(field){
|
|
329
|
+
rtn = base.copy(Base(field), rtn);
|
|
330
|
+
}
|
|
328
331
|
return rtn;
|
|
329
332
|
}
|
|
330
333
|
if (typeof source === 'string') {
|
|
@@ -349,6 +352,7 @@ const ContactList = function (source,para ,callBack) {
|
|
|
349
352
|
if (callBack) {
|
|
350
353
|
callBack(rtn);
|
|
351
354
|
}
|
|
355
|
+
return rtn;
|
|
352
356
|
}
|
|
353
357
|
}
|
|
354
|
-
export default
|
|
358
|
+
export default Contact;
|
|
@@ -368,7 +368,7 @@ const FormList = function (source, master) {
|
|
|
368
368
|
source: {
|
|
369
369
|
scripts: source.scripts,
|
|
370
370
|
parameterAction: self.OptApi,
|
|
371
|
-
fields:
|
|
371
|
+
fields: source.rows[index].columns,
|
|
372
372
|
colSpan: rtn.pageColumns,
|
|
373
373
|
buttons: [
|
|
374
374
|
{
|
|
@@ -392,8 +392,17 @@ const FormList = function (source, master) {
|
|
|
392
392
|
for (let findex = 0; findex < row.length; findex++) {//循环所在行的列
|
|
393
393
|
Vue.set(row[findex], 'code1', ev.formData.source.fields[findex].code1);
|
|
394
394
|
Vue.set(row[findex], 'name1', ev.formData.source.fields[findex].name1);
|
|
395
|
-
|
|
396
|
-
|
|
395
|
+
switch(ev.formData.source.fields[findex].controlType){
|
|
396
|
+
case 19:
|
|
397
|
+
case 20:
|
|
398
|
+
case 21:
|
|
399
|
+
case 22:
|
|
400
|
+
case 6:
|
|
401
|
+
case 7:
|
|
402
|
+
Vue.set(row[findex], 'code2', ev.formData.source.fields[findex].code2);
|
|
403
|
+
break;
|
|
404
|
+
default:
|
|
405
|
+
break;
|
|
397
406
|
}
|
|
398
407
|
}
|
|
399
408
|
|
|
@@ -463,8 +472,17 @@ const FormList = function (source, master) {
|
|
|
463
472
|
let field = row.columns[findex];
|
|
464
473
|
field.code1 = ev.formData.source.fields[findex].code1;
|
|
465
474
|
field.name1 = ev.formData.source.fields[findex].name1;
|
|
466
|
-
|
|
467
|
-
|
|
475
|
+
switch(ev.formData.source.fields[findex].controlType){
|
|
476
|
+
case 19:
|
|
477
|
+
case 20:
|
|
478
|
+
case 21:
|
|
479
|
+
case 22:
|
|
480
|
+
case 6:
|
|
481
|
+
case 7:
|
|
482
|
+
field.code2=ev.formData.source.fields[findex].code2;
|
|
483
|
+
break;
|
|
484
|
+
default:
|
|
485
|
+
break;
|
|
468
486
|
}
|
|
469
487
|
}
|
|
470
488
|
|
|
@@ -525,13 +525,14 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
525
525
|
self.isLoading = false;
|
|
526
526
|
if (response.rtnCode === Enum.ReturnCode.Successful) {
|
|
527
527
|
if (response.content.rows.length > 0) {
|
|
528
|
-
rtn.setRow(response.content.rows);
|
|
528
|
+
// rtn.setRow(response.content.rows);
|
|
529
529
|
response.content.rows.forEach((nr) => {
|
|
530
530
|
rtn.listData.push(nr);
|
|
531
531
|
});
|
|
532
532
|
rtn.dataDictionary = response.content.rows;
|
|
533
533
|
}
|
|
534
534
|
rtn.getSelectAll();
|
|
535
|
+
rtn.setRow(rtn.listData);
|
|
535
536
|
source.page.rows = response.page.rows;
|
|
536
537
|
source.page.rowCount = response.page.rowCount;
|
|
537
538
|
if (typeof response.content.foot !== 'undefined') {
|
|
@@ -868,6 +869,9 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
868
869
|
if(rtn.listData.length===0){
|
|
869
870
|
rtn.$vue.$emit('closeSideBar');
|
|
870
871
|
}
|
|
872
|
+
else{
|
|
873
|
+
rtn.setRow(rtn.listData);
|
|
874
|
+
}
|
|
871
875
|
break;
|
|
872
876
|
|
|
873
877
|
case Enum.ActionType.New: //新增
|
|
@@ -880,7 +884,9 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
880
884
|
rtn.dataDictionary = response.content;
|
|
881
885
|
|
|
882
886
|
source.page.rows = source.page.rows + response.content.length;
|
|
883
|
-
rtn
|
|
887
|
+
rtn.setRow(rtn.listData);
|
|
888
|
+
rtn.$vue.calculatingRowHeight();
|
|
889
|
+
rtn.$vue.$emit("searchComplate");
|
|
884
890
|
}
|
|
885
891
|
else{
|
|
886
892
|
rtn.$vue.updateCurrentRow({flagAddRowAfterAction:true},{responseData:response});
|
|
@@ -895,6 +901,7 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
895
901
|
rtn.dataDictionary[row[rtn.primaryKey]][vkey] = row[vkey];
|
|
896
902
|
}
|
|
897
903
|
});
|
|
904
|
+
rtn.setRow(rtn.listData);
|
|
898
905
|
}
|
|
899
906
|
else{
|
|
900
907
|
rtn.$vue.updateCurrentRow({flagFreshCurrentRow:true},{responseData:response});
|