瀏覽代碼

transData

fanxp 1 年之前
父節點
當前提交
527d3fc67e
共有 1 個文件被更改,包括 7 次插入1 次删除
  1. 7 1
      src/main/java/com/xjrsoft/module/form/utils/FormDataTransUtil.java

+ 7 - 1
src/main/java/com/xjrsoft/module/form/utils/FormDataTransUtil.java

@@ -1,9 +1,11 @@
 package com.xjrsoft.module.form.utils;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.db.Entity;
 import cn.hutool.extra.spring.SpringUtil;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -80,7 +82,11 @@ public final class FormDataTransUtil {
                     }
                     Map<String, Object> detailMap = detailList.stream().filter(x -> StrUtil.equalsIgnoreCase(x.getItemId().toString(), MapUtils.getString(options, "itemId"))).collect(Collectors.toMap(DictionaryDetail::getValue, DictionaryDetail::getName, (e1, e2) -> e1));
                     fieldValuesMap.put(bindField, detailMap);
-                } else if (StrUtil.equalsIgnoreCase(datasourceType, "api") || isCascade) {
+                }else if(StrUtil.equalsIgnoreCase(ComponentTypeConstant.SELECT, type) && StrUtil.equalsIgnoreCase(datasourceType, "staticData")){ // 处理下拉静态数据
+                    List<JSONObject> staticOptions = Convert.toList(JSONObject.class, options.get("staticOptions"));
+                    Map<String, Object> dataMap = staticOptions.stream().collect(Collectors.toMap(data -> data.get("value").toString(), data -> data.get("label"), (e1, e2) -> e1));
+                    fieldValuesMap.put(bindField, dataMap);
+                }else if (StrUtil.equalsIgnoreCase(datasourceType, "api") || isCascade) {
                     String apiId = MapUtils.getString(MapUtils.getMap(options, "apiConfig"), "apiId");
                     if (apiDataMap.get(apiId) == null) {
                         Object resultApiData = magicApiService.executeApi(apiId);