centaline-data-driven 1.3.32 → 1.3.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/Form.vue +6 -2
- package/src/centaline/api/index.js +10 -2
- package/src/centaline/dynamicForm/src/dynamicForm.vue +74 -5
- package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +2 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +101 -43
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +2 -2
- package/src/centaline/loader/src/ctl/FormList.js +53 -21
- package/src/centaline/loader/src/ctl/SearchScreen.js +33 -15
- package/src/centaline/loader/src/ctl/SearchTable.js +7 -8
- package/src/centaline/progress/src/progress.vue +31 -9
- package/src/main.js +4 -4
- package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/src/Form.vue
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
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="'/api/third-dept-tran/transaction/
|
|
5
|
+
<ct-form :api="'/api/third-dept-tran/transaction/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,7 +14,11 @@
|
|
|
14
14
|
data() {
|
|
15
15
|
return {
|
|
16
16
|
apiParam:{
|
|
17
|
-
|
|
17
|
+
actionType: "1",
|
|
18
|
+
businessId: "1550013042447081473",
|
|
19
|
+
pageOnly: "true",
|
|
20
|
+
pageStyle: "2",
|
|
21
|
+
stepId: "1550014106894327810"
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
},
|
|
@@ -200,12 +200,20 @@ const api = {
|
|
|
200
200
|
attrs: {
|
|
201
201
|
progressAction: data.content.action,
|
|
202
202
|
progressKey: data.content.key,
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
progressType:'export',
|
|
204
|
+
width: '350px',
|
|
205
|
+
height: '165px'
|
|
205
206
|
},
|
|
206
207
|
on: {
|
|
207
208
|
finished() {
|
|
208
209
|
Vue.prototype.$common.closeDialog(dialogOption.dialog);
|
|
210
|
+
},
|
|
211
|
+
error(data) {
|
|
212
|
+
Vue.prototype.$common.closeDialog(dialogOption.dialog);
|
|
213
|
+
Vue.prototype.$message({
|
|
214
|
+
message: data.rtnMsg,
|
|
215
|
+
type: 'info'
|
|
216
|
+
});
|
|
209
217
|
}
|
|
210
218
|
}
|
|
211
219
|
}]
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
<component v-for="(btn, index) in model.buttons" :key="index" :is="btn.is" :vmodel="btn" @click="clickHandler" v-if="btn.show"></component>
|
|
75
75
|
</el-col>
|
|
76
76
|
</el-row>
|
|
77
|
+
<div v-if="isScroll" style="height: 34px;"></div>
|
|
77
78
|
</component>
|
|
78
79
|
</div>
|
|
79
80
|
<div style="min-height:200px" v-if="loading"></div>
|
|
@@ -413,10 +414,42 @@
|
|
|
413
414
|
else if (field.isSeeVoice) {//看视频
|
|
414
415
|
self.$common.browseVideo(field,submitData)
|
|
415
416
|
}
|
|
416
|
-
else if (field.isExport) {
|
|
417
|
+
else if (field.isExport || field.flagAsync) {
|
|
417
418
|
submitData = field.getActionPara(submitData).para;
|
|
418
419
|
if(field.flagAsync){
|
|
419
|
-
|
|
420
|
+
field.doAction(submitData, (res) => {
|
|
421
|
+
if(res.content && res.content.action){
|
|
422
|
+
var dialogOption = {
|
|
423
|
+
title: field.pageTitle || field.label,
|
|
424
|
+
content: [{
|
|
425
|
+
component: 'ct-progress',
|
|
426
|
+
attrs: {
|
|
427
|
+
progressAction: res.content.action,
|
|
428
|
+
progressKey: res.content.key,
|
|
429
|
+
progressType:'import',
|
|
430
|
+
width: '350px',
|
|
431
|
+
height: '165px'
|
|
432
|
+
},
|
|
433
|
+
on: {
|
|
434
|
+
finished(data) {
|
|
435
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
436
|
+
if(field && field.changeCallBackFunName){
|
|
437
|
+
self.changeCallBackHandler(field, field.changeCallBackFunName, data.content);
|
|
438
|
+
}
|
|
439
|
+
else{
|
|
440
|
+
self.model.doAction(data);
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
error(data) {
|
|
444
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
445
|
+
self.$message.warning(data.rtnMsg);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}]
|
|
449
|
+
};
|
|
450
|
+
self.$common.openDialog(dialogOption);
|
|
451
|
+
}
|
|
452
|
+
});
|
|
420
453
|
}
|
|
421
454
|
else{
|
|
422
455
|
field.doAction(submitData, (data) => {
|
|
@@ -484,11 +517,47 @@
|
|
|
484
517
|
}
|
|
485
518
|
},
|
|
486
519
|
importComplete(res,field) {
|
|
487
|
-
|
|
488
|
-
|
|
520
|
+
var self=this;
|
|
521
|
+
if(field.flagAsync){
|
|
522
|
+
if(res.content && res.content.action){
|
|
523
|
+
var dialogOption = {
|
|
524
|
+
title: field.pageTitle || field.label,
|
|
525
|
+
content: [{
|
|
526
|
+
component: 'ct-progress',
|
|
527
|
+
attrs: {
|
|
528
|
+
progressAction: res.content.action,
|
|
529
|
+
progressKey: res.content.key,
|
|
530
|
+
progressType:'import',
|
|
531
|
+
width: '350px',
|
|
532
|
+
height: '165px'
|
|
533
|
+
},
|
|
534
|
+
on: {
|
|
535
|
+
finished(data) {
|
|
536
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
537
|
+
if(field && field.changeCallBackFunName){
|
|
538
|
+
self.changeCallBackHandler(field, field.changeCallBackFunName, data.content);
|
|
539
|
+
}
|
|
540
|
+
else{
|
|
541
|
+
self.model.doAction(data);
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
error(data) {
|
|
545
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
546
|
+
self.$message.warning(data.rtnMsg);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}]
|
|
550
|
+
};
|
|
551
|
+
self.$common.openDialog(dialogOption);
|
|
552
|
+
}
|
|
489
553
|
}
|
|
490
554
|
else{
|
|
491
|
-
|
|
555
|
+
if(field && field.changeCallBackFunName){
|
|
556
|
+
this.changeCallBackHandler(field, field.changeCallBackFunName, res.content);
|
|
557
|
+
}
|
|
558
|
+
else{
|
|
559
|
+
this.model.doAction(res);
|
|
560
|
+
}
|
|
492
561
|
}
|
|
493
562
|
},
|
|
494
563
|
changeHandler(field) {
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
var ctSpan = {//临时的span组件对象,用于vue双向绑定,强制更新
|
|
72
72
|
props: {
|
|
73
73
|
vmodel: Object,
|
|
74
|
-
rowNum:
|
|
74
|
+
rowNum: String,
|
|
75
75
|
},
|
|
76
76
|
data: function () {
|
|
77
77
|
return {
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
107
|
created() {
|
|
108
|
+
|
|
108
109
|
let self = this;
|
|
109
110
|
this.model = this.vmodel;
|
|
110
111
|
this.model.OptApi = this.api;
|
|
@@ -842,8 +842,7 @@ export default {
|
|
|
842
842
|
else if (field.isSeeVoice) {//看视频
|
|
843
843
|
self.$common.browseVideo(field, submitData);
|
|
844
844
|
}
|
|
845
|
-
else if (field.isBrowseAttachment) {
|
|
846
|
-
//浏览附件
|
|
845
|
+
else if (field.isBrowseAttachment) {//浏览附件
|
|
847
846
|
var MediaAlbum = [
|
|
848
847
|
{ albumName: self.model.title || "媒体", medias: [] },
|
|
849
848
|
];
|
|
@@ -909,9 +908,36 @@ export default {
|
|
|
909
908
|
};
|
|
910
909
|
self.$common.openDialog(dialogOption);
|
|
911
910
|
}
|
|
912
|
-
else if (field.isExport) {
|
|
911
|
+
else if (field.isExport || field.flagAsync) {
|
|
913
912
|
if(field.flagAsync){
|
|
914
|
-
|
|
913
|
+
field.doAction(submitData, (res) => {
|
|
914
|
+
if(res.content && res.content.action){
|
|
915
|
+
var dialogOption = {
|
|
916
|
+
title: field.pageTitle || field.label,
|
|
917
|
+
content: [{
|
|
918
|
+
component: 'ct-progress',
|
|
919
|
+
attrs: {
|
|
920
|
+
progressAction: res.content.action,
|
|
921
|
+
progressKey: res.content.key,
|
|
922
|
+
progressType:'import',
|
|
923
|
+
width: '350px',
|
|
924
|
+
height: '165px'
|
|
925
|
+
},
|
|
926
|
+
on: {
|
|
927
|
+
finished() {
|
|
928
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
929
|
+
self.getPage(1);
|
|
930
|
+
},
|
|
931
|
+
error(data) {
|
|
932
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
933
|
+
self.$message.warning(data.rtnMsg);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
}]
|
|
937
|
+
};
|
|
938
|
+
self.$common.openDialog(dialogOption);
|
|
939
|
+
}
|
|
940
|
+
});
|
|
915
941
|
}
|
|
916
942
|
else{
|
|
917
943
|
if(field.action.indexOf("http://")===0 || field.action.indexOf("https://")===0){
|
|
@@ -953,42 +979,40 @@ export default {
|
|
|
953
979
|
submit(ev) {
|
|
954
980
|
if (ev.responseData.notification == 24) {
|
|
955
981
|
//更新列
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
982
|
+
self.model.selectIndex=0;
|
|
983
|
+
if (self.currentRow !== null) {
|
|
984
|
+
for (var i = 0; i < self.currentRow.children.length; i++) {
|
|
985
|
+
self.currentRow.children[i].classList.remove("select");
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
if (typeof self.$refs.tableParent !== "undefined") {
|
|
989
|
+
self.$refs.tableParent.scrollTop = 0;
|
|
990
|
+
self.$refs.tableParent.scrollLeft = 0;
|
|
991
|
+
self.scrollTop = 0;
|
|
992
|
+
self.scrollLeft = 0;
|
|
993
|
+
}
|
|
994
|
+
self.$forceUpdate();
|
|
995
|
+
self.$nextTick(() => {
|
|
996
|
+
if (
|
|
997
|
+
self.$refs.tableParent.scrollHeight <=
|
|
998
|
+
self.$refs.tableParent.offsetHeight
|
|
999
|
+
) {
|
|
1000
|
+
self.tableLoading = true;
|
|
1001
|
+
self.model.nextPage(next);
|
|
1002
|
+
} else {
|
|
1003
|
+
self.tableLoading = false;
|
|
1004
|
+
self.rowColorChange();
|
|
1005
|
+
self.resetScroll();
|
|
1006
|
+
self.calculatingRowHeight();
|
|
1007
|
+
self.getScrollAttr();
|
|
961
1008
|
}
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
self.$refs.tableParent.scrollLeft = 0;
|
|
965
|
-
self.scrollTop = 0;
|
|
966
|
-
self.scrollLeft = 0;
|
|
967
|
-
}
|
|
968
|
-
self.$forceUpdate();
|
|
969
|
-
self.$nextTick(() => {
|
|
970
|
-
if (
|
|
971
|
-
self.$refs.tableParent.scrollHeight <=
|
|
972
|
-
self.$refs.tableParent.offsetHeight
|
|
973
|
-
) {
|
|
974
|
-
self.tableLoading = true;
|
|
975
|
-
self.model.nextPage(next);
|
|
976
|
-
} else {
|
|
977
|
-
self.tableLoading = false;
|
|
978
|
-
self.rowColorChange();
|
|
979
|
-
self.resetScroll();
|
|
980
|
-
self.calculatingRowHeight();
|
|
981
|
-
self.getScrollAttr();
|
|
982
|
-
}
|
|
983
|
-
self.setfixedSize();
|
|
984
|
-
});
|
|
1009
|
+
self.setfixedSize();
|
|
1010
|
+
});
|
|
985
1011
|
self.loaderObj.SearchTable(self.api,self.load,self.model.searchModel,true);
|
|
986
1012
|
self.$common.closeDialog(dialogOption.dialog);
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
!field.flagAddRowAfterAction
|
|
991
|
-
) {
|
|
1013
|
+
}
|
|
1014
|
+
else {
|
|
1015
|
+
if (!field.flagFreshCurrentRow &&!field.flagAddRowAfterAction) {
|
|
992
1016
|
self.model.doAction(ev);
|
|
993
1017
|
}
|
|
994
1018
|
self.$forceUpdate();
|
|
@@ -1064,10 +1088,7 @@ export default {
|
|
|
1064
1088
|
self.operationLoading = true;
|
|
1065
1089
|
field.doAction(submitData, (data) => {
|
|
1066
1090
|
self.operationLoading = false;
|
|
1067
|
-
if (
|
|
1068
|
-
!field.flagFreshCurrentRow &&
|
|
1069
|
-
!field.flagAddRowAfterAction
|
|
1070
|
-
) {
|
|
1091
|
+
if (!field.flagFreshCurrentRow && !field.flagAddRowAfterAction) {
|
|
1071
1092
|
self.model.doAction({ responseData: data });
|
|
1072
1093
|
self.$emit("refreshRowHandle");
|
|
1073
1094
|
}
|
|
@@ -1410,8 +1431,45 @@ export default {
|
|
|
1410
1431
|
);
|
|
1411
1432
|
}
|
|
1412
1433
|
},
|
|
1413
|
-
importComplete(res) {
|
|
1414
|
-
this
|
|
1434
|
+
importComplete(res,field) {
|
|
1435
|
+
var self=this;
|
|
1436
|
+
if(field.flagAsync){
|
|
1437
|
+
if(res.content && res.content.action){
|
|
1438
|
+
console.log(field.pageTitle || field.label)
|
|
1439
|
+
var dialogOption = {
|
|
1440
|
+
title: field.pageTitle || field.label,
|
|
1441
|
+
content: [{
|
|
1442
|
+
component: 'ct-progress',
|
|
1443
|
+
attrs: {
|
|
1444
|
+
progressAction: res.content.action,
|
|
1445
|
+
progressKey: res.content.key,
|
|
1446
|
+
progressType:'import',
|
|
1447
|
+
width: '350px',
|
|
1448
|
+
height: '165px'
|
|
1449
|
+
},
|
|
1450
|
+
on: {
|
|
1451
|
+
finished() {
|
|
1452
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
1453
|
+
self.getPage(1);
|
|
1454
|
+
},
|
|
1455
|
+
error(data) {
|
|
1456
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
1457
|
+
self.$message.warning(data.rtnMsg);
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
}]
|
|
1461
|
+
};
|
|
1462
|
+
self.$common.openDialog(dialogOption);
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
else{
|
|
1466
|
+
if(field && field.changeCallBackFunName){
|
|
1467
|
+
this.changeCallBackHandler(field, field.changeCallBackFunName, res.content);
|
|
1468
|
+
}
|
|
1469
|
+
else{
|
|
1470
|
+
this.model.doAction(res);
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1415
1473
|
},
|
|
1416
1474
|
tdRowspan(column, row) {
|
|
1417
1475
|
if (!column.show) {
|
|
@@ -116,9 +116,10 @@ const FormList = function (source, master) {
|
|
|
116
116
|
this._rows = [];
|
|
117
117
|
//遍历每一行
|
|
118
118
|
source.rows.forEach((r) => {
|
|
119
|
+
var gid = rtn.guid();
|
|
120
|
+
r.$sourceIndex = gid;
|
|
119
121
|
var row = rtn.initRow(r);
|
|
120
|
-
this._rows.push(row);
|
|
121
|
-
rtn._rows[rtn._rows.length - 1].$sourceIndex = rtn._rows.length - 1;
|
|
122
|
+
this._rows.push(row);
|
|
122
123
|
});
|
|
123
124
|
return this._rows;
|
|
124
125
|
}
|
|
@@ -135,6 +136,8 @@ const FormList = function (source, master) {
|
|
|
135
136
|
},
|
|
136
137
|
get deleted() {//是否已删除
|
|
137
138
|
return r.flagDeleted === true;
|
|
139
|
+
}, get deleted() {//是否已删除
|
|
140
|
+
return r.flagDeleted === true;
|
|
138
141
|
},
|
|
139
142
|
set deleted(v) {
|
|
140
143
|
if (v) {
|
|
@@ -143,7 +146,13 @@ const FormList = function (source, master) {
|
|
|
143
146
|
else {
|
|
144
147
|
r.flagDeleted = false;
|
|
145
148
|
}
|
|
149
|
+
}, get $sourceIndex() {//GID
|
|
150
|
+
return r.$sourceIndex||"";
|
|
151
|
+
},
|
|
152
|
+
set $sourceIndex(v) {//GID
|
|
153
|
+
return r.$sourceIndex=v;
|
|
146
154
|
}
|
|
155
|
+
,
|
|
147
156
|
};
|
|
148
157
|
//遍历每一列
|
|
149
158
|
let rowIndex = 0;
|
|
@@ -179,8 +188,8 @@ const FormList = function (source, master) {
|
|
|
179
188
|
var row = {};
|
|
180
189
|
for (let i = 1; i < rows.length; i++) {//遍历每一行
|
|
181
190
|
if (!rows[i].deleted) {
|
|
182
|
-
row = {};
|
|
183
|
-
Vue.set(row, '$sourceIndex', i);
|
|
191
|
+
row = {};
|
|
192
|
+
Vue.set(row, '$sourceIndex', rows[i].$sourceIndex);
|
|
184
193
|
for (let j = 0; j < rows[i].field.length; j++) {//遍历每一列
|
|
185
194
|
Vue.set(row, field[j].id, rows[i].field[j]);
|
|
186
195
|
}
|
|
@@ -208,12 +217,20 @@ const FormList = function (source, master) {
|
|
|
208
217
|
},
|
|
209
218
|
getCloneRowData(index) {
|
|
210
219
|
let row = {};
|
|
211
|
-
let sourceRow =
|
|
220
|
+
let sourceRow = {};
|
|
221
|
+
if (typeof index == "number") {
|
|
222
|
+
sourceRow = source.rows[index];
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
let i = source.rows.findIndex(v => v.$sourceIndex ===index);
|
|
226
|
+
sourceRow = source.rows[i];
|
|
227
|
+
}
|
|
228
|
+
|
|
212
229
|
let rowData = rtn.initRow(JSON.parse(JSON.stringify(sourceRow)));
|
|
213
230
|
for (let j = 0; j < rowData.field.length; j++) {//遍历每一列
|
|
214
231
|
row[rowData.field[j].id] = rowData.field[j];
|
|
215
232
|
}
|
|
216
|
-
row.$sourceIndex =
|
|
233
|
+
row.$sourceIndex = sourceRow.$sourceIndex+"";
|
|
217
234
|
return row;
|
|
218
235
|
},
|
|
219
236
|
fieldsToTableData(fields) {
|
|
@@ -235,7 +252,11 @@ const FormList = function (source, master) {
|
|
|
235
252
|
updateListField(refs, rowNum, fiedlId) {
|
|
236
253
|
if (refs) {
|
|
237
254
|
let ref = refs.find((v) => {
|
|
238
|
-
|
|
255
|
+
try {
|
|
256
|
+
return v.rowNum === rowNum && v.vmodel.id === fiedlId;
|
|
257
|
+
}
|
|
258
|
+
catch (e) {
|
|
259
|
+
}
|
|
239
260
|
});
|
|
240
261
|
if (ref) {
|
|
241
262
|
ref.$forceUpdate();
|
|
@@ -250,12 +271,11 @@ const FormList = function (source, master) {
|
|
|
250
271
|
//是否是复制的
|
|
251
272
|
isDuplicated(row, index) {
|
|
252
273
|
let isDuplicated = false;
|
|
253
|
-
|
|
254
274
|
if (rtn.primaryKeys && rtn.primaryKeys.length > 0) {
|
|
255
275
|
for (let i = 1; i < source.rows.length; i++) {//遍历数据源的每一行
|
|
256
276
|
let srow = source.rows[i].columns;
|
|
257
277
|
if (!source.rows[i].flagDeleted) {//该行已删除,跳过
|
|
258
|
-
if (index === -1 || i !== index) {
|
|
278
|
+
if (index === -1 || source.rows[i].$sourceIndex !== index) {
|
|
259
279
|
let temp = 0;
|
|
260
280
|
let tempLabel = '';
|
|
261
281
|
for (let j = 0; j < srow.length; j++) {//遍历数据源每一列
|
|
@@ -358,7 +378,7 @@ const FormList = function (source, master) {
|
|
|
358
378
|
setValueByFieldName:function(id, attrKey, attrValue){
|
|
359
379
|
return self.$self.parentModel.setValueByFieldName(id, attrKey, attrValue);
|
|
360
380
|
},
|
|
361
|
-
getListFieldValue:function(tableName, rowNum, fiedlId, attrName, defaultValue){
|
|
381
|
+
getListFieldValue: function (tableName, rowNum, fiedlId, attrName, defaultValue) {
|
|
362
382
|
return self.$self.parentModel.getListFieldValue(tableName, rowNum, fiedlId, attrName, defaultValue);
|
|
363
383
|
},
|
|
364
384
|
}
|
|
@@ -367,18 +387,20 @@ const FormList = function (source, master) {
|
|
|
367
387
|
common.openDialog(dialogOption);
|
|
368
388
|
},
|
|
369
389
|
addSourceRow(row) {
|
|
390
|
+
var gid = rtn.guid();
|
|
370
391
|
let sourceRow = JSON.parse(JSON.stringify(source.rows[0]));
|
|
371
392
|
for (let k in sourceRow.columns) {
|
|
372
393
|
sourceRow.columns[k] = row[sourceRow.columns[k].fieldName1].source;
|
|
373
394
|
};
|
|
395
|
+
sourceRow.$sourceIndex = gid;
|
|
374
396
|
source.rows.push(sourceRow);
|
|
375
397
|
let iRow = this.initRow(sourceRow);
|
|
376
398
|
iRow.isNewFlag = true;
|
|
377
|
-
rtn._rows.push(iRow);
|
|
378
|
-
rtn._rows[rtn._rows.length - 1].$sourceIndex = rtn._rows.length - 1;
|
|
399
|
+
rtn._rows.push(iRow);
|
|
379
400
|
Vue.set(row, 'edit', iRow.edit);
|
|
380
401
|
Vue.set(row, 'delete', iRow.delete);
|
|
381
|
-
row.$sourceIndex =
|
|
402
|
+
row.$sourceIndex =gid;
|
|
403
|
+
|
|
382
404
|
},
|
|
383
405
|
addRow(callback) {
|
|
384
406
|
var self = this;
|
|
@@ -419,8 +441,9 @@ const FormList = function (source, master) {
|
|
|
419
441
|
if (!isRepeat) {
|
|
420
442
|
source.rows.push(row);
|
|
421
443
|
rtn.rows.push(rowItem);
|
|
422
|
-
|
|
423
|
-
|
|
444
|
+
var gid = rtn.guid();
|
|
445
|
+
rtn._rows[rtn._rows.length - 1].$sourceIndex =gid;
|
|
446
|
+
rowData.$sourceIndex =gid;
|
|
424
447
|
rowData.edit = rowItem.edit;
|
|
425
448
|
rowData.delete = rowItem.delete;
|
|
426
449
|
rowItem.isNewFlag = true;
|
|
@@ -435,7 +458,7 @@ const FormList = function (source, master) {
|
|
|
435
458
|
setValueByFieldName:function(id, attrKey, attrValue){
|
|
436
459
|
return self.$self.parentModel.setValueByFieldName(id, attrKey, attrValue);
|
|
437
460
|
},
|
|
438
|
-
getListFieldValue:function(tableName, rowNum, fiedlId, attrName, defaultValue){
|
|
461
|
+
getListFieldValue: function (tableName, rowNum, fiedlId, attrName, defaultValue) {
|
|
439
462
|
return self.$self.parentModel.getListFieldValue(tableName, rowNum, fiedlId, attrName, defaultValue);
|
|
440
463
|
},
|
|
441
464
|
}
|
|
@@ -472,11 +495,12 @@ const FormList = function (source, master) {
|
|
|
472
495
|
rtn._rows.push(iRow);
|
|
473
496
|
Vue.set(r, 'edit', iRow.edit);
|
|
474
497
|
Vue.set(r, 'delete', iRow.delete);
|
|
475
|
-
|
|
476
|
-
|
|
498
|
+
var gid = rtn.guid();
|
|
499
|
+
rtn._rows[rtn._rows.length - 1].$sourceIndex = gid;
|
|
500
|
+
r.$sourceIndex = gid;
|
|
477
501
|
|
|
478
502
|
let rowData = rtn.rowsItemToTableData(iRow)
|
|
479
|
-
rowData.$sourceIndex =
|
|
503
|
+
rowData.$sourceIndex = gid;
|
|
480
504
|
rowData.edit = iRow.edit;
|
|
481
505
|
rowData.delete = iRow.delete;
|
|
482
506
|
rtn._tableData.push(rowData);
|
|
@@ -484,7 +508,7 @@ const FormList = function (source, master) {
|
|
|
484
508
|
}
|
|
485
509
|
},
|
|
486
510
|
insertOrUpdateRow(row) {
|
|
487
|
-
if(row){
|
|
511
|
+
if (row) {
|
|
488
512
|
if(rtn.primaryKeys && rtn.primaryKeys.length>0){
|
|
489
513
|
let iRow = rtn.initRow(row);
|
|
490
514
|
let flagAdd=true;
|
|
@@ -520,7 +544,8 @@ const FormList = function (source, master) {
|
|
|
520
544
|
}
|
|
521
545
|
else{
|
|
522
546
|
let rowData = rtn.rowsItemToTableData(iRow)
|
|
523
|
-
iRow.$sourceIndex=r.$sourceIndex;
|
|
547
|
+
iRow.$sourceIndex = r.$sourceIndex;
|
|
548
|
+
row.$sourceIndex = r.$sourceIndex;
|
|
524
549
|
rowData.$sourceIndex=r.$sourceIndex;
|
|
525
550
|
rowData.edit = iRow.edit;
|
|
526
551
|
rowData.delete = iRow.delete;
|
|
@@ -581,6 +606,13 @@ const FormList = function (source, master) {
|
|
|
581
606
|
});
|
|
582
607
|
}
|
|
583
608
|
},
|
|
609
|
+
guid() {
|
|
610
|
+
return (rtn.S4() + rtn.S4() + '-' + rtn.S4() + '-' + rtn.S4() + '-' + rtn.S4() + '-' + rtn.S4() + rtn.S4() + rtn.S4()
|
|
611
|
+
);
|
|
612
|
+
},
|
|
613
|
+
S4() {
|
|
614
|
+
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
615
|
+
}
|
|
584
616
|
};
|
|
585
617
|
return rtn;
|
|
586
618
|
};
|
|
@@ -148,8 +148,7 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
148
148
|
});
|
|
149
149
|
},
|
|
150
150
|
//如果是复选框则searchValue1格式为 1,2
|
|
151
|
-
get searchData() {
|
|
152
|
-
|
|
151
|
+
get searchData() {
|
|
153
152
|
let that=this;
|
|
154
153
|
var rtn = {
|
|
155
154
|
fields: []
|
|
@@ -157,19 +156,16 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
157
156
|
this.screen.forEach((v) => {
|
|
158
157
|
var tempObj = common.deepClone(v.searchObj);
|
|
159
158
|
if ((tempObj.searchValue1 && tempObj.searchValue1 !== '') || (tempObj.searchValue2 && tempObj.searchValue2 !== '')) {
|
|
160
|
-
if(that.isHandle(v.type))
|
|
161
|
-
{
|
|
159
|
+
if(that.isHandle(v.type)){
|
|
162
160
|
tempObj.searchValue1=that.getNewSearchValue(tempObj);
|
|
163
161
|
}
|
|
164
|
-
rtn.fields.push(tempObj);
|
|
165
|
-
|
|
162
|
+
rtn.fields.push(tempObj);
|
|
166
163
|
}
|
|
167
164
|
});
|
|
168
165
|
this.highScreen.forEach((v) => {
|
|
169
166
|
var tempObj = common.deepClone(v.searchObj);
|
|
170
167
|
if ((tempObj.searchValue1 && tempObj.searchValue1 !== '') || (tempObj.searchValue2 && tempObj.searchValue2 !== '')) {
|
|
171
|
-
if(that.isHandle(v.type))
|
|
172
|
-
{
|
|
168
|
+
if(that.isHandle(v.type)){
|
|
173
169
|
tempObj.searchValue1=that.getNewSearchValue(tempObj);
|
|
174
170
|
}
|
|
175
171
|
rtn.fields.push(tempObj);
|
|
@@ -177,6 +173,35 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
177
173
|
});
|
|
178
174
|
return rtn;
|
|
179
175
|
},
|
|
176
|
+
get searchDataOfHide() {
|
|
177
|
+
let that=this;
|
|
178
|
+
var rtn = {
|
|
179
|
+
fields: []
|
|
180
|
+
};
|
|
181
|
+
this.screen.forEach((v) => {
|
|
182
|
+
if(v.type===Enum.ControlType.Hidden){
|
|
183
|
+
var tempObj = common.deepClone(v.searchObj);
|
|
184
|
+
if ((tempObj.searchValue1 && tempObj.searchValue1 !== '') || (tempObj.searchValue2 && tempObj.searchValue2 !== '')) {
|
|
185
|
+
if(that.isHandle(v.type)){
|
|
186
|
+
tempObj.searchValue1=that.getNewSearchValue(tempObj);
|
|
187
|
+
}
|
|
188
|
+
rtn.fields.push(tempObj);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
this.highScreen.forEach((v) => {
|
|
193
|
+
if(v.type===Enum.ControlType.Hidden){
|
|
194
|
+
var tempObj = common.deepClone(v.searchObj);
|
|
195
|
+
if ((tempObj.searchValue1 && tempObj.searchValue1 !== '') || (tempObj.searchValue2 && tempObj.searchValue2 !== '')) {
|
|
196
|
+
if(that.isHandle(v.type)){
|
|
197
|
+
tempObj.searchValue1=that.getNewSearchValue(tempObj);
|
|
198
|
+
}
|
|
199
|
+
rtn.fields.push(tempObj);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
return rtn;
|
|
204
|
+
},
|
|
180
205
|
getNewSearchValue(tempObj)
|
|
181
206
|
{
|
|
182
207
|
let codeList=JSON.parse(tempObj.searchValue1);
|
|
@@ -264,13 +289,6 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
264
289
|
});
|
|
265
290
|
},
|
|
266
291
|
export(btn, submitData) {
|
|
267
|
-
//Axios.post(common.globalUri(), { action: btn.action, search: this.searchData }).then((response) => {
|
|
268
|
-
// var fileName = response.data.content.fieldName1;
|
|
269
|
-
// var fileContent = window.atob(response.data.content.code1);
|
|
270
|
-
// common.saveFile(fileName, fileContent);
|
|
271
|
-
//}).catch((ex) => {
|
|
272
|
-
// console.log(ex);
|
|
273
|
-
//});
|
|
274
292
|
Vue.prototype.$api.postHandler(common.globalUri(),
|
|
275
293
|
{
|
|
276
294
|
action: btn.action,
|