zy-react-library 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Cascader/Dictionary/index.js +1 -1
- package/components/LeftTree/Department/Gwj/index.js +1 -1
- package/components/LeftTree/Dictionary/index.js +1 -1
- package/components/Select/Dictionary/index.js +1 -1
- package/components/Select/Personnel/Gwj/index.js +1 -1
- package/components/SelectTree/Department/Gwj/index.js +1 -1
- package/components/SelectTree/Dictionary/index.js +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +10 -0
- package/utils/index.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as a,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as t}from"../../../enum/dictionary/index.js";import r from"../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as a,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as t}from"../../../enum/dictionary/index.js";import{executeWithCache as r}from"../../../utils/index.js";import o from"../Basic/index.js";import{jsx as c}from"react/jsx-runtime";function n(n){const{appKey:s=t.DEFAULT,dictValue:d="",nameKey:m="dictLabel",idKey:p="dictValue",...u}=n,[y,l]=a([]);return i(()=>{(async()=>{if(!Object.values(t).includes(s))return void console.error(`【DictionaryCascader】 传入的 appKey 不在 DICTIONARY_APP_KEY_ENUM 中,当前传入的 appKey 是 ${s}`);if(!d)return void console.error("【DictionaryCascader】 缺少 dictValue 参数");const a={appKey:s,dictValue:d};await r(a,async()=>{const{data:a}=await e("/config/dict-trees/list/by/dictValues","get",{appKey:s,dictValue:d});return a},l)})()},[d]),c(o,{data:y,nameKey:m,idKey:p,...u})}n.displayName="DictionaryCascader";export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as r}from"react";import n from"../../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as r}from"react";import{executeWithCache as n}from"../../../../utils/index.js";import i from"../../Basic/index.js";import{jsx as a}from"react/jsx-runtime";function p(p){const{params:s={},searchType:o="current",...l}=p,[d,m]=t([]);return r(()=>{(async()=>{let t="";const r={...s,time:(new Date).getTime()};"current"===o&&(t="/basicInfo/department/listTree",delete r.inType,delete r.enterpriseType),"all"===o&&(t="/basicInfo/department/listAllTree",delete r.inType,delete r.enterpriseType,delete r.eqCorpinfoId,delete r.eqParentId),"inType"===o&&(t="/basicInfo/department/listAllTreeByCorpType",delete r.eqCorpinfoId,delete r.eqParentId,r.enterpriseType&&!Array.isArray(r.enterpriseType)&&(r.enterpriseType=[r.enterpriseType]));const i={searchType:o,params:s};await n(i,async()=>{const{data:n}=await e(t,"post",r);return n},m)})()},[]),a(i,{treeData:d,childrenKey:"childrenList",...l})}p.displayName="DepartmentLeftTree";export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as r}from"../../../enum/dictionary/index.js";import a from"../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as r}from"../../../enum/dictionary/index.js";import{executeWithCache as a}from"../../../utils/index.js";import o from"../Basic/index.js";import{jsx as c}from"react/jsx-runtime";function n(n){const{appKey:s=r.DEFAULT,dictValue:d="",nameKey:m="dictLabel",idKey:p="dictValue",...u}=n,[y,l]=t([]);return i(()=>{(async()=>{if(!Object.values(r).includes(s))return void console.error(`【DictionaryLeftTree】 传入的 appKey 不在 DICTIONARY_APP_KEY_ENUM 中,当前传入的 appKey 是 ${s}`);if(!d)return void console.error("【DictionaryLeftTree】 缺少 dictValue 参数");const t={appKey:s,dictValue:d};await a(t,async()=>{const{data:t}=await e("/config/dict-trees/list/by/dictValues","get",{appKey:s,dictValue:d});return t},l)})()},[d]),c(o,{treeData:y,nameKey:m,idKey:p,...u})}n.displayName="DictionaryLeftTree";export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as a}from"../../../enum/dictionary/index.js";import r from"../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as a}from"../../../enum/dictionary/index.js";import{executeWithCache as r}from"../../../utils/index.js";import o from"../Basic/index.js";import{jsx as c}from"react/jsx-runtime";function n(n){const{appKey:s=a.DEFAULT,dictValue:d="",nameKey:l="dictLabel",idKey:m="dictValue",...p}=n,[u,y]=t([]);return i(()=>{(async()=>{if(!Object.values(a).includes(s))return void console.error(`【DictionarySelect】 传入的 appKey 不在 DICTIONARY_APP_KEY_ENUM 中,当前传入的 appKey 是 ${s}`);if(!d)return void console.error("【DictionarySelect】 缺少 dictValue 参数");const t={appKey:s,dictValue:d};await r(t,async()=>{const{data:t}=await e("/config/dict-trees/list/by/dictValues","get",{appKey:s,dictValue:d});return t},y)})()},[d]),c(o,{data:u,nameKey:l,idKey:m,...p})}n.displayName="DictionarySelect";export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as r}from"react";import o from"../../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as r}from"react";import{executeWithCache as o}from"../../../../utils/index.js";import n from"../../Basic/index.js";import{jsx as i}from"react/jsx-runtime";function a(a){const{params:s={},placeholder:m="人员",isNeedCorpInfoId:p=!1,isNeedDepartmentId:d=!0,isNeedPostId:f=!1,extraParams:c={},...l}=a,u={noMain:"",eqEmploymentFlag:1},[I,y]=t([]);return r(()=>{(async()=>{if(!p&&!d&&!f)return void console.error("【PersonnelSelect】 请至少传入一个参数");if(p&&(!s.corpinfoId||"string"!=typeof s.corpinfoId))return;if(d&&(!s.departmentId||"string"!=typeof s.departmentId))return;if(f&&(!s.postId||"string"!=typeof s.postId))return;const t={...u,...c},r={params:s,extraParams:t};await o(r,async()=>{const{data:r}=await e("/basicInfo/user/listAll","get",{...s,...t,time:(new Date).getTime()});return r},y)})()},[JSON.stringify(s),p,d,f,JSON.stringify(c)]),i(n,{data:I,placeholder:m,...l})}a.displayName="PersonnelSelect";export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as r,useEffect as t}from"react";import n from"../../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as r,useEffect as t}from"react";import{executeWithCache as n}from"../../../../utils/index.js";import i from"../../Basic/index.js";import{jsx as a}from"react/jsx-runtime";function p(p){const{params:s={},placeholder:o="部门",isNeedCorpInfoId:d=!1,isNeedParentId:l=!1,searchType:c="current",...m}=p,[y,f]=r([]);return t(()=>{(async()=>{if("current"===c){if(d&&!s.eqCorpinfoId)return;if(l&&!s.eqParentId)return}let r="";const t={...s,time:(new Date).getTime()};"current"===c&&(r="/basicInfo/department/listTree",delete t.inType,delete t.enterpriseType),"all"===c&&(r="/basicInfo/department/listAllTree",delete t.inType,delete t.enterpriseType,delete t.eqCorpinfoId,delete t.eqParentId),"inType"===c&&(r="/basicInfo/department/listAllTreeByCorpType",delete t.eqCorpinfoId,delete t.eqParentId,t.enterpriseType&&!Array.isArray(t.enterpriseType)&&(t.enterpriseType=[t.enterpriseType]));const i={searchType:c,params:s};await n(i,async()=>{const{data:n}=await e(r,"post",t);return n},f)})()},[JSON.stringify(s),d,l,c]),a(i,{treeData:y,placeholder:o,childrenKey:"childrenList",...m})}p.displayName="DepartmentSelectTree";export{p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as r}from"../../../enum/dictionary/index.js";import a from"../Basic/index.js";import{jsx as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as t,useEffect as i}from"react";import{DICTIONARY_APP_KEY_ENUM as r}from"../../../enum/dictionary/index.js";import{executeWithCache as a}from"../../../utils/index.js";import o from"../Basic/index.js";import{jsx as c}from"react/jsx-runtime";function n(n){const{appKey:s=r.DEFAULT,dictValue:d="",nameKey:l="dictLabel",idKey:m="dictValue",...p}=n,[u,y]=t([]);return i(()=>{(async()=>{if(!Object.values(r).includes(s))return void console.error(`【DictionarySelectTree】 传入的 appKey 不在 DICTIONARY_APP_KEY_ENUM 中,当前传入的 appKey 是 ${s}`);if(!d)return void console.error("【DictionarySelectTree】 缺少 dictValue 参数");const t={appKey:s,dictValue:d};await a(t,async()=>{const{data:t}=await e("/config/dict-trees/list/by/dictValues","get",{appKey:s,dictValue:d});return t},y)})()},[d]),c(o,{treeData:u,nameKey:l,idKey:m,...p})}n.displayName="DictionarySelectTree";export{n as default};
|
package/package.json
CHANGED
package/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Dispatch, SetStateAction } from "react";
|
|
1
2
|
import type { BasePaginationConfig } from "../hooks/useTable";
|
|
2
3
|
|
|
3
4
|
// 定义 getDataType 函数可能返回的所有类型
|
|
@@ -377,3 +378,12 @@ export function dynamicLoadCss(url: string): Promise<void>;
|
|
|
377
378
|
* 是否空html,用于给富文本编辑器使用
|
|
378
379
|
*/
|
|
379
380
|
export function normalizeEmptyHtml(html: string): string;
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* 带缓存的请求执行函数
|
|
384
|
+
*/
|
|
385
|
+
export function executeWithCache<T>(
|
|
386
|
+
cacheKey: string | object,
|
|
387
|
+
requestFn: () => Promise<T>,
|
|
388
|
+
setData: Dispatch<SetStateAction<T[]>>,
|
|
389
|
+
): Promise<T>;
|
package/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request}from"@cqsjjb/jjb-common-lib/http.js";import dayjs from"dayjs";import{ID_NUMBER}from"../regular/index.js";function serialNumber(e,t){return(e.current-1)*e.pageSize+(t+1)}function toArrayString(value){return value?eval(value).map(String):[]}function interceptTheSuffix(e,t){return e.substring(e.lastIndexOf("."),e.length).toLowerCase()===t.toLowerCase()}function image2Base64(e){return new Promise(t=>{const n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){const e=document.createElement("canvas");e.width=n.width,e.height=n.height,e.getContext("2d").drawImage(n,0,0,n.width,n.height);const r=n.src.substring(n.src.lastIndexOf(".")+1).toLowerCase();t(e.toDataURL(`image/${r}`))}})}function image2Base642(e){return new Promise((t,n)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=e=>{t(e.target.result)},r.onerror=e=>{n(e)}})}function base642File(e,t="file"){const n=e.split(","),r=n[0].match(/:(.*?);/)[1],
|
|
1
|
+
import{request}from"@cqsjjb/jjb-common-lib/http.js";import dayjs from"dayjs";import{ID_NUMBER}from"../regular/index.js";function serialNumber(e,t){return(e.current-1)*e.pageSize+(t+1)}function toArrayString(value){return value?eval(value).map(String):[]}function interceptTheSuffix(e,t){return e.substring(e.lastIndexOf("."),e.length).toLowerCase()===t.toLowerCase()}function image2Base64(e){return new Promise(t=>{const n=new Image;n.src=e,n.crossOrigin="Anonymous",n.onload=function(){const e=document.createElement("canvas");e.width=n.width,e.height=n.height,e.getContext("2d").drawImage(n,0,0,n.width,n.height);const r=n.src.substring(n.src.lastIndexOf(".")+1).toLowerCase();t(e.toDataURL(`image/${r}`))}})}function image2Base642(e){return new Promise((t,n)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=e=>{t(e.target.result)},r.onerror=e=>{n(e)}})}function base642File(e,t="file"){const n=e.split(","),r=n[0].match(/:(.*?);/)[1],a=r.split("/")[1],i=atob(n[1]);let s=i.length;const o=new Uint8Array(s);for(;s--;)o[s]=i.charCodeAt(s);return new File([o],`${t}.${a}`,{type:r})}function checkImgExists(e){return new Promise((t,n)=>{const r=new Image;r.src=e,r.onload=function(e){t(e)},r.onerror=function(e){n(e)}})}function getDataType(e){return Object.prototype.toString.call(e).slice(8,-1)}function ArrayDeduplication(e){return[...new Set(e)]}function arrayObjectDeduplication(e,t){const n={};return e.reduce((e,r)=>(n[r[t]]||(n[r[t]]=!0,e.push(r)),e),[])}function findCharIndex(e){const{str:t,char:n,num:r}=e;let a=t.indexOf(n);if(-1===a)return-1;for(let e=0;e<r-1;e++)if(a=t.indexOf(n,a+1),-1===a)return-1;return a}function randoms(e,t){return Math.random()*(t-e+1)+e}function numFormat(e){if(e){const t=e.toString().split("."),n=t[0].split("").reverse();let r=[];for(let e=0;e<n.length;e++)e%3==0&&0!==e&&r.push(","),r.push(n[e]);return r.reverse(),r=t[1]?r.join("").concat(`.${t[1]}`):r.join(""),r}}function isEmpty(e){return null==e||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&0===e.trim().length}function getUrlParam(e){const t=new RegExp(`(^|&)${e}=([^&]*)(&|$)`),n=window.location.search.substr(1).match(t);return null!=n?decodeURI(n[2]):""}function paging(e){const{list:t,currentPage:n,pageSize:r}=e;return t.filter((e,t)=>t<+n*+r&&t>=(+n-1)*+r)}function getFileSuffix(e){return e.substring(e.lastIndexOf(".")+1)}function getFileName(e){return e?e.substring(e.lastIndexOf("/")+1):""}function readTxtDocument(e){return new Promise(t=>{const n=getFileUrl()+e,r=new XMLHttpRequest;r.open("get",n,!0),r.responseType="blob",r.onload=function(e){const n=new FileReader;n.readAsText(e.target.response,"GB2312"),n.onload=function(){t(n.result)}},r.send()})}function secondConversion(e){if(!e)return 0;const t=Number.parseInt((e/60/60).toString(),10),n=Number.parseInt((e/60%60).toString(),10),r=Number.parseInt((e%60).toString(),10);return t?`${t}小时${n}分钟${r}秒`:n?`${n}分钟${r}秒`:`${r}秒`}function addingPrefixToFile(e,t={}){if(!e)return[];const{pathKey:n="filePath",nameKey:r="fileName",idKey:a="id"}=t,i=getFileUrl();return e.filter(e=>e[n]).map(e=>({url:i+e[n],name:e[r]||getFileName(e[n]),id:e[a],...e}))}function getLabelName(e){const{status:t,list:n,idKey:r="bianma",nameKey:a="name"}=e;return(n.find(e=>e[r]?.toString()===t?.toString())||{[a]:""})[a]}function calculateFileSize(e){return e>1024?`${(""+e/1024).substring(0,(""+e/1024).lastIndexOf(".")+3)}MB`:`${e}KB`}function idCardGetDateAndGender(e){let t="",n="";if(ID_NUMBER.test(e)){const r=e.substring(6,14),a=e.substring(16,17),i=`${r.substring(0,4)}-${r.substring(4,6)}-${r.substring(6,8)}`,s=new Date(i.replace(/-/g,"/")),o=s.getMonth()+1;let c;const l=s.getDate();let u;c=o<10?`0${o}`:o,u=l<10?`0${l}`:l,t=a%2==1?"1":"0",n=`${s.getFullYear()}-${c}-${u}`}return{sex:t,date:n}}function getMatchedItems(e){const{list:t,value:n,idKey:r="bianma"}=e;return t.filter(e=>n.includes(e[r]))}function getUnmatchedItems(e){const{list:t,value:n,idKey:r="bianma"}=e;return t.filter(e=>!n.includes(e[r]))}function listTransTree(e){const{json:t,idKey:n,parentIdKey:r,childrenKey:a}=e,i=[],s={};let o=0,c=0;const l=t.length;for(;o<l;o++)s[t[o][n]]=t[o];for(;c<l;c++){const e=t[c],n=s[e[r]];n?(!n[a]&&(n[a]=[]),n[a].push(e)):i.push(e)}return i}function isEmptyToWhether(e,t={}){const{yesText:n="是",noText:r="否",yesValue:a="1"}=t;return isEmpty(e)?"":e.toString()===a.toString()?n:r}function createGuid(e=32){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(36*Math.random()));return t}function getIndexColumn(e){return{title:"序号",key:"index",width:70,render:(t,n,r)=>!1===e?r+1:serialNumber(e,r)}}function getTreeNodePaths(e){const{data:t,targetId:n,idKey:r,childrenKey:a,path:i=[],isIncludeOneself:s}=e;for(let e=0;e<t.length;e++){const o=t[e],c=[...i,o];if(o[r]===n)return s?c:i;if(o[a]&&o[a].length>0){const e=getTreeNodePaths({data:o[a],targetId:n,idKey:r,childrenKey:a,path:c,isIncludeOneself:s});if(e)return e}}return null}function processTreeDataByLevel(e){const{data:t,level:n,childrenKey:r,currentLevel:a=1}=e;return t.map(e=>{const t={...e};return n&&a>=n?(t.isLeaf=!0,delete t[r]):e[r]&&e[r].length>0?t[r]=processTreeDataByLevel({data:e[r],currentLevel:a+1,level:n,childrenKey:r}):t.isLeaf=!0,t})}function processTreeDataForOnlyLastLevel(e){const{data:t,childrenKey:n,onlyLastLevel:r=!1}=e;return r?t.map(e=>{const t=e[n]&&e[n].length>0,a={...e,selectable:!t};return t&&(a[n]=processTreeDataForOnlyLastLevel({data:e[n],childrenKey:n,onlyLastLevel:r})),a}):t}function validatorEndTime(e){let{startTime:t,message:n="结束时间不能早于开始时间",type:r=""}=e||{};return{validator:(e,a)=>{if(!a||!t)return Promise.resolve();if(!r){const e=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;/^\d{4}-\d{2}-\d{2}$/.test(t)?r="date":e.test(t)&&(r="datetime")}return(dayjs.isDayjs(a)?a:dayjs(a)).isBefore(dayjs(t),"date"===r?"day":"seconds")?Promise.reject(n):Promise.resolve()}}}function validatorTimeGTCurrentDay(e){const{message:t="需要大于当前时间",type:n="date"}=e||{};return{validator:(e,r)=>{if(!r)return Promise.resolve();const a=dayjs.isDayjs(r)?r:dayjs(r),i=dayjs();return("date"===n?a.isAfter(i,"day"):a.isAfter(i,"seconds"))?Promise.resolve():Promise.reject(t)}}}function validatorTimeGECurrentDay(e){const{message:t="需要大于等于当前时间",type:n="date"}=e||{};return{validator:(e,r)=>{if(!r)return Promise.resolve();const a=dayjs.isDayjs(r)?r:dayjs(r),i=dayjs();return("date"===n?a.isBefore(i,"day"):a.isBefore(i,"seconds"))?Promise.reject(t):Promise.resolve()}}}function dynamicLoadJs(e){return new Promise((t,n)=>{const r=document.createElement("script");r.type="text/javascript",r.src=e,r.onload=t,r.onerror=n,document.body.appendChild(r)})}function dynamicLoadCss(e){return new Promise((t,n)=>{const r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.href=e,r.onload=t,r.onerror=n,document.head.appendChild(r)})}function normalizeEmptyHtml(e){if(!e)return"";const t=e.replace(/\s+/g,"").toLowerCase();return"<p><br></p>"===t||"<p></p>"===t||""===t?"":e}function getFileUrl(){return window.fileUrl||process.env.app.fileUrl}async function getFileUrlFromServer(){if(window.fileUrl)return;const{data:e}=await request("/basicInfo/imgFiles/getImagePath","get");window.fileUrl=e}const requestCacheMap=new Map;async function executeWithCache(e,t,n){n([]);const r="string"==typeof e?e:JSON.stringify(e);if(requestCacheMap.has(r))return n(requestCacheMap.get(r)),requestCacheMap.get(r);const a=await t();return requestCacheMap.set(r,a),n(a),a}export{ArrayDeduplication,addingPrefixToFile,arrayObjectDeduplication,base642File,calculateFileSize,checkImgExists,createGuid,dynamicLoadCss,dynamicLoadJs,executeWithCache,findCharIndex,getDataType,getFileName,getFileSuffix,getFileUrl,getFileUrlFromServer,getIndexColumn,getLabelName,getMatchedItems,getTreeNodePaths,getUnmatchedItems,getUrlParam,idCardGetDateAndGender,image2Base64,image2Base642,interceptTheSuffix,isEmpty,isEmptyToWhether,listTransTree,normalizeEmptyHtml,numFormat,paging,processTreeDataByLevel,processTreeDataForOnlyLastLevel,randoms,readTxtDocument,secondConversion,serialNumber,toArrayString,validatorEndTime,validatorTimeGECurrentDay,validatorTimeGTCurrentDay};
|