@fmdeui/fmui 1.0.4 → 1.0.6

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.
Files changed (68) hide show
  1. package/es/utils/arrayOperation.d.ts +23 -0
  2. package/es/utils/auto-update.d.ts +11 -0
  3. package/es/utils/base64Conver.d.ts +30 -0
  4. package/es/utils/data-signature.d.ts +17 -0
  5. package/es/utils/download.d.ts +46 -0
  6. package/es/utils/exportExcel.d.ts +12 -0
  7. package/es/utils/flowLoading.d.ts +19 -0
  8. package/es/utils/fontts/font-awesome.d.ts +1 -0
  9. package/es/utils/fontts/font_2298093_rnp72ifj3ba.d.ts +1 -0
  10. package/es/utils/formRule.d.ts +36 -0
  11. package/es/utils/formValidate.d.ts +21 -0
  12. package/es/utils/formatTime.d.ts +37 -0
  13. package/es/utils/getStyleSheets.d.ts +12 -0
  14. package/es/utils/gpsConvertor.d.ts +30 -0
  15. package/es/utils/index.d.ts +23 -0
  16. package/es/utils/json-utils.d.ts +6 -0
  17. package/es/utils/loading.d.ts +4 -0
  18. package/es/utils/md5Signature.d.ts +1 -0
  19. package/es/utils/mitt.d.ts +4 -0
  20. package/es/utils/request.d.ts +53 -0
  21. package/es/utils/saulVModel.d.ts +4 -0
  22. package/es/utils/setIconfont.d.ts +12 -0
  23. package/es/utils/signalR.d.ts +3 -0
  24. package/es/utils/storage.d.ts +27 -0
  25. package/es/utils/theme.d.ts +13 -0
  26. package/es/utils/toolsValidate.d.ts +148 -0
  27. package/es/utils/watermark.d.ts +10 -0
  28. package/index.js +1 -1
  29. package/index.min.js +1 -1
  30. package/index.min.mjs +1 -1
  31. package/index.mjs +1 -1
  32. package/lib/utils/arrayOperation.d.ts +23 -0
  33. package/lib/utils/auto-update.d.ts +11 -0
  34. package/lib/utils/base64Conver.d.ts +30 -0
  35. package/lib/utils/data-signature.d.ts +17 -0
  36. package/lib/utils/download.d.ts +46 -0
  37. package/lib/utils/exportExcel.d.ts +12 -0
  38. package/lib/utils/flowLoading.d.ts +19 -0
  39. package/lib/utils/fontts/font-awesome.d.ts +1 -0
  40. package/lib/utils/fontts/font_2298093_rnp72ifj3ba.d.ts +1 -0
  41. package/lib/utils/formRule.d.ts +36 -0
  42. package/lib/utils/formValidate.d.ts +21 -0
  43. package/lib/utils/formatTime.d.ts +37 -0
  44. package/lib/utils/getStyleSheets.d.ts +12 -0
  45. package/lib/utils/gpsConvertor.d.ts +30 -0
  46. package/lib/utils/index.d.ts +23 -0
  47. package/lib/utils/json-utils.d.ts +6 -0
  48. package/lib/utils/loading.d.ts +4 -0
  49. package/lib/utils/md5Signature.d.ts +1 -0
  50. package/lib/utils/mitt.d.ts +4 -0
  51. package/lib/utils/request.d.ts +53 -0
  52. package/lib/utils/saulVModel.d.ts +4 -0
  53. package/lib/utils/setIconfont.d.ts +12 -0
  54. package/lib/utils/signalR.d.ts +3 -0
  55. package/lib/utils/storage.d.ts +27 -0
  56. package/lib/utils/theme.d.ts +13 -0
  57. package/lib/utils/toolsValidate.d.ts +148 -0
  58. package/lib/utils/watermark.d.ts +10 -0
  59. package/locale/en.js +1 -1
  60. package/locale/en.min.js +1 -1
  61. package/locale/en.min.mjs +1 -1
  62. package/locale/en.mjs +1 -1
  63. package/locale/zh-cn.js +1 -1
  64. package/locale/zh-cn.min.js +1 -1
  65. package/locale/zh-cn.min.mjs +1 -1
  66. package/locale/zh-cn.mjs +1 -1
  67. package/package.json +1 -1
  68. /package/lib/{make-installer.css → component.css} +0 -0
