zy-react-library 1.3.17 → 1.3.18
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/LeftTree/Department/Gwj/index.js +1 -1
- package/components/Select/Personnel/Gwj/index.js +1 -1
- package/components/SelectTree/Department/Gwj/index.js +1 -1
- package/hooks/useDeleteFile/index.js +1 -1
- package/hooks/useGetFile/index.js +1 -1
- package/hooks/useGetUserInfo/index.js +1 -1
- package/hooks/useUploadFile/index.js +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +6 -0
- package/utils/index.js +1 -1
|
@@ -1 +1 @@
|
|
|
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
|
|
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,getBaseGateway as p}from"../../../../utils/index.js";import i from"../../Basic/index.js";import{jsx as a}from"react/jsx-runtime";function s(s){const{params:l={},searchType:o="current",...d}=s,[m,y]=t([]);return r(()=>{(async()=>{let t="";const r={...l,time:(new Date).getTime()};"current"===o&&(t=`/${p()}/department/listTree`,delete r.inType,delete r.enterpriseType),"all"===o&&(t=`/${p()}/department/listAllTree`,delete r.inType,delete r.enterpriseType,delete r.eqCorpinfoId,delete r.eqParentId),"inType"===o&&(t=`/${p()}/department/listAllTreeByCorpType`,delete r.eqCorpinfoId,delete r.eqParentId,r.enterpriseType&&!Array.isArray(r.enterpriseType)&&(r.enterpriseType=[r.enterpriseType]));const i={searchType:o,params:l};await n(i,async()=>{const{data:n}=await e(t,"post",r);return n},y)})()},[]),a(i,{treeData:m,childrenKey:"childrenList",...d})}s.displayName="DepartmentLeftTree";export{s 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{executeWithCache as o}from"../../../../utils/index.js";import
|
|
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,getBaseGateway as n}from"../../../../utils/index.js";import i from"../../Basic/index.js";import{jsx as a}from"react/jsx-runtime";function s(s){const{params:m={},placeholder:p="人员",isNeedCorpInfoId:d=!1,isNeedDepartmentId:f=!0,isNeedPostId:c=!1,extraParams:l={},...u}=s,I={noMain:"",eqEmploymentFlag:1},[y,g]=t([]);return r(()=>{(async()=>{if(!d&&!f&&!c)return void console.error("【PersonnelSelect】 请至少传入一个参数");if(d&&(!m.corpinfoId||"string"!=typeof m.corpinfoId))return;if(f&&(!m.departmentId||"string"!=typeof m.departmentId))return;if(c&&(!m.postId||"string"!=typeof m.postId))return;const t={...I,...l},r={params:m,extraParams:t};await o(r,async()=>{const{data:r}=await e(`/${n()}/user/listAll`,"get",{...m,...t,time:(new Date).getTime()});return r},g)})()},[JSON.stringify(m),d,f,c,JSON.stringify(l)]),a(i,{data:y,placeholder:p,...u})}s.displayName="PersonnelSelect";export{s 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{executeWithCache as n}from"../../../../utils/index.js";import
|
|
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,getBaseGateway as i}from"../../../../utils/index.js";import p from"../../Basic/index.js";import{jsx as a}from"react/jsx-runtime";function s(s){const{params:d={},placeholder:o="部门",isNeedCorpInfoId:l=!1,isNeedParentId:c=!1,searchType:m="current",...y}=s,[T,f]=r([]);return t(()=>{(async()=>{if("current"===m){if(l&&!d.eqCorpinfoId)return;if(c&&!d.eqParentId)return}let r="";const t={...d,time:(new Date).getTime()};"current"===m&&(r=`/${i()}/department/listTree`,delete t.inType,delete t.enterpriseType),"all"===m&&(r=`/${i()}/department/listAllTree`,delete t.inType,delete t.enterpriseType,delete t.eqCorpinfoId,delete t.eqParentId),"inType"===m&&(r=`/${i()}/department/listAllTreeByCorpType`,delete t.eqCorpinfoId,delete t.eqParentId,t.enterpriseType&&!Array.isArray(t.enterpriseType)&&(t.enterpriseType=[t.enterpriseType]));const p={searchType:m,params:d};await n(p,async()=>{const{data:n}=await e(r,"post",t);return n},f)})()},[JSON.stringify(d),l,c,m]),a(p,{treeData:T,placeholder:o,childrenKey:"childrenList",...y})}s.displayName="DepartmentSelectTree";export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as i}from"react";function l(l="object"){const[
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as i}from"react";import{getBaseGateway as t}from"../../utils/index.js";function l(l="object"){const[r,o]=i(!1);let s=0;const n=i=>{if(i)return s++,s>0&&o(!0),new Promise((l,r)=>{const{files:n=[],single:f=!0}=i;if(n)if(Array.isArray(n)){if(0===n.length)return s--,s<=0&&o(!1),void l();if(f){if(!n[0].filePath)return s--,s<=0&&o(!1),void l()}else if(0===n.filter(e=>e.id).length)return s--,s<=0&&o(!1),void l();e(f?`/${t()}/imgFiles/delete?filePath=${n[0].filePath}`:`/${t()}/imgFiles/ids?ids=${n.filter(e=>e.id).map(e=>e.id)}`,"delete").then(e=>{l(e.data)}).catch(e=>{r(e)}).finally(()=>{s--,s<=0&&o(!1)})}else console.error("【deleteFile】 的 files 需要是一个数组");else console.error("【deleteFile】 缺少 files 参数")});console.error("【deleteFile】 缺少 options 参数")};return"array"===l?[r,n]:{loading:r,deleteFile:n}}export{l as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as r}from"../../enum/uploadFile/gwj/index.js";import{addingPrefixToFile as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as r}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as i,addingPrefixToFile as t}from"../../utils/index.js";function n(n="object"){const[l,s]=o(!1);let a=0;const c=o=>{if(o)return a++,a>0&&s(!0),new Promise((n,l)=>{const{eqType:c,eqForeignKey:p,single:g=!0,foreignKey:f,dataSource:u}=o;if(!c)return void console.error("【getFile】 缺少 options.eqType 参数");if(!Object.values(r).includes(c))return void console.error(`【getFile】 传入的 eqType 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 eqType 是 ${c}`);if(g){if(null==p||""===p)return void console.error("【getFile】 缺少 options.eqForeignKey 参数")}else{if(null==f||""===f)return void console.error("【getFile】 缺少 options.foreignKey 参数");if(null==u||""===u)return void console.error("【getFile】 缺少 options.dataSource 参数");if(0===u.length)return s(!1),void n(u)}const y=g?{eqType:c,eqForeignKey:p}:{eqType:c,inForeignKey:u.map(e=>e[f]).join(",")};e(`/${i()}/imgFiles/listAll`,"get",y).then(e=>{if(g)n(t(e.data).map(e=>({...e,type:void 0})));else{const o=new Map;e.data.forEach(e=>{o.has(e.foreignKey)||o.set(e.foreignKey,[]),o.get(e.foreignKey).push({...e,type:void 0})});const r=u.map(e=>{const r=e[f],i=o.has(r)?t(o.get(r)):[];return{...e,files:i}});n(r)}}).catch(e=>{l(e)}).finally(()=>{a--,a<=0&&s(!1)})});console.error("【getFile】 缺少 options 参数")};return"array"===n?[l,c]:{loading:l,getFile:c}}export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as t}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";function
|
|
1
|
+
import{request as t}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{getBaseGateway as e}from"../../utils/index.js";function r(r="object"){const[n,a]=o(!1);let i=0;const s=()=>(i++,i>0&&a(!0),new Promise((o,r)=>{t(`/${e()}/user/getInfo`,"get",{}).then(t=>{o(t.data)}).catch(t=>{r(t)}).finally(()=>{i--,i<=0&&a(!1)})}));return"array"===r?[n,s]:{loading:n,getUserInfo:s}}export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as
|
|
1
|
+
import{request as e}from"@cqsjjb/jjb-common-lib/http.js";import{useState as o}from"react";import{UPLOAD_FILE_TYPE_ENUM as r,UPLOAD_FILE_PATH_ENUM as i}from"../../enum/uploadFile/gwj/index.js";import{getBaseGateway as t}from"../../utils/index.js";function l(l="object"){const[n,a]=o(!1);let p=0;const s=o=>{if(o)return p++,p>0&&a(!0),new Promise((l,n)=>{const{files:s=[],single:f=!0,params:d}=o;if(!s)return void console.error("【uploadFile】 缺少 files 参数");if(!Array.isArray(s))return void console.error("【uploadFile】 的 files 需要是一个数组");if(!d)return void console.error("【uploadFile】 缺少 options.params 参数");if(!d.type)return void console.error("【uploadFile】 缺少 options.params.type 参数");if(!Object.values(r).includes(d.type))return void console.error(`【uploadFile】 传入的 type 不在 UPLOAD_FILE_TYPE_ENUM 中,当前传入的 type 是 ${d.type}`);const u=i[d.type];if(!u)return void console.error(`【uploadFile】未找到 type ${d.type} 对应的 path `);if(!f){if(!d.hasOwnProperty("foreignKey"))return void console.error("【uploadFile】 的 single 是 false,缺少 options.params.foreignKey 参数");void 0!==d.foreignKey&&null!==d.foreignKey||(d.foreignKey="")}if(0===s.length)return p--,p<=0&&a(!1),void l(f?{filePath:""}:{id:d.foreignKey});const c=new FormData;if(s.forEach(e=>{e.originFileObj&&c.append("files",e.originFileObj)}),Object.keys(d).forEach(e=>{c.append(e,d[e])}),c.append("path",u),0===c.getAll("files").length)return p--,p<=0&&a(!1),void l(f?{filePath:s[0].filePath}:{id:d.foreignKey});e(f?`/${t()}/imgFiles/save`:`/${t()}/imgFiles/batchSave`,"post",c,{"Content-Type":"multipart/form-data"}).then(e=>{l(f?{filePath:e.data.filePath}:{id:e.data.foreignKey})}).catch(e=>{n(e)}).finally(()=>{p--,p<=0&&a(!1)})});console.error("【uploadFile】 缺少 options 参数")};return"array"===l?[n,s]:{loading:n,uploadFile:s}}export{l as default};
|
package/package.json
CHANGED
package/utils/index.d.ts
CHANGED
|
@@ -273,6 +273,12 @@ export function getIndexColumn(pagination: false | BasePaginationConfig): {
|
|
|
273
273
|
* 获取文件url
|
|
274
274
|
*/
|
|
275
275
|
export function getFileUrl(): string;
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* 获取基础接口放在哪个gateway服务下
|
|
279
|
+
*/
|
|
280
|
+
export function getBaseGateway(): string;
|
|
281
|
+
|
|
276
282
|
/**
|
|
277
283
|
* 从服务器获取文件url
|
|
278
284
|
*/
|
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],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(
|
|
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}function getBaseGateway(){return window.baseGateway||"basicInfo"}async function getFileUrlFromServer(){if(window.fileUrl)return;const{data:e}=await request(`/${getBaseGateway()}/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,getBaseGateway,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};
|