centaline-data-driven-v3 0.1.11 → 0.1.12
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/dist/centaline-data-driven-v3.umd.js +9 -9
- package/package.json +1 -1
- package/src/components/app/TextBox.vue +13 -1
- package/src/components/web/ComboBox.vue +71 -68
- package/src/components/web/NumericRange.vue +2 -2
- package/src/components/web/SearchScreen.vue +1 -0
- package/src/components/web/TextBox.vue +39 -25
- package/src/loader/src/Field.js +31 -7
- package/src/loader/src/Form.js +168 -13
- package/src/loader/src/SearchScreen.js +873 -808
- package/src/main.js +1 -1
- package/src/utils/validate.js +21 -0
- package/src/views/Form.vue +2 -2
- package/src/views/SearchList.vue +3 -3
package/src/loader/src/Form.js
CHANGED
|
@@ -93,7 +93,12 @@ function loadFromModel(source, isFormList) {
|
|
|
93
93
|
&& attrValue != undefined && attrValue != null && attrValue != '') {
|
|
94
94
|
rtn1.jsSetFile(attrValue, rtn1);
|
|
95
95
|
}
|
|
96
|
+
if (attrKey == 'hidden') {
|
|
97
|
+
rtn1['show'] = !attrValue
|
|
98
|
+
}
|
|
99
|
+
|
|
96
100
|
rtn1[attrKey] = attrValue;
|
|
101
|
+
|
|
97
102
|
if (rtn1.controlType === Enum.ControlType.Tags) {
|
|
98
103
|
rtn1["value"] = JSON.parse(attrValue);
|
|
99
104
|
}
|
|
@@ -139,6 +144,7 @@ function loadFromModel(source, isFormList) {
|
|
|
139
144
|
}
|
|
140
145
|
}
|
|
141
146
|
hiddenHandle(rtn1, this.form);
|
|
147
|
+
displayHandle(rtn1, this.form);
|
|
142
148
|
requiredHandle(rtn1, this.form);
|
|
143
149
|
}
|
|
144
150
|
},
|
|
@@ -155,6 +161,7 @@ function loadFromModel(source, isFormList) {
|
|
|
155
161
|
if (typeof rtn1.code1 !== 'undefined') {
|
|
156
162
|
rtn1.code1 = code1;
|
|
157
163
|
hiddenHandle(rtn1);//隐藏关联的
|
|
164
|
+
displayHandle(rtn1);
|
|
158
165
|
}
|
|
159
166
|
if (typeof rtn1.code2 !== 'undefined') {
|
|
160
167
|
rtn1.code2 = code2;
|
|
@@ -552,6 +559,7 @@ function loadFromModel(source, isFormList) {
|
|
|
552
559
|
|
|
553
560
|
}
|
|
554
561
|
allhiddenHandle(rtn);
|
|
562
|
+
alldisplayHandle(rtn);
|
|
555
563
|
allRequiredHandle(rtn);//必填关联组件
|
|
556
564
|
return rtn._fields;
|
|
557
565
|
},
|
|
@@ -723,7 +731,7 @@ function loadFromModel(source, isFormList) {
|
|
|
723
731
|
return rtn._scripts;
|
|
724
732
|
}
|
|
725
733
|
else {
|
|
726
|
-
if (source&&typeof source.scripts !== 'undefined') {
|
|
734
|
+
if (source && typeof source.scripts !== 'undefined') {
|
|
727
735
|
rtn._scripts = base.common.eval(source.scripts);
|
|
728
736
|
return rtn._scripts;
|
|
729
737
|
}
|
|
@@ -881,12 +889,28 @@ function hiddenHandle(item, model) {
|
|
|
881
889
|
field = model.fields[i];
|
|
882
890
|
if (field) {
|
|
883
891
|
let hiddenValueArr = field.hiddenRelationFieldValue.split(',');
|
|
884
|
-
if (
|
|
885
|
-
field.show =
|
|
892
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
893
|
+
field.show = true;
|
|
894
|
+
var value = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
895
|
+
if (value.length > 0) {
|
|
896
|
+
value.forEach((v) => {
|
|
897
|
+
if (v.flagDeleted !== true) {
|
|
898
|
+
if (hiddenValueArr.indexOf(v.code) > -1) {
|
|
899
|
+
field.show = false;
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
});
|
|
903
|
+
}
|
|
886
904
|
}
|
|
887
905
|
else {
|
|
888
|
-
|
|
906
|
+
if (hiddenValueArr.indexOf(item.code1) > -1) {
|
|
907
|
+
field.show = false;
|
|
908
|
+
}
|
|
909
|
+
else {
|
|
910
|
+
field.show = true;
|
|
911
|
+
}
|
|
889
912
|
}
|
|
913
|
+
|
|
890
914
|
//本组件隐藏,子组件必须隐藏
|
|
891
915
|
hiddenHandlesource(field, model);
|
|
892
916
|
if (!item.show && item.controlType !== Enum.ControlType.Hidden) field.show = false;
|
|
@@ -898,12 +922,28 @@ function hiddenHandle(item, model) {
|
|
|
898
922
|
field1 = model.fields[i].fields[i1];
|
|
899
923
|
if (field1) {
|
|
900
924
|
let hiddenValueArr1 = field1.hiddenRelationFieldValue.split(',');
|
|
901
|
-
if (
|
|
902
|
-
field1.show =
|
|
925
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
926
|
+
field1.show = true;
|
|
927
|
+
var value = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
928
|
+
if (value.length > 0) {
|
|
929
|
+
value.forEach((v) => {
|
|
930
|
+
if (v.flagDeleted !== true) {
|
|
931
|
+
if (hiddenValueArr1.indexOf(v.code) > -1) {
|
|
932
|
+
field1.show = false;
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
}
|
|
903
937
|
}
|
|
904
938
|
else {
|
|
905
|
-
|
|
939
|
+
if (hiddenValueArr1.indexOf(item.code1) > -1) {
|
|
940
|
+
field1.show = false;
|
|
941
|
+
}
|
|
942
|
+
else {
|
|
943
|
+
field1.show = true;
|
|
944
|
+
}
|
|
906
945
|
}
|
|
946
|
+
|
|
907
947
|
}
|
|
908
948
|
}
|
|
909
949
|
}
|
|
@@ -921,6 +961,88 @@ function hiddenHandlesource(item, model) {
|
|
|
921
961
|
hiddenHandle(field[0], model);
|
|
922
962
|
}
|
|
923
963
|
}
|
|
964
|
+
//初始化显示关联组件
|
|
965
|
+
function alldisplayHandle(model) {
|
|
966
|
+
model.fields.forEach(v => {
|
|
967
|
+
displayHandle(v, model);
|
|
968
|
+
if (v.controlType == Enum.ControlType.Compound || v.controlType == Enum.ControlType.ContainerControl) {
|
|
969
|
+
v.fields.forEach(v1 => {
|
|
970
|
+
displayHandle(v1, model);
|
|
971
|
+
});
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
//显示关联组件
|
|
976
|
+
function displayHandle(item, model) {
|
|
977
|
+
if (item.fieldName1) {
|
|
978
|
+
let field = null;
|
|
979
|
+
let field1 = null;
|
|
980
|
+
for (var i in model.fields) {
|
|
981
|
+
if (!model.fields[i].hiddenRelationField && model.fields[i].displayRelationField === item.fieldName1) {
|
|
982
|
+
field = model.fields[i];
|
|
983
|
+
if (field) {
|
|
984
|
+
let displayValueArr = field.displayRelationFieldValue.split(',');
|
|
985
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
986
|
+
field.show = false;
|
|
987
|
+
var value = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
988
|
+
if (value.length > 0) {
|
|
989
|
+
value.forEach((v) => {
|
|
990
|
+
if (v.flagDeleted !== true) {
|
|
991
|
+
if (displayValueArr.indexOf(v.code) > -1) {
|
|
992
|
+
field.show = true;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
else {
|
|
999
|
+
if (displayValueArr.indexOf(item.code1) > -1) {
|
|
1000
|
+
field.show = true;
|
|
1001
|
+
}
|
|
1002
|
+
else {
|
|
1003
|
+
field.show = false;
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
if (!item.show && item.controlType !== Enum.ControlType.Hidden) field.show = false;
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
if (model.fields[i].controlType == Enum.ControlType.Compound || model.fields[i].controlType == Enum.ControlType.ContainerControl) {
|
|
1010
|
+
for (var i1 in model.fields[i].fields) {
|
|
1011
|
+
if (!model.fields[i].fields[i1].hiddenRelationField && model.fields[i].fields[i1].displayRelationField === item.fieldName1) {
|
|
1012
|
+
field1 = model.fields[i].fields[i1];
|
|
1013
|
+
if (field1) {
|
|
1014
|
+
let displayValueArr1 = field1.displayRelationFieldValue.split(',');
|
|
1015
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
1016
|
+
field1.show = false;
|
|
1017
|
+
var value = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
1018
|
+
if (value.length > 0) {
|
|
1019
|
+
value.forEach((v) => {
|
|
1020
|
+
if (v.flagDeleted !== true) {
|
|
1021
|
+
if (displayValueArr1.indexOf(v.code) > -1) {
|
|
1022
|
+
field1.show = true;
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
else {
|
|
1029
|
+
if (displayValueArr1.indexOf(item.code1) > -1) {
|
|
1030
|
+
field1.show = true;
|
|
1031
|
+
}
|
|
1032
|
+
else {
|
|
1033
|
+
field1.show = false;
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
924
1046
|
//初始化必填关联组件
|
|
925
1047
|
function allRequiredHandle(model) {
|
|
926
1048
|
model.fields.forEach(v => {
|
|
@@ -938,11 +1060,26 @@ function requiredHandle(item, model) {
|
|
|
938
1060
|
field = model.fields[i];
|
|
939
1061
|
if (field) {
|
|
940
1062
|
let requiredValueArr = field.requiredRelationFieldValue.split(',');
|
|
941
|
-
if (
|
|
942
|
-
field.required =
|
|
1063
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
1064
|
+
field.required = false;
|
|
1065
|
+
var arrValue = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
1066
|
+
if (arrValue.length > 0) {
|
|
1067
|
+
arrValue.forEach((v) => {
|
|
1068
|
+
if (v.flagDeleted !== true) {
|
|
1069
|
+
if (requiredValueArr.indexOf(v.code) > -1) {
|
|
1070
|
+
field.required = true;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
});
|
|
1074
|
+
}
|
|
943
1075
|
}
|
|
944
1076
|
else {
|
|
945
|
-
|
|
1077
|
+
if (requiredValueArr.indexOf(value) > -1) {
|
|
1078
|
+
field.required = true;
|
|
1079
|
+
}
|
|
1080
|
+
else {
|
|
1081
|
+
field.required = false;
|
|
1082
|
+
}
|
|
946
1083
|
}
|
|
947
1084
|
}
|
|
948
1085
|
}
|
|
@@ -952,12 +1089,28 @@ function requiredHandle(item, model) {
|
|
|
952
1089
|
field1 = model.fields[i].fields[i1];
|
|
953
1090
|
if (field1) {
|
|
954
1091
|
let requiredValueArr = field1.requiredRelationFieldValue.split(',');
|
|
955
|
-
if (
|
|
956
|
-
field1.required =
|
|
1092
|
+
if (item.controlType == Enum.ControlType.MultiSelectWithSearch || item.controlType == Enum.ControlType.MultiSelectNoSearch) {
|
|
1093
|
+
field1.required = false;
|
|
1094
|
+
var arrValue = item.code1 === '' ? [''] : JSON.parse(item.code1)
|
|
1095
|
+
if (arrValue.length > 0) {
|
|
1096
|
+
arrValue.forEach((v) => {
|
|
1097
|
+
if (v.flagDeleted !== true) {
|
|
1098
|
+
if (requiredValueArr.indexOf(v.code) > -1) {
|
|
1099
|
+
field1.required = true;
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
});
|
|
1103
|
+
}
|
|
957
1104
|
}
|
|
958
1105
|
else {
|
|
959
|
-
|
|
1106
|
+
if (requiredValueArr.indexOf(item.code1) > -1) {
|
|
1107
|
+
field1.required = true;
|
|
1108
|
+
}
|
|
1109
|
+
else {
|
|
1110
|
+
field1.required = false;
|
|
1111
|
+
}
|
|
960
1112
|
}
|
|
1113
|
+
|
|
961
1114
|
}
|
|
962
1115
|
}
|
|
963
1116
|
}
|
|
@@ -1254,6 +1407,7 @@ function getFileData(field, model) {
|
|
|
1254
1407
|
}
|
|
1255
1408
|
function changeHandler(field, model) {
|
|
1256
1409
|
hiddenHandle(field, model);
|
|
1410
|
+
displayHandle(field, model);
|
|
1257
1411
|
requiredHandle(field, model);
|
|
1258
1412
|
clearRelatedHandle(field, model.fields)
|
|
1259
1413
|
if (field.onChanged) {
|
|
@@ -1331,6 +1485,7 @@ const Form = {
|
|
|
1331
1485
|
loadFormApi,
|
|
1332
1486
|
loadFromModel,
|
|
1333
1487
|
hiddenHandle,
|
|
1488
|
+
displayHandle,
|
|
1334
1489
|
requiredHandle,
|
|
1335
1490
|
clearRelatedHandle,
|
|
1336
1491
|
doAction,
|