|
|
@@ -200,19 +200,39 @@ Ext.define('saas.view.money.verification.FormPanelController', {
|
|
|
defaultConditions = etc.defaultConditions,
|
|
|
defaultConditionMode = defaultConditions[acitveType][idx];
|
|
|
|
|
|
- var reg = /(.*){(.*)}(.*)/g;
|
|
|
- var fieldName = defaultConditionMode.match(/(.*){(.*)}(.*)/)[2];
|
|
|
- var fieldLabel = Ext.Array.findBy(formItems, function(f) {
|
|
|
- return f.name == fieldName;
|
|
|
- }).fieldLabel;
|
|
|
- var fieldValue = viewModel.get(fieldName);
|
|
|
- if(!fieldValue) {
|
|
|
- saas.util.BaseUtil.showErrorToast('请先选择【' + '<span style="color: red;">' + fieldLabel + '</span>】');
|
|
|
+
|
|
|
+ var reg = /{.+?}/g;
|
|
|
+ var arr = defaultConditionMode.match(reg) || [];
|
|
|
+ var fields = {};
|
|
|
+ var nullFields = [];
|
|
|
+ var defaultCondition = defaultConditionMode;
|
|
|
+
|
|
|
+ // TODO arr未去重
|
|
|
+
|
|
|
+ arr.map(function(a) {
|
|
|
+ var fieldName = a.replace(/[{|}]/g, '');
|
|
|
+ var fieldLabel = Ext.Array.findBy(formItems, function(f) {
|
|
|
+ return f.name == fieldName;
|
|
|
+ }).fieldLabel;
|
|
|
+ var fieldValue = viewModel.get(fieldName);
|
|
|
+ fields[fieldName] = fieldValue;
|
|
|
+
|
|
|
+ if(!fieldValue && nullFields.indexOf(fieldLabel) == -1) {
|
|
|
+ nullFields.push(fieldLabel);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ if(nullFields.length == 0) {
|
|
|
+ var keys = Ext.Object.getAllKeys(fields);
|
|
|
+ keys.map(function(k) {
|
|
|
+ var v = fields[k];
|
|
|
+ defaultCondition = defaultCondition.replace(new RegExp('{' + k + '}', 'g'), v);
|
|
|
+ });
|
|
|
+ return defaultCondition;
|
|
|
+ }else {
|
|
|
+ saas.util.BaseUtil.showErrorToast('请先选择【' + '<span style="color: red;">' + nullFields.join(',') + '</span>】');
|
|
|
return null;
|
|
|
}
|
|
|
- var defaultCondition = defaultConditionMode.replace(reg, '$1' + fieldValue + '$3');
|
|
|
-
|
|
|
- return defaultCondition;
|
|
|
},
|
|
|
|
|
|
/**
|