package/index.min.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! fmdeui-fmui v1.0.4 */(function(d,ee){typeof exports=="object"&&typeof module!="undefined"?ee(exports,require("pinia"),require("crypto-js"),require("xlsx-js-style"),require("element-plus"),require("vue"),require("@element-plus/icons-vue"),require("mitt"),require("axios"),require("js-cookie"),require("vxe-table"),require("@vxe-ui/plugin-render-element"),require("@vxe-ui/plugin-export-xlsx"),require("vxe-pc-ui"),require("vue-i18n"),require("exceljs"),require("lodash-es"),require("@vueuse/core"),require("vue-router"),require("nprogress")):typeof define=="function"&&define.amd?define(["exports","pinia","crypto-js","xlsx-js-style","element-plus","vue","@element-plus/icons-vue","mitt","axios","js-cookie","vxe-table","@vxe-ui/plugin-render-element","@vxe-ui/plugin-export-xlsx","vxe-pc-ui","vue-i18n","exceljs","lodash-es","@vueuse/core","vue-router","nprogress"],ee):(d=typeof globalThis!="undefined"?globalThis:d||self,ee(d.fmdeuifmui={},d.Pinia,d.CryptoJS,d.XLSX,d.ElementPlus,d.Vue,d.ElementPlusIconsVue,d.mitt,d.axios,d.Cookies,d.VxeUITable,d.VxeUIPluginRenderElement,d.VxeUIPluginExportXLSX,d.VxeUIExport,d.vueI18n,d.ExcelJS,d._,d.VueUse,d.vueRouter,d.NProgress))})(this,(function(d,ee,wt,Xe,H,t,Qe,Ur,kt,be,Fe,jr,_r,$r,Wr,Gr,St,Et,Ft,xe){"use strict";const le=ee.createPinia();function st(e,r){const o=ct(e),n=ct(r);let a=0;const l=o.length;for(let i in n)for(let u in o)n[i]===o[u]&&a++;return a===l}function Pt(e,r){if(!e||!r)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(r);if(o.length!=n.length)return!1;for(let a=0;a<o.length;a++){let l=o[a],i=e[l],u=r[l];if(!r.hasOwnProperty(l))return!1;if(i instanceof Object){if(!Pt(i,u))return!1}else if(i!==u)return!1}return!0}function ct(e,r){if(e.length)if(r){const o={};return e.reduce((n,a)=>{const l=a[r];return l&&!o[l]&&(o[l]=!0,n.push(a)),n},[])}else return[...new Set(e)];else return e}const ut=e=>e&&(Array.isArray(e)?e.map(r=>ut(r)):typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,ut(o)])):e);function Mt(e){const r=e.split(","),n=r[0].match(/:(.*?);/)[1],a=window.atob(r[1]);let l=a.length;const i=new Uint8Array(l);for(;l--;)i[l]=a.charCodeAt(l);return new Blob([i],{type:n})}function Dt(e,r){return new Promise((o,n)=>{let a=document.createElement("CANVAS");const l=a.getContext("2d"),i=new Image;i.crossOrigin="",i.onload=function(){if(!a||!l)return n();a.height=i.height,a.width=i.width,l.drawImage(i,0,0);const u=a.toDataURL(r||"image/png");a=null,o(u)},i.src=e})}function Kr(e){return new Promise((r,o)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>r(n.result),n.onerror=a=>o(a)})}function Jr(e,r,o=null){var n=e.split(","),a=n[0].match(/:(.*?);/)[1],l=atob(n[1]);let i=l.length;for(var u=new Uint8Array(i);i--;)u[i]=l.charCodeAt(i);return new File([u],r,{type:o||a})}function Yr(e,r,o){return o==null&&(o=e.type),new File([e],r,{type:o})}function Zr(e,r,o,n,a=null){const l=typeof n=="string"?n:JSON.stringify(n);a||(a=new Date().getTime()-new Date("1970-01-01T00:00:00Z").getTime());const i={app_id:e,app_key:r,command:o,data:l,timestamp:a},u=Object.keys(i);u.sort();let T="";for(let S=0;S<u.length;S++){const z=u[S],m=i[z];T+=z+"="+m,S<u.length-1&&(T+=",")}var P=wt.MD5(T).toString(wt.enc.Hex).toLowerCase();return{app_id:e,app_key:r,command:o,data:l,timestamp:a,signature:P}}function Xr(e,r,o,n){Dt(e).then(a=>{Lt(a,r,o,n)})}function Lt(e,r,o,n){const a=Mt(e);zt(a,r,o,n)}function zt(e,r,o,n){const a=typeof n!="undefined"?[n,e]:[e],l=new Blob(a,{type:o||"application/octet-stream"}),i=window.URL.createObjectURL(l),u=document.createElement("a");u.style.display="none",u.href=i,u.setAttribute("download",r),typeof u.download=="undefined"&&u.setAttribute("target","_blank"),document.body.appendChild(u),u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(i)}function Bt({url:e,target:r="_blank",fileName:o}){const n=window.navigator.userAgent.toLowerCase().indexOf("chrome")>-1,a=window.navigator.userAgent.toLowerCase().indexOf("safari")>-1;if(/(iP)/g.test(window.navigator.userAgent))return console.error("Your browser does not support download!"),!1;if(n||a){const l=document.createElement("a");if(l.href=e,l.target=r,l.download!==void 0&&(l.download=o||e.substring(e.lastIndexOf("/")+1,e.length)),document.createEvent){const i=document.createEvent("MouseEvents");return i.initEvent("click",!0,!0),l.dispatchEvent(i),!0}}return e.indexOf("?")===-1&&(e+="?download"),At(e,{target:r}),!0}function At(e,r){const{target:o="__blank",noopener:n=!0,noreferrer:a=!0}=r||{},l=[];n&&l.push("noopener=yes"),a&&l.push("noreferrer=yes"),window.open(e,o,l.join(","))}function Rt(e){var r=e["content-disposition"];if(r!=null){var o=r.split(";")[1].split("filename=")[1],n=r.split("filename*=")[1];return o!=null&&o.includes("%")&&(o=decodeURIComponent(o)),n&&(o=decodeURIComponent(n.split("''")[1])),o}}function Qr(e,r=void 0){const o=e.headers["content-type"];r=r||Rt(e.headers);const n=e.data instanceof Blob?e.data:new Blob([e.data],{type:o});Bt({url:window.URL.createObjectURL(n),fileName:r})}function ea(e,r,o,n){var a=new Array,l=new Array;const i={top:{style:"thin",color:{rgb:"000000"}},bottom:{style:"thin",color:{rgb:"000000"}},left:{style:"thin",color:{rgb:"000000"}},right:{style:"thin",color:{rgb:"000000"}}};let u=Ot(o),T=qt(o),C=new Array(u);for(let F=0;F<C.length;F++)C[F]=new Array(T);let c=0;for(let F=0;F<o.length;F++){let B=o[F],g=qt([B]),h=Ot([B]);for(let k=0;k<g;k++){c=c+k;for(let q=0;q<h;q++)P(q,c,k,B,C)}c++}for(let F=0;F<C.length;F++){let B=C[F];for(let g=0;g<B.length;g++)C[F][g]==null&&F>0&&(C[F][g]=C[F-1][g])}function P(F,B,g,h,k){F>0?h.children?P(F,c,g,h.children,k):k[F][B]=h[g]:k[F][B]=h}for(let F=0;F<C.length;F++){var S=new Array;let B=C[F];for(let g=0;g<B.length;g++){let h=B[g],k=200;h.width&&!isNaN(h.width)&&(k=parseInt(h.width)*.7),l.push({wpx:k}),S.push({v:h.label,t:"s",s:{font:{bold:!0},alignment:{wrapText:!0,horizontal:h.headerAlign?h.headerAlign:h.align?h.align:"",vertical:"center"},border:i}})}a.push(S)}var z=[],m=!1,b={s:{r:0,c:0},e:{r:0,c:0}};for(let F=0;F<T;F++){let B=C[0][F];for(let g=0;g<u;g++){let h=C[g][F];h==B&&m==!1?(m=!0,b.s={r:g,c:F}):h!=B&&m==!0?(b.e={r:g-1,c:F},b.s.r!=b.e.r?(z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):g==u-1&&m==!0?(b.e={r:g,c:F},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):(B=h,m=!0,b.s={r:g,c:F})):g==u-1&&m==!0&&(b.e={r:g,c:F},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}})}}m=!1;for(let F=0;F<u;F++){let B=C[F][0];for(let g=0;g<T;g++){let h=C[F][g];h==B&&m==!1?(m=!0,b.s={r:F,c:g}):h!=B&&m==!0?(b.e={r:F,c:g-1},b.s.c!=b.e.c?(z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):g==T-1&&m==!0?(b.e={r:F,c:g},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):(B=h,m=!0,b.s={r:F,c:g})):g==T-1&&m==!0&&(b.e={r:F,c:g},b.s.c!=b.e.c&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}})}}e.forEach(F=>{var B=new Array;C[C.length-1].forEach(g=>{if(F.hasOwnProperty(g.prop)||pt(F,g.prop)){let k="";if(F[g.prop]!=null)if(g.formatter){var h=g.formatter(F);k=dt(h)}else k=F[g.prop];else if(pt(F,g.prop))if(g.formatter){var h=g.formatter(F);k=dt(h)}else k=pt(F,g.prop);B.push({v:k,t:"s",s:{alignment:{wrapText:!0,horizontal:g.align?g.align:"",vertical:"center"},border:i}})}}),a.push(B)});const j=Xe.utils.aoa_to_sheet(a),W=Xe.utils.book_new();j["!cols"]=l,j["!merges"]=z,Xe.utils.book_append_sheet(W,j,n),Xe.writeFile(W,r+".xlsx")}function dt(e){let r="";return e.children?e.children.default?r=e.children.default():e.children.forEach(o=>{r=r+dt(o)}):r=e,r}function Ot(e){let r=1;function o(n,a){n.children&&n.children.length>0&&(a++,a>r&&(r=a),n.children.forEach(l=>o(l,a)))}return e.forEach(n=>o(n,1)),r}function qt(e){let r=0;function o(n){n.children&&n.children.length>0?n.children.forEach(a=>o(a)):r++}return e.forEach(n=>o(n)),r}const pt=(e,r)=>{const o=r.split(".");let n=e;for(const a of o)n=n[a];return n};var ta=Object.defineProperty,ra=(e,r,o)=>r in e?ta(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,aa=(e,r,o)=>ra(e,r+"",o);const oa={lock:!0,text:"",background:"rgba(94, 158, 214, 0.12)",spinner:"el-icon-loading"};class na{constructor(){aa(this,"instance",null)}start(r){try{if(this.instance)return console.warn("Existing loading instance detected"),this.createController();const o=this.normalizeOptions(r);return this.validateConfig(o),this.instance=H.ElLoading.service(o),this.createController()}catch(o){return console.error("Loading initialization failed:",o),this.createController(!0)}}normalizeOptions(r){const o={...oa};return r?typeof r=="string"||t.isRef(r)?{...o,text:t.unref(r)}:{...o,...r,text:r.text?t.unref(r.text):o.text}:o}validateConfig(r){if(r.spinner&&typeof r.spinner!="string"&&console.warn("Custom spinner components require proper registration"),typeof r.text!="string")throw new Error("Loading text must be a string")}createController(r=!1){return{step:o=>(!r&&this.instance&&this.instance.setText(t.unref(o)),this.createController(r)),end:()=>{var o;r||(o=this.instance)==null||o.close(),this.instance=null}}}}const la=new na;function Nt(e,r){let o=e.getDay(),n=Vt(e),a=Math.floor((e.getMonth()+3)/3).toString();const l={"Y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"H+":e.getHours().toString(),"M+":e.getMinutes().toString(),"S+":e.getSeconds().toString(),"q+":a},i={0:"\u65E5",1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB",5:"\u4E94",6:"\u516D"},u={1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB"};/(W+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length>1?RegExp.$1.length>2?"\u661F\u671F"+i[o]:"\u5468"+i[o]:i[o])),/(Q+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length==4?"\u7B2C"+u[a]+"\u5B63\u5EA6":u[a])),/(Z+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length==3?"\u7B2C"+n+"\u5468":n+""));for(let T in l){let C=new RegExp("("+T+")").exec(r);C&&(r=r.replace(C[1],RegExp.$1.length==1?l[T]:l[T].padStart(RegExp.$1.length,"0")))}return r}function Vt(e){let r=new Date(e.getTime()),o=r.getDay()||7;r.setDate(r.getDate()-o+1+5);let n=new Date(r.getFullYear(),0,1),a=n.getDay(),l=1;a!=0&&(l=7-a+1),n=new Date(r.getFullYear(),0,1+l);let i=Math.ceil((r.valueOf()-n.valueOf())/864e5);return Math.ceil(i/7)}function ia(e,r="YYYY-mm-dd"){let o,n,a=new Date().getTime();if(o=new Date(e).getTime(),a=Number.parseInt(`${a-o}`),a<1e4)return"\u521A\u521A";if(a<6e4&&a>=1e4)return n=Math.floor(a/1e3),`${n}\u79D2\u524D`;if(a<36e5&&a>=6e4)return n=Math.floor(a/6e4),`${n}\u5206\u949F\u524D`;if(a<864e5&&a>=36e5)return n=Math.floor(a/36e5),`${n}\u5C0F\u65F6\u524D`;if(a<2592e5&&a>=864e5)return n=Math.floor(a/864e5),`${n}\u5929\u524D`;{let l=new Date(e);return Nt(l,r)}}function sa(e,r){let o=new Date(e).getHours();const n={dawnGreeting:"\u51CC\u6668\u597D",mornGreeting:"\u65E9\u4E0A\u597D",amGreeting:"\u4E0A\u5348\u597D",noonGreeting:"\u4E2D\u5348\u597D",pmGreeting:"\u4E0B\u5348\u597D",duskGreeting:"\u508D\u665A\u597D",eveningGreeting:"\u665A\u4E0A\u597D",nightGreeting:"\u591C\u91CC\u597D"},a=l=>r?r(`message.list.${l}`):n[l];return o<6?a("dawnGreeting"):o<9?a("mornGreeting"):o<12?a("amGreeting"):o<14?a("noonGreeting"):o<17?a("pmGreeting"):o<19?a("duskGreeting"):o<22?a("eveningGreeting"):a("nightGreeting")}const he="change",Te="blur";function ca(){const e=(s="\u6B64\u9879",f=Te)=>({required:!0,message:`${s}\u4E3A\u5FC5\u586B\u9879`,trigger:f}),r=(s,f="\u6B64\u9879",x=Te)=>({required:s!=null?s:!1,message:`${f}\u4E3A\u5FC5\u586B\u9879`,trigger:x}),o=(s,f,x="\u6B64\u9879")=>{let R="";return t.watch(()=>s(),()=>t.nextTick(()=>{var I;return(I=f==null?void 0:f.value)==null?void 0:I.validateField(R).catch(()=>{})}),{immediate:!1,deep:!0}),{validator:(I,X,Q)=>{R=I.field,s()?Q(new Error(`${x}\u4E3A\u5FC5\u586B`)):Q()},trigger:["blur","change"]}},n=(s,f="\u6B64\u9879",x=he)=>({max:s,message:`${f}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 ${s} \u4E2A\u5B57\u7B26`,trigger:x}),a=(s,f="\u6B64\u9879",x=he)=>({min:s,message:`${f}\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E ${s} \u4E2A\u5B57\u7B26`,trigger:x}),l=(s,f,x=Te)=>({pattern:s,message:f,trigger:x}),i=(s,f=Te)=>({trigger:f,validator:(x,R,I)=>{Promise.resolve(s(R)).then(X=>X===!0?I():I(new Error(X))).catch(X=>I(X instanceof Error?X:new Error(String(X))))}}),u=()=>l(/^(1[3-9]\d{9})$|^(0\d{2,3}[-]?\d{7,8})$|^(\(\d{3,4}\)\d{7,8})$|^(\d{7,})$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7\u6216\u7535\u8BDD\u53F7"),T=()=>i(s=>{if(!s)return!0;const f=String(s).trim();if(f.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(f)?!0:"\u8BF7\u8F93\u5165\u6709\u6548\u768415\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";if(f.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(f))return"\u8BF7\u8F93\u5165\u6709\u6548\u768418\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";const R=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],I=["1","0","X","9","8","7","6","5","4","3","2"];let X=0,Q=0,ce=0;for(let M=0;M<17;M++)Q=parseInt(f[M]),ce=R[M],X+=Q*ce;return I[X%11]!==f[17].toUpperCase()?"\u8EAB\u4EFD\u8BC1\u53F7\u6821\u9A8C\u7801\u9519\u8BEF":!0}return"\u8EAB\u4EFD\u8BC1\u53F7\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D"},Te),C=()=>l(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740"),c=(s="\u6B64\u9879",f=he)=>l(/^\d+$/,`${s}\u9700\u4E3A\u7EAF\u6570\u5B57`,f),P=(s,f,x="\u6570\u503C")=>i(R=>{if(R===""||R===void 0||R===null)return`\u8BF7\u8F93\u5165${x}`;if(!Number.isInteger(Number(R)))return`${x}\u9700\u4E3A\u6574\u6570`;const I=Number(R);return I<s||I>f?`${x}\u9700\u5728 ${s}~${f} \u4E4B\u95F4`:!0},he),S=(s,f="\u4E24\u6B21\u8F93\u5165")=>i(x=>x===s()?!0:`${f}\u4E0D\u4E00\u81F4`,he),z=s=>{if(s instanceof Date&&!isNaN(s.getTime()))return s;if(typeof s=="number"){const f=new Date(s);return isNaN(f.getTime())?null:f}if(typeof s=="string"&&s){const f=new Date(s);return isNaN(f.getTime())?null:f}return null},m=(s="\u65E5\u671F",f=he)=>i(x=>{if(x===""||x===void 0||x===null)return!0;const R=z(x);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${s}`;const I=new Date;return I.setHours(0,0,0,0),R.getTime()>I.getTime()?!0:`${s}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u540E`},f),b=(s="\u65E5\u671F",f=he)=>i(x=>{if(x===""||x===void 0||x===null)return!0;const R=z(x);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${s}`;const I=new Date;return I.setHours(0,0,0,0),R.getTime()<I.getTime()?!0:`${s}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u524D`},f),j=(s,f,x="\u6B64\u9879")=>i(R=>{if(R===""||R===void 0||R===null)return!0;const I=String(R).trim();if(!/^\d+(?:\.\d+)?$/.test(I))return`${x}\u5FC5\u987B\u4E3A\u6570\u5B57`;const[X,Q=""]=I.split(".");return s!==null&&X.length>s?`${x}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${s}\u4F4D`:Q&&f!==null&&Q.length>f?f===0?`${x}\u5FC5\u987B\u4E3A\u6574\u6570`:`${x}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${f}\u4F4D`:!0},Te),W=(s,f,x="\u5B57\u6BB5")=>s&&String(s).length>f?(H.ElMessage.error(`${x}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7${f}\u4E2A\u5B57\u7B26`),!1):!0,F=(s,f="\u5B57\u6BB5")=>!s||String(s).trim()===""?(H.ElMessage.error(`${f}\u4E0D\u80FD\u4E3A\u7A7A`),!1):!0,B=(s,f="\u5B57\u6BB5")=>s?/^\d+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u5FC5\u987B\u4E3A\u7EAF\u6570\u5B57`),!1):!0,g=(s,f,x,R="\u5B57\u6BB5")=>{if(!s)return!0;const I=Number(s);return Number.isInteger(I)?I<f||I>x?(H.ElMessage.error(`${R}\u5FC5\u987B\u5728${f}~${x}\u4E4B\u95F4`),!1):!0:(H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1)},h=(s,f="\u5B57\u6BB5")=>s?/^[\u4e00-\u9fa5]+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u5FC5\u987B\u4E3A\u4E2D\u6587`),!1):!0,k=(s,f="\u5B57\u6BB5")=>s?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,q=(s,f="\u5B57\u6BB5")=>s?/^1[3-9]\d{9}$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,p=(s,f="\u5B57\u6BB5")=>{if(!s)return!0;const x=String(s).trim();if(x.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(x)?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1);if(x.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(x))return H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1;const I=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],X=["1","0","X","9","8","7","6","5","4","3","2"];let Q=0;for(let E=0;E<17;E++)Q+=parseInt(x[E])*I[E];return X[Q%11]!==x[17].toUpperCase()?(H.ElMessage.error(`${f}\u6821\u9A8C\u7801\u9519\u8BEF`),!1):!0}return H.ElMessage.error(`${f}\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D`),!1},w=(s,f,x)=>s?f.test(String(s))?!0:(H.ElMessage.error(x),!1):!0,L=(s,f)=>{for(const x of f)if(!x(s))return!1;return!0},G=(s,f,x,R="\u5B57\u6BB5")=>{if(!s)return!0;const I=String(s).trim();if(!/^\d+(?:\.\d+)?$/.test(I))return H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6570\u5B57`),!1;const[X,Q=""]=I.split(".");return X.length>f?(H.ElMessage.error(`${R}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${f}\u4F4D`),!1):Q&&Q.length>x?x===0?(H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1):(H.ElMessage.error(`${R}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${x}\u4F4D`),!1):!0};return{required:e,requiredIf:r,validatorIf:o,maxLen:n,minLen:a,pattern:l,validator:i,phone:u,idCard:T,email:C,digits:c,intRange:P,confirmSame:S,dateAfterToday:m,dateBeforeToday:b,numberPrecision:j,validateRequired:F,validateNumber:B,validateIntRange:g,validateChinese:h,validateLength:W,validateEmail:k,validatePhone:q,validateIdCard:p,validatePattern:w,validateMultiple:L,validateField:(s,f,x,R)=>{switch(f){case"required":return F(s,x);case"length":return W(s,R.maxLength,x);case"number":return B(s,x);case"range":return g(s,R.min,R.max,x);case"chinese":return h(s,x);case"email":return k(s,x);case"phone":return q(s,x);case"idcard":return p(s,x);case"pattern":return w(s,R.pattern,R.message);case"decimal":return G(s,R.maxIntDigits,R.maxFracDigits,x);default:return!0}},validateDecimalPrecision:G}}const It=async(e,r)=>{if(!e)return console.warn("Form ref is undefined"),!1;const{showMessage:o=!0,message:n="\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\u662F\u5426\u6B63\u786E"}=r||{};try{return await e.validate(),!0}catch(a){if(a&&typeof a=="object"){const l=Object.keys(a)[0];l&&e.scrollToField(l)}return o&&H.ElMessage.warning(n),!1}},ua=async(e,r,o)=>{await It(e,o)&&await r()},Ht=6378245,mt=.006693421622965943,da=mt*mt;function Ut(e,r){let o=ma(e-105,r-35),n=ha(e-105,r-35),a=r/180*Math.PI,l=Math.sin(a);l=1-mt*l*l;let i=Math.sqrt(l);return o=o*180/(Ht*(1-da)/(l*i)*Math.PI),n=n*180/(Ht/i*Math.cos(a)*Math.PI),{lng:e+n,lat:r+o}}function jt(e,r){const o=Math.sqrt(e*e+r*r)+2e-5*Math.sin(r*Math.PI),n=Math.atan2(r,e)+3e-6*Math.cos(e*Math.PI),a=o*Math.cos(n)+.0065,l=o*Math.sin(n)+.006;return{lng:a,lat:l}}function pa(e,r){const{lng:o,lat:n}=Ut(e,r);return jt(o,n)}const ma=(e,r)=>{let o=-100+2*e+3*r+.2*r*r+.1*e*r+.2*Math.sqrt(Math.abs(e));return o+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,o+=(20*Math.sin(r*Math.PI)+40*Math.sin(r/3*Math.PI))*2/3,o+=(160*Math.sin(r/12*Math.PI)+320*Math.sin(r*Math.PI/30))*2/3,o},ha=(e,r)=>{let o=300+e+2*r+.1*e*e+.1*e*r+.1*Math.sqrt(Math.abs(e));return o+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,o+=(20*Math.sin(e*Math.PI)+40*Math.sin(e/3*Math.PI))*2/3,o+=(150*Math.sin(e/12*Math.PI)+300*Math.sin(e/30*Math.PI))*2/3,o},ga=e=>{if(e&&typeof e=="string")try{const r=JSON.parse(e);return typeof r=="object"?r:e}catch(r){return e}else return e};function fa(){if(document.getElementById("full-mask-style"))return;const e=document.createElement("style");e.id="full-mask-style",e.innerHTML=`
1
+ /*! fmdeui-fmui v1.0.6 */(function(d,ee){typeof exports=="object"&&typeof module!="undefined"?ee(exports,require("pinia"),require("crypto-js"),require("xlsx-js-style"),require("element-plus"),require("vue"),require("@element-plus/icons-vue"),require("mitt"),require("axios"),require("js-cookie"),require("vxe-table"),require("@vxe-ui/plugin-render-element"),require("@vxe-ui/plugin-export-xlsx"),require("vxe-pc-ui"),require("vue-i18n"),require("exceljs"),require("lodash-es"),require("@vueuse/core"),require("vue-router"),require("nprogress")):typeof define=="function"&&define.amd?define(["exports","pinia","crypto-js","xlsx-js-style","element-plus","vue","@element-plus/icons-vue","mitt","axios","js-cookie","vxe-table","@vxe-ui/plugin-render-element","@vxe-ui/plugin-export-xlsx","vxe-pc-ui","vue-i18n","exceljs","lodash-es","@vueuse/core","vue-router","nprogress"],ee):(d=typeof globalThis!="undefined"?globalThis:d||self,ee(d.fmdeuifmui={},d.Pinia,d.CryptoJS,d.XLSX,d.ElementPlus,d.Vue,d.ElementPlusIconsVue,d.mitt,d.axios,d.Cookies,d.VxeUITable,d.VxeUIPluginRenderElement,d.VxeUIPluginExportXLSX,d.VxeUIExport,d.vueI18n,d.ExcelJS,d._,d.VueUse,d.vueRouter,d.NProgress))})(this,(function(d,ee,wt,Xe,H,t,Qe,Ur,kt,be,Fe,jr,_r,$r,Wr,Gr,St,Et,Ft,xe){"use strict";const le=ee.createPinia();function st(e,r){const o=ct(e),n=ct(r);let a=0;const l=o.length;for(let i in n)for(let u in o)n[i]===o[u]&&a++;return a===l}function Pt(e,r){if(!e||!r)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(r);if(o.length!=n.length)return!1;for(let a=0;a<o.length;a++){let l=o[a],i=e[l],u=r[l];if(!r.hasOwnProperty(l))return!1;if(i instanceof Object){if(!Pt(i,u))return!1}else if(i!==u)return!1}return!0}function ct(e,r){if(e.length)if(r){const o={};return e.reduce((n,a)=>{const l=a[r];return l&&!o[l]&&(o[l]=!0,n.push(a)),n},[])}else return[...new Set(e)];else return e}const ut=e=>e&&(Array.isArray(e)?e.map(r=>ut(r)):typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,ut(o)])):e);function Mt(e){const r=e.split(","),n=r[0].match(/:(.*?);/)[1],a=window.atob(r[1]);let l=a.length;const i=new Uint8Array(l);for(;l--;)i[l]=a.charCodeAt(l);return new Blob([i],{type:n})}function Dt(e,r){return new Promise((o,n)=>{let a=document.createElement("CANVAS");const l=a.getContext("2d"),i=new Image;i.crossOrigin="",i.onload=function(){if(!a||!l)return n();a.height=i.height,a.width=i.width,l.drawImage(i,0,0);const u=a.toDataURL(r||"image/png");a=null,o(u)},i.src=e})}function Kr(e){return new Promise((r,o)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>r(n.result),n.onerror=a=>o(a)})}function Jr(e,r,o=null){var n=e.split(","),a=n[0].match(/:(.*?);/)[1],l=atob(n[1]);let i=l.length;for(var u=new Uint8Array(i);i--;)u[i]=l.charCodeAt(i);return new File([u],r,{type:o||a})}function Yr(e,r,o){return o==null&&(o=e.type),new File([e],r,{type:o})}function Zr(e,r,o,n,a=null){const l=typeof n=="string"?n:JSON.stringify(n);a||(a=new Date().getTime()-new Date("1970-01-01T00:00:00Z").getTime());const i={app_id:e,app_key:r,command:o,data:l,timestamp:a},u=Object.keys(i);u.sort();let T="";for(let S=0;S<u.length;S++){const z=u[S],m=i[z];T+=z+"="+m,S<u.length-1&&(T+=",")}var P=wt.MD5(T).toString(wt.enc.Hex).toLowerCase();return{app_id:e,app_key:r,command:o,data:l,timestamp:a,signature:P}}function Xr(e,r,o,n){Dt(e).then(a=>{Lt(a,r,o,n)})}function Lt(e,r,o,n){const a=Mt(e);zt(a,r,o,n)}function zt(e,r,o,n){const a=typeof n!="undefined"?[n,e]:[e],l=new Blob(a,{type:o||"application/octet-stream"}),i=window.URL.createObjectURL(l),u=document.createElement("a");u.style.display="none",u.href=i,u.setAttribute("download",r),typeof u.download=="undefined"&&u.setAttribute("target","_blank"),document.body.appendChild(u),u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(i)}function Bt({url:e,target:r="_blank",fileName:o}){const n=window.navigator.userAgent.toLowerCase().indexOf("chrome")>-1,a=window.navigator.userAgent.toLowerCase().indexOf("safari")>-1;if(/(iP)/g.test(window.navigator.userAgent))return console.error("Your browser does not support download!"),!1;if(n||a){const l=document.createElement("a");if(l.href=e,l.target=r,l.download!==void 0&&(l.download=o||e.substring(e.lastIndexOf("/")+1,e.length)),document.createEvent){const i=document.createEvent("MouseEvents");return i.initEvent("click",!0,!0),l.dispatchEvent(i),!0}}return e.indexOf("?")===-1&&(e+="?download"),At(e,{target:r}),!0}function At(e,r){const{target:o="__blank",noopener:n=!0,noreferrer:a=!0}=r||{},l=[];n&&l.push("noopener=yes"),a&&l.push("noreferrer=yes"),window.open(e,o,l.join(","))}function Rt(e){var r=e["content-disposition"];if(r!=null){var o=r.split(";")[1].split("filename=")[1],n=r.split("filename*=")[1];return o!=null&&o.includes("%")&&(o=decodeURIComponent(o)),n&&(o=decodeURIComponent(n.split("''")[1])),o}}function Qr(e,r=void 0){const o=e.headers["content-type"];r=r||Rt(e.headers);const n=e.data instanceof Blob?e.data:new Blob([e.data],{type:o});Bt({url:window.URL.createObjectURL(n),fileName:r})}function ea(e,r,o,n){var a=new Array,l=new Array;const i={top:{style:"thin",color:{rgb:"000000"}},bottom:{style:"thin",color:{rgb:"000000"}},left:{style:"thin",color:{rgb:"000000"}},right:{style:"thin",color:{rgb:"000000"}}};let u=Ot(o),T=qt(o),C=new Array(u);for(let F=0;F<C.length;F++)C[F]=new Array(T);let c=0;for(let F=0;F<o.length;F++){let B=o[F],g=qt([B]),h=Ot([B]);for(let k=0;k<g;k++){c=c+k;for(let q=0;q<h;q++)P(q,c,k,B,C)}c++}for(let F=0;F<C.length;F++){let B=C[F];for(let g=0;g<B.length;g++)C[F][g]==null&&F>0&&(C[F][g]=C[F-1][g])}function P(F,B,g,h,k){F>0?h.children?P(F,c,g,h.children,k):k[F][B]=h[g]:k[F][B]=h}for(let F=0;F<C.length;F++){var S=new Array;let B=C[F];for(let g=0;g<B.length;g++){let h=B[g],k=200;h.width&&!isNaN(h.width)&&(k=parseInt(h.width)*.7),l.push({wpx:k}),S.push({v:h.label,t:"s",s:{font:{bold:!0},alignment:{wrapText:!0,horizontal:h.headerAlign?h.headerAlign:h.align?h.align:"",vertical:"center"},border:i}})}a.push(S)}var z=[],m=!1,b={s:{r:0,c:0},e:{r:0,c:0}};for(let F=0;F<T;F++){let B=C[0][F];for(let g=0;g<u;g++){let h=C[g][F];h==B&&m==!1?(m=!0,b.s={r:g,c:F}):h!=B&&m==!0?(b.e={r:g-1,c:F},b.s.r!=b.e.r?(z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):g==u-1&&m==!0?(b.e={r:g,c:F},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):(B=h,m=!0,b.s={r:g,c:F})):g==u-1&&m==!0&&(b.e={r:g,c:F},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}})}}m=!1;for(let F=0;F<u;F++){let B=C[F][0];for(let g=0;g<T;g++){let h=C[F][g];h==B&&m==!1?(m=!0,b.s={r:F,c:g}):h!=B&&m==!0?(b.e={r:F,c:g-1},b.s.c!=b.e.c?(z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):g==T-1&&m==!0?(b.e={r:F,c:g},b.s.r!=b.e.r&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}}):(B=h,m=!0,b.s={r:F,c:g})):g==T-1&&m==!0&&(b.e={r:F,c:g},b.s.c!=b.e.c&&h==B&&z.push(JSON.parse(JSON.stringify(b))),m=!1,b={s:{r:0,c:0},e:{r:0,c:0}})}}e.forEach(F=>{var B=new Array;C[C.length-1].forEach(g=>{if(F.hasOwnProperty(g.prop)||pt(F,g.prop)){let k="";if(F[g.prop]!=null)if(g.formatter){var h=g.formatter(F);k=dt(h)}else k=F[g.prop];else if(pt(F,g.prop))if(g.formatter){var h=g.formatter(F);k=dt(h)}else k=pt(F,g.prop);B.push({v:k,t:"s",s:{alignment:{wrapText:!0,horizontal:g.align?g.align:"",vertical:"center"},border:i}})}}),a.push(B)});const j=Xe.utils.aoa_to_sheet(a),W=Xe.utils.book_new();j["!cols"]=l,j["!merges"]=z,Xe.utils.book_append_sheet(W,j,n),Xe.writeFile(W,r+".xlsx")}function dt(e){let r="";return e.children?e.children.default?r=e.children.default():e.children.forEach(o=>{r=r+dt(o)}):r=e,r}function Ot(e){let r=1;function o(n,a){n.children&&n.children.length>0&&(a++,a>r&&(r=a),n.children.forEach(l=>o(l,a)))}return e.forEach(n=>o(n,1)),r}function qt(e){let r=0;function o(n){n.children&&n.children.length>0?n.children.forEach(a=>o(a)):r++}return e.forEach(n=>o(n)),r}const pt=(e,r)=>{const o=r.split(".");let n=e;for(const a of o)n=n[a];return n};var ta=Object.defineProperty,ra=(e,r,o)=>r in e?ta(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,aa=(e,r,o)=>ra(e,r+"",o);const oa={lock:!0,text:"",background:"rgba(94, 158, 214, 0.12)",spinner:"el-icon-loading"};class na{constructor(){aa(this,"instance",null)}start(r){try{if(this.instance)return console.warn("Existing loading instance detected"),this.createController();const o=this.normalizeOptions(r);return this.validateConfig(o),this.instance=H.ElLoading.service(o),this.createController()}catch(o){return console.error("Loading initialization failed:",o),this.createController(!0)}}normalizeOptions(r){const o={...oa};return r?typeof r=="string"||t.isRef(r)?{...o,text:t.unref(r)}:{...o,...r,text:r.text?t.unref(r.text):o.text}:o}validateConfig(r){if(r.spinner&&typeof r.spinner!="string"&&console.warn("Custom spinner components require proper registration"),typeof r.text!="string")throw new Error("Loading text must be a string")}createController(r=!1){return{step:o=>(!r&&this.instance&&this.instance.setText(t.unref(o)),this.createController(r)),end:()=>{var o;r||(o=this.instance)==null||o.close(),this.instance=null}}}}const la=new na;function Nt(e,r){let o=e.getDay(),n=Vt(e),a=Math.floor((e.getMonth()+3)/3).toString();const l={"Y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"H+":e.getHours().toString(),"M+":e.getMinutes().toString(),"S+":e.getSeconds().toString(),"q+":a},i={0:"\u65E5",1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB",5:"\u4E94",6:"\u516D"},u={1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB"};/(W+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length>1?RegExp.$1.length>2?"\u661F\u671F"+i[o]:"\u5468"+i[o]:i[o])),/(Q+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length==4?"\u7B2C"+u[a]+"\u5B63\u5EA6":u[a])),/(Z+)/.test(r)&&(r=r.replace(RegExp.$1,RegExp.$1.length==3?"\u7B2C"+n+"\u5468":n+""));for(let T in l){let C=new RegExp("("+T+")").exec(r);C&&(r=r.replace(C[1],RegExp.$1.length==1?l[T]:l[T].padStart(RegExp.$1.length,"0")))}return r}function Vt(e){let r=new Date(e.getTime()),o=r.getDay()||7;r.setDate(r.getDate()-o+1+5);let n=new Date(r.getFullYear(),0,1),a=n.getDay(),l=1;a!=0&&(l=7-a+1),n=new Date(r.getFullYear(),0,1+l);let i=Math.ceil((r.valueOf()-n.valueOf())/864e5);return Math.ceil(i/7)}function ia(e,r="YYYY-mm-dd"){let o,n,a=new Date().getTime();if(o=new Date(e).getTime(),a=Number.parseInt(`${a-o}`),a<1e4)return"\u521A\u521A";if(a<6e4&&a>=1e4)return n=Math.floor(a/1e3),`${n}\u79D2\u524D`;if(a<36e5&&a>=6e4)return n=Math.floor(a/6e4),`${n}\u5206\u949F\u524D`;if(a<864e5&&a>=36e5)return n=Math.floor(a/36e5),`${n}\u5C0F\u65F6\u524D`;if(a<2592e5&&a>=864e5)return n=Math.floor(a/864e5),`${n}\u5929\u524D`;{let l=new Date(e);return Nt(l,r)}}function sa(e,r){let o=new Date(e).getHours();const n={dawnGreeting:"\u51CC\u6668\u597D",mornGreeting:"\u65E9\u4E0A\u597D",amGreeting:"\u4E0A\u5348\u597D",noonGreeting:"\u4E2D\u5348\u597D",pmGreeting:"\u4E0B\u5348\u597D",duskGreeting:"\u508D\u665A\u597D",eveningGreeting:"\u665A\u4E0A\u597D",nightGreeting:"\u591C\u91CC\u597D"},a=l=>r?r(`message.list.${l}`):n[l];return o<6?a("dawnGreeting"):o<9?a("mornGreeting"):o<12?a("amGreeting"):o<14?a("noonGreeting"):o<17?a("pmGreeting"):o<19?a("duskGreeting"):o<22?a("eveningGreeting"):a("nightGreeting")}const he="change",Te="blur";function ca(){const e=(s="\u6B64\u9879",f=Te)=>({required:!0,message:`${s}\u4E3A\u5FC5\u586B\u9879`,trigger:f}),r=(s,f="\u6B64\u9879",x=Te)=>({required:s!=null?s:!1,message:`${f}\u4E3A\u5FC5\u586B\u9879`,trigger:x}),o=(s,f,x="\u6B64\u9879")=>{let R="";return t.watch(()=>s(),()=>t.nextTick(()=>{var I;return(I=f==null?void 0:f.value)==null?void 0:I.validateField(R).catch(()=>{})}),{immediate:!1,deep:!0}),{validator:(I,X,Q)=>{R=I.field,s()?Q(new Error(`${x}\u4E3A\u5FC5\u586B`)):Q()},trigger:["blur","change"]}},n=(s,f="\u6B64\u9879",x=he)=>({max:s,message:`${f}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 ${s} \u4E2A\u5B57\u7B26`,trigger:x}),a=(s,f="\u6B64\u9879",x=he)=>({min:s,message:`${f}\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E ${s} \u4E2A\u5B57\u7B26`,trigger:x}),l=(s,f,x=Te)=>({pattern:s,message:f,trigger:x}),i=(s,f=Te)=>({trigger:f,validator:(x,R,I)=>{Promise.resolve(s(R)).then(X=>X===!0?I():I(new Error(X))).catch(X=>I(X instanceof Error?X:new Error(String(X))))}}),u=()=>l(/^(1[3-9]\d{9})$|^(0\d{2,3}[-]?\d{7,8})$|^(\(\d{3,4}\)\d{7,8})$|^(\d{7,})$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7\u6216\u7535\u8BDD\u53F7"),T=()=>i(s=>{if(!s)return!0;const f=String(s).trim();if(f.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(f)?!0:"\u8BF7\u8F93\u5165\u6709\u6548\u768415\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";if(f.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(f))return"\u8BF7\u8F93\u5165\u6709\u6548\u768418\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";const R=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],I=["1","0","X","9","8","7","6","5","4","3","2"];let X=0,Q=0,ce=0;for(let M=0;M<17;M++)Q=parseInt(f[M]),ce=R[M],X+=Q*ce;return I[X%11]!==f[17].toUpperCase()?"\u8EAB\u4EFD\u8BC1\u53F7\u6821\u9A8C\u7801\u9519\u8BEF":!0}return"\u8EAB\u4EFD\u8BC1\u53F7\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D"},Te),C=()=>l(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740"),c=(s="\u6B64\u9879",f=he)=>l(/^\d+$/,`${s}\u9700\u4E3A\u7EAF\u6570\u5B57`,f),P=(s,f,x="\u6570\u503C")=>i(R=>{if(R===""||R===void 0||R===null)return`\u8BF7\u8F93\u5165${x}`;if(!Number.isInteger(Number(R)))return`${x}\u9700\u4E3A\u6574\u6570`;const I=Number(R);return I<s||I>f?`${x}\u9700\u5728 ${s}~${f} \u4E4B\u95F4`:!0},he),S=(s,f="\u4E24\u6B21\u8F93\u5165")=>i(x=>x===s()?!0:`${f}\u4E0D\u4E00\u81F4`,he),z=s=>{if(s instanceof Date&&!isNaN(s.getTime()))return s;if(typeof s=="number"){const f=new Date(s);return isNaN(f.getTime())?null:f}if(typeof s=="string"&&s){const f=new Date(s);return isNaN(f.getTime())?null:f}return null},m=(s="\u65E5\u671F",f=he)=>i(x=>{if(x===""||x===void 0||x===null)return!0;const R=z(x);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${s}`;const I=new Date;return I.setHours(0,0,0,0),R.getTime()>I.getTime()?!0:`${s}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u540E`},f),b=(s="\u65E5\u671F",f=he)=>i(x=>{if(x===""||x===void 0||x===null)return!0;const R=z(x);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${s}`;const I=new Date;return I.setHours(0,0,0,0),R.getTime()<I.getTime()?!0:`${s}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u524D`},f),j=(s,f,x="\u6B64\u9879")=>i(R=>{if(R===""||R===void 0||R===null)return!0;const I=String(R).trim();if(!/^\d+(?:\.\d+)?$/.test(I))return`${x}\u5FC5\u987B\u4E3A\u6570\u5B57`;const[X,Q=""]=I.split(".");return s!==null&&X.length>s?`${x}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${s}\u4F4D`:Q&&f!==null&&Q.length>f?f===0?`${x}\u5FC5\u987B\u4E3A\u6574\u6570`:`${x}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${f}\u4F4D`:!0},Te),W=(s,f,x="\u5B57\u6BB5")=>s&&String(s).length>f?(H.ElMessage.error(`${x}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7${f}\u4E2A\u5B57\u7B26`),!1):!0,F=(s,f="\u5B57\u6BB5")=>!s||String(s).trim()===""?(H.ElMessage.error(`${f}\u4E0D\u80FD\u4E3A\u7A7A`),!1):!0,B=(s,f="\u5B57\u6BB5")=>s?/^\d+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u5FC5\u987B\u4E3A\u7EAF\u6570\u5B57`),!1):!0,g=(s,f,x,R="\u5B57\u6BB5")=>{if(!s)return!0;const I=Number(s);return Number.isInteger(I)?I<f||I>x?(H.ElMessage.error(`${R}\u5FC5\u987B\u5728${f}~${x}\u4E4B\u95F4`),!1):!0:(H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1)},h=(s,f="\u5B57\u6BB5")=>s?/^[\u4e00-\u9fa5]+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u5FC5\u987B\u4E3A\u4E2D\u6587`),!1):!0,k=(s,f="\u5B57\u6BB5")=>s?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,q=(s,f="\u5B57\u6BB5")=>s?/^1[3-9]\d{9}$/.test(String(s))?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,p=(s,f="\u5B57\u6BB5")=>{if(!s)return!0;const x=String(s).trim();if(x.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(x)?!0:(H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1);if(x.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(x))return H.ElMessage.error(`${f}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1;const I=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],X=["1","0","X","9","8","7","6","5","4","3","2"];let Q=0;for(let E=0;E<17;E++)Q+=parseInt(x[E])*I[E];return X[Q%11]!==x[17].toUpperCase()?(H.ElMessage.error(`${f}\u6821\u9A8C\u7801\u9519\u8BEF`),!1):!0}return H.ElMessage.error(`${f}\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D`),!1},w=(s,f,x)=>s?f.test(String(s))?!0:(H.ElMessage.error(x),!1):!0,L=(s,f)=>{for(const x of f)if(!x(s))return!1;return!0},G=(s,f,x,R="\u5B57\u6BB5")=>{if(!s)return!0;const I=String(s).trim();if(!/^\d+(?:\.\d+)?$/.test(I))return H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6570\u5B57`),!1;const[X,Q=""]=I.split(".");return X.length>f?(H.ElMessage.error(`${R}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${f}\u4F4D`),!1):Q&&Q.length>x?x===0?(H.ElMessage.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1):(H.ElMessage.error(`${R}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${x}\u4F4D`),!1):!0};return{required:e,requiredIf:r,validatorIf:o,maxLen:n,minLen:a,pattern:l,validator:i,phone:u,idCard:T,email:C,digits:c,intRange:P,confirmSame:S,dateAfterToday:m,dateBeforeToday:b,numberPrecision:j,validateRequired:F,validateNumber:B,validateIntRange:g,validateChinese:h,validateLength:W,validateEmail:k,validatePhone:q,validateIdCard:p,validatePattern:w,validateMultiple:L,validateField:(s,f,x,R)=>{switch(f){case"required":return F(s,x);case"length":return W(s,R.maxLength,x);case"number":return B(s,x);case"range":return g(s,R.min,R.max,x);case"chinese":return h(s,x);case"email":return k(s,x);case"phone":return q(s,x);case"idcard":return p(s,x);case"pattern":return w(s,R.pattern,R.message);case"decimal":return G(s,R.maxIntDigits,R.maxFracDigits,x);default:return!0}},validateDecimalPrecision:G}}const It=async(e,r)=>{if(!e)return console.warn("Form ref is undefined"),!1;const{showMessage:o=!0,message:n="\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\u662F\u5426\u6B63\u786E"}=r||{};try{return await e.validate(),!0}catch(a){if(a&&typeof a=="object"){const l=Object.keys(a)[0];l&&e.scrollToField(l)}return o&&H.ElMessage.warning(n),!1}},ua=async(e,r,o)=>{await It(e,o)&&await r()},Ht=6378245,mt=.006693421622965943,da=mt*mt;function Ut(e,r){let o=ma(e-105,r-35),n=ha(e-105,r-35),a=r/180*Math.PI,l=Math.sin(a);l=1-mt*l*l;let i=Math.sqrt(l);return o=o*180/(Ht*(1-da)/(l*i)*Math.PI),n=n*180/(Ht/i*Math.cos(a)*Math.PI),{lng:e+n,lat:r+o}}function jt(e,r){const o=Math.sqrt(e*e+r*r)+2e-5*Math.sin(r*Math.PI),n=Math.atan2(r,e)+3e-6*Math.cos(e*Math.PI),a=o*Math.cos(n)+.0065,l=o*Math.sin(n)+.006;return{lng:a,lat:l}}function pa(e,r){const{lng:o,lat:n}=Ut(e,r);return jt(o,n)}const ma=(e,r)=>{let o=-100+2*e+3*r+.2*r*r+.1*e*r+.2*Math.sqrt(Math.abs(e));return o+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,o+=(20*Math.sin(r*Math.PI)+40*Math.sin(r/3*Math.PI))*2/3,o+=(160*Math.sin(r/12*Math.PI)+320*Math.sin(r*Math.PI/30))*2/3,o},ha=(e,r)=>{let o=300+e+2*r+.1*e*e+.1*e*r+.1*Math.sqrt(Math.abs(e));return o+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,o+=(20*Math.sin(e*Math.PI)+40*Math.sin(e/3*Math.PI))*2/3,o+=(150*Math.sin(e/12*Math.PI)+300*Math.sin(e/30*Math.PI))*2/3,o},ga=e=>{if(e&&typeof e=="string")try{const r=JSON.parse(e);return typeof r=="object"?r:e}catch(r){return e}else return e};function fa(){if(document.getElementById("full-mask-style"))return;const e=document.createElement("style");e.id="full-mask-style",e.innerHTML=`
2
2
  .loading-next {
3
3
  position: fixed;
4
4
  inset: 0;
package/index.min.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! fmdeui-fmui v1.0.4 */import{createPinia as La,defineStore as Ne,storeToRefs as Xe}from"pinia";import nr from"crypto-js";import Et from"xlsx-js-style";import{ElLoading as za,ElMessage as K,localeContextKey as Aa,dayjs as Ra}from"element-plus";import{isRef as Pt,unref as N,watch as me,nextTick as Me,computed as H,defineComponent as ye,ref as U,resolveComponent as te,openBlock as E,createBlock as j,mergeProps as Q,withCtx as B,createVNode as le,renderSlot as ae,inject as Ba,withDirectives as Ie,resolveDirective as Mt,reactive as Nt,useAttrs as It,useSlots as Dt,createSlots as Ee,renderList as xe,normalizeProps as Ve,guardReactiveProps as He,createElementBlock as re,toDisplayString as ue,createElementVNode as ve,onMounted as Ue,onActivated as Oa,normalizeClass as Vt,createCommentVNode as J,resolveDynamicComponent as we,Fragment as he,createTextVNode as Te,withModifiers as Ht,toHandlers as Qe,onBeforeUnmount as lr,onUpdated as qa,normalizeStyle as ir,getCurrentInstance as sr,vShow as Na,markRaw as Ia}from"vue";import{CaretTop as Va,ArrowDown as ur,ArrowUp as Ha}from"@element-plus/icons-vue";import Ua from"mitt";import cr from"axios";import _e from"js-cookie";import et from"vxe-table";import _a from"@vxe-ui/plugin-render-element";import ja from"@vxe-ui/plugin-export-xlsx";import $a from"vxe-pc-ui";import{createI18n as Wa}from"vue-i18n";import Ga from"exceljs";import{get as Ka,merge as Ja}from"lodash-es";import{isClient as Ya,useResizeObserver as Za}from"@vueuse/core";import{createRouter as Xa,createWebHashHistory as Qa}from"vue-router";import je from"nprogress";const Se=La();function Ut(e,t){const a=_t(e),o=_t(t);let r=0;const n=a.length;for(let l in o)for(let u in a)o[l]===a[u]&&r++;return r===n}function dr(e,t){if(!e||!t)return!1;let a=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);if(a.length!=o.length)return!1;for(let r=0;r<a.length;r++){let n=a[r],l=e[n],u=t[n];if(!t.hasOwnProperty(n))return!1;if(l instanceof Object){if(!dr(l,u))return!1}else if(l!==u)return!1}return!0}function _t(e,t){if(e.length)if(t){const a={};return e.reduce((o,r)=>{const n=r[t];return n&&!a[n]&&(a[n]=!0,o.push(r)),o},[])}else return[...new Set(e)];else return e}const jt=e=>e&&(Array.isArray(e)?e.map(t=>jt(t)):typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,a])=>[t,jt(a)])):e);function pr(e){const t=e.split(","),o=t[0].match(/:(.*?);/)[1],r=window.atob(t[1]);let n=r.length;const l=new Uint8Array(n);for(;n--;)l[n]=r.charCodeAt(n);return new Blob([l],{type:o})}function mr(e,t){return new Promise((a,o)=>{let r=document.createElement("CANVAS");const n=r.getContext("2d"),l=new Image;l.crossOrigin="",l.onload=function(){if(!r||!n)return o();r.height=l.height,r.width=l.width,n.drawImage(l,0,0);const u=r.toDataURL(t||"image/png");r=null,a(u)},l.src=e})}function eo(e){return new Promise((t,a)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=r=>a(r)})}function to(e,t,a=null){var o=e.split(","),r=o[0].match(/:(.*?);/)[1],n=atob(o[1]);let l=n.length;for(var u=new Uint8Array(l);l--;)u[l]=n.charCodeAt(l);return new File([u],t,{type:a||r})}function ro(e,t,a){return a==null&&(a=e.type),new File([e],t,{type:a})}function ao(e,t,a,o,r=null){const n=typeof o=="string"?o:JSON.stringify(o);r||(r=new Date().getTime()-new Date("1970-01-01T00:00:00Z").getTime());const l={app_id:e,app_key:t,command:a,data:n,timestamp:r},u=Object.keys(l);u.sort();let y="";for(let w=0;w<u.length;w++){const L=u[w],d=l[L];y+=L+"="+d,w<u.length-1&&(y+=",")}var F=nr.MD5(y).toString(nr.enc.Hex).toLowerCase();return{app_id:e,app_key:t,command:a,data:n,timestamp:r,signature:F}}function oo(e,t,a,o){mr(e).then(r=>{hr(r,t,a,o)})}function hr(e,t,a,o){const r=pr(e);gr(r,t,a,o)}function gr(e,t,a,o){const r=typeof o!="undefined"?[o,e]:[e],n=new Blob(r,{type:a||"application/octet-stream"}),l=window.URL.createObjectURL(n),u=document.createElement("a");u.style.display="none",u.href=l,u.setAttribute("download",t),typeof u.download=="undefined"&&u.setAttribute("target","_blank"),document.body.appendChild(u),u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(l)}function fr({url:e,target:t="_blank",fileName:a}){const o=window.navigator.userAgent.toLowerCase().indexOf("chrome")>-1,r=window.navigator.userAgent.toLowerCase().indexOf("safari")>-1;if(/(iP)/g.test(window.navigator.userAgent))return console.error("Your browser does not support download!"),!1;if(o||r){const n=document.createElement("a");if(n.href=e,n.target=t,n.download!==void 0&&(n.download=a||e.substring(e.lastIndexOf("/")+1,e.length)),document.createEvent){const l=document.createEvent("MouseEvents");return l.initEvent("click",!0,!0),n.dispatchEvent(l),!0}}return e.indexOf("?")===-1&&(e+="?download"),br(e,{target:t}),!0}function br(e,t){const{target:a="__blank",noopener:o=!0,noreferrer:r=!0}=t||{},n=[];o&&n.push("noopener=yes"),r&&n.push("noreferrer=yes"),window.open(e,a,n.join(","))}function yr(e){var t=e["content-disposition"];if(t!=null){var a=t.split(";")[1].split("filename=")[1],o=t.split("filename*=")[1];return a!=null&&a.includes("%")&&(a=decodeURIComponent(a)),o&&(a=decodeURIComponent(o.split("''")[1])),a}}function no(e,t=void 0){const a=e.headers["content-type"];t=t||yr(e.headers);const o=e.data instanceof Blob?e.data:new Blob([e.data],{type:a});fr({url:window.URL.createObjectURL(o),fileName:t})}function lo(e,t,a,o){var r=new Array,n=new Array;const l={top:{style:"thin",color:{rgb:"000000"}},bottom:{style:"thin",color:{rgb:"000000"}},left:{style:"thin",color:{rgb:"000000"}},right:{style:"thin",color:{rgb:"000000"}}};let u=xr(a),y=vr(a),v=new Array(u);for(let k=0;k<v.length;k++)v[k]=new Array(y);let s=0;for(let k=0;k<a.length;k++){let z=a[k],m=vr([z]),p=xr([z]);for(let C=0;C<m;C++){s=s+C;for(let q=0;q<p;q++)F(q,s,C,z,v)}s++}for(let k=0;k<v.length;k++){let z=v[k];for(let m=0;m<z.length;m++)v[k][m]==null&&k>0&&(v[k][m]=v[k-1][m])}function F(k,z,m,p,C){k>0?p.children?F(k,s,m,p.children,C):C[k][z]=p[m]:C[k][z]=p}for(let k=0;k<v.length;k++){var w=new Array;let z=v[k];for(let m=0;m<z.length;m++){let p=z[m],C=200;p.width&&!isNaN(p.width)&&(C=parseInt(p.width)*.7),n.push({wpx:C}),w.push({v:p.label,t:"s",s:{font:{bold:!0},alignment:{wrapText:!0,horizontal:p.headerAlign?p.headerAlign:p.align?p.align:"",vertical:"center"},border:l}})}r.push(w)}var L=[],d=!1,f={s:{r:0,c:0},e:{r:0,c:0}};for(let k=0;k<y;k++){let z=v[0][k];for(let m=0;m<u;m++){let p=v[m][k];p==z&&d==!1?(d=!0,f.s={r:m,c:k}):p!=z&&d==!0?(f.e={r:m-1,c:k},f.s.r!=f.e.r?(L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):m==u-1&&d==!0?(f.e={r:m,c:k},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):(z=p,d=!0,f.s={r:m,c:k})):m==u-1&&d==!0&&(f.e={r:m,c:k},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}})}}d=!1;for(let k=0;k<u;k++){let z=v[k][0];for(let m=0;m<y;m++){let p=v[k][m];p==z&&d==!1?(d=!0,f.s={r:k,c:m}):p!=z&&d==!0?(f.e={r:k,c:m-1},f.s.c!=f.e.c?(L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):m==y-1&&d==!0?(f.e={r:k,c:m},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):(z=p,d=!0,f.s={r:k,c:m})):m==y-1&&d==!0&&(f.e={r:k,c:m},f.s.c!=f.e.c&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}})}}e.forEach(k=>{var z=new Array;v[v.length-1].forEach(m=>{if(k.hasOwnProperty(m.prop)||Wt(k,m.prop)){let C="";if(k[m.prop]!=null)if(m.formatter){var p=m.formatter(k);C=$t(p)}else C=k[m.prop];else if(Wt(k,m.prop))if(m.formatter){var p=m.formatter(k);C=$t(p)}else C=Wt(k,m.prop);z.push({v:C,t:"s",s:{alignment:{wrapText:!0,horizontal:m.align?m.align:"",vertical:"center"},border:l}})}}),r.push(z)});const $=Et.utils.aoa_to_sheet(r),Z=Et.utils.book_new();$["!cols"]=n,$["!merges"]=L,Et.utils.book_append_sheet(Z,$,o),Et.writeFile(Z,t+".xlsx")}function $t(e){let t="";return e.children?e.children.default?t=e.children.default():e.children.forEach(a=>{t=t+$t(a)}):t=e,t}function xr(e){let t=1;function a(o,r){o.children&&o.children.length>0&&(r++,r>t&&(t=r),o.children.forEach(n=>a(n,r)))}return e.forEach(o=>a(o,1)),t}function vr(e){let t=0;function a(o){o.children&&o.children.length>0?o.children.forEach(r=>a(r)):t++}return e.forEach(o=>a(o)),t}const Wt=(e,t)=>{const a=t.split(".");let o=e;for(const r of a)o=o[r];return o};var io=Object.defineProperty,so=(e,t,a)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,uo=(e,t,a)=>so(e,t+"",a);const co={lock:!0,text:"",background:"rgba(94, 158, 214, 0.12)",spinner:"el-icon-loading"};class po{constructor(){uo(this,"instance",null)}start(t){try{if(this.instance)return console.warn("Existing loading instance detected"),this.createController();const a=this.normalizeOptions(t);return this.validateConfig(a),this.instance=za.service(a),this.createController()}catch(a){return console.error("Loading initialization failed:",a),this.createController(!0)}}normalizeOptions(t){const a={...co};return t?typeof t=="string"||Pt(t)?{...a,text:N(t)}:{...a,...t,text:t.text?N(t.text):a.text}:a}validateConfig(t){if(t.spinner&&typeof t.spinner!="string"&&console.warn("Custom spinner components require proper registration"),typeof t.text!="string")throw new Error("Loading text must be a string")}createController(t=!1){return{step:a=>(!t&&this.instance&&this.instance.setText(N(a)),this.createController(t)),end:()=>{var a;t||(a=this.instance)==null||a.close(),this.instance=null}}}}const mo=new po;function Tr(e,t){let a=e.getDay(),o=Cr(e),r=Math.floor((e.getMonth()+3)/3).toString();const n={"Y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"H+":e.getHours().toString(),"M+":e.getMinutes().toString(),"S+":e.getSeconds().toString(),"q+":r},l={0:"\u65E5",1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB",5:"\u4E94",6:"\u516D"},u={1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB"};/(W+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length>1?RegExp.$1.length>2?"\u661F\u671F"+l[a]:"\u5468"+l[a]:l[a])),/(Q+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length==4?"\u7B2C"+u[r]+"\u5B63\u5EA6":u[r])),/(Z+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length==3?"\u7B2C"+o+"\u5468":o+""));for(let y in n){let v=new RegExp("("+y+")").exec(t);v&&(t=t.replace(v[1],RegExp.$1.length==1?n[y]:n[y].padStart(RegExp.$1.length,"0")))}return t}function Cr(e){let t=new Date(e.getTime()),a=t.getDay()||7;t.setDate(t.getDate()-a+1+5);let o=new Date(t.getFullYear(),0,1),r=o.getDay(),n=1;r!=0&&(n=7-r+1),o=new Date(t.getFullYear(),0,1+n);let l=Math.ceil((t.valueOf()-o.valueOf())/864e5);return Math.ceil(l/7)}function ho(e,t="YYYY-mm-dd"){let a,o,r=new Date().getTime();if(a=new Date(e).getTime(),r=Number.parseInt(`${r-a}`),r<1e4)return"\u521A\u521A";if(r<6e4&&r>=1e4)return o=Math.floor(r/1e3),`${o}\u79D2\u524D`;if(r<36e5&&r>=6e4)return o=Math.floor(r/6e4),`${o}\u5206\u949F\u524D`;if(r<864e5&&r>=36e5)return o=Math.floor(r/36e5),`${o}\u5C0F\u65F6\u524D`;if(r<2592e5&&r>=864e5)return o=Math.floor(r/864e5),`${o}\u5929\u524D`;{let n=new Date(e);return Tr(n,t)}}function go(e,t){let a=new Date(e).getHours();const o={dawnGreeting:"\u51CC\u6668\u597D",mornGreeting:"\u65E9\u4E0A\u597D",amGreeting:"\u4E0A\u5348\u597D",noonGreeting:"\u4E2D\u5348\u597D",pmGreeting:"\u4E0B\u5348\u597D",duskGreeting:"\u508D\u665A\u597D",eveningGreeting:"\u665A\u4E0A\u597D",nightGreeting:"\u591C\u91CC\u597D"},r=n=>t?t(`message.list.${n}`):o[n];return a<6?r("dawnGreeting"):a<9?r("mornGreeting"):a<12?r("amGreeting"):a<14?r("noonGreeting"):a<17?r("pmGreeting"):a<19?r("duskGreeting"):a<22?r("eveningGreeting"):r("nightGreeting")}const Re="change",$e="blur";function fo(){const e=(i="\u6B64\u9879",h=$e)=>({required:!0,message:`${i}\u4E3A\u5FC5\u586B\u9879`,trigger:h}),t=(i,h="\u6B64\u9879",b=$e)=>({required:i!=null?i:!1,message:`${h}\u4E3A\u5FC5\u586B\u9879`,trigger:b}),a=(i,h,b="\u6B64\u9879")=>{let R="";return me(()=>i(),()=>Me(()=>{var _;return(_=h==null?void 0:h.value)==null?void 0:_.validateField(R).catch(()=>{})}),{immediate:!1,deep:!0}),{validator:(_,se,ce)=>{R=_.field,i()?ce(new Error(`${b}\u4E3A\u5FC5\u586B`)):ce()},trigger:["blur","change"]}},o=(i,h="\u6B64\u9879",b=Re)=>({max:i,message:`${h}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 ${i} \u4E2A\u5B57\u7B26`,trigger:b}),r=(i,h="\u6B64\u9879",b=Re)=>({min:i,message:`${h}\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E ${i} \u4E2A\u5B57\u7B26`,trigger:b}),n=(i,h,b=$e)=>({pattern:i,message:h,trigger:b}),l=(i,h=$e)=>({trigger:h,validator:(b,R,_)=>{Promise.resolve(i(R)).then(se=>se===!0?_():_(new Error(se))).catch(se=>_(se instanceof Error?se:new Error(String(se))))}}),u=()=>n(/^(1[3-9]\d{9})$|^(0\d{2,3}[-]?\d{7,8})$|^(\(\d{3,4}\)\d{7,8})$|^(\d{7,})$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7\u6216\u7535\u8BDD\u53F7"),y=()=>l(i=>{if(!i)return!0;const h=String(i).trim();if(h.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(h)?!0:"\u8BF7\u8F93\u5165\u6709\u6548\u768415\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";if(h.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(h))return"\u8BF7\u8F93\u5165\u6709\u6548\u768418\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";const R=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],_=["1","0","X","9","8","7","6","5","4","3","2"];let se=0,ce=0,ke=0;for(let P=0;P<17;P++)ce=parseInt(h[P]),ke=R[P],se+=ce*ke;return _[se%11]!==h[17].toUpperCase()?"\u8EAB\u4EFD\u8BC1\u53F7\u6821\u9A8C\u7801\u9519\u8BEF":!0}return"\u8EAB\u4EFD\u8BC1\u53F7\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D"},$e),v=()=>n(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740"),s=(i="\u6B64\u9879",h=Re)=>n(/^\d+$/,`${i}\u9700\u4E3A\u7EAF\u6570\u5B57`,h),F=(i,h,b="\u6570\u503C")=>l(R=>{if(R===""||R===void 0||R===null)return`\u8BF7\u8F93\u5165${b}`;if(!Number.isInteger(Number(R)))return`${b}\u9700\u4E3A\u6574\u6570`;const _=Number(R);return _<i||_>h?`${b}\u9700\u5728 ${i}~${h} \u4E4B\u95F4`:!0},Re),w=(i,h="\u4E24\u6B21\u8F93\u5165")=>l(b=>b===i()?!0:`${h}\u4E0D\u4E00\u81F4`,Re),L=i=>{if(i instanceof Date&&!isNaN(i.getTime()))return i;if(typeof i=="number"){const h=new Date(i);return isNaN(h.getTime())?null:h}if(typeof i=="string"&&i){const h=new Date(i);return isNaN(h.getTime())?null:h}return null},d=(i="\u65E5\u671F",h=Re)=>l(b=>{if(b===""||b===void 0||b===null)return!0;const R=L(b);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${i}`;const _=new Date;return _.setHours(0,0,0,0),R.getTime()>_.getTime()?!0:`${i}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u540E`},h),f=(i="\u65E5\u671F",h=Re)=>l(b=>{if(b===""||b===void 0||b===null)return!0;const R=L(b);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${i}`;const _=new Date;return _.setHours(0,0,0,0),R.getTime()<_.getTime()?!0:`${i}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u524D`},h),$=(i,h,b="\u6B64\u9879")=>l(R=>{if(R===""||R===void 0||R===null)return!0;const _=String(R).trim();if(!/^\d+(?:\.\d+)?$/.test(_))return`${b}\u5FC5\u987B\u4E3A\u6570\u5B57`;const[se,ce=""]=_.split(".");return i!==null&&se.length>i?`${b}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${i}\u4F4D`:ce&&h!==null&&ce.length>h?h===0?`${b}\u5FC5\u987B\u4E3A\u6574\u6570`:`${b}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${h}\u4F4D`:!0},$e),Z=(i,h,b="\u5B57\u6BB5")=>i&&String(i).length>h?(K.error(`${b}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7${h}\u4E2A\u5B57\u7B26`),!1):!0,k=(i,h="\u5B57\u6BB5")=>!i||String(i).trim()===""?(K.error(`${h}\u4E0D\u80FD\u4E3A\u7A7A`),!1):!0,z=(i,h="\u5B57\u6BB5")=>i?/^\d+$/.test(String(i))?!0:(K.error(`${h}\u5FC5\u987B\u4E3A\u7EAF\u6570\u5B57`),!1):!0,m=(i,h,b,R="\u5B57\u6BB5")=>{if(!i)return!0;const _=Number(i);return Number.isInteger(_)?_<h||_>b?(K.error(`${R}\u5FC5\u987B\u5728${h}~${b}\u4E4B\u95F4`),!1):!0:(K.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1)},p=(i,h="\u5B57\u6BB5")=>i?/^[\u4e00-\u9fa5]+$/.test(String(i))?!0:(K.error(`${h}\u5FC5\u987B\u4E3A\u4E2D\u6587`),!1):!0,C=(i,h="\u5B57\u6BB5")=>i?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(i))?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,q=(i,h="\u5B57\u6BB5")=>i?/^1[3-9]\d{9}$/.test(String(i))?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,c=(i,h="\u5B57\u6BB5")=>{if(!i)return!0;const b=String(i).trim();if(b.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(b)?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1);if(b.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(b))return K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1;const _=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],se=["1","0","X","9","8","7","6","5","4","3","2"];let ce=0;for(let S=0;S<17;S++)ce+=parseInt(b[S])*_[S];return se[ce%11]!==b[17].toUpperCase()?(K.error(`${h}\u6821\u9A8C\u7801\u9519\u8BEF`),!1):!0}return K.error(`${h}\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D`),!1},T=(i,h,b)=>i?h.test(String(i))?!0:(K.error(b),!1):!0,D=(i,h)=>{for(const b of h)if(!b(i))return!1;return!0},X=(i,h,b,R="\u5B57\u6BB5")=>{if(!i)return!0;const _=String(i).trim();if(!/^\d+(?:\.\d+)?$/.test(_))return K.error(`${R}\u5FC5\u987B\u4E3A\u6570\u5B57`),!1;const[se,ce=""]=_.split(".");return se.length>h?(K.error(`${R}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${h}\u4F4D`),!1):ce&&ce.length>b?b===0?(K.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1):(K.error(`${R}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${b}\u4F4D`),!1):!0};return{required:e,requiredIf:t,validatorIf:a,maxLen:o,minLen:r,pattern:n,validator:l,phone:u,idCard:y,email:v,digits:s,intRange:F,confirmSame:w,dateAfterToday:d,dateBeforeToday:f,numberPrecision:$,validateRequired:k,validateNumber:z,validateIntRange:m,validateChinese:p,validateLength:Z,validateEmail:C,validatePhone:q,validateIdCard:c,validatePattern:T,validateMultiple:D,validateField:(i,h,b,R)=>{switch(h){case"required":return k(i,b);case"length":return Z(i,R.maxLength,b);case"number":return z(i,b);case"range":return m(i,R.min,R.max,b);case"chinese":return p(i,b);case"email":return C(i,b);case"phone":return q(i,b);case"idcard":return c(i,b);case"pattern":return T(i,R.pattern,R.message);case"decimal":return X(i,R.maxIntDigits,R.maxFracDigits,b);default:return!0}},validateDecimalPrecision:X}}const wr=async(e,t)=>{if(!e)return console.warn("Form ref is undefined"),!1;const{showMessage:a=!0,message:o="\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\u662F\u5426\u6B63\u786E"}=t||{};try{return await e.validate(),!0}catch(r){if(r&&typeof r=="object"){const n=Object.keys(r)[0];n&&e.scrollToField(n)}return a&&K.warning(o),!1}},bo=async(e,t,a)=>{await wr(e,a)&&await t()},Sr=6378245,Gt=.006693421622965943,yo=Gt*Gt;function kr(e,t){let a=vo(e-105,t-35),o=To(e-105,t-35),r=t/180*Math.PI,n=Math.sin(r);n=1-Gt*n*n;let l=Math.sqrt(n);return a=a*180/(Sr*(1-yo)/(n*l)*Math.PI),o=o*180/(Sr/l*Math.cos(r)*Math.PI),{lng:e+o,lat:t+a}}function Fr(e,t){const a=Math.sqrt(e*e+t*t)+2e-5*Math.sin(t*Math.PI),o=Math.atan2(t,e)+3e-6*Math.cos(e*Math.PI),r=a*Math.cos(o)+.0065,n=a*Math.sin(o)+.006;return{lng:r,lat:n}}function xo(e,t){const{lng:a,lat:o}=kr(e,t);return Fr(a,o)}const vo=(e,t)=>{let a=-100+2*e+3*t+.2*t*t+.1*e*t+.2*Math.sqrt(Math.abs(e));return a+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,a+=(20*Math.sin(t*Math.PI)+40*Math.sin(t/3*Math.PI))*2/3,a+=(160*Math.sin(t/12*Math.PI)+320*Math.sin(t*Math.PI/30))*2/3,a},To=(e,t)=>{let a=300+e+2*t+.1*e*e+.1*e*t+.1*Math.sqrt(Math.abs(e));return a+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,a+=(20*Math.sin(e*Math.PI)+40*Math.sin(e/3*Math.PI))*2/3,a+=(150*Math.sin(e/12*Math.PI)+300*Math.sin(e/30*Math.PI))*2/3,a},Co=e=>{if(e&&typeof e=="string")try{const t=JSON.parse(e);return typeof t=="object"?t:e}catch(t){return e}else return e};function wo(){if(document.getElementById("full-mask-style"))return;const e=document.createElement("style");e.id="full-mask-style",e.innerHTML=`
1
+ /*! fmdeui-fmui v1.0.6 */import{createPinia as La,defineStore as Ne,storeToRefs as Xe}from"pinia";import nr from"crypto-js";import Et from"xlsx-js-style";import{ElLoading as za,ElMessage as K,localeContextKey as Aa,dayjs as Ra}from"element-plus";import{isRef as Pt,unref as N,watch as me,nextTick as Me,computed as H,defineComponent as ye,ref as U,resolveComponent as te,openBlock as E,createBlock as j,mergeProps as Q,withCtx as B,createVNode as le,renderSlot as ae,inject as Ba,withDirectives as Ie,resolveDirective as Mt,reactive as Nt,useAttrs as It,useSlots as Dt,createSlots as Ee,renderList as xe,normalizeProps as Ve,guardReactiveProps as He,createElementBlock as re,toDisplayString as ue,createElementVNode as ve,onMounted as Ue,onActivated as Oa,normalizeClass as Vt,createCommentVNode as J,resolveDynamicComponent as we,Fragment as he,createTextVNode as Te,withModifiers as Ht,toHandlers as Qe,onBeforeUnmount as lr,onUpdated as qa,normalizeStyle as ir,getCurrentInstance as sr,vShow as Na,markRaw as Ia}from"vue";import{CaretTop as Va,ArrowDown as ur,ArrowUp as Ha}from"@element-plus/icons-vue";import Ua from"mitt";import cr from"axios";import _e from"js-cookie";import et from"vxe-table";import _a from"@vxe-ui/plugin-render-element";import ja from"@vxe-ui/plugin-export-xlsx";import $a from"vxe-pc-ui";import{createI18n as Wa}from"vue-i18n";import Ga from"exceljs";import{get as Ka,merge as Ja}from"lodash-es";import{isClient as Ya,useResizeObserver as Za}from"@vueuse/core";import{createRouter as Xa,createWebHashHistory as Qa}from"vue-router";import je from"nprogress";const Se=La();function Ut(e,t){const a=_t(e),o=_t(t);let r=0;const n=a.length;for(let l in o)for(let u in a)o[l]===a[u]&&r++;return r===n}function dr(e,t){if(!e||!t)return!1;let a=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);if(a.length!=o.length)return!1;for(let r=0;r<a.length;r++){let n=a[r],l=e[n],u=t[n];if(!t.hasOwnProperty(n))return!1;if(l instanceof Object){if(!dr(l,u))return!1}else if(l!==u)return!1}return!0}function _t(e,t){if(e.length)if(t){const a={};return e.reduce((o,r)=>{const n=r[t];return n&&!a[n]&&(a[n]=!0,o.push(r)),o},[])}else return[...new Set(e)];else return e}const jt=e=>e&&(Array.isArray(e)?e.map(t=>jt(t)):typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,a])=>[t,jt(a)])):e);function pr(e){const t=e.split(","),o=t[0].match(/:(.*?);/)[1],r=window.atob(t[1]);let n=r.length;const l=new Uint8Array(n);for(;n--;)l[n]=r.charCodeAt(n);return new Blob([l],{type:o})}function mr(e,t){return new Promise((a,o)=>{let r=document.createElement("CANVAS");const n=r.getContext("2d"),l=new Image;l.crossOrigin="",l.onload=function(){if(!r||!n)return o();r.height=l.height,r.width=l.width,n.drawImage(l,0,0);const u=r.toDataURL(t||"image/png");r=null,a(u)},l.src=e})}function eo(e){return new Promise((t,a)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=r=>a(r)})}function to(e,t,a=null){var o=e.split(","),r=o[0].match(/:(.*?);/)[1],n=atob(o[1]);let l=n.length;for(var u=new Uint8Array(l);l--;)u[l]=n.charCodeAt(l);return new File([u],t,{type:a||r})}function ro(e,t,a){return a==null&&(a=e.type),new File([e],t,{type:a})}function ao(e,t,a,o,r=null){const n=typeof o=="string"?o:JSON.stringify(o);r||(r=new Date().getTime()-new Date("1970-01-01T00:00:00Z").getTime());const l={app_id:e,app_key:t,command:a,data:n,timestamp:r},u=Object.keys(l);u.sort();let y="";for(let w=0;w<u.length;w++){const L=u[w],d=l[L];y+=L+"="+d,w<u.length-1&&(y+=",")}var F=nr.MD5(y).toString(nr.enc.Hex).toLowerCase();return{app_id:e,app_key:t,command:a,data:n,timestamp:r,signature:F}}function oo(e,t,a,o){mr(e).then(r=>{hr(r,t,a,o)})}function hr(e,t,a,o){const r=pr(e);gr(r,t,a,o)}function gr(e,t,a,o){const r=typeof o!="undefined"?[o,e]:[e],n=new Blob(r,{type:a||"application/octet-stream"}),l=window.URL.createObjectURL(n),u=document.createElement("a");u.style.display="none",u.href=l,u.setAttribute("download",t),typeof u.download=="undefined"&&u.setAttribute("target","_blank"),document.body.appendChild(u),u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(l)}function fr({url:e,target:t="_blank",fileName:a}){const o=window.navigator.userAgent.toLowerCase().indexOf("chrome")>-1,r=window.navigator.userAgent.toLowerCase().indexOf("safari")>-1;if(/(iP)/g.test(window.navigator.userAgent))return console.error("Your browser does not support download!"),!1;if(o||r){const n=document.createElement("a");if(n.href=e,n.target=t,n.download!==void 0&&(n.download=a||e.substring(e.lastIndexOf("/")+1,e.length)),document.createEvent){const l=document.createEvent("MouseEvents");return l.initEvent("click",!0,!0),n.dispatchEvent(l),!0}}return e.indexOf("?")===-1&&(e+="?download"),br(e,{target:t}),!0}function br(e,t){const{target:a="__blank",noopener:o=!0,noreferrer:r=!0}=t||{},n=[];o&&n.push("noopener=yes"),r&&n.push("noreferrer=yes"),window.open(e,a,n.join(","))}function yr(e){var t=e["content-disposition"];if(t!=null){var a=t.split(";")[1].split("filename=")[1],o=t.split("filename*=")[1];return a!=null&&a.includes("%")&&(a=decodeURIComponent(a)),o&&(a=decodeURIComponent(o.split("''")[1])),a}}function no(e,t=void 0){const a=e.headers["content-type"];t=t||yr(e.headers);const o=e.data instanceof Blob?e.data:new Blob([e.data],{type:a});fr({url:window.URL.createObjectURL(o),fileName:t})}function lo(e,t,a,o){var r=new Array,n=new Array;const l={top:{style:"thin",color:{rgb:"000000"}},bottom:{style:"thin",color:{rgb:"000000"}},left:{style:"thin",color:{rgb:"000000"}},right:{style:"thin",color:{rgb:"000000"}}};let u=xr(a),y=vr(a),v=new Array(u);for(let k=0;k<v.length;k++)v[k]=new Array(y);let s=0;for(let k=0;k<a.length;k++){let z=a[k],m=vr([z]),p=xr([z]);for(let C=0;C<m;C++){s=s+C;for(let q=0;q<p;q++)F(q,s,C,z,v)}s++}for(let k=0;k<v.length;k++){let z=v[k];for(let m=0;m<z.length;m++)v[k][m]==null&&k>0&&(v[k][m]=v[k-1][m])}function F(k,z,m,p,C){k>0?p.children?F(k,s,m,p.children,C):C[k][z]=p[m]:C[k][z]=p}for(let k=0;k<v.length;k++){var w=new Array;let z=v[k];for(let m=0;m<z.length;m++){let p=z[m],C=200;p.width&&!isNaN(p.width)&&(C=parseInt(p.width)*.7),n.push({wpx:C}),w.push({v:p.label,t:"s",s:{font:{bold:!0},alignment:{wrapText:!0,horizontal:p.headerAlign?p.headerAlign:p.align?p.align:"",vertical:"center"},border:l}})}r.push(w)}var L=[],d=!1,f={s:{r:0,c:0},e:{r:0,c:0}};for(let k=0;k<y;k++){let z=v[0][k];for(let m=0;m<u;m++){let p=v[m][k];p==z&&d==!1?(d=!0,f.s={r:m,c:k}):p!=z&&d==!0?(f.e={r:m-1,c:k},f.s.r!=f.e.r?(L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):m==u-1&&d==!0?(f.e={r:m,c:k},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):(z=p,d=!0,f.s={r:m,c:k})):m==u-1&&d==!0&&(f.e={r:m,c:k},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}})}}d=!1;for(let k=0;k<u;k++){let z=v[k][0];for(let m=0;m<y;m++){let p=v[k][m];p==z&&d==!1?(d=!0,f.s={r:k,c:m}):p!=z&&d==!0?(f.e={r:k,c:m-1},f.s.c!=f.e.c?(L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):m==y-1&&d==!0?(f.e={r:k,c:m},f.s.r!=f.e.r&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}}):(z=p,d=!0,f.s={r:k,c:m})):m==y-1&&d==!0&&(f.e={r:k,c:m},f.s.c!=f.e.c&&p==z&&L.push(JSON.parse(JSON.stringify(f))),d=!1,f={s:{r:0,c:0},e:{r:0,c:0}})}}e.forEach(k=>{var z=new Array;v[v.length-1].forEach(m=>{if(k.hasOwnProperty(m.prop)||Wt(k,m.prop)){let C="";if(k[m.prop]!=null)if(m.formatter){var p=m.formatter(k);C=$t(p)}else C=k[m.prop];else if(Wt(k,m.prop))if(m.formatter){var p=m.formatter(k);C=$t(p)}else C=Wt(k,m.prop);z.push({v:C,t:"s",s:{alignment:{wrapText:!0,horizontal:m.align?m.align:"",vertical:"center"},border:l}})}}),r.push(z)});const $=Et.utils.aoa_to_sheet(r),Z=Et.utils.book_new();$["!cols"]=n,$["!merges"]=L,Et.utils.book_append_sheet(Z,$,o),Et.writeFile(Z,t+".xlsx")}function $t(e){let t="";return e.children?e.children.default?t=e.children.default():e.children.forEach(a=>{t=t+$t(a)}):t=e,t}function xr(e){let t=1;function a(o,r){o.children&&o.children.length>0&&(r++,r>t&&(t=r),o.children.forEach(n=>a(n,r)))}return e.forEach(o=>a(o,1)),t}function vr(e){let t=0;function a(o){o.children&&o.children.length>0?o.children.forEach(r=>a(r)):t++}return e.forEach(o=>a(o)),t}const Wt=(e,t)=>{const a=t.split(".");let o=e;for(const r of a)o=o[r];return o};var io=Object.defineProperty,so=(e,t,a)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,uo=(e,t,a)=>so(e,t+"",a);const co={lock:!0,text:"",background:"rgba(94, 158, 214, 0.12)",spinner:"el-icon-loading"};class po{constructor(){uo(this,"instance",null)}start(t){try{if(this.instance)return console.warn("Existing loading instance detected"),this.createController();const a=this.normalizeOptions(t);return this.validateConfig(a),this.instance=za.service(a),this.createController()}catch(a){return console.error("Loading initialization failed:",a),this.createController(!0)}}normalizeOptions(t){const a={...co};return t?typeof t=="string"||Pt(t)?{...a,text:N(t)}:{...a,...t,text:t.text?N(t.text):a.text}:a}validateConfig(t){if(t.spinner&&typeof t.spinner!="string"&&console.warn("Custom spinner components require proper registration"),typeof t.text!="string")throw new Error("Loading text must be a string")}createController(t=!1){return{step:a=>(!t&&this.instance&&this.instance.setText(N(a)),this.createController(t)),end:()=>{var a;t||(a=this.instance)==null||a.close(),this.instance=null}}}}const mo=new po;function Tr(e,t){let a=e.getDay(),o=Cr(e),r=Math.floor((e.getMonth()+3)/3).toString();const n={"Y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"H+":e.getHours().toString(),"M+":e.getMinutes().toString(),"S+":e.getSeconds().toString(),"q+":r},l={0:"\u65E5",1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB",5:"\u4E94",6:"\u516D"},u={1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB"};/(W+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length>1?RegExp.$1.length>2?"\u661F\u671F"+l[a]:"\u5468"+l[a]:l[a])),/(Q+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length==4?"\u7B2C"+u[r]+"\u5B63\u5EA6":u[r])),/(Z+)/.test(t)&&(t=t.replace(RegExp.$1,RegExp.$1.length==3?"\u7B2C"+o+"\u5468":o+""));for(let y in n){let v=new RegExp("("+y+")").exec(t);v&&(t=t.replace(v[1],RegExp.$1.length==1?n[y]:n[y].padStart(RegExp.$1.length,"0")))}return t}function Cr(e){let t=new Date(e.getTime()),a=t.getDay()||7;t.setDate(t.getDate()-a+1+5);let o=new Date(t.getFullYear(),0,1),r=o.getDay(),n=1;r!=0&&(n=7-r+1),o=new Date(t.getFullYear(),0,1+n);let l=Math.ceil((t.valueOf()-o.valueOf())/864e5);return Math.ceil(l/7)}function ho(e,t="YYYY-mm-dd"){let a,o,r=new Date().getTime();if(a=new Date(e).getTime(),r=Number.parseInt(`${r-a}`),r<1e4)return"\u521A\u521A";if(r<6e4&&r>=1e4)return o=Math.floor(r/1e3),`${o}\u79D2\u524D`;if(r<36e5&&r>=6e4)return o=Math.floor(r/6e4),`${o}\u5206\u949F\u524D`;if(r<864e5&&r>=36e5)return o=Math.floor(r/36e5),`${o}\u5C0F\u65F6\u524D`;if(r<2592e5&&r>=864e5)return o=Math.floor(r/864e5),`${o}\u5929\u524D`;{let n=new Date(e);return Tr(n,t)}}function go(e,t){let a=new Date(e).getHours();const o={dawnGreeting:"\u51CC\u6668\u597D",mornGreeting:"\u65E9\u4E0A\u597D",amGreeting:"\u4E0A\u5348\u597D",noonGreeting:"\u4E2D\u5348\u597D",pmGreeting:"\u4E0B\u5348\u597D",duskGreeting:"\u508D\u665A\u597D",eveningGreeting:"\u665A\u4E0A\u597D",nightGreeting:"\u591C\u91CC\u597D"},r=n=>t?t(`message.list.${n}`):o[n];return a<6?r("dawnGreeting"):a<9?r("mornGreeting"):a<12?r("amGreeting"):a<14?r("noonGreeting"):a<17?r("pmGreeting"):a<19?r("duskGreeting"):a<22?r("eveningGreeting"):r("nightGreeting")}const Re="change",$e="blur";function fo(){const e=(i="\u6B64\u9879",h=$e)=>({required:!0,message:`${i}\u4E3A\u5FC5\u586B\u9879`,trigger:h}),t=(i,h="\u6B64\u9879",b=$e)=>({required:i!=null?i:!1,message:`${h}\u4E3A\u5FC5\u586B\u9879`,trigger:b}),a=(i,h,b="\u6B64\u9879")=>{let R="";return me(()=>i(),()=>Me(()=>{var _;return(_=h==null?void 0:h.value)==null?void 0:_.validateField(R).catch(()=>{})}),{immediate:!1,deep:!0}),{validator:(_,se,ce)=>{R=_.field,i()?ce(new Error(`${b}\u4E3A\u5FC5\u586B`)):ce()},trigger:["blur","change"]}},o=(i,h="\u6B64\u9879",b=Re)=>({max:i,message:`${h}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 ${i} \u4E2A\u5B57\u7B26`,trigger:b}),r=(i,h="\u6B64\u9879",b=Re)=>({min:i,message:`${h}\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E ${i} \u4E2A\u5B57\u7B26`,trigger:b}),n=(i,h,b=$e)=>({pattern:i,message:h,trigger:b}),l=(i,h=$e)=>({trigger:h,validator:(b,R,_)=>{Promise.resolve(i(R)).then(se=>se===!0?_():_(new Error(se))).catch(se=>_(se instanceof Error?se:new Error(String(se))))}}),u=()=>n(/^(1[3-9]\d{9})$|^(0\d{2,3}[-]?\d{7,8})$|^(\(\d{3,4}\)\d{7,8})$|^(\d{7,})$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7\u6216\u7535\u8BDD\u53F7"),y=()=>l(i=>{if(!i)return!0;const h=String(i).trim();if(h.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(h)?!0:"\u8BF7\u8F93\u5165\u6709\u6548\u768415\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";if(h.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(h))return"\u8BF7\u8F93\u5165\u6709\u6548\u768418\u4F4D\u8EAB\u4EFD\u8BC1\u53F7";const R=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],_=["1","0","X","9","8","7","6","5","4","3","2"];let se=0,ce=0,ke=0;for(let P=0;P<17;P++)ce=parseInt(h[P]),ke=R[P],se+=ce*ke;return _[se%11]!==h[17].toUpperCase()?"\u8EAB\u4EFD\u8BC1\u53F7\u6821\u9A8C\u7801\u9519\u8BEF":!0}return"\u8EAB\u4EFD\u8BC1\u53F7\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D"},$e),v=()=>n(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740"),s=(i="\u6B64\u9879",h=Re)=>n(/^\d+$/,`${i}\u9700\u4E3A\u7EAF\u6570\u5B57`,h),F=(i,h,b="\u6570\u503C")=>l(R=>{if(R===""||R===void 0||R===null)return`\u8BF7\u8F93\u5165${b}`;if(!Number.isInteger(Number(R)))return`${b}\u9700\u4E3A\u6574\u6570`;const _=Number(R);return _<i||_>h?`${b}\u9700\u5728 ${i}~${h} \u4E4B\u95F4`:!0},Re),w=(i,h="\u4E24\u6B21\u8F93\u5165")=>l(b=>b===i()?!0:`${h}\u4E0D\u4E00\u81F4`,Re),L=i=>{if(i instanceof Date&&!isNaN(i.getTime()))return i;if(typeof i=="number"){const h=new Date(i);return isNaN(h.getTime())?null:h}if(typeof i=="string"&&i){const h=new Date(i);return isNaN(h.getTime())?null:h}return null},d=(i="\u65E5\u671F",h=Re)=>l(b=>{if(b===""||b===void 0||b===null)return!0;const R=L(b);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${i}`;const _=new Date;return _.setHours(0,0,0,0),R.getTime()>_.getTime()?!0:`${i}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u540E`},h),f=(i="\u65E5\u671F",h=Re)=>l(b=>{if(b===""||b===void 0||b===null)return!0;const R=L(b);if(!R)return`\u8BF7\u9009\u62E9\u6709\u6548\u7684${i}`;const _=new Date;return _.setHours(0,0,0,0),R.getTime()<_.getTime()?!0:`${i}\u5FC5\u987B\u5728\u4ECA\u5929\u4E4B\u524D`},h),$=(i,h,b="\u6B64\u9879")=>l(R=>{if(R===""||R===void 0||R===null)return!0;const _=String(R).trim();if(!/^\d+(?:\.\d+)?$/.test(_))return`${b}\u5FC5\u987B\u4E3A\u6570\u5B57`;const[se,ce=""]=_.split(".");return i!==null&&se.length>i?`${b}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${i}\u4F4D`:ce&&h!==null&&ce.length>h?h===0?`${b}\u5FC5\u987B\u4E3A\u6574\u6570`:`${b}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${h}\u4F4D`:!0},$e),Z=(i,h,b="\u5B57\u6BB5")=>i&&String(i).length>h?(K.error(`${b}\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7${h}\u4E2A\u5B57\u7B26`),!1):!0,k=(i,h="\u5B57\u6BB5")=>!i||String(i).trim()===""?(K.error(`${h}\u4E0D\u80FD\u4E3A\u7A7A`),!1):!0,z=(i,h="\u5B57\u6BB5")=>i?/^\d+$/.test(String(i))?!0:(K.error(`${h}\u5FC5\u987B\u4E3A\u7EAF\u6570\u5B57`),!1):!0,m=(i,h,b,R="\u5B57\u6BB5")=>{if(!i)return!0;const _=Number(i);return Number.isInteger(_)?_<h||_>b?(K.error(`${R}\u5FC5\u987B\u5728${h}~${b}\u4E4B\u95F4`),!1):!0:(K.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1)},p=(i,h="\u5B57\u6BB5")=>i?/^[\u4e00-\u9fa5]+$/.test(String(i))?!0:(K.error(`${h}\u5FC5\u987B\u4E3A\u4E2D\u6587`),!1):!0,C=(i,h="\u5B57\u6BB5")=>i?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(i))?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,q=(i,h="\u5B57\u6BB5")=>i?/^1[3-9]\d{9}$/.test(String(i))?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1):!0,c=(i,h="\u5B57\u6BB5")=>{if(!i)return!0;const b=String(i).trim();if(b.length===15)return/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/.test(b)?!0:(K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1);if(b.length===18){if(!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/.test(b))return K.error(`${h}\u683C\u5F0F\u4E0D\u6B63\u786E`),!1;const _=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],se=["1","0","X","9","8","7","6","5","4","3","2"];let ce=0;for(let S=0;S<17;S++)ce+=parseInt(b[S])*_[S];return se[ce%11]!==b[17].toUpperCase()?(K.error(`${h}\u6821\u9A8C\u7801\u9519\u8BEF`),!1):!0}return K.error(`${h}\u5FC5\u987B\u662F15\u4F4D\u621618\u4F4D`),!1},T=(i,h,b)=>i?h.test(String(i))?!0:(K.error(b),!1):!0,D=(i,h)=>{for(const b of h)if(!b(i))return!1;return!0},X=(i,h,b,R="\u5B57\u6BB5")=>{if(!i)return!0;const _=String(i).trim();if(!/^\d+(?:\.\d+)?$/.test(_))return K.error(`${R}\u5FC5\u987B\u4E3A\u6570\u5B57`),!1;const[se,ce=""]=_.split(".");return se.length>h?(K.error(`${R}\u6574\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${h}\u4F4D`),!1):ce&&ce.length>b?b===0?(K.error(`${R}\u5FC5\u987B\u4E3A\u6574\u6570`),!1):(K.error(`${R}\u5C0F\u6570\u4F4D\u4E0D\u80FD\u8D85\u8FC7${b}\u4F4D`),!1):!0};return{required:e,requiredIf:t,validatorIf:a,maxLen:o,minLen:r,pattern:n,validator:l,phone:u,idCard:y,email:v,digits:s,intRange:F,confirmSame:w,dateAfterToday:d,dateBeforeToday:f,numberPrecision:$,validateRequired:k,validateNumber:z,validateIntRange:m,validateChinese:p,validateLength:Z,validateEmail:C,validatePhone:q,validateIdCard:c,validatePattern:T,validateMultiple:D,validateField:(i,h,b,R)=>{switch(h){case"required":return k(i,b);case"length":return Z(i,R.maxLength,b);case"number":return z(i,b);case"range":return m(i,R.min,R.max,b);case"chinese":return p(i,b);case"email":return C(i,b);case"phone":return q(i,b);case"idcard":return c(i,b);case"pattern":return T(i,R.pattern,R.message);case"decimal":return X(i,R.maxIntDigits,R.maxFracDigits,b);default:return!0}},validateDecimalPrecision:X}}const wr=async(e,t)=>{if(!e)return console.warn("Form ref is undefined"),!1;const{showMessage:a=!0,message:o="\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\u662F\u5426\u6B63\u786E"}=t||{};try{return await e.validate(),!0}catch(r){if(r&&typeof r=="object"){const n=Object.keys(r)[0];n&&e.scrollToField(n)}return a&&K.warning(o),!1}},bo=async(e,t,a)=>{await wr(e,a)&&await t()},Sr=6378245,Gt=.006693421622965943,yo=Gt*Gt;function kr(e,t){let a=vo(e-105,t-35),o=To(e-105,t-35),r=t/180*Math.PI,n=Math.sin(r);n=1-Gt*n*n;let l=Math.sqrt(n);return a=a*180/(Sr*(1-yo)/(n*l)*Math.PI),o=o*180/(Sr/l*Math.cos(r)*Math.PI),{lng:e+o,lat:t+a}}function Fr(e,t){const a=Math.sqrt(e*e+t*t)+2e-5*Math.sin(t*Math.PI),o=Math.atan2(t,e)+3e-6*Math.cos(e*Math.PI),r=a*Math.cos(o)+.0065,n=a*Math.sin(o)+.006;return{lng:r,lat:n}}function xo(e,t){const{lng:a,lat:o}=kr(e,t);return Fr(a,o)}const vo=(e,t)=>{let a=-100+2*e+3*t+.2*t*t+.1*e*t+.2*Math.sqrt(Math.abs(e));return a+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,a+=(20*Math.sin(t*Math.PI)+40*Math.sin(t/3*Math.PI))*2/3,a+=(160*Math.sin(t/12*Math.PI)+320*Math.sin(t*Math.PI/30))*2/3,a},To=(e,t)=>{let a=300+e+2*t+.1*e*e+.1*e*t+.1*Math.sqrt(Math.abs(e));return a+=(20*Math.sin(6*e*Math.PI)+20*Math.sin(2*e*Math.PI))*2/3,a+=(20*Math.sin(e*Math.PI)+40*Math.sin(e/3*Math.PI))*2/3,a+=(150*Math.sin(e/12*Math.PI)+300*Math.sin(e/30*Math.PI))*2/3,a},Co=e=>{if(e&&typeof e=="string")try{const t=JSON.parse(e);return typeof t=="object"?t:e}catch(t){return e}else return e};function wo(){if(document.getElementById("full-mask-style"))return;const e=document.createElement("style");e.id="full-mask-style",e.innerHTML=`
2
2
  .loading-next {
3
3
  position: fixed;
4
4
  inset: 0;
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! fmdeui-fmui v1.0.4 */
1
+ /*! fmdeui-fmui v1.0.6 */
2
2
  import { createPinia, defineStore, storeToRefs } from 'pinia';
3
3
  import CryptoJS from 'crypto-js';
4
4
  import XLSXS from 'xlsx-js-style';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 判断两数组字符串是否相同(用于按钮权限验证),数组字符串中存在相同时会自动去重(按钮权限标识不会重复)
3
+ * @param news 新数据
4
+ * @param old 源数据
5
+ * @returns 两数组相同返回 `true`,反之则反
6
+ */
7
+ export declare function judgementSameArr(newArr: unknown[] | string[], oldArr: string[]): boolean;
8
+ /**
9
+ * 判断两个对象是否相同
10
+ * @param a 要比较的对象一
11
+ * @param b 要比较的对象二
12
+ * @returns 相同返回 true,反之则反
13
+ */
14
+ export declare function isObjectValueEqual<T extends Record<string, any>>(a: T, b: T): boolean;
15
+ /**
16
+ * 数组、数组对象去重
17
+ * 支持普通数组和对象数组去重,类型安全,且兼容原有所有调用方式
18
+ * @param arr 数组内容
19
+ * @param attr 需要去重的键值(数组对象)
20
+ * @returns
21
+ */
22
+ export declare function removeDuplicate<T>(arr: T[], attr?: string): T[];
23
+ export declare const clone: <T>(value: T) => T;
@@ -0,0 +1,11 @@
1
+ /**
2
+ *通过监听当前页面的JS的SRC来判断当前网页是否有更新
3
+ *使用方法 main.js import checkUpdate from "/@/utils/auto-update";
4
+ */
5
+ /**
6
+ * 定时器定时检测是否更新,有更新则执行回调函数
7
+ * @param callbackFn
8
+ * @param interval
9
+ */
10
+ declare function checkUpdateInterval(callbackFn: any, interval?: number): void;
11
+ export default checkUpdateInterval;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @description: base64 to blob
3
+ */
4
+ export declare function dataURLtoBlob(base64Buf: string): Blob;
5
+ /**
6
+ * img url to base64
7
+ * @param url
8
+ */
9
+ export declare function urlToBase64(url: string, mineType?: string): Promise<string>;
10
+ /**
11
+ * File转Base64
12
+ * @param file
13
+ */
14
+ export declare function fileToBase64(file: Blob): Promise<unknown>;
15
+ /**
16
+ * Base64转File
17
+ * @param dataURL {String} base64
18
+ * @param fileName {String} 文件名
19
+ * @param mimeType {String} [可选]文件类型,默认为base64中的类型
20
+ * @returns {File}
21
+ */
22
+ export declare function base64ToFile(dataURL: string, fileName: string, mimeType?: null): File;
23
+ /**
24
+ * Blob转File
25
+ * @param blob {Blob} blob
26
+ * @param fileName {String} 文件名
27
+ * @param mimeType {String} 文件类型
28
+ * @return {File}
29
+ */
30
+ export declare function blobToFile(blob: Blob, fileName: string, mimeType?: string): File;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 生成 KSort 签名
3
+ * @param appId APP_ID
4
+ * @param appKey APP_KEY
5
+ * @param command 命令
6
+ * @param data 数据
7
+ * @param timestamp 时间戳(可选)
8
+ * @returns
9
+ */
10
+ export declare function signatureByKSort(appId: string, appKey: string, command: string, data: any, timestamp?: number | null): {
11
+ app_id: string;
12
+ app_key: string;
13
+ command: string;
14
+ data: string;
15
+ timestamp: number;
16
+ signature: any;
17
+ };
@@ -0,0 +1,46 @@
1
+ import { AxiosResponseHeaders, RawAxiosResponseHeaders } from 'axios';
2
+ /**
3
+ * Download online pictures
4
+ * @param url
5
+ * @param filename
6
+ * @param mime
7
+ * @param bom
8
+ */
9
+ export declare function downloadByOnlineUrl(url: string, filename: string, mime?: string, bom?: BlobPart): void;
10
+ /**
11
+ * Download pictures based on base64
12
+ * @param buf
13
+ * @param filename
14
+ * @param mime
15
+ * @param bom
16
+ */
17
+ export declare function downloadByBase64(buf: string, filename: string, mime?: string, bom?: BlobPart): void;
18
+ /**
19
+ * Download according to the background interface file stream
20
+ * @param {*} data
21
+ * @param {*} filename
22
+ * @param {*} mime
23
+ * @param {*} bom
24
+ */
25
+ export declare function downloadByData(data: BlobPart, filename: string, mime?: string, bom?: BlobPart): void;
26
+ /**
27
+ * Download file according to file address
28
+ * @param {*} sUrl
29
+ */
30
+ export declare function downloadByUrl({ url, target, fileName }: {
31
+ url: string;
32
+ target?: string;
33
+ fileName?: string;
34
+ }): boolean;
35
+ export declare function openWindow(url: string, opt?: {
36
+ target?: string | string;
37
+ noopener?: boolean;
38
+ noreferrer?: boolean;
39
+ }): void;
40
+ export declare function getFileName(headers: RawAxiosResponseHeaders | AxiosResponseHeaders): any;
41
+ /**
42
+ * 文件流下载
43
+ * @param res
44
+ * @param fileName 文件名
45
+ */
46
+ export declare function downloadStreamFile(res: any, fileName?: string | undefined): void;
@@ -0,0 +1,12 @@
1
+ import { EmptyObjectType } from 'fmdeui-fmui/es/types';
2
+ /**
3
+ * @description:
4
+ * @param {Object} json 服务端发过来的数据
5
+ * @param {String} name 导出Excel文件名字
6
+
7
+ * @param {String} titleArr 导出Excel表头
8
+
9
+ * @param {String} sheetName 导出sheetName名字
10
+ * @return:
11
+ **/
12
+ export declare function exportExcel(jsonarr: Array<EmptyObjectType>, name: string, header: Array<EmptyObjectType>, sheetName: string): void;
@@ -0,0 +1,19 @@
1
+ import { Component, Ref } from 'vue';
2
+ import { LoadingOptions } from 'element-plus/es/components/loading/src/types';
3
+ interface LoadingController {
4
+ step: (text: string | Ref<string>) => LoadingController;
5
+ end: () => void;
6
+ }
7
+ type CustomLoadingOptions = Omit<LoadingOptions, 'text'> & {
8
+ text?: string | Ref<string>;
9
+ spinner?: string | Component;
10
+ };
11
+ declare class FlowLoadingManager {
12
+ private instance;
13
+ start(options?: string | Ref<string> | CustomLoadingOptions): LoadingController;
14
+ private normalizeOptions;
15
+ private validateConfig;
16
+ private createController;
17
+ }
18
+ export declare const flowLoading: FlowLoadingManager;
19
+ export {};
@@ -0,0 +1 @@
1
+ export declare const fontAwesomeClassList: Array<string>;
@@ -0,0 +1 @@
1
+ export declare const iconfonntClassList: Array<string>;
@@ -0,0 +1,36 @@
1
+ import { FormItemRule } from 'element-plus';
2
+ import { Ref } from 'vue';
3
+ import { Arrayable } from 'element-plus/es/utils';
4
+ export declare function useFormRulePresets(): {
5
+ required: (label?: string, trigger?: FormItemRule["trigger"]) => FormItemRule;
6
+ requiredIf: (required?: boolean, label?: string, trigger?: FormItemRule["trigger"]) => FormItemRule;
7
+ validatorIf: (shouldError: () => boolean, formRef?: Ref<any>, label?: string) => {
8
+ validator: (_: any, __: any, callback: (error?: Error) => void) => void;
9
+ trigger: readonly ["blur", "change"];
10
+ };
11
+ maxLen: (len: number, label?: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
12
+ minLen: (len: number, label?: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
13
+ pattern: (re: RegExp, msg: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
14
+ validator: (fn: (value: any) => true | string | Promise<true | string>, trigger?: Arrayable<string> | undefined) => FormItemRule;
15
+ phone: () => FormItemRule;
16
+ idCard: () => FormItemRule;
17
+ email: () => FormItemRule;
18
+ digits: (label?: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
19
+ intRange: (min: number, max: number, label?: string) => FormItemRule;
20
+ confirmSame: (getOther: () => any, label?: string) => FormItemRule;
21
+ dateAfterToday: (label?: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
22
+ dateBeforeToday: (label?: string, trigger?: Arrayable<string> | undefined) => FormItemRule;
23
+ numberPrecision: (maxIntDigits: number | null, maxFracDigits: number | null, label?: string) => FormItemRule;
24
+ validateRequired: (value: any, fieldName?: string) => boolean;
25
+ validateNumber: (value: any, fieldName?: string) => boolean;
26
+ validateIntRange: (value: any, min: number, max: number, fieldName?: string) => boolean;
27
+ validateChinese: (value: any, fieldName?: string) => boolean;
28
+ validateLength: (value: any, maxLength: number, fieldName?: string) => boolean;
29
+ validateEmail: (value: any, fieldName?: string) => boolean;
30
+ validatePhone: (value: any, fieldName?: string) => boolean;
31
+ validateIdCard: (value: any, fieldName?: string) => boolean;
32
+ validatePattern: (value: any, pattern: RegExp, message: string) => boolean;
33
+ validateMultiple: (value: any, validators: Array<(value: any) => boolean>) => boolean;
34
+ validateField: (value: any, type: string, fieldName: string, options?: any) => boolean;
35
+ validateDecimalPrecision: (value: any, maxIntDigits: number, maxFracDigits: number, fieldName?: string) => boolean;
36
+ };
@@ -0,0 +1,21 @@
1
+ import { FormInstance } from 'element-plus';
2
+ /**
3
+ * 表单验证并自动滚动到第一个错误字段
4
+ * @param formRef - Element Plus Form 实例的 ref
5
+ * @param options - 配置选项
6
+ * @returns Promise<boolean> - 验证是否通过
7
+ */
8
+ export declare const validateFormWithScroll: (formRef: FormInstance | undefined, options?: {
9
+ showMessage?: boolean;
10
+ message?: string;
11
+ }) => Promise<boolean>;
12
+ /**
13
+ * 表单验证并自动滚动到第一个错误字段(带回调方式)
14
+ * @param formRef - Element Plus Form 实例的 ref
15
+ * @param onSuccess - 验证成功后的回调
16
+ * @param options - 配置选项
17
+ */
18
+ export declare const validateFormWithScrollCallback: (formRef: FormInstance | undefined, onSuccess: () => void | Promise<void>, options?: {
19
+ showMessage?: boolean;
20
+ message?: string;
21
+ }) => Promise<void>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 时间日期转换
3
+ * @param date 当前时间,new Date() 格式
4
+ * @param format 需要转换的时间格式字符串
5
+ * @description format 字符串随意,如 `YYYY-mm、YYYY-mm-dd`
6
+ * @description format 季度:"YYYY-mm-dd HH:MM:SS QQQQ"
7
+ * @description format 星期:"YYYY-mm-dd HH:MM:SS WWW"
8
+ * @description format 几周:"YYYY-mm-dd HH:MM:SS ZZZ"
9
+ * @description format 季度 + 星期 + 几周:"YYYY-mm-dd HH:MM:SS WWW QQQQ ZZZ"
10
+ * @returns 返回拼接后的时间字符串
11
+ */
12
+ export declare function formatDate(date: Date, format: string): string;
13
+ /**
14
+ * 获取当前日期是第几周
15
+ * @param dateTime 当前传入的日期值
16
+ * @returns 返回第几周数字值
17
+ */
18
+ export declare function getWeek(dateTime: Date): number;
19
+ /**
20
+ * 将时间转换为 `几秒前`、`几分钟前`、`几小时前`、`几天前`
21
+ * @param param 当前时间,new Date() 格式或者字符串时间格式
22
+ * @param format 需要转换的时间格式字符串
23
+ * @description param 10秒: 10 * 1000
24
+ * @description param 1分: 60 * 1000
25
+ * @description param 1小时: 60 * 60 * 1000
26
+ * @description param 24小时:60 * 60 * 24 * 1000
27
+ * @description param 3天: 60 * 60* 24 * 1000 * 3
28
+ * @returns 返回拼接后的时间字符串
29
+ */
30
+ export declare function formatPast(param: string | Date, format?: string): string;
31
+ /**
32
+ * 时间问候语
33
+ * @param param 当前时间,new Date() 格式
34
+ * @description param 调用 `formatAxis(new Date())` 输出 `上午好`
35
+ * @returns 返回拼接后的时间字符串
36
+ */
37
+ export declare function formatAxis(param: Date, t?: Function): string;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 获取字体图标 `document.styleSheets`
3
+ * @method ali 获取阿里字体图标 `<i class="iconfont 图标类名"></i>`
4
+ * @method ele 获取 element plus 自带图标 `<i class="图标类名"></i>`
5
+ * @method ali 获取 fontawesome 的图标 `<i class="fa 图标类名"></i>`
6
+ */
7
+ declare const initIconfont: {
8
+ ali: () => Promise<unknown>;
9
+ ele: () => Promise<unknown>;
10
+ awe: () => Promise<unknown>;
11
+ };
12
+ export default initIconfont;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WGS84转GCJ02(高德,腾讯)
3
+ * @param lng
4
+ * @param lat
5
+ * @returns
6
+ */
7
+ export declare function wgs84ToGcj02(lng: number, lat: number): {
8
+ lng: number;
9
+ lat: number;
10
+ };
11
+ /**
12
+ * GCJ02转BD09(百度)
13
+ * @param lng
14
+ * @param lat
15
+ * @returns
16
+ */
17
+ export declare function gcj02ToBd09(lng: number, lat: number): {
18
+ lng: number;
19
+ lat: number;
20
+ };
21
+ /**
22
+ * WGS84转BD09(百度)
23
+ * @param _lng
24
+ * @param _lat
25
+ * @returns
26
+ */
27
+ export declare function wgs84ToBd09(_lng: number, _lat: number): {
28
+ lng: number;
29
+ lat: number;
30
+ };
@@ -0,0 +1,23 @@
1
+ export * from './arrayOperation';
2
+ export * from './auto-update';
3
+ export * from './base64Conver';
4
+ export * from './data-signature';
5
+ export * from './download';
6
+ export * from './exportExcel';
7
+ export * from './flowLoading';
8
+ export * from './formatTime';
9
+ export * from './formRule';
10
+ export * from './formValidate';
11
+ export * from './getStyleSheets';
12
+ export * from './gpsConvertor';
13
+ export * from './json-utils';
14
+ export * from './loading';
15
+ export * from './md5Signature';
16
+ export * from './mitt';
17
+ export * from './request';
18
+ export * from './saulVModel';
19
+ export * from './setIconfont';
20
+ export * from './storage';
21
+ export * from './theme';
22
+ export * from './toolsValidate';
23
+ export * from './watermark';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 尝试将字符串转对象
3
+ * @param value 要转的字符串
4
+ * @returns {Object|String}
5
+ */
6
+ export declare const StringToObj: (value: any) => any;
@@ -0,0 +1,4 @@
1
+ export declare const NextLoading: {
2
+ start: () => void;
3
+ done: (time?: number) => void;
4
+ };
@@ -0,0 +1 @@
1
+ export default function md5Signature(data: any): any;
@@ -0,0 +1,4 @@
1
+ import { Emitter } from 'mitt';
2
+ import { MittType } from 'fmdeui-fmui/es/types';
3
+ declare const emitter: Emitter<MittType>;
4
+ export default emitter;