mirror of https://github.com/jeecgboot/jeecg-boot
				
				
				
			Popup字典列表渲染支持翻译
							parent
							
								
									83b1c8692e
								
							
						
					
					
						commit
						27a7046465
					
				| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
  <div>
 | 
			
		||||
<#assign list_need_category=false>
 | 
			
		||||
<#assign list_need_pca=false>
 | 
			
		||||
<#assign list_has_popup_dict=false>
 | 
			
		||||
<#assign bpm_flag=false>
 | 
			
		||||
 | 
			
		||||
<#-- 开始循环 -->
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +13,9 @@
 | 
			
		|||
<#if po.classType=='cat_tree' && po.dictText?default("")?trim?length == 0>
 | 
			
		||||
<#assign list_need_category=true>
 | 
			
		||||
</#if>
 | 
			
		||||
<#if po.classType=='popup_dict'>
 | 
			
		||||
<#assign list_has_popup_dict=true>
 | 
			
		||||
</#if>
 | 
			
		||||
<#if po.classType=='pca'>
 | 
			
		||||
<#assign list_need_pca=true>
 | 
			
		||||
</#if>
 | 
			
		||||
| 
						 | 
				
			
			@ -91,6 +95,10 @@
 | 
			
		|||
  import { loadCategoryData } from '/@/api/common/api'
 | 
			
		||||
  import { getAuthCache, setAuthCache } from '/@/utils/auth';
 | 
			
		||||
  import { DB_DICT_DATA_KEY } from '/@/enums/cacheEnum';
 | 
			
		||||
  </#if>
 | 
			
		||||
  <#if list_has_popup_dict>
 | 
			
		||||
 import {getPopDictByCode} from "@/utils/dict";
 | 
			
		||||
 import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
 | 
			
		||||
  </#if>
 | 
			
		||||
  <#if bpm_flag==true>
 | 
			
		||||
  import { startProcess } from '/@/api/common/api';
 | 
			
		||||
| 
						 | 
				
			
			@ -146,6 +154,9 @@
 | 
			
		|||
            beforeFetch: (params) => {
 | 
			
		||||
              return Object.assign(params, queryParam);
 | 
			
		||||
            },
 | 
			
		||||
            <#if list_has_popup_dict>
 | 
			
		||||
            afterFetch: afterFetch
 | 
			
		||||
            </#if>
 | 
			
		||||
      },
 | 
			
		||||
       exportConfig: {
 | 
			
		||||
            name:"${tableVo.ftlDescription}",
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +330,28 @@
 | 
			
		|||
   }
 | 
			
		||||
   initDictConfig();
 | 
			
		||||
    </#if>
 | 
			
		||||
 | 
			
		||||
    <#if list_has_popup_dict>
 | 
			
		||||
   /**
 | 
			
		||||
    * 翻译Popup字典配置
 | 
			
		||||
   */
 | 
			
		||||
    async function afterFetch(records){
 | 
			
		||||
 <#list columns as po>
 | 
			
		||||
    <#if po.isQuery=='Y' || po.isShowList=='Y'>
 | 
			
		||||
      <#if po.classType=='popup_dict' && list_has_popup_dict==true>
 | 
			
		||||
      const ${po.fieldName}Keys = [...new Set(records.map((item) => item['${po.fieldName}']).flatMap((item) => item.split(',')))];
 | 
			
		||||
      if(${po.fieldName}Keys && ${po.fieldName}Keys.length){
 | 
			
		||||
       const dictOptions = await getPopDictByCode(${po.fieldName}Keys.join(','), '${po.dictTable},${po.dictField},${po.dictText}');
 | 
			
		||||
       records.forEach((item) => {
 | 
			
		||||
         item['${po.fieldName}_dictText'] = filterMultiDictText(dictOptions, item['${po.fieldName}']);
 | 
			
		||||
       });
 | 
			
		||||
      }
 | 
			
		||||
      </#if>
 | 
			
		||||
    </#if>
 | 
			
		||||
 </#list>
 | 
			
		||||
     return records;
 | 
			
		||||
   }
 | 
			
		||||
    </#if>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="less" scoped>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,21 @@ export const getDictItemsByCode = (code) => {
 | 
			
		|||
  // update-end--author:liaozhiyang---date:20230908---for:【QQYUN-6417】生产环境字典慢的问题
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
/**
 | 
			
		||||
 * Popup字典翻译方法
 | 
			
		||||
 * @param text
 | 
			
		||||
 * @param code
 | 
			
		||||
 */
 | 
			
		||||
export const getPopDictByCode = (text, codeStr) => {
 | 
			
		||||
  const [code, dictCode, dictText] = codeStr.split(',');
 | 
			
		||||
  if (!code || !dictCode || !dictText) {
 | 
			
		||||
    return [];
 | 
			
		||||
  }
 | 
			
		||||
  return defHttp.get(
 | 
			
		||||
    { url: `/online/api/cgreportGetDataPackage`, params: { code, dictText, dictCode, dataList: text } },
 | 
			
		||||
    { isTransformResponse: false }
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
/**
 | 
			
		||||
 * 获取字典数组
 | 
			
		||||
 * @param dictCode 字典Code
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue