yuansh 2 rokov pred
rodič
commit
f4dd83969d

+ 4 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/TbTableInfoMapper.java

@@ -26,6 +26,10 @@ public interface TbTableInfoMapper extends BaseMapper<TbTableInfo> {
     @Select("select  COLUMN_NAME as columnName, column_comment as columnComment from information_schema.columns where table_name =#{tableName} group by COLUMN_NAME,column_comment")
     List<Map<String,Object>> getTableColumnList(@Param("tableName") String tableName);
 
+    @Select("SELECT db_field_name,field_length FROM onl_cgform_field WHERE cgform_head_id in(SELECT id FROM onl_cgform_head \n" +
+            " WHERE copy_type = 0 and table_name=#{tableName})")
+    List<Map<String,Object>> getTableColumnLength(@Param("tableName") String tableName);
+
     /**
     * @Author chenchuang
     * @Description //TODO 通过主表外键名称获取子表字段

+ 9 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/CdColumnsShowServiceImpl.java

@@ -30,6 +30,8 @@ public class CdColumnsShowServiceImpl extends ServiceImpl<CdColumnsShowMapper, C
     @Autowired
     TbTableInfoMapper tbTableInfoMapper;
 
+    Map<String, Object> tableColumnLength = new HashMap<>();
+
     @Override
     public void saveBuchColumnsShow(CdColumnsShow cdColumnsShow) {
         //删除业务表下的显示列数据
@@ -69,6 +71,10 @@ public class CdColumnsShowServiceImpl extends ServiceImpl<CdColumnsShowMapper, C
         queryWrapper.lambda().eq(CdColumnsShow::getPkOrg,loginUser.getOrgCode());
         queryWrapper.lambda().eq(CdColumnsShow::getTableName,cdColumnsShow.getTableName());
         queryWrapper.lambda().orderByAsc(CdColumnsShow::getSort);
+        List<Map<String,Object>> tableColumnListLength =tbTableInfoMapper.getTableColumnLength(cdColumnsShow.getTableName());
+        for (Map<String,Object> m:tableColumnListLength){
+            tableColumnLength.put(cdColumnsShow.getTableName()+"__"+m.get("db_field_name").toString(),m.get("field_length"));
+        }
         List<CdColumnsShow> cdColumnsShowList=this.list(queryWrapper);
         if(cdColumnsShowList!=null&&cdColumnsShowList.size()>0){//保存过则直接查询显示列表
             for(CdColumnsShow columnsShow:cdColumnsShowList){
@@ -113,6 +119,9 @@ public class CdColumnsShowServiceImpl extends ServiceImpl<CdColumnsShowMapper, C
         c1.put("title",title);
         c1.put("dataIndex",dataIndex);
         c1.put("key",key);
+        if(tableColumnLength !=null && tableColumnLength.containsKey(key)){
+            c1.put("width",tableColumnLength.get(key));
+        }
         if(isScopedSlots.equals("2")){
             Map<String,Object> map=new HashMap<>();
             map.put("customRender",key);