Commit 8a5c07f6 authored by zhangwenshuai's avatar zhangwenshuai

update apolloTable getFormatter

parent d96a8d96
...@@ -3,26 +3,46 @@ import { isNumber } from '../../../utils/utils'; ...@@ -3,26 +3,46 @@ import { isNumber } from '../../../utils/utils';
import { accMul } from '../../../utils/calculate'; import { accMul } from '../../../utils/calculate';
import { checkoutFileType } from '../extra/upload/utils'; import { checkoutFileType } from '../extra/upload/utils';
const initValue = (val) => {
if (!Array.isArray(val) || val.length === 0) return undefined;
// 过滤掉空数据
const newValue = val.filter((item) => {
return item.text || item.value || item.value === 0;
});
return newValue.length > 0 ? newValue : undefined;
};
export const GetFormatter = { export const GetFormatter = {
INPUT: (val) => { INPUT: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
return obj.value; return newValue ? newValue[0].value : undefined;
}, },
SEARCH: (val) => { SEARCH: (val) => {
if (!Array.isArray(val) || val.length === 0) return undefined; const newValue = initValue(val);
return { value: val[0].value, label: val[0].text }; if (!newValue) {
return undefined;
}
return { value: newValue[0].value, label: newValue[0].text };
}, },
TEXTAREA: (val) => { TEXTAREA: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
return obj.value; if (!newValue) {
return undefined;
}
return newValue[0].value;
}, },
TEXTLINK: (val) => { TEXTLINK: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
return obj.value; if (!newValue) {
return undefined;
}
return newValue[0].value;
}, },
UPLOAD: (val) => { UPLOAD: (val) => {
if (!Array.isArray(val)) return undefined; const newValue = initValue(val);
return val.map((item) => { if (!newValue) {
return undefined;
}
return newValue.map((item) => {
let size = 0; let size = 0;
const text = item.text.replace(/\((\d+)\)$/, (s0, s1, s2) => { const text = item.text.replace(/\((\d+)\)$/, (s0, s1, s2) => {
size = s1; size = s1;
...@@ -32,27 +52,33 @@ export const GetFormatter = { ...@@ -32,27 +52,33 @@ export const GetFormatter = {
}); });
}, },
CHECKBOX: (val, config) => { CHECKBOX: (val, config) => {
const newValue = initValue(val);
if (!newValue) {
return undefined;
}
const { isMultiple } = config || {}; const { isMultiple } = config || {};
if (isMultiple) { if (isMultiple) {
return Array.isArray(val) return newValue.map((item) => {
? val.map((item) => { return item.value;
return item.value; });
})
: [];
} }
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; return newValue[0].value;
return obj.value;
}, },
SELECT: (val) => { SELECT: (val) => {
// 处理成[{}]结构 // 处理成[{}]结构
if (!Array.isArray(val) || val.length === 0) return undefined; const newValue = initValue(val);
const obj = val[0] || {}; if (!newValue) {
return { key: obj.value, label: obj.text }; return undefined;
}
return { key: newValue[0].value, label: newValue[0].text };
}, },
MULTIPLE_SELECT: (val) => { MULTIPLE_SELECT: (val) => {
// 处理成[{}]结构 // 处理成[{}]结构
if (!Array.isArray(val) || val.length === 0) return undefined; const newValue = initValue(val);
return val.map((item) => { if (!newValue) {
return undefined;
}
return newValue.map((item) => {
return { key: item.value, label: item.text }; return { key: item.value, label: item.text };
}); });
}, },
...@@ -60,27 +86,39 @@ export const GetFormatter = { ...@@ -60,27 +86,39 @@ export const GetFormatter = {
return GetFormatter.SELECT(val); return GetFormatter.SELECT(val);
}, },
RATE: (val) => { RATE: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
return obj.value || 0; if (!newValue) {
return undefined;
}
return newValue[0].value;
}, },
NUMBER: (val, config) => { NUMBER: (val, config) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
if (!newValue) {
return undefined;
}
const { precision } = config; const { precision } = config;
if (precision >= 0 && isNumber(obj.value)) { if (precision >= 0 && isNumber(newValue[0].value)) {
return Number(obj.value).toFixed(precision); return Number(newValue[0].value).toFixed(precision);
} }
return obj.value; return newValue[0].value;
}, },
PERCENTAGE: (val, config) => { PERCENTAGE: (val, config) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
if (isNumber(obj.value)) { if (!newValue) {
return `${accMul(obj.value, 100).toFixed(config.precision)}%`; return undefined;
}
if (isNumber(newValue[0].value)) {
return `${accMul(newValue[0].value, 100).toFixed(config.precision)}%`;
} }
return undefined; return undefined;
}, },
DATE: (val) => { DATE: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const newValue = initValue(val);
return obj.value ? moment(obj.value) : undefined; if (!newValue) {
return undefined;
}
return moment(newValue[0].value);
}, },
DATERANGE: (val) => { DATERANGE: (val) => {
const obj = Array.isArray(val) && val.length > 0 ? val[0] : {}; const obj = Array.isArray(val) && val.length > 0 ? val[0] : {};
...@@ -92,14 +130,20 @@ export const GetFormatter = { ...@@ -92,14 +130,20 @@ export const GetFormatter = {
return Array.isArray(val) && val.length > 0 ? val : []; return Array.isArray(val) && val.length > 0 ? val : [];
}, },
MULTIPLE_SEARCH: (val) => { MULTIPLE_SEARCH: (val) => {
if (!Array.isArray(val)) return undefined; const newValue = initValue(val);
return val.map((item) => { if (!newValue) {
return undefined;
}
return newValue.map((item) => {
return { value: item.value, label: item.text }; return { value: item.value, label: item.text };
}); });
}, },
TREE_SELECT: (val) => { TREE_SELECT: (val) => {
if (!Array.isArray(val)) return undefined; const newValue = initValue(val);
return val.map((item) => { if (!newValue) {
return undefined;
}
return newValue.map((item) => {
return { value: item.value, label: item.text }; return { value: item.value, label: item.text };
}); });
}, },
......
...@@ -16,6 +16,7 @@ export const ApolloSelect = (props: ApolloSelectProps) => { ...@@ -16,6 +16,7 @@ export const ApolloSelect = (props: ApolloSelectProps) => {
if (isMultiple) { if (isMultiple) {
selfProps.mode = 'multiple'; selfProps.mode = 'multiple';
} }
debugger
return ( return (
<Select <Select
className={styles.select} className={styles.select}
......
...@@ -43,9 +43,6 @@ class FormWrap extends Component { ...@@ -43,9 +43,6 @@ class FormWrap extends Component {
} else { } else {
detailConfig = config[String(columnType)] || config['1']; detailConfig = config[String(columnType)] || config['1'];
} }
// if(key==='contactList'){
// debugger
// }
const cellValueList = setFormat(detailConfig, item, values[key]); const cellValueList = setFormat(detailConfig, item, values[key]);
newValues.push({ newValues.push({
columnCode: key, columnCode: key,
...@@ -86,7 +83,6 @@ class FormWrap extends Component { ...@@ -86,7 +83,6 @@ class FormWrap extends Component {
validateRequired = (item, rule, value, callback) => { validateRequired = (item, rule, value, callback) => {
const { columnAttrObj = {} } = item; const { columnAttrObj = {} } = item;
const { validator } = columnAttrObj; const { validator } = columnAttrObj;
debugger;
if (!item.requiredFlag) { if (!item.requiredFlag) {
callback(); callback();
return; return;
...@@ -120,6 +116,7 @@ class FormWrap extends Component { ...@@ -120,6 +116,7 @@ class FormWrap extends Component {
rules = [], rules = [],
validateFirst = true, validateFirst = true,
validateTrigger = 'onChange', validateTrigger = 'onChange',
dynamicCellConfigDTO,
} = item; } = item;
let detailConfig: any; let detailConfig: any;
if (typeof renderEditForm === 'function') { if (typeof renderEditForm === 'function') {
...@@ -133,9 +130,7 @@ class FormWrap extends Component { ...@@ -133,9 +130,7 @@ class FormWrap extends Component {
...(columnAttrObj || {}), ...(columnAttrObj || {}),
}; };
const transferColumn = transferAttr(columnType, newProps); const transferColumn = transferAttr(columnType, newProps);
// if(item.columnName==='emails'){ const disabled = readOnlyFlag || (dynamicCellConfigDTO && dynamicCellConfigDTO.readonlyFlag);
// debugger
// }
return ( return (
<FormItem key={columnName} label={this.renderLabel(item)}> <FormItem key={columnName} label={this.renderLabel(item)}>
{getFieldDecorator(columnName, { {getFieldDecorator(columnName, {
...@@ -143,7 +138,7 @@ class FormWrap extends Component { ...@@ -143,7 +138,7 @@ class FormWrap extends Component {
validateTrigger, validateTrigger,
rules: [{ required: !!item.requiredFlag, message: '必填项不能为空' }, ...rules], rules: [{ required: !!item.requiredFlag, message: '必填项不能为空' }, ...rules],
initialValue: getFormat(detailConfig, item, value), initialValue: getFormat(detailConfig, item, value),
})(<EditComp {...transferColumn} columnConfig={item} disabled={readOnlyFlag} />)} })(<EditComp {...transferColumn} columnConfig={item} disabled={disabled} />)}
</FormItem> </FormItem>
); );
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment