Commit 8a5c07f6 authored by zhangwenshuai's avatar zhangwenshuai

update apolloTable getFormatter

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