| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import _ from 'lodash-es';
- /** 将 formData 格式化为 api 需要的格式 */
- export function parseFormDataToParams(formData: Record<string, number | string | undefined>) {
- const params = {};
- _.forEach(formData, (v: string | undefined, k) => {
- // 如果是以 moduleData 打头的数据要特殊处理,因为这是配置的主要项目,表单配置见 ./configuration.data
- if (v && k.startsWith('moduleData')) {
- _.set(params, k, JSON.parse(v));
- } else {
- _.set(params, k, v);
- }
- });
- return params;
- }
- /** 将 api 返回的 moduleData 格式化为可用的对象,如果传入了 data,那么会返回带数据的配置,否则返回默认配置 */
- export function parseModuleDataToObject(moduleData: string): { chart: { label: string; prop: string }[]; list: { label: string; prop: string }[] };
- export function parseModuleDataToObject(
- moduleData: string,
- data: any
- ): { chart: { label: string; value: string }[]; list: { label: string; value: string }[] };
- export function parseModuleDataToObject(moduleData: string, data?: any) {
- const raw = JSON.parse(moduleData);
- if (data) {
- return {
- chart: _.map(_.get(raw, 'chart', []), (label, prop) => {
- return { label, value: _.get(data, prop, '/') };
- }),
- list: _.map(_.get(raw, 'list', []), (label, prop) => {
- return { label, value: _.get(data, prop, '/') };
- }),
- };
- }
- return {
- chart: _.map(_.get(raw, 'chart', []), (label, prop) => {
- return { label, prop };
- }),
- list: _.map(_.get(raw, 'list', []), (label, prop) => {
- return { label, prop };
- }),
- };
- }
|