@fmdeui/fmui 1.0.5 → 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.
- package/es/{index.css → defaults.css} +2 -2
- package/es/utils/arrayOperation.d.ts +23 -0
- package/es/utils/auto-update.d.ts +11 -0
- package/es/utils/base64Conver.d.ts +30 -0
- package/es/utils/data-signature.d.ts +17 -0
- package/es/utils/download.d.ts +46 -0
- package/es/utils/exportExcel.d.ts +12 -0
- package/es/utils/flowLoading.d.ts +19 -0
- package/es/utils/fontts/font-awesome.d.ts +1 -0
- package/es/utils/fontts/font_2298093_rnp72ifj3ba.d.ts +1 -0
- package/es/utils/formRule.d.ts +36 -0
- package/es/utils/formValidate.d.ts +21 -0
- package/es/utils/formatTime.d.ts +37 -0
- package/es/utils/getStyleSheets.d.ts +12 -0
- package/es/utils/gpsConvertor.d.ts +30 -0
- package/es/utils/index.d.ts +23 -0
- package/es/utils/json-utils.d.ts +6 -0
- package/es/utils/loading.d.ts +4 -0
- package/es/utils/md5Signature.d.ts +1 -0
- package/es/utils/mitt.d.ts +4 -0
- package/es/utils/request.d.ts +53 -0
- package/es/utils/saulVModel.d.ts +4 -0
- package/es/utils/setIconfont.d.ts +12 -0
- package/es/utils/signalR.d.ts +3 -0
- package/es/utils/storage.d.ts +27 -0
- package/es/utils/theme.d.ts +13 -0
- package/es/utils/toolsValidate.d.ts +148 -0
- package/es/utils/watermark.d.ts +10 -0
- package/index.js +1 -1
- package/index.min.js +1 -1
- package/index.min.mjs +1 -1
- package/index.mjs +1 -1
- package/lib/utils/arrayOperation.d.ts +23 -0
- package/lib/utils/auto-update.d.ts +11 -0
- package/lib/utils/base64Conver.d.ts +30 -0
- package/lib/utils/data-signature.d.ts +17 -0
- package/lib/utils/download.d.ts +46 -0
- package/lib/utils/exportExcel.d.ts +12 -0
- package/lib/utils/flowLoading.d.ts +19 -0
- package/lib/utils/fontts/font-awesome.d.ts +1 -0
- package/lib/utils/fontts/font_2298093_rnp72ifj3ba.d.ts +1 -0
- package/lib/utils/formRule.d.ts +36 -0
- package/lib/utils/formValidate.d.ts +21 -0
- package/lib/utils/formatTime.d.ts +37 -0
- package/lib/utils/getStyleSheets.d.ts +12 -0
- package/lib/utils/gpsConvertor.d.ts +30 -0
- package/lib/utils/index.d.ts +23 -0
- package/lib/utils/json-utils.d.ts +6 -0
- package/lib/utils/loading.d.ts +4 -0
- package/lib/utils/md5Signature.d.ts +1 -0
- package/lib/utils/mitt.d.ts +4 -0
- package/lib/utils/request.d.ts +53 -0
- package/lib/utils/saulVModel.d.ts +4 -0
- package/lib/utils/setIconfont.d.ts +12 -0
- package/lib/utils/signalR.d.ts +3 -0
- package/lib/utils/storage.d.ts +27 -0
- package/lib/utils/theme.d.ts +13 -0
- package/lib/utils/toolsValidate.d.ts +148 -0
- package/lib/utils/watermark.d.ts +10 -0
- package/locale/en.js +1 -1
- package/locale/en.min.js +1 -1
- package/locale/en.min.mjs +1 -1
- package/locale/en.mjs +1 -1
- package/locale/zh-cn.js +1 -1
- package/locale/zh-cn.min.js +1 -1
- package/locale/zh-cn.min.mjs +1 -1
- package/locale/zh-cn.mjs +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 验证百分比(不可以小数)
|
|
3
|
+
* @param val 当前值字符串
|
|
4
|
+
* @returns 返回处理后的字符串
|
|
5
|
+
*/
|
|
6
|
+
export declare function verifyNumberPercentage(val: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* 验证百分比(可以小数)
|
|
9
|
+
* @param val 当前值字符串
|
|
10
|
+
* @returns 返回处理后的字符串
|
|
11
|
+
*/
|
|
12
|
+
export declare function verifyNumberPercentageFloat(val: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* 小数或整数(不可以负数)
|
|
15
|
+
* @param val 当前值字符串
|
|
16
|
+
* @returns 返回处理后的字符串
|
|
17
|
+
*/
|
|
18
|
+
export declare function verifyNumberIntegerAndFloat(val: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* 正整数验证
|
|
21
|
+
* @param val 当前值字符串
|
|
22
|
+
* @returns 返回处理后的字符串
|
|
23
|
+
*/
|
|
24
|
+
export declare function verifiyNumberInteger(val: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* 去掉中文及空格
|
|
27
|
+
* @param val 当前值字符串
|
|
28
|
+
* @returns 返回处理后的字符串
|
|
29
|
+
*/
|
|
30
|
+
export declare function verifyCnAndSpace(val: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* 去掉英文及空格
|
|
33
|
+
* @param val 当前值字符串
|
|
34
|
+
* @returns 返回处理后的字符串
|
|
35
|
+
*/
|
|
36
|
+
export declare function verifyEnAndSpace(val: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* 禁止输入空格
|
|
39
|
+
* @param val 当前值字符串
|
|
40
|
+
* @returns 返回处理后的字符串
|
|
41
|
+
*/
|
|
42
|
+
export declare function verifyAndSpace(val: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* 金额用 `,` 区分开
|
|
45
|
+
* @param val 当前值字符串
|
|
46
|
+
* @returns 返回处理后的字符串
|
|
47
|
+
*/
|
|
48
|
+
export declare function verifyNumberComma(val: string): any;
|
|
49
|
+
/**
|
|
50
|
+
* 匹配文字变色(搜索时)
|
|
51
|
+
* @param val 当前值字符串
|
|
52
|
+
* @param text 要处理的字符串值
|
|
53
|
+
* @param color 搜索到时字体高亮颜色
|
|
54
|
+
* @returns 返回处理后的字符串
|
|
55
|
+
*/
|
|
56
|
+
export declare function verifyTextColor(val: string, text?: string, color?: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* 数字转中文大写
|
|
59
|
+
* @param val 当前值字符串
|
|
60
|
+
* @param unit 默认:仟佰拾亿仟佰拾万仟佰拾元角分
|
|
61
|
+
* @returns 返回处理后的字符串
|
|
62
|
+
*/
|
|
63
|
+
export declare function verifyNumberCnUppercase(val: any, unit?: string, v?: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* 手机号码
|
|
66
|
+
* @param val 当前值字符串
|
|
67
|
+
* @returns 返回 true: 手机号码正确
|
|
68
|
+
*/
|
|
69
|
+
export declare function verifyPhone(val: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* 国内电话号码
|
|
72
|
+
* @param val 当前值字符串
|
|
73
|
+
* @returns 返回 true: 国内电话号码正确
|
|
74
|
+
*/
|
|
75
|
+
export declare function verifyTelPhone(val: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* 登录账号 (字母开头,允许5-16字节,允许字母数字下划线)
|
|
78
|
+
* @param val 当前值字符串
|
|
79
|
+
* @returns 返回 true: 登录账号正确
|
|
80
|
+
*/
|
|
81
|
+
export declare function verifyAccount(val: string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* 密码 (以字母开头,长度在6~16之间,只能包含字母、数字和下划线)
|
|
84
|
+
* @param val 当前值字符串
|
|
85
|
+
* @returns 返回 true: 密码正确
|
|
86
|
+
*/
|
|
87
|
+
export declare function verifyPassword(val: string): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* 强密码 (字母+数字+特殊字符,长度在6-16之间)
|
|
90
|
+
* @param val 当前值字符串
|
|
91
|
+
* @returns 返回 true: 强密码正确
|
|
92
|
+
*/
|
|
93
|
+
export declare function verifyPasswordPowerful(val: string): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* 密码强度
|
|
96
|
+
* @param val 当前值字符串
|
|
97
|
+
* @description 弱:纯数字,纯字母,纯特殊字符
|
|
98
|
+
* @description 中:字母+数字,字母+特殊字符,数字+特殊字符
|
|
99
|
+
* @description 强:字母+数字+特殊字符
|
|
100
|
+
* @returns 返回处理后的字符串:弱、中、强
|
|
101
|
+
*/
|
|
102
|
+
export declare function verifyPasswordStrength(val: string): string;
|
|
103
|
+
/**
|
|
104
|
+
* IP地址
|
|
105
|
+
* @param val 当前值字符串
|
|
106
|
+
* @returns 返回 true: IP地址正确
|
|
107
|
+
*/
|
|
108
|
+
export declare function verifyIPAddress(val: string): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* 邮箱
|
|
111
|
+
* @param val 当前值字符串
|
|
112
|
+
* @returns 返回 true: 邮箱正确
|
|
113
|
+
*/
|
|
114
|
+
export declare function verifyEmail(val: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* 身份证
|
|
117
|
+
* @param val 当前值字符串
|
|
118
|
+
* @returns 返回 true: 身份证正确
|
|
119
|
+
*/
|
|
120
|
+
export declare function verifyIdCard(val: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* 姓名
|
|
123
|
+
* @param val 当前值字符串
|
|
124
|
+
* @returns 返回 true: 姓名正确
|
|
125
|
+
*/
|
|
126
|
+
export declare function verifyFullName(val: string): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* 邮政编码
|
|
129
|
+
* @param val 当前值字符串
|
|
130
|
+
* @returns 返回 true: 邮政编码正确
|
|
131
|
+
*/
|
|
132
|
+
export declare function verifyPostalCode(val: string): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* url 处理
|
|
135
|
+
* @param val 当前值字符串
|
|
136
|
+
* @returns 返回 true: url 正确
|
|
137
|
+
*/
|
|
138
|
+
export declare function verifyUrl(val: string): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* 车牌号
|
|
141
|
+
* @param val 当前值字符串
|
|
142
|
+
* @returns 返回 true:车牌号正确
|
|
143
|
+
*/
|
|
144
|
+
export declare function verifyCarNum(val: string): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* 解析身份证
|
|
147
|
+
*/
|
|
148
|
+
export declare function judgementIdCard(idCard: string): any;
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! fmdeui-fmui v1.0.
|
|
1
|
+
/*! fmdeui-fmui v1.0.6 */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(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')) :
|
|
4
4
|
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'], factory) :
|
package/index.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! fmdeui-fmui v1.0.5 */(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.5 */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
|
@@ -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>;
|