joy-admin-components 0.2.26 → 0.2.28
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.
|
@@ -1076,7 +1076,7 @@ const hn = { key: 0 }, mn = { class: "btns" }, gn = { class: "left" }, pn = { cl
|
|
|
1076
1076
|
pageSizes: [10, 50, 100, 500],
|
|
1077
1077
|
// 响应数据字段映射
|
|
1078
1078
|
responseDataKeys: {
|
|
1079
|
-
rows: ["rows", "records"],
|
|
1079
|
+
rows: ["rows", "records", "list"],
|
|
1080
1080
|
// 数据列表字段名(优先级从左到右)
|
|
1081
1081
|
total: ["totalRows", "total"]
|
|
1082
1082
|
// 总条数字段名
|
|
@@ -1166,7 +1166,7 @@ const wn = { class: "center" }, Cn = {
|
|
|
1166
1166
|
}, 100), _ = () => {
|
|
1167
1167
|
k();
|
|
1168
1168
|
}, x = () => {
|
|
1169
|
-
if (!l.searchForm.enableCellCopy)
|
|
1169
|
+
if (!l.searchForm.enableCellCopy && !o.enableCellCopy)
|
|
1170
1170
|
return !1;
|
|
1171
1171
|
const f = m.value;
|
|
1172
1172
|
if (!f || !f.$el)
|
|
@@ -1596,7 +1596,7 @@ const wn = { class: "center" }, Cn = {
|
|
|
1596
1596
|
], 2);
|
|
1597
1597
|
};
|
|
1598
1598
|
}
|
|
1599
|
-
}, Qn = /* @__PURE__ */ _e(Cn, [["__scopeId", "data-v-
|
|
1599
|
+
}, Qn = /* @__PURE__ */ _e(Cn, [["__scopeId", "data-v-5496c3dc"]]), eo = {
|
|
1600
1600
|
__name: "index",
|
|
1601
1601
|
props: {
|
|
1602
1602
|
sheetsConfig: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(y,H){typeof exports=="object"&&typeof module<"u"?H(exports,require("element-plus"),require("vue"),require("file-saver"),require("exceljs"),require("dayjs"),require("vue-i18n"),require("lodash"),require("vue-router"),require("vuex"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue","file-saver","exceljs","dayjs","vue-i18n","lodash","vue-router","vuex","vxe-pc-ui"],H):(y=typeof globalThis<"u"?globalThis:y||self,H(y.JoyAdminComponents={},y.ElementPlus,y.Vue,y.fileSaver,y.ExcelJS,y.dayjs,y.VueI18n,y._,y.VueRouter,y.Vuex,y.VxeUI))})(this,function(y,H,e,Ie,ge,ce,X,te,Le,Q,de){"use strict";const Je=e.defineComponent({name:"LayOutForm",setup(o,{slots:t,attrs:n,emit:r}){const s=e.ref(null),l=()=>t.default?t.default().filter(i=>i.type!==Symbol.for("v-cmt")).map(i=>i.type===Symbol.for("v-fgt")?i.children:i).flat().map(i=>{var c;return e.h(H.ElCol,{span:((c=i.props)==null?void 0:c.span)||24},{default:()=>i})}):null;e.onMounted(()=>{r("ref",s.value)});function a(){return e.h(H.ElForm,{...n,ref:s},()=>e.h(H.ElRow,{gutter:n.gutter??20},{default:()=>l()}))}return a}});var ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fe(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var De={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(ve,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,s=/([+-]|\d\d)/g;return function(l,a,i){var c=a.prototype;i.utc=function(u){var m={date:u,utc:!0,args:arguments};return new a(m)},c.utc=function(u){var m=i(this.toDate(),{locale:this.$L,utc:!0});return u?m.add(this.utcOffset(),n):m},c.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var w=c.parse;c.parse=function(u){u.utc&&(this.$u=!0),this.$utils().u(u.$offset)||(this.$offset=u.$offset),w.call(this,u)};var k=c.init;c.init=function(){if(this.$u){var u=this.$d;this.$y=u.getUTCFullYear(),this.$M=u.getUTCMonth(),this.$D=u.getUTCDate(),this.$W=u.getUTCDay(),this.$H=u.getUTCHours(),this.$m=u.getUTCMinutes(),this.$s=u.getUTCSeconds(),this.$ms=u.getUTCMilliseconds()}else k.call(this)};var x=c.utcOffset;c.utcOffset=function(u,m){var $=this.$utils().u;if($(u))return this.$u?0:$(this.$offset)?x.call(this):this.$offset;if(typeof u=="string"&&(u=function(I){I===void 0&&(I="");var A=I.match(r);if(!A)return null;var v=(""+A[0]).match(s)||["-",0,0],f=v[0],_=60*+v[1]+ +v[2];return _===0?0:f==="+"?_:-_}(u),u===null))return this;var V=Math.abs(u)<=16?60*u:u;if(V===0)return this.utc(m);var S=this.clone();if(m)return S.$offset=V,S.$u=!1,S;var T=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(V+T,n)).$offset=V,S.$x.$localOffset=T,S};var C=c.format;c.format=function(u){var m=u||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return C.call(this,m)},c.valueOf=function(){var u=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*u},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var p=c.toDate;c.toDate=function(u){return u==="s"&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():p.call(this)};var g=c.diff;c.diff=function(u,m,$){if(u&&this.$u===u.$u)return g.call(this,u,m,$);var V=this.local(),S=i(u).local();return g.call(V,S,m,$)}}})})(De);var Xe=De.exports;const Qe=Fe(Xe);var Be={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(ve,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(s,l,a){var i,c=function(C,p,g){g===void 0&&(g={});var u=new Date(C),m=function($,V){V===void 0&&(V={});var S=V.timeZoneName||"short",T=$+"|"+S,I=r[T];return I||(I=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:$,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[T]=I),I}(p,g);return m.formatToParts(u)},w=function(C,p){for(var g=c(C,p),u=[],m=0;m<g.length;m+=1){var $=g[m],V=$.type,S=$.value,T=n[V];T>=0&&(u[T]=parseInt(S,10))}var I=u[3],A=I===24?0:I,v=u[0]+"-"+u[1]+"-"+u[2]+" "+A+":"+u[4]+":"+u[5]+":000",f=+C;return(a.utc(v).valueOf()-(f-=f%1e3))/6e4},k=l.prototype;k.tz=function(C,p){C===void 0&&(C=i);var g,u=this.utcOffset(),m=this.toDate(),$=m.toLocaleString("en-US",{timeZone:C}),V=Math.round((m-new Date($))/1e3/60),S=15*-Math.round(m.getTimezoneOffset()/15)-V;if(!Number(S))g=this.utcOffset(0,p);else if(g=a($,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),p){var T=g.utcOffset();g=g.add(u-T,"minute")}return g.$x.$timezone=C,g},k.offsetName=function(C){var p=this.$x.$timezone||a.tz.guess(),g=c(this.valueOf(),p,{timeZoneName:C}).find(function(u){return u.type.toLowerCase()==="timezonename"});return g&&g.value};var x=k.startOf;k.startOf=function(C,p){if(!this.$x||!this.$x.$timezone)return x.call(this,C,p);var g=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return x.call(g,C,p).tz(this.$x.$timezone,!0)},a.tz=function(C,p,g){var u=g&&p,m=g||p||i,$=w(+a(),m);if(typeof C!="string")return a(C).tz(m);var V=function(A,v,f){var _=A-60*v*1e3,D=w(_,f);if(v===D)return[_,v];var M=w(_-=60*(D-v)*1e3,f);return D===M?[_,D]:[A-60*Math.min(D,M)*1e3,Math.max(D,M)]}(a.utc(C,u).valueOf(),$,m),S=V[0],T=V[1],I=a(S).utcOffset(T);return I.$x.$timezone=m,I},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(C){i=C}}})})(Be);var et=Be.exports;const tt=Fe(et),pe={"dao-ru":"导入","quan-xuan":"全选","xia-zai-dao-ru-mo-ban":"下载导入模板","xu-hao":"序号","qing-shu-ru":"请输入","qing-xuan-ze":"请选择","kai-shi-shi-jian":"开始时间","jie-shu-shi-jian":"结束时间","shai-xuan":"筛选","chong-zhi":"重置","guan-bi":"关闭","zhan-kai":"展开","qu-xiao":"取消","ti-jiao":"提交","que-ding":"确定","que-ding-guan-bi-ma":"确定关闭吗","xia-zai-dao-ru-mo-ban":"下载导入模板",excel:{fieldsMappingRequired:"请输入列字段映射",invalidInput:"非法输入",invalidOption:"请输入有效选项!",copyFailed:"复制失败",sheetNameTooLong:'Sheet名称 "{0}" 长度超过31个字符,已自动截断为 "{1}"'},validate:{invalidInput:"请输入正确内容"},tools:{keysLengthError:"keys 长度必须大于2 默认前两位为 label value"}},ye={"dao-ru":"Import","quan-xuan":"Select All","xia-zai-dao-ru-mo-ban":"Download Import Template","xu-hao":"No.","qing-shu-ru":"Please enter","qing-xuan-ze":"Please select","kai-shi-shi-jian":"Start Time","jie-shu-shi-jian":"End Time","shai-xuan":"Filter","chong-zhi":"Reset","guan-bi":"Collapse","zhan-kai":"Expand","qu-xiao":"Cancel","ti-jiao":"Submit","que-ding":"Confirm","que-ding-guan-bi-ma":"Are you sure to close?","xia-zai-dao-ru-mo-ban":"Download Import Template",excel:{fieldsMappingRequired:"Please enter column field mapping",invalidInput:"Invalid input",invalidOption:"Please enter a valid option!",copyFailed:"Copy failed",sheetNameTooLong:'Sheet name "{0}" exceeds 31 characters, automatically truncated to "{1}"'},validate:{invalidInput:"Please enter valid content"},tools:{keysLengthError:"Keys length must be greater than 2, default first two are label and value"}},ze={zh_cn:pe,en_us:ye};let re=null;function Me(o=null){if(o){const{global:t}=o;return t.messages.value.zh_cn?t.mergeLocaleMessage("zh_cn",pe):t.setLocaleMessage("zh_cn",pe),t.messages.value.en_us?t.mergeLocaleMessage("en_us",ye):t.setLocaleMessage("en_us",ye),re=o,o}return re||(re=X.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:ze})),re}function Ce(){return re||Me()}function oe(){return Ce().global.t}ce.extend(Qe),ce.extend(tt);async function ot(o,t){const{fields:n,range:r=1}=t;if(!n){const a=oe();throw new Error(a("excel.fieldsMappingRequired"))}let s=new ge.Workbook;await s.xlsx.load(o);const l={};return s.eachSheet(function(a,i){const c=[];a.eachRow(function(w,k){if(k>r){let x={},C=!0;Object.keys(n).forEach(p=>{const g=w.getCell(n[p]).value;x[p]=g,g&&(C=!1)}),C||c.push(x)}}),l[a._name]=c}),s=null,l}const Oe={columnWidth:30};async function nt(o,t,n=[],r={}){if(!o||!t)return;const{columnStyle:s}=r,{columnWidth:l}=Oe;t.forEach(c=>{c.width=c.width?c.width:l});const{workbook:a,worksheet:i}=lt();i.columns=t,i.addRows(n),s&&await at(a,i,s);try{const c=await a.xlsx.writeBuffer(),w=new File([c],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Ie.saveAs(w)}catch(c){console.log(c)}}function lt(){const o=new ge.Workbook;o.creator="distributor System",o.lastModifiedBy="distributor System",o.created=new Date,o.modified=new Date,o.lastPrinted=new Date;const t=o.addWorksheet("Sheet1");return{workbook:o,worksheet:t}}async function at(o,t,n){const r=Object.keys(n);for(const s of r){const l=n[s],{type:a}=l;switch(a){case"IMG":await rt(o,t,s);break}}}async function rt(o,t,n,r){const s=t.getColumn(n),l=s.values;t.getColumn(n).width=20,t.eachRow((a,i)=>{i>1&&(a.height=40)});for(let a=0,i=l.length;a<i;a++){if(a<2)continue;let c=l[a];c&&(t.getCell(s.letter+a).value="",await st(o,t,c,{width:100,height:50,col:s._number-1,row:a-1}))}}async function st(o,t,n,r){const{col:s,row:l,width:a,height:i}=r,{success:c,base64:w}=await it(n,.3);if(c){const k=o.addImage({base64:w,extension:"jpeg"});t.addImage(k,{tl:{col:s,row:l},ext:{width:a,height:i}})}}function it(o,t=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=o,new Promise((r,s)=>{n.onload=()=>{const l=document.createElement("canvas");l.width=n.width,l.height=n.height,l.getContext("2d").drawImage(n,0,0,l.width,l.height),r({success:!0,base64:l.toDataURL("image/jpeg",t)})},n.onerror=()=>{r({success:!1})}})}const be="---";async function ct(o,t){const{fields:n,range:r=1}=t;if(!n){const a=oe();throw new Error(a("excel.fieldsMappingRequired"))}let s=new ge.Workbook;await s.xlsx.load(o);const l={};return s.eachSheet(function(a,i){if(a.state=="visible"){const c=[],w=n[a._name];if(w){let k=Object.values(w).some(C=>C.includes("image")),x={};k&&(a.getImages().forEach(p=>{const{tl:g}=p.range,u=s.model.media.find(m=>m.index===p.imageId);if(u){const m=u.buffer.toString("base64"),$=`data:image/${u.extension};base64,${m}`,V=`${Math.ceil(g.row)}_${Math.ceil(g.col)}`;x[V]?x[V].push($):x[V]=[$]}}),console.log("withImages-imageMap",x)),a.eachRow(function(C,p){if(p>r){let g={},u=!0;Object.keys(w).forEach(m=>{var I;let[$,V]=w[m].split(be);const S=C.getCell($);let T;if(V=="image"&&k){const A=S._column._number,v=`${p}_${A}`;T=x[v]||""}else S.result!=null?T=S.result:(I=S.value)!=null&&I.richText?T=S.value.richText.reduce((A,v)=>A+v.text,""):S.type==4&&S.value?T=ce(S.value).utc().format("YYYY-MM-DD HH:mm:ss"):T=S.value;T&&V=="option"&&(T=T.split(be)[1]),g[m]=T,T&&(u=!1)}),u||c.push(g)}}),l[a._name]=c}}}),s=null,l}async function dt(o,t){if(!o||t.length==0)return;const n=ut(t);n.eachSheet(function(r,s){const{columnWidth:l}=Oe,{tableHeader:a,tableData:i}=t[r._name];a.forEach(c=>{if(c.required){const w=c.style||{},{font:k={}}=w;c.style={...w,font:{...k,color:{argb:"FFFF0000"}}}}}),r.columns=a,r.addRows(i),a.forEach(c=>{const{header:w,key:k,width:x,option:C}=c,p=r.getColumn(k);if(p.width=x||l,C){const g=n.addWorksheet(k);g.state="hidden",g.getColumn(1).values=C.map(u=>`${u.label}${be}${u.value}`),Array(100).fill("").forEach((u,m)=>{if(m>0){const $=oe();r.getCell(`${p.letter}${m}`).dataValidation={type:"list",formulae:[`${k}!$A$1:$A$${C.length}`],showErrorMessage:!0,error:$("excel.invalidInput"),errorStyle:"stop",errorMessage:$("excel.invalidOption")}}})}})});try{const r=await n.xlsx.writeBuffer(),s=new File([r],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Ie.saveAs(s)}catch(r){console.log(r)}}function ut(o){const t=oe(),n=new ge.Workbook;return n.creator="distributor System",n.lastModifiedBy="distributor System",n.created=new Date,n.modified=new Date,n.lastPrinted=new Date,Object.keys(o).sort((s,l)=>{const a=o[s].sort??0,i=o[l].sort??0;return a-i}).forEach(s=>{let l=s,a=!1;/[\\/:*?\[\]]/g.test(s)&&(s=s.replace(/[\\/:*?\[\]]/g,""),a=!0),s.length>31&&(s=s.substring(0,31).trim(),a=!0,console.warn(t("excel.sheetNameTooLong",[l,s]))),a&&(o[s]=o[l],delete o[l]),n.addWorksheet(s)}),n}function ft(o){if(o<26)return String.fromCharCode(65+o);{const t=String.fromCharCode(65+Math.floor((o-26)/26)),n=String.fromCharCode(65+(o-26)%26);return t+n}}function ht(o){return new Promise(t=>{setTimeout(()=>{t()},o)})}function mt(o){return JSON.parse(JSON.stringify(o))}function gt(o){let t=[],n={},r=(s,l)=>Object.prototype.hasOwnProperty.call(s,l);for(const s of o){n[s.id]={...s,children:r(n,s.id)?n[s.id].children:[]};const l=n[s.id];s.pid==-1?t.push(l):(r(n,s.pid)||(n[s.pid]={children:[]}),n[s.pid].children.push(l))}return t}function we(o,t=" "){return o?o.split(t).filter(n=>n.trim()):[]}class xe{constructor(t,n=["label","value","labelEn"]){this.list=t.map(r=>({...r,label:r[n[0]],labelEn:r[n[2]]||r[n[0]]||"",value:r[n[1]]})),this.map=new Map(this.list.map(r=>[r[n[1]],r]))}getName(t){if(!this.has(t))return"-";const n=Ce().global.locale,{label:r,labelEn:s}=this.map.get(t);return(n.value=="zh_cn"?r:s)||r||"-"}getTag(t){if(!this.has(t))return"info";const{tag:n="info"}=this.map.get(t);return n}getItem(t){return this.has(t)?this.map.get(t):null}getColor(t){if(!this.has(t))return null;const{color:n}=this.map.get(t);return n}has(t){return this.map.has(t)}}function pt(o,t=[],n="i18nName"){if(o.length==0)return new xe([]);if(t.length<2){const s=oe();throw new Error(s("tools.keysLengthError"))}let r=o.map(s=>{let l={};return n&&(l.labelEn=s[n]),t.forEach((a,i)=>{i===0?l.label=s[a]:i===1?l.value=s[a]:l[a]=s[a]}),l});return new xe(r)}function yt(o){return o?o.replace(/<[^>]+>/g,""):""}function Ct(o){return o?(o.includes("\\\\u")&&(o=o.replace(/\\/g,"")),o.replace(/\\u[\dA-F]{4}/gi,t=>String.fromCharCode(parseInt(t.replace(/\\u/g,""),16)))):""}function bt(o,t=10){let n=1048576*t;return!(o.size>n)}function wt(o){return Array.from(10).fill(0).map((n,r)=>o+"_"+r)}function xt(o){let t={};return o.map((n,r)=>{let{key:s,option:l,type:a}=n,i=ft(r);l?t[s]=`${i}---option`:a==="image"?t[s]=`${i}---image`:t[s]=i}),t}function kt(o,t){return t.split(".").reduce((n,r)=>n&&n[r],o)}const lo="",ue=(o,t)=>{const n=o.__vccOpts||o;for(const[r,s]of t)n[r]=s;return n},_t=["onClick"],qe=ue({__name:"index",props:e.mergeModels({api:{type:Function},showCheckAll:{type:Boolean,default:!0},maxLimit:{type:Number,default:void 0},optionClick:{type:Function,default:()=>{}},data:{type:Array},labelValue:{type:Object,default:()=>({label:"label",labelEn:"labelEn",value:"value"})},changeLocal:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["success","change","changeAll"],["update:modelValue"]),setup(o,{emit:t}){const n=o,r=e.useAttrs(),{t:s,locale:l}=X.useI18n(),a=e.useModel(o,"modelValue"),i=e.computed(()=>r["value-key"]!=null),c=e.ref(""),w=e.computed(()=>{if(r.remote!==void 0)return n.data;const f=we(c.value),{data:_,labelValue:D}=n,M=_||C.value;if(f.length==0)return M;const{label:G,labelEn:ne}=D;let b=l.value=="en_us"?ne||"i18nName":G;return f.length==1?M.filter(ee=>ee[b].toLowerCase().includes(f[0].toLowerCase())):M.filter(ee=>{let ie=!1;return ie=f.some(he=>ee[b].toLowerCase()==he.toLowerCase()),ie})}),k=e.computed({get(){return r.multiple==null||a.value==null?!1:a.value.length==w.value.length},set(f){return f}}),x=t,C=e.ref([]),p=async()=>{const{data:f}=await n.api();C.value=[...f],x("success",C)};n.api&&p();function g(f){x("change",f)}const u=n.labelValue.label.split("-"),m=f=>{if(u.length==1){if(n.changeLocal)return s(f[n.labelValue.label]);let _=l.value=="en_us"?f[n.labelValue.labelEn||"i18nName"]:f[n.labelValue.label];return _=_||f[n.labelValue.label],_}else{let _=[];return u.forEach(D=>{_.push(f[D])}),_.join("-")}};function $(f){let _=n.data?n.data:C.value;a.value=f?_.map(D=>i.value?D:D[n.labelValue.value]):[],e.nextTick(()=>{x("change",a.value),x("changeAll",a.value,_)})}function V(f){n.optionClick&&n.optionClick(f),x("change",i.value?f:f[n.labelValue.value])}function S(f){return a.value.length>=n.maxLimit&&!a.value.includes(f[n.labelValue.value])}function T(f){return f.map(_=>({..._,label:m(_),value:i.value?_:_[n.labelValue.value]}))}const I=e.ref([]),A=n.data?n.data:C.value;I.value=T(A),e.watch(()=>n.data?n.data:C.value,f=>{var D;const _=T(f);if(_.length!==I.value.length)I.value=_;else{let M=!1;for(let G=0;G<_.length;G++)if(_[G].value!==((D=I.value[G])==null?void 0:D.value)){M=!0;break}M&&(I.value=_)}},{deep:!0});const v=e.computed(()=>I.value);return(f,_)=>{const D=e.resolveComponent("el-checkbox"),M=e.resolveComponent("el-select-v2"),G=e.resolveComponent("el-option"),ne=e.resolveComponent("el-select");return e.unref(r).v2!=null?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,options:v.value,modelValue:a.value,"onUpdate:modelValue":_[1]||(_[1]=b=>a.value=b)},e.unref(r),{filterable:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",onChange:g,onClear:g}),e.createSlots({default:e.withCtx(({item:b})=>[e.createElementVNode("div",{onClick:se=>V(b)},e.toDisplayString(b.label),9,_t)]),_:2},[e.unref(r).multiple!=null?{name:"header",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"header",{},()=>[e.createVNode(D,{class:"mgl20",modelValue:k.value,"onUpdate:modelValue":_[0]||(_[0]=b=>k.value=b),onChange:$},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0)]),key:"0"}:void 0]),1040,["options","modelValue"])):(e.openBlock(),e.createBlock(ne,e.mergeProps({key:1,modelValue:a.value,"onUpdate:modelValue":_[3]||(_[3]=b=>a.value=b),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(r).remote!=null?void 0:b=>c.value=b,clearable:""},e.unref(r),{onClear:o.optionClick}),{default:e.withCtx(()=>[e.unref(r).multiple!=null&&o.showCheckAll&&o.maxLimit==null?e.renderSlot(f.$slots,"header",{key:0},()=>[e.createVNode(D,{class:"mgl20",modelValue:k.value,"onUpdate:modelValue":_[2]||(_[2]=b=>k.value=b),onChange:$},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(b,se)=>(e.openBlock(),e.createBlock(G,{key:se,label:m(b),disabled:e.unref(r).multiple!=null&&o.maxLimit>0?S(b):!1,onClick:e.withModifiers(ee=>V(b),["stop"]),value:i.value?b:b[o.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"]))}}},[["__scopeId","data-v-d12f3c20"]]),ro="",St=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function $t(o,t,n,r,s,l){const a=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(a,{class:"cmp-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.name)))]),_:1})}const ke=ue(St,[["render",$t],["__scopeId","data-v-733f9daa"]]),Vt={__name:"index",emits:["ok","no"],setup(o,{emit:t}){const n=t,r=te.debounce(()=>{n("ok")},500);function s(){n("no")}return(l,a)=>{const i=e.resolveComponent("el-popconfirm");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(i,e.mergeProps(l.$attrs,{onConfirm:e.unref(r),onCancel:s}),{reference:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["onConfirm"])])}}},so="",Et=["accept"],Tt=ue({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},fields:{type:Object,default:()=>({})},fileChange:{type:Function,required:!0}},emits:["fileChange"],setup(o,{emit:t}){const n=o,r=e.ref(null),s=e.ref(!1);async function l(a){s.value=!0;let i=a.target.files[0];const c=await ct(i,n.fields).catch(()=>{s.value=!1}).finally(()=>{r.value.value=null});await n.fileChange(c).finally(()=>{s.value=!1})}return(a,i)=>{const c=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(c,{loading:s.value,class:"mgr10",onClick:i[0]||(i[0]=w=>r.value.click())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("dao-ru")),1)]),_:1},8,["loading"]),e.createElementVNode("input",{onChange:l,ref_key:"input",ref:r,accept:o.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,Et)])}}},[["__scopeId","data-v-6f9ede29"]]);function _e(o){let t={};return o.forEach(n=>{const{key:r,type:s,option:l={},value:a,dateType:i="date"}=n;if(r)if(s=="input"&&(l!=null&&l.multiple))t[r]=we(a);else if(s=="date")if(i.includes("range")){const[c,w]=r;let[k,x]=a||[];k&&i=="daterange"&&(k=ce(k).format("YYYY-MM-DD 00:00:00"),x=ce(x).format("YYYY-MM-DD 23:59:59")),t[c]=k,t[w]=x}else t[r]=a;else t[r]=a}),t}const co="",It={key:0},Lt={class:"btns"},vt={class:"left"},Ft={class:"right"},Ne=ue({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(o,{expose:t,emit:n}){const r=o,s=n,l=e.ref(!0),a=e.ref(null),{t:i}=X.useI18n(),c=e.computed(()=>l.value?i("guan-bi"):i("zhan-kai"));function w(){s("confirm")}function k(m){m.option.onClear&&m.option.onClear(),s("confirm")}function x(){s("reset")}function C(){s("confirm")}function p(){return _e(r.form.items)}const g=te.cloneDeep(r.form.items);function u(){r.form.items.forEach(m=>{const $=g.find(V=>V.key==m.key);$&&(m.value=$.value)})}return t({getPrm:p,reset:u}),(m,$)=>{const V=e.resolveComponent("el-input"),S=e.resolveComponent("el-date-picker"),T=e.resolveComponent("el-form-item"),I=e.resolveComponent("el-form"),A=e.resolveComponent("el-link"),v=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(w,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:l.value?"auto":"42px"})},[e.createVNode(I,{inline:"",model:o.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.form.items.filter(f=>!f.hidden),f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.key},[f.type=="br"?(e.openBlock(),e.createElementBlock("br",It)):(e.openBlock(),e.createBlock(T,{key:1,label:f.name},{default:e.withCtx(()=>{var _,D;return[f.type==="input"?(e.openBlock(),e.createBlock(V,{key:0,modelValue:f.value,"onUpdate:modelValue":M=>f.value=M,class:e.normalizeClass(((_=f.option)==null?void 0:_.class)||"w150"),placeholder:m.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):f.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.render),{key:1})):e.createCommentVNode("",!0),f.type==="select"?(e.openBlock(),e.createBlock(qe,e.mergeProps({key:2,class:((D=f.option)==null?void 0:D.class)||"w150",modelValue:f.value,"onUpdate:modelValue":M=>f.value=M},{ref_for:!0},f.option,{onChange:w,onClear:M=>k(f)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),f.type==="date"?(e.openBlock(),e.createBlock(S,{key:3,class:e.normalizeClass({datetimerange:"w300",daterange:"w200"}[f.dateType]||"w100"),modelValue:f.value,"onUpdate:modelValue":M=>f.value=M,"value-format":{datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"}[f.dateType]||"YYYY-MM-DD",type:f.dateType||"date",onFocus:M=>a.value=f,onChange:M=>C(),placeholder:m.$t("qing-xuan-ze"),"start-placeholder":m.$t("kai-shi-shi-jian"),"end-placeholder":m.$t("jie-shu-shi-jian")},null,8,["class","modelValue","onUpdate:modelValue","value-format","type","onFocus","onChange","placeholder","start-placeholder","end-placeholder"])):e.createCommentVNode("",!0)]}),_:2},1032,["label"]))],64))),128))]),_:1},8,["model"])],4),e.createElementVNode("div",Lt,[e.createElementVNode("div",vt,[e.renderSlot(m.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",Ft,[e.createVNode(A,{underline:"never",class:"mgr10",onClick:$[0]||($[0]=()=>{s("visibleChange",!l.value),l.value=!l.value})},{default:e.withCtx(()=>[e.createVNode(ke,{name:l.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(c.value),1)]),_:1}),e.createVNode(v,{type:"primary",onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("shai-xuan")),1)]),_:1}),e.createVNode(v,{type:"primary",onClick:x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("chong-zhi")),1)]),_:1}),e.renderSlot(m.$slots,"btn",{},void 0,!0)])])],32)}}},[["__scopeId","data-v-3c0a6716"]]),Ae={pageNoKey:"pageNo",pageSizeKey:"pageSize",totalKey:"total",defaultPageSize:10,pageSizes:[10,50,100,500],responseDataKeys:{rows:["rows","records"],total:["totalRows","total"]},showSearch:!1,showPage:!1,showShadow:!1,showCheckBox:!1,enableCellCopy:!0};let fe={...Ae};function Dt(o){fe={...fe,...o,responseDataKeys:{...fe.responseDataKeys,...o.responseDataKeys||{}}}}function je(){return fe}function Bt(){fe={...Ae}}const fo="",zt={class:"center"},Mt=ue({__name:"index",props:{id:{type:String,required:!1},loading:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},searchForm:{type:Object,default:()=>({items:[],selections:[]})},api:{type:Function},data:{type:Array},tableConfig:{type:Object,default:()=>({})}},setup(o,{expose:t}){const{t:n,locale:r}=X.useI18n(),s=Le.useRoute(),l=je(),a=o,i=e.ref(!1),c=e.ref([]);a.searchForm.showSearch===void 0&&(a.searchForm.showSearch=l.showSearch),a.searchForm.showPage===void 0&&(a.searchForm.showPage=l.showPage),a.searchForm.showShadow===void 0&&(a.searchForm.showShadow=l.showShadow),a.searchForm.showCheckBox===void 0&&(a.searchForm.showCheckBox=l.showCheckBox),a.searchForm.enableCellCopy===void 0&&(a.searchForm.enableCellCopy=l.enableCellCopy),a.searchForm.selections||(a.searchForm.selections=[]);const w=e.computed(()=>{const h=s.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return a.id?`listPageId-${h}-${a.id}`:`listPageId-${h}`}),k=te.cloneDeep(a.searchForm.items),x=a.searchForm.pageNoKey||l.pageNoKey,C=a.searchForm.pageSizeKey||l.pageSizeKey,p=e.reactive({[x]:1,[C]:a.searchForm.defaultPageSize||l.defaultPageSize,total:0}),g=e.ref(null),u=e.ref(null),m=e.ref(450),$=te.debounce(()=>{e.nextTick(()=>{if(!u.value)return;const d=u.value.getBoundingClientRect(),E=window.innerHeight,F=d.top,q=100,U=E-F-q,B=200;m.value=Math.max(U,B)})},100),V=()=>{$()},S=()=>{if(!a.searchForm.enableCellCopy)return!1;const h=g.value;if(!h||!h.$el)return!1;const d=h.$el;return d.classList.add("cell-copy-enabled"),d.setAttribute("tabindex","-1"),d.removeEventListener("mousedown",ee),d.removeEventListener("mousemove",ie),d.removeEventListener("mouseup",he),d.removeEventListener("keydown",Ee),d.addEventListener("mousedown",ee),d.addEventListener("mousemove",ie),d.addEventListener("mouseup",he),d.addEventListener("keydown",Ee),!0};e.onMounted(()=>{$(),window.addEventListener("resize",V),a.searchForm.enableCellCopy&&(document.addEventListener("mouseup",Ke),document.addEventListener("mousedown",We),setTimeout(()=>{S()},500))}),e.onUpdated(()=>{(a.searchForm.enableCellCopy||l.enableCellCopy)&&setTimeout(()=>{S()},500)}),e.onUnmounted(()=>{if(window.removeEventListener("resize",V),a.searchForm.enableCellCopy||l.enableCellCopy){document.removeEventListener("mouseup",Ke),document.removeEventListener("mousedown",We);const h=g.value;if(h&&h.$el){const d=h.$el;d.removeEventListener("mousedown",ee),d.removeEventListener("mousemove",ie),d.removeEventListener("mouseup",he),d.removeEventListener("keydown",Ee)}}});const T=e.computed(()=>ne.value.height||m.value);let I;async function A(h){const{dataFormat:d}=a.tableConfig;h[x]!=1&&(h.nextSearchAfter=I),i.value=!0;const{code:E,data:F={}}=await a.api(h).finally(()=>{i.value=!1,a.searchForm.selections=[]});if(E==200){let q=[];for(const B of l.responseDataKeys.rows)if(F[B]){q=F[B];break}let U=0;for(const B of l.responseDataKeys.total)if(F[B]!==void 0){U=F[B];break}c.value=d?d(q):q,p.total=U,I=F.nextSearchAfter,a.searchForm.enableCellCopy&&e.nextTick(()=>{setTimeout(()=>{S()},100)})}}function v(h={}){const{searchData:d=()=>({})}=a.tableConfig,E=d();A({...p,..._e(a.searchForm.items),...h,...E})}function f(){const{reset:h}=a.tableConfig;h&&h(),a.searchForm.items.forEach(d=>{const E=k.find(F=>te.isArray(d.key)&&te.isArray(F.key)?d.key.join(",")==F.key.join(","):F.key==d.key);E&&(d.value=E.value)}),v()}a.api&&a.immediate&&v();function _(){return{...p,..._e(a.searchForm.items)}}const D=()=>{const h=g.value;h&&h.clearSort()},M=e.reactive({storage:!0}),G=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),ne=e.computed(()=>{const{customConfig:h,columnConfig:d,...E}=a.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...M,...h},columnConfig:{...G,...d},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...E}}),b=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),se=h=>{const d=h.closest(".vxe-body--column");if(!d||d.classList.contains("col--checkbox")||d.classList.contains("col--seq"))return null;const E=d.closest(".vxe-body--row");if(!E)return null;const F=g.value;if(!F)return null;let q=-1;const U=E.getAttribute("data-rowid");if(U!=null)q=parseInt(U,10);else{const z=E.parentElement;q=Array.from(z.querySelectorAll(".vxe-body--row")).indexOf(E)}if(q<0)return null;let B=-1;const J=d.getAttribute("data-colid");if(J&&(B=F.getColumns().findIndex(L=>L.id===J)),B<0){const L=Array.from(E.querySelectorAll(".vxe-body--column")).indexOf(d),j=!!d.closest(".vxe-table--fixed-left-wrapper"),P=!!d.closest(".vxe-table--fixed-right-wrapper"),N=F.getColumns();if(j){const Y=N.filter(R=>R.fixed==="left");L<Y.length&&(B=N.indexOf(Y[L]))}else if(P){const Y=N.filter(R=>R.fixed==="right");L<Y.length&&(B=N.indexOf(Y[L]))}else{const Y=a.searchForm.showCheckBox?1:0;B=N.filter(K=>K.fixed==="left").length+L-Y}}return B<0?null:{rowIndex:q,colIndex:B,cell:d}},ee=h=>{const d=se(h.target);if(!d){Ve();return}b.isSelecting=!0,b.startCell={rowIndex:d.rowIndex,colIndex:d.colIndex},b.endCell={...b.startCell},Ye(),He()},ie=h=>{if(!b.isSelecting)return;const d=se(h.target);d&&(b.endCell={rowIndex:d.rowIndex,colIndex:d.colIndex},Ye(),He())},he=()=>{b.isSelecting=!1},Ve=()=>{b.selectedCells=[],b.startCell=null,b.endCell=null;const h=g.value;if(!h)return;h.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(E=>{E.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},Ye=()=>{if(!b.startCell||!b.endCell){b.selectedCells=[];return}const h=b.startCell.rowIndex,d=b.endCell.rowIndex,E=b.startCell.colIndex,F=b.endCell.colIndex,q=Math.min(h,d),U=Math.max(h,d),B=Math.min(E,F),J=Math.max(E,F);b.selectedCells=[];for(let z=q;z<=U;z++)for(let L=B;L<=J;L++)b.selectedCells.push({rowIndex:z,colIndex:L})},He=()=>{e.nextTick(()=>{const h=g.value;if(!h)return;const d=h.$el;if(d.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(j=>{j.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")}),b.selectedCells.length===0)return;const E=h.getColumns(),F=b.selectedCells.map(j=>j.rowIndex),q=b.selectedCells.map(j=>j.colIndex),U=Math.min(...F),B=Math.max(...F),J=Math.min(...q),z=Math.max(...q),L=[d.querySelector(".vxe-table--body-wrapper tbody"),d.querySelector(".vxe-table--fixed-left-wrapper tbody"),d.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean);b.selectedCells.forEach(({rowIndex:j,colIndex:P})=>{const N=E[P];if(!N)return;const Y=N.fixed==="left",R=N.fixed==="right";for(const K of L){const me=K.querySelectorAll(".vxe-body--row")[j];if(!me)continue;const le=Array.from(me.querySelectorAll(".vxe-body--column"));let O=null;if(Y&&K.closest(".vxe-table--fixed-left-wrapper")){const W=E.filter(Z=>Z.fixed==="left").indexOf(N);O=le[W]}else if(R&&K.closest(".vxe-table--fixed-right-wrapper")){const W=E.filter(Z=>Z.fixed==="right").indexOf(N);O=le[W]}else if(!Y&&!R&&K.closest(".vxe-table--body-wrapper")){const ae=a.searchForm.showCheckBox?1:0,W=E.filter(Te=>Te.fixed==="left").length,Z=P-W;O=le[Z+ae]}if(O&&!O.classList.contains("col--checkbox")&&!O.classList.contains("col--seq")){O.classList.add("cell-selected"),j===U&&O.classList.add("cell-border-top"),j===B&&O.classList.add("cell-border-bottom"),P===J&&O.classList.add("cell-border-left"),P===z&&O.classList.add("cell-border-right");break}}})})},eo=async()=>{if(b.selectedCells.length===0)return;const h=g.value;if(!h)return;const d=h.$el,E=h.getColumns(),F=[...new Set(b.selectedCells.map(z=>z.rowIndex))].sort((z,L)=>z-L),q=[...new Set(b.selectedCells.map(z=>z.colIndex))].sort((z,L)=>z-L),U=[d.querySelector(".vxe-table--body-wrapper tbody"),d.querySelector(".vxe-table--fixed-left-wrapper tbody"),d.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean),B=[];F.forEach(z=>{const L=[];q.forEach(j=>{const P=E[j];if(!P){L.push("");return}const N=P.fixed==="left",Y=P.fixed==="right";let R="";for(const K of U){const me=K.querySelectorAll(".vxe-body--row")[z];if(!me)continue;const le=Array.from(me.querySelectorAll(".vxe-body--column"));let O=null;if(N&&K.closest(".vxe-table--fixed-left-wrapper")){const W=E.filter(Z=>Z.fixed==="left").indexOf(P);O=le[W]}else if(Y&&K.closest(".vxe-table--fixed-right-wrapper")){const W=E.filter(Z=>Z.fixed==="right").indexOf(P);O=le[W]}else if(!N&&!Y&&K.closest(".vxe-table--body-wrapper")){const ae=a.searchForm.showCheckBox?1:0,W=E.filter(Te=>Te.fixed==="left").length,Z=j-W;O=le[Z+ae]}if(O&&!O.classList.contains("col--checkbox")&&!O.classList.contains("col--seq")){R=O.innerText||O.textContent||"",R=R.trim(),R=R.replace(/\n/g," ").replace(/\s+/g," ");break}}L.push(R)}),B.push(L.join(" "))});const J=B.join(`
|
|
2
|
-
`);try{await navigator.clipboard.writeText(J)}catch(z){console.error("复制失败:",z)}},Ee=h=>{a.searchForm.enableCellCopy&&((h.ctrlKey||h.metaKey)&&h.key==="c"?b.selectedCells.length>0&&(h.preventDefault(),h.stopPropagation(),eo()):h.key==="Escape"&&Ve())},Ke=()=>{b.isSelecting=!1},We=h=>{const d=g.value;if(!d||!d.$el)return;d.$el.contains(h.target)||Ve()},to=h=>{p[x]=h,v()},oo=h=>{p[C]=h,p[x]=1,v()};function Ze(){const h=g.value.getCheckboxRecords();a.searchForm.selections=h}const Ge=h=>{const d=g.value;if(d){d.toggleCheckboxRow(h);const E=g.value.getCheckboxRecords();a.searchForm.selections=E}};return t({tableRef:g,getList:v,getPrm:_,clearSort:D,calculateTableHeight:$}),(h,d)=>{var z;const E=e.resolveComponent("el-button"),F=e.resolveComponent("el-checkbox"),q=e.resolveComponent("el-text"),U=e.resolveComponent("vxe-column"),B=e.resolveComponent("VxeTable"),J=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:o.searchForm.showShadow})},[o.searchForm.showSearch?(e.openBlock(),e.createBlock(Ne,{key:0,form:o.searchForm,onReset:f,onConfirm:d[1]||(d[1]=L=>v()),onVisibleChange:e.unref($)},{btn:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",{class:"mgr10"},null,-1)),e.renderSlot(h.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(E,{class:"mgl10",round:"",onClick:d[0]||(d[0]=L=>g.value.openCustom())},{default:e.withCtx(()=>[e.createVNode(ke,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:u},[e.createVNode(B,e.mergeProps({id:w.value,ref_key:"tableRef",ref:g,loading:o.loading||i.value,data:o.api?c.value:o.data,border:""},ne.value,{height:T.value,onCheckboxChange:Ze,onCheckboxAll:Ze,onSortChange:(z=ne.value["sort-config"])==null?void 0:z.sortChange}),{default:e.withCtx(()=>[o.searchForm.showCheckBox==null||o.searchForm.showCheckBox?(e.openBlock(),e.createBlock(U,{key:0,type:"checkbox",width:e.unref(r)=="zh_cn"?80:150,title:h.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:L,row:j,checked:P,disabled:N,indeterminate:Y})=>[e.createElementVNode("div",zt,[P?(e.openBlock(),e.createBlock(F,{key:0,checked:!0,disabled:N,size:"default",onClick:e.withModifiers(R=>!N&&Ge(j),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(F,{key:1,disabled:N,checked:!1,size:"default",onClick:e.withModifiers(R=>!N&&Ge(j),["stop"])},null,8,["disabled","onClick"])),e.createVNode(q,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),o.searchForm.showPage?(e.openBlock(),e.createBlock(J,{key:1,"current-page":p[e.unref(x)],"onUpdate:currentPage":d[2]||(d[2]=L=>p[e.unref(x)]=L),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:p.total,"page-size":p[e.unref(C)],"page-sizes":o.searchForm.pageSizes||e.unref(l).pageSizes,onCurrentChange:to,onSizeChange:oo},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-ce0703b3"]]),Ot={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(o){const t=o;function n(){dt(t.fileName,t.sheetsConfig)}return(r,s)=>{const l=e.resolveComponent("el-link");return e.openBlock(),e.createBlock(l,e.mergeProps({type:"primary",underline:"never"},r.$attrs,{onClick:n}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.$t("xia-zai-dao-ru-mo-ban")),1)]),_:1},16)}}},qt={mounted(o,t){t.value&&Re(o)},updated(o,t){t.value?Re(o):Ue(o)},beforeUnmount(o){Ue(o)}};async function Re(o){await C();const t=o.querySelector(".el-dialog");if(!t)return;const n=o.querySelector(".el-dialog__header"),r=o.querySelector(".el-overlay");r.style.cssText+="overflow: hidden;",n.style.cursor="move";let s=!1,l={window:{width:0,height:0},dialog:{x:0,y:0,width:0,height:0,marginTop:""},mouse:{x:0,y:0},drag:{x:0,y:0}};n.addEventListener("mousedown",c),document.addEventListener("mousemove",w),document.addEventListener("mouseup",k),window.addEventListener("resize",x);function a(){l.mouse.x-l.drag.x>=l.dialog.x&&(l.drag.x=l.mouse.x-l.dialog.x),l.drag.x-l.mouse.x>=l.window.width-(l.dialog.x+l.dialog.width)&&(l.drag.x=l.mouse.x+l.window.width-l.dialog.x-l.dialog.width),l.mouse.y-l.drag.y>=l.dialog.y&&(l.drag.y=l.mouse.y-l.dialog.y),l.drag.y-l.mouse.y>=l.window.height-(l.dialog.y+l.dialog.height)&&(l.drag.y=l.mouse.y+l.window.height-l.dialog.y-l.dialog.height),i()}function i(){let p=l.drag.y-l.mouse.y+l.dialog.y,g=l.drag.x-l.mouse.x+l.dialog.x;t.style.cssText+=`position: absolute; top: calc(${p}px - ${l.dialog.marginTop}); left: ${g}px;`}function c(p){p.button===0&&(l.window={width:document.body.clientWidth,height:document.body.clientHeight},l.dialog=t.getBoundingClientRect(),l.dialog.marginTop=window.getComputedStyle(t).marginTop,l.mouse={x:p.clientX,y:p.clientY},s=!0)}function w(p){s&&(l.drag={x:p.clientX,y:p.clientY},r.style.userSelect="none",a())}function k(p){r.style.userSelect="auto",s=!1}function x(p){}function C(){return new Promise((p,g)=>{setTimeout(()=>{p()},500)})}o.__mouseDown__=c,o.__mouseUp__=k,o.__mouseMove__=w,o.__sizeChange__=x}function Ue(o){document.removeEventListener("mousedown",o.__mouseDown__),document.removeEventListener("mousemove",o.__mouseMove__),document.removeEventListener("mouseup",o.__mouseUp__),window.removeEventListener("resize",o.__sizeChange__)}const mo="",Nt={key:0,class:"drawer-btn"},At={key:1},jt={__name:"index",props:{layer:{type:Object,default:()=>({show:!1,type:"layer",title:"",showButton:!1}),required:!0},loading:{type:Boolean,default:!1}},emits:["confirm"],setup(o,{emit:t}){const n=o,r=t,{t:s}=X.useI18n(),l=te.debounce(()=>{r("confirm")},300);async function a(){n.layer.type=="drawer"?n.layer.onClose?n.layer.onClose():await H.ElMessageBox.confirm(s("que-ding-guan-bi-ma"),{confirmButtonText:s("que-ding"),cancelButtonText:s("qu-xiao"),type:"warning"}).catch(()=>{})=="confirm"&&(n.layer.show=!1):n.layer.show=!1}return(i,c)=>{const w=e.resolveComponent("el-button"),k=e.resolveComponent("el-drawer"),x=e.resolveComponent("el-dialog");return o.layer.type?(e.openBlock(),e.createBlock(k,{key:0,modelValue:o.layer.show,"onUpdate:modelValue":c[0]||(c[0]=C=>o.layer.show=C),size:o.layer.width||"100%",title:o.layer.title,direction:"rtl","append-to-body":"","before-close":a,class:"drawer-content"},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default"),c[2]||(c[2]=e.createElementVNode("p",{class:"mgt50"},null,-1)),o.layer.showButton?(e.openBlock(),e.createElementBlock("div",Nt,[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(w,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(w,{type:"primary",loading:o.loading,onClick:e.unref(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("ti-jiao")),1)]),_:1},8,["loading","onClick"])])])):e.createCommentVNode("",!0)]),_:3},8,["modelValue","size","title"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",At,[e.createVNode(x,{"close-on-click-modal":!1,modelValue:o.layer.show,"onUpdate:modelValue":c[1]||(c[1]=C=>o.layer.show=C),title:o.layer.title,width:o.layer.width||500,center:""},e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[o.layer.showButton?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(w,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(w,{type:"primary",onClick:e.unref(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("ti-jiao")),1)]),_:1},8,["onClick"])])]),key:"0"}:void 0]),1032,["modelValue","title","width"])])),[[e.unref(qt),o.layer.show]])}}};function Rt(o,t={}){const n=oe(),r={inForm:!0,required:!0,...t},s={phone:/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/,password:/(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,12}/,email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/}[o],{inForm:l,value:a,required:i,msg:c=n("validate.invalidInput")}=r;return l?function(w,k,x){if(i){s.test(k)?x():x(new Error(c));return}k&&!s.test(k)?x(new Error(c)):x()}:s.test(a)}class Ut{constructor(t={}){this.config={clientCode:t.clientCode||"one-portal",casServerUrl:`https://one-portal${t.isTest?"-test":""}.joy-group.com/api`,casPortalUrl:`https://one-portal${t.isTest?"-test":""}.joy-group.com`,serviceUrl:t.serviceUrl||window.location.origin+"/cas/callback",tokenKey:t.tokenKey||"one_portal_token",userKey:t.userKey||"one_portal_user",debug:t.debug||!1,autoLogin:t.autoLogin!==!1,loginCallback:t.loginCallback||null,logoutCallback:t.logoutCallback||null,errorCallback:t.errorCallback||null},this.token=null,this.user=null,this.init()}init(){this.log("OnePortal CAS SDK 初始化中..."),this.loadFromStorage();const n=new URLSearchParams(window.location.search).get("ticket");this.isLoggedIn()&&this.config.loginCallback?this.config.loginCallback(this.user,this.token):n?(this.log("检测到ST票据:",n),this.validateTicket(n)):this.config.autoLogin&&!this.isLoggedIn()&&(this.log("用户未登录,准备跳转到CAS登录页面"),this.login())}loadFromStorage(){try{this.token=localStorage.getItem(this.config.tokenKey);const t=localStorage.getItem(this.config.userKey);t&&(this.user=JSON.parse(t)),this.log("从本地存储加载数据:",{token:!!this.token,user:!!this.user})}catch(t){this.log("加载本地存储数据失败:",t)}}saveToStorage(){try{this.token&&localStorage.setItem(this.config.tokenKey,this.token),this.user&&localStorage.setItem(this.config.userKey,JSON.stringify(this.user)),this.log("数据已保存到本地存储")}catch(t){this.log("保存到本地存储失败:",t)}}clearStorage(){try{localStorage.removeItem(this.config.tokenKey),localStorage.removeItem(this.config.userKey),this.log("本地存储已清除")}catch(t){this.log("清除本地存储失败:",t)}}isLoggedIn(){return!!(this.token&&this.user)}getUser(){return this.user}getToken(){return this.token}login(){const t=`${this.config.casPortalUrl}?appCode=${this.config.clientCode}&redirectUrl=${encodeURIComponent(this.config.serviceUrl)}`;this.log("跳转到CAS登录页面:",t),window.location.href=t}async validateTicket(t){try{this.log("验证ST票据:",t);const n=await fetch(`${this.config.casServerUrl}/auth/validateST?ticket=${t}`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);const r=await n.json();if(r.success&&r.data)return this.token=r.data.token,this.user=r.data.user,this.saveToStorage(),this.clearTicketFromUrl(),this.log("ST票据验证成功,用户登录成功:",this.user),this.config.loginCallback&&this.config.loginCallback(this.user,this.token),!0;throw new Error(r.message||"ST票据验证失败")}catch(n){return this.log("ST票据验证失败:",n),this.handleError(n),!1}}clearTicketFromUrl(){const t=new URL(window.location);t.searchParams.delete("ticket"),window.history.replaceState({},document.title,t.toString())}async logout(t=!0){try{if(this.log("用户登出"),this.token)try{await fetch(`${this.config.casServerUrl}/auth/logout`,{method:"POST",headers:{AppId:this.config.clientCode,Authorization:`Bearer ${this.token}`,"Content-Type":"application/json"}})}catch(n){this.log("调用服务端登出接口失败:",n)}this.token=null,this.user=null,this.clearStorage(),this.config.logoutCallback&&this.config.logoutCallback(),t&&this.login()}catch(n){this.log("登出失败:",n),this.handleError(n)}}async request(t,n={}){const r={headers:{"Content-Type":"application/json",...n.headers},...n};r.headers.appId=this.config.clientCode,this.token&&(r.headers.Authorization=`Bearer ${this.token}`);try{const s=await fetch(t,r);return s.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):s}catch(s){throw this.log("请求失败:",s),s}}async fetchUserInfo(){try{const t=await this.request(`${this.config.casServerUrl}/auth/user`);if(t&&t.ok){const n=await t.json();if(n.success&&n.data)return this.user=n.data,this.saveToStorage(),this.user}return null}catch(t){return this.log("获取用户信息失败:",t),null}}async refreshToken(){this.log("Token刷新功能暂未实现")}handleError(t){this.log("发生错误:",t),this.config.errorCallback&&this.config.errorCallback(t)}log(...t){this.config.debug&&console.log("[OnePortal CAS SDK]",...t)}checkLoginStatus(){return!this.isLoggedIn()&&this.config.autoLogin?(this.login(),!1):this.isLoggedIn()}setConfig(t,n){this.config[t]=n}getConfig(t){return this.config[t]}}function Pt(o,t={}){const r=Object.assign({manual:!1,log:!1,params:null,format:null},t),{manual:s,log:l,params:a={},cb:i,format:c}=r,w=e.ref([]),k=e.ref(!1),x=C=>{const p=C||a;k.value=!0,o(p).then(g=>{const{code:u,data:m,msg:$}=g;if(i){const{records:V,rows:S}=m||{},T=V||S?V||S:m;w.value=Se(T,c),i(g)}if(m){if(m.records!=null||m.rows!=null){const{records:V,rows:S,total:T=0}=m||{};p&&p.total!=null&&(a.total=parseInt(T)),w.value=Se(V||S||[],c)}else w.value=Se(m,c);l&&console.log("useRequest-res",w.value)}}).catch(g=>{i&&(console.log("useRequestErr",g),i({code:500}))}).finally(()=>{k.value=!1})};return s||x(),[k,w,x]}function Yt(o){const t=e.ref(o),n=e.ref(""),r=e.ref("");return e.watch(t,s=>{const l=s||["",""];n.value=l[0],r.value=l[1]}),[t,n,r]}function Ht(o){return Object.prototype.toString.call(o).slice(8,-1).toLowerCase()}function Se(o,t){if(!t)return o;if(o instanceof Array)return o.map(r=>{let s={};return t.forEach(l=>s[l]=r[l]),s});let n={};return t.forEach(r=>n[r]=o[r]),n}function Kt(o,t=[]){const{locale:n}=X.useI18n(),r=e.ref(o());return e.watch([n,...t],()=>{r.value=o()},{immediate:!0}),r}function Wt(o,t="zh_cn",n="en_us"){if(!o)return"-";const r={en_us:n,zh_cn:t},l=Ce().global.locale.value;return o[r[l]]||o[t]||"-"}function Zt(o,t){let n=Q.mapState;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapState),Pe(t,n)}function Gt(o,t){let n=Q.mapGetters;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapGetters),Pe(t,n)}function Jt(o,t){let n=Q.mapActions;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapActions),Xt(t,n)}function Pe(o,t){const n=Q.useStore(),r=t(o),s={};return Object.keys(r).forEach(l=>{const a=r[l].bind({$store:n});s[l]=e.computed(a)}),s}function Xt(o,t){const n=Q.useStore(),r=t(o),s={};return Object.keys(r).forEach(l=>{s[l]=r[l].bind({$store:n})}),s}function $e(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!e.isVNode(o)}function Qt(){de.VxeUI.renderer.add("Enum",{renderTableDefault(o,t){let n;if([null,void 0].includes(t.row[t.column.field]))return"-";const r=t.row[t.column.field];if(o.type=="tag"){let s;return e.createVNode(e.resolveComponent("el-text"),{type:o.enum.getTag(r)},$e(s=o.enum.getName(r))?s:{default:()=>[s]})}return e.createVNode(e.resolveComponent("el-text"),null,$e(n=o.enum.getName(r))?n:{default:()=>[n]})}}),de.VxeUI.renderer.add("InputNumber",{renderTableDefault(o,t){return e.createVNode(H.ElInputNumber,e.mergeProps({modelValue:t.row[t.column.field],"onUpdate:modelValue":n=>t.row[t.column.field]=n},o.props,{"step-strictly":!0,"value-on-clear":0}),null)}}),de.VxeUI.renderer.add("TrueFalse",{renderTableDefault(o,t){const{locale:n}=X.useI18n();let r=n.value=="zh_cn";return e.createVNode(H.ElText,{type:t.row[t.column.field]?"success":"danger"},{default:()=>[t.row[t.column.field]?r?"是":"YES":r?"否":"NO"]})}}),de.VxeUI.renderer.add("I18n",{renderTableDefault(o,t){const{locale:n}=X.useI18n();let r=n.value=="zh_cn"?t.column.field:o.fieldEn;return t.row[r]||t.row[t.column.field]}}),de.VxeUI.renderer.add("Link",{renderTableDefault(o,t){var i;let n=t.column.field;const r=Le.useRouter(),{multiple:s,to:l}=o;if(!s)return e.createVNode(H.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:l,query:{[n]:t.row[n]}})},{default:()=>[t.row[n]]});const a=((i=t.row[n])==null?void 0:i.split(","))||[];return a.map((c,w)=>e.createVNode("span",null,[e.createVNode(H.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:l,query:{[n]:c}})},$e(c)?c:{default:()=>[c]}),w<a.length-1?",":""]))}})}y.CmpDictionary=qe,y.CmpIcon=ke,y.ConfrimButton=Vt,y.DownExcelTemp=Ot,y.ImportButton=Tt,y.LayOutForm=Je,y.Layer=jt,y.ListPage=Mt,y.OnePortalCasSDK=Ut,y.SearchBar=Ne,y.StatusMap=xe,y._toRaw=mt,y._typeOf=Ht,y.arrToStatusMap=pt,y.arrayToTree=gt,y.checkFileSize=bt,y.creatValidator=Rt,y.createImportFields=xt,y.createListPageId=wt,y.en_us=ye,y.exportExcel=nt,y.getI18n=Ce,y.getI18nT=oe,y.getListPageConfig=je,y.getLocaleValue=Wt,y.getValueBykey=kt,y.importExcel=ot,y.messages=ze,y.registerVxeRenderers=Qt,y.resetListPageConfig=Bt,y.setListPageConfig=Dt,y.setupI18n=Me,y.sleep=ht,y.stringToArray=we,y.stripHtmlTags=yt,y.unicode2Str=Ct,y.useActions=Jt,y.useDatePicker=Yt,y.useGetters=Gt,y.useI18nReState=Kt,y.useRequest=Pt,y.useState=Zt,y.zh_cn=pe,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(y,H){typeof exports=="object"&&typeof module<"u"?H(exports,require("element-plus"),require("vue"),require("file-saver"),require("exceljs"),require("dayjs"),require("vue-i18n"),require("lodash"),require("vue-router"),require("vuex"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue","file-saver","exceljs","dayjs","vue-i18n","lodash","vue-router","vuex","vxe-pc-ui"],H):(y=typeof globalThis<"u"?globalThis:y||self,H(y.JoyAdminComponents={},y.ElementPlus,y.Vue,y.fileSaver,y.ExcelJS,y.dayjs,y.VueI18n,y._,y.VueRouter,y.Vuex,y.VxeUI))})(this,function(y,H,e,Ie,ge,ce,X,te,Le,Q,de){"use strict";const Je=e.defineComponent({name:"LayOutForm",setup(o,{slots:t,attrs:n,emit:r}){const s=e.ref(null),l=()=>t.default?t.default().filter(i=>i.type!==Symbol.for("v-cmt")).map(i=>i.type===Symbol.for("v-fgt")?i.children:i).flat().map(i=>{var c;return e.h(H.ElCol,{span:((c=i.props)==null?void 0:c.span)||24},{default:()=>i})}):null;e.onMounted(()=>{r("ref",s.value)});function a(){return e.h(H.ElForm,{...n,ref:s},()=>e.h(H.ElRow,{gutter:n.gutter??20},{default:()=>l()}))}return a}});var ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fe(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var De={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(ve,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,s=/([+-]|\d\d)/g;return function(l,a,i){var c=a.prototype;i.utc=function(u){var m={date:u,utc:!0,args:arguments};return new a(m)},c.utc=function(u){var m=i(this.toDate(),{locale:this.$L,utc:!0});return u?m.add(this.utcOffset(),n):m},c.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var w=c.parse;c.parse=function(u){u.utc&&(this.$u=!0),this.$utils().u(u.$offset)||(this.$offset=u.$offset),w.call(this,u)};var k=c.init;c.init=function(){if(this.$u){var u=this.$d;this.$y=u.getUTCFullYear(),this.$M=u.getUTCMonth(),this.$D=u.getUTCDate(),this.$W=u.getUTCDay(),this.$H=u.getUTCHours(),this.$m=u.getUTCMinutes(),this.$s=u.getUTCSeconds(),this.$ms=u.getUTCMilliseconds()}else k.call(this)};var x=c.utcOffset;c.utcOffset=function(u,m){var $=this.$utils().u;if($(u))return this.$u?0:$(this.$offset)?x.call(this):this.$offset;if(typeof u=="string"&&(u=function(I){I===void 0&&(I="");var A=I.match(r);if(!A)return null;var v=(""+A[0]).match(s)||["-",0,0],f=v[0],_=60*+v[1]+ +v[2];return _===0?0:f==="+"?_:-_}(u),u===null))return this;var V=Math.abs(u)<=16?60*u:u;if(V===0)return this.utc(m);var S=this.clone();if(m)return S.$offset=V,S.$u=!1,S;var T=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(V+T,n)).$offset=V,S.$x.$localOffset=T,S};var C=c.format;c.format=function(u){var m=u||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return C.call(this,m)},c.valueOf=function(){var u=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*u},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var p=c.toDate;c.toDate=function(u){return u==="s"&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():p.call(this)};var g=c.diff;c.diff=function(u,m,$){if(u&&this.$u===u.$u)return g.call(this,u,m,$);var V=this.local(),S=i(u).local();return g.call(V,S,m,$)}}})})(De);var Xe=De.exports;const Qe=Fe(Xe);var Be={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(ve,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(s,l,a){var i,c=function(C,p,g){g===void 0&&(g={});var u=new Date(C),m=function($,V){V===void 0&&(V={});var S=V.timeZoneName||"short",T=$+"|"+S,I=r[T];return I||(I=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:$,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[T]=I),I}(p,g);return m.formatToParts(u)},w=function(C,p){for(var g=c(C,p),u=[],m=0;m<g.length;m+=1){var $=g[m],V=$.type,S=$.value,T=n[V];T>=0&&(u[T]=parseInt(S,10))}var I=u[3],A=I===24?0:I,v=u[0]+"-"+u[1]+"-"+u[2]+" "+A+":"+u[4]+":"+u[5]+":000",f=+C;return(a.utc(v).valueOf()-(f-=f%1e3))/6e4},k=l.prototype;k.tz=function(C,p){C===void 0&&(C=i);var g,u=this.utcOffset(),m=this.toDate(),$=m.toLocaleString("en-US",{timeZone:C}),V=Math.round((m-new Date($))/1e3/60),S=15*-Math.round(m.getTimezoneOffset()/15)-V;if(!Number(S))g=this.utcOffset(0,p);else if(g=a($,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),p){var T=g.utcOffset();g=g.add(u-T,"minute")}return g.$x.$timezone=C,g},k.offsetName=function(C){var p=this.$x.$timezone||a.tz.guess(),g=c(this.valueOf(),p,{timeZoneName:C}).find(function(u){return u.type.toLowerCase()==="timezonename"});return g&&g.value};var x=k.startOf;k.startOf=function(C,p){if(!this.$x||!this.$x.$timezone)return x.call(this,C,p);var g=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return x.call(g,C,p).tz(this.$x.$timezone,!0)},a.tz=function(C,p,g){var u=g&&p,m=g||p||i,$=w(+a(),m);if(typeof C!="string")return a(C).tz(m);var V=function(A,v,f){var _=A-60*v*1e3,D=w(_,f);if(v===D)return[_,v];var M=w(_-=60*(D-v)*1e3,f);return D===M?[_,D]:[A-60*Math.min(D,M)*1e3,Math.max(D,M)]}(a.utc(C,u).valueOf(),$,m),S=V[0],T=V[1],I=a(S).utcOffset(T);return I.$x.$timezone=m,I},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(C){i=C}}})})(Be);var et=Be.exports;const tt=Fe(et),pe={"dao-ru":"导入","quan-xuan":"全选","xia-zai-dao-ru-mo-ban":"下载导入模板","xu-hao":"序号","qing-shu-ru":"请输入","qing-xuan-ze":"请选择","kai-shi-shi-jian":"开始时间","jie-shu-shi-jian":"结束时间","shai-xuan":"筛选","chong-zhi":"重置","guan-bi":"关闭","zhan-kai":"展开","qu-xiao":"取消","ti-jiao":"提交","que-ding":"确定","que-ding-guan-bi-ma":"确定关闭吗","xia-zai-dao-ru-mo-ban":"下载导入模板",excel:{fieldsMappingRequired:"请输入列字段映射",invalidInput:"非法输入",invalidOption:"请输入有效选项!",copyFailed:"复制失败",sheetNameTooLong:'Sheet名称 "{0}" 长度超过31个字符,已自动截断为 "{1}"'},validate:{invalidInput:"请输入正确内容"},tools:{keysLengthError:"keys 长度必须大于2 默认前两位为 label value"}},ye={"dao-ru":"Import","quan-xuan":"Select All","xia-zai-dao-ru-mo-ban":"Download Import Template","xu-hao":"No.","qing-shu-ru":"Please enter","qing-xuan-ze":"Please select","kai-shi-shi-jian":"Start Time","jie-shu-shi-jian":"End Time","shai-xuan":"Filter","chong-zhi":"Reset","guan-bi":"Collapse","zhan-kai":"Expand","qu-xiao":"Cancel","ti-jiao":"Submit","que-ding":"Confirm","que-ding-guan-bi-ma":"Are you sure to close?","xia-zai-dao-ru-mo-ban":"Download Import Template",excel:{fieldsMappingRequired:"Please enter column field mapping",invalidInput:"Invalid input",invalidOption:"Please enter a valid option!",copyFailed:"Copy failed",sheetNameTooLong:'Sheet name "{0}" exceeds 31 characters, automatically truncated to "{1}"'},validate:{invalidInput:"Please enter valid content"},tools:{keysLengthError:"Keys length must be greater than 2, default first two are label and value"}},ze={zh_cn:pe,en_us:ye};let re=null;function Me(o=null){if(o){const{global:t}=o;return t.messages.value.zh_cn?t.mergeLocaleMessage("zh_cn",pe):t.setLocaleMessage("zh_cn",pe),t.messages.value.en_us?t.mergeLocaleMessage("en_us",ye):t.setLocaleMessage("en_us",ye),re=o,o}return re||(re=X.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:ze})),re}function Ce(){return re||Me()}function oe(){return Ce().global.t}ce.extend(Qe),ce.extend(tt);async function ot(o,t){const{fields:n,range:r=1}=t;if(!n){const a=oe();throw new Error(a("excel.fieldsMappingRequired"))}let s=new ge.Workbook;await s.xlsx.load(o);const l={};return s.eachSheet(function(a,i){const c=[];a.eachRow(function(w,k){if(k>r){let x={},C=!0;Object.keys(n).forEach(p=>{const g=w.getCell(n[p]).value;x[p]=g,g&&(C=!1)}),C||c.push(x)}}),l[a._name]=c}),s=null,l}const Oe={columnWidth:30};async function nt(o,t,n=[],r={}){if(!o||!t)return;const{columnStyle:s}=r,{columnWidth:l}=Oe;t.forEach(c=>{c.width=c.width?c.width:l});const{workbook:a,worksheet:i}=lt();i.columns=t,i.addRows(n),s&&await at(a,i,s);try{const c=await a.xlsx.writeBuffer(),w=new File([c],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Ie.saveAs(w)}catch(c){console.log(c)}}function lt(){const o=new ge.Workbook;o.creator="distributor System",o.lastModifiedBy="distributor System",o.created=new Date,o.modified=new Date,o.lastPrinted=new Date;const t=o.addWorksheet("Sheet1");return{workbook:o,worksheet:t}}async function at(o,t,n){const r=Object.keys(n);for(const s of r){const l=n[s],{type:a}=l;switch(a){case"IMG":await rt(o,t,s);break}}}async function rt(o,t,n,r){const s=t.getColumn(n),l=s.values;t.getColumn(n).width=20,t.eachRow((a,i)=>{i>1&&(a.height=40)});for(let a=0,i=l.length;a<i;a++){if(a<2)continue;let c=l[a];c&&(t.getCell(s.letter+a).value="",await st(o,t,c,{width:100,height:50,col:s._number-1,row:a-1}))}}async function st(o,t,n,r){const{col:s,row:l,width:a,height:i}=r,{success:c,base64:w}=await it(n,.3);if(c){const k=o.addImage({base64:w,extension:"jpeg"});t.addImage(k,{tl:{col:s,row:l},ext:{width:a,height:i}})}}function it(o,t=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=o,new Promise((r,s)=>{n.onload=()=>{const l=document.createElement("canvas");l.width=n.width,l.height=n.height,l.getContext("2d").drawImage(n,0,0,l.width,l.height),r({success:!0,base64:l.toDataURL("image/jpeg",t)})},n.onerror=()=>{r({success:!1})}})}const be="---";async function ct(o,t){const{fields:n,range:r=1}=t;if(!n){const a=oe();throw new Error(a("excel.fieldsMappingRequired"))}let s=new ge.Workbook;await s.xlsx.load(o);const l={};return s.eachSheet(function(a,i){if(a.state=="visible"){const c=[],w=n[a._name];if(w){let k=Object.values(w).some(C=>C.includes("image")),x={};k&&(a.getImages().forEach(p=>{const{tl:g}=p.range,u=s.model.media.find(m=>m.index===p.imageId);if(u){const m=u.buffer.toString("base64"),$=`data:image/${u.extension};base64,${m}`,V=`${Math.ceil(g.row)}_${Math.ceil(g.col)}`;x[V]?x[V].push($):x[V]=[$]}}),console.log("withImages-imageMap",x)),a.eachRow(function(C,p){if(p>r){let g={},u=!0;Object.keys(w).forEach(m=>{var I;let[$,V]=w[m].split(be);const S=C.getCell($);let T;if(V=="image"&&k){const A=S._column._number,v=`${p}_${A}`;T=x[v]||""}else S.result!=null?T=S.result:(I=S.value)!=null&&I.richText?T=S.value.richText.reduce((A,v)=>A+v.text,""):S.type==4&&S.value?T=ce(S.value).utc().format("YYYY-MM-DD HH:mm:ss"):T=S.value;T&&V=="option"&&(T=T.split(be)[1]),g[m]=T,T&&(u=!1)}),u||c.push(g)}}),l[a._name]=c}}}),s=null,l}async function dt(o,t){if(!o||t.length==0)return;const n=ut(t);n.eachSheet(function(r,s){const{columnWidth:l}=Oe,{tableHeader:a,tableData:i}=t[r._name];a.forEach(c=>{if(c.required){const w=c.style||{},{font:k={}}=w;c.style={...w,font:{...k,color:{argb:"FFFF0000"}}}}}),r.columns=a,r.addRows(i),a.forEach(c=>{const{header:w,key:k,width:x,option:C}=c,p=r.getColumn(k);if(p.width=x||l,C){const g=n.addWorksheet(k);g.state="hidden",g.getColumn(1).values=C.map(u=>`${u.label}${be}${u.value}`),Array(100).fill("").forEach((u,m)=>{if(m>0){const $=oe();r.getCell(`${p.letter}${m}`).dataValidation={type:"list",formulae:[`${k}!$A$1:$A$${C.length}`],showErrorMessage:!0,error:$("excel.invalidInput"),errorStyle:"stop",errorMessage:$("excel.invalidOption")}}})}})});try{const r=await n.xlsx.writeBuffer(),s=new File([r],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Ie.saveAs(s)}catch(r){console.log(r)}}function ut(o){const t=oe(),n=new ge.Workbook;return n.creator="distributor System",n.lastModifiedBy="distributor System",n.created=new Date,n.modified=new Date,n.lastPrinted=new Date,Object.keys(o).sort((s,l)=>{const a=o[s].sort??0,i=o[l].sort??0;return a-i}).forEach(s=>{let l=s,a=!1;/[\\/:*?\[\]]/g.test(s)&&(s=s.replace(/[\\/:*?\[\]]/g,""),a=!0),s.length>31&&(s=s.substring(0,31).trim(),a=!0,console.warn(t("excel.sheetNameTooLong",[l,s]))),a&&(o[s]=o[l],delete o[l]),n.addWorksheet(s)}),n}function ft(o){if(o<26)return String.fromCharCode(65+o);{const t=String.fromCharCode(65+Math.floor((o-26)/26)),n=String.fromCharCode(65+(o-26)%26);return t+n}}function ht(o){return new Promise(t=>{setTimeout(()=>{t()},o)})}function mt(o){return JSON.parse(JSON.stringify(o))}function gt(o){let t=[],n={},r=(s,l)=>Object.prototype.hasOwnProperty.call(s,l);for(const s of o){n[s.id]={...s,children:r(n,s.id)?n[s.id].children:[]};const l=n[s.id];s.pid==-1?t.push(l):(r(n,s.pid)||(n[s.pid]={children:[]}),n[s.pid].children.push(l))}return t}function we(o,t=" "){return o?o.split(t).filter(n=>n.trim()):[]}class xe{constructor(t,n=["label","value","labelEn"]){this.list=t.map(r=>({...r,label:r[n[0]],labelEn:r[n[2]]||r[n[0]]||"",value:r[n[1]]})),this.map=new Map(this.list.map(r=>[r[n[1]],r]))}getName(t){if(!this.has(t))return"-";const n=Ce().global.locale,{label:r,labelEn:s}=this.map.get(t);return(n.value=="zh_cn"?r:s)||r||"-"}getTag(t){if(!this.has(t))return"info";const{tag:n="info"}=this.map.get(t);return n}getItem(t){return this.has(t)?this.map.get(t):null}getColor(t){if(!this.has(t))return null;const{color:n}=this.map.get(t);return n}has(t){return this.map.has(t)}}function pt(o,t=[],n="i18nName"){if(o.length==0)return new xe([]);if(t.length<2){const s=oe();throw new Error(s("tools.keysLengthError"))}let r=o.map(s=>{let l={};return n&&(l.labelEn=s[n]),t.forEach((a,i)=>{i===0?l.label=s[a]:i===1?l.value=s[a]:l[a]=s[a]}),l});return new xe(r)}function yt(o){return o?o.replace(/<[^>]+>/g,""):""}function Ct(o){return o?(o.includes("\\\\u")&&(o=o.replace(/\\/g,"")),o.replace(/\\u[\dA-F]{4}/gi,t=>String.fromCharCode(parseInt(t.replace(/\\u/g,""),16)))):""}function bt(o,t=10){let n=1048576*t;return!(o.size>n)}function wt(o){return Array.from(10).fill(0).map((n,r)=>o+"_"+r)}function xt(o){let t={};return o.map((n,r)=>{let{key:s,option:l,type:a}=n,i=ft(r);l?t[s]=`${i}---option`:a==="image"?t[s]=`${i}---image`:t[s]=i}),t}function kt(o,t){return t.split(".").reduce((n,r)=>n&&n[r],o)}const lo="",ue=(o,t)=>{const n=o.__vccOpts||o;for(const[r,s]of t)n[r]=s;return n},_t=["onClick"],qe=ue({__name:"index",props:e.mergeModels({api:{type:Function},showCheckAll:{type:Boolean,default:!0},maxLimit:{type:Number,default:void 0},optionClick:{type:Function,default:()=>{}},data:{type:Array},labelValue:{type:Object,default:()=>({label:"label",labelEn:"labelEn",value:"value"})},changeLocal:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["success","change","changeAll"],["update:modelValue"]),setup(o,{emit:t}){const n=o,r=e.useAttrs(),{t:s,locale:l}=X.useI18n(),a=e.useModel(o,"modelValue"),i=e.computed(()=>r["value-key"]!=null),c=e.ref(""),w=e.computed(()=>{if(r.remote!==void 0)return n.data;const f=we(c.value),{data:_,labelValue:D}=n,M=_||C.value;if(f.length==0)return M;const{label:G,labelEn:ne}=D;let b=l.value=="en_us"?ne||"i18nName":G;return f.length==1?M.filter(ee=>ee[b].toLowerCase().includes(f[0].toLowerCase())):M.filter(ee=>{let ie=!1;return ie=f.some(he=>ee[b].toLowerCase()==he.toLowerCase()),ie})}),k=e.computed({get(){return r.multiple==null||a.value==null?!1:a.value.length==w.value.length},set(f){return f}}),x=t,C=e.ref([]),p=async()=>{const{data:f}=await n.api();C.value=[...f],x("success",C)};n.api&&p();function g(f){x("change",f)}const u=n.labelValue.label.split("-"),m=f=>{if(u.length==1){if(n.changeLocal)return s(f[n.labelValue.label]);let _=l.value=="en_us"?f[n.labelValue.labelEn||"i18nName"]:f[n.labelValue.label];return _=_||f[n.labelValue.label],_}else{let _=[];return u.forEach(D=>{_.push(f[D])}),_.join("-")}};function $(f){let _=n.data?n.data:C.value;a.value=f?_.map(D=>i.value?D:D[n.labelValue.value]):[],e.nextTick(()=>{x("change",a.value),x("changeAll",a.value,_)})}function V(f){n.optionClick&&n.optionClick(f),x("change",i.value?f:f[n.labelValue.value])}function S(f){return a.value.length>=n.maxLimit&&!a.value.includes(f[n.labelValue.value])}function T(f){return f.map(_=>({..._,label:m(_),value:i.value?_:_[n.labelValue.value]}))}const I=e.ref([]),A=n.data?n.data:C.value;I.value=T(A),e.watch(()=>n.data?n.data:C.value,f=>{var D;const _=T(f);if(_.length!==I.value.length)I.value=_;else{let M=!1;for(let G=0;G<_.length;G++)if(_[G].value!==((D=I.value[G])==null?void 0:D.value)){M=!0;break}M&&(I.value=_)}},{deep:!0});const v=e.computed(()=>I.value);return(f,_)=>{const D=e.resolveComponent("el-checkbox"),M=e.resolveComponent("el-select-v2"),G=e.resolveComponent("el-option"),ne=e.resolveComponent("el-select");return e.unref(r).v2!=null?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,options:v.value,modelValue:a.value,"onUpdate:modelValue":_[1]||(_[1]=b=>a.value=b)},e.unref(r),{filterable:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",onChange:g,onClear:g}),e.createSlots({default:e.withCtx(({item:b})=>[e.createElementVNode("div",{onClick:se=>V(b)},e.toDisplayString(b.label),9,_t)]),_:2},[e.unref(r).multiple!=null?{name:"header",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"header",{},()=>[e.createVNode(D,{class:"mgl20",modelValue:k.value,"onUpdate:modelValue":_[0]||(_[0]=b=>k.value=b),onChange:$},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0)]),key:"0"}:void 0]),1040,["options","modelValue"])):(e.openBlock(),e.createBlock(ne,e.mergeProps({key:1,modelValue:a.value,"onUpdate:modelValue":_[3]||(_[3]=b=>a.value=b),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(r).remote!=null?void 0:b=>c.value=b,clearable:""},e.unref(r),{onClear:o.optionClick}),{default:e.withCtx(()=>[e.unref(r).multiple!=null&&o.showCheckAll&&o.maxLimit==null?e.renderSlot(f.$slots,"header",{key:0},()=>[e.createVNode(D,{class:"mgl20",modelValue:k.value,"onUpdate:modelValue":_[2]||(_[2]=b=>k.value=b),onChange:$},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(b,se)=>(e.openBlock(),e.createBlock(G,{key:se,label:m(b),disabled:e.unref(r).multiple!=null&&o.maxLimit>0?S(b):!1,onClick:e.withModifiers(ee=>V(b),["stop"]),value:i.value?b:b[o.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"]))}}},[["__scopeId","data-v-d12f3c20"]]),ro="",St=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function $t(o,t,n,r,s,l){const a=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(a,{class:"cmp-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.name)))]),_:1})}const ke=ue(St,[["render",$t],["__scopeId","data-v-733f9daa"]]),Vt={__name:"index",emits:["ok","no"],setup(o,{emit:t}){const n=t,r=te.debounce(()=>{n("ok")},500);function s(){n("no")}return(l,a)=>{const i=e.resolveComponent("el-popconfirm");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(i,e.mergeProps(l.$attrs,{onConfirm:e.unref(r),onCancel:s}),{reference:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["onConfirm"])])}}},so="",Et=["accept"],Tt=ue({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},fields:{type:Object,default:()=>({})},fileChange:{type:Function,required:!0}},emits:["fileChange"],setup(o,{emit:t}){const n=o,r=e.ref(null),s=e.ref(!1);async function l(a){s.value=!0;let i=a.target.files[0];const c=await ct(i,n.fields).catch(()=>{s.value=!1}).finally(()=>{r.value.value=null});await n.fileChange(c).finally(()=>{s.value=!1})}return(a,i)=>{const c=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(c,{loading:s.value,class:"mgr10",onClick:i[0]||(i[0]=w=>r.value.click())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("dao-ru")),1)]),_:1},8,["loading"]),e.createElementVNode("input",{onChange:l,ref_key:"input",ref:r,accept:o.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,Et)])}}},[["__scopeId","data-v-6f9ede29"]]);function _e(o){let t={};return o.forEach(n=>{const{key:r,type:s,option:l={},value:a,dateType:i="date"}=n;if(r)if(s=="input"&&(l!=null&&l.multiple))t[r]=we(a);else if(s=="date")if(i.includes("range")){const[c,w]=r;let[k,x]=a||[];k&&i=="daterange"&&(k=ce(k).format("YYYY-MM-DD 00:00:00"),x=ce(x).format("YYYY-MM-DD 23:59:59")),t[c]=k,t[w]=x}else t[r]=a;else t[r]=a}),t}const co="",It={key:0},Lt={class:"btns"},vt={class:"left"},Ft={class:"right"},Ne=ue({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(o,{expose:t,emit:n}){const r=o,s=n,l=e.ref(!0),a=e.ref(null),{t:i}=X.useI18n(),c=e.computed(()=>l.value?i("guan-bi"):i("zhan-kai"));function w(){s("confirm")}function k(m){m.option.onClear&&m.option.onClear(),s("confirm")}function x(){s("reset")}function C(){s("confirm")}function p(){return _e(r.form.items)}const g=te.cloneDeep(r.form.items);function u(){r.form.items.forEach(m=>{const $=g.find(V=>V.key==m.key);$&&(m.value=$.value)})}return t({getPrm:p,reset:u}),(m,$)=>{const V=e.resolveComponent("el-input"),S=e.resolveComponent("el-date-picker"),T=e.resolveComponent("el-form-item"),I=e.resolveComponent("el-form"),A=e.resolveComponent("el-link"),v=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(w,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:l.value?"auto":"42px"})},[e.createVNode(I,{inline:"",model:o.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.form.items.filter(f=>!f.hidden),f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.key},[f.type=="br"?(e.openBlock(),e.createElementBlock("br",It)):(e.openBlock(),e.createBlock(T,{key:1,label:f.name},{default:e.withCtx(()=>{var _,D;return[f.type==="input"?(e.openBlock(),e.createBlock(V,{key:0,modelValue:f.value,"onUpdate:modelValue":M=>f.value=M,class:e.normalizeClass(((_=f.option)==null?void 0:_.class)||"w150"),placeholder:m.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):f.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.render),{key:1})):e.createCommentVNode("",!0),f.type==="select"?(e.openBlock(),e.createBlock(qe,e.mergeProps({key:2,class:((D=f.option)==null?void 0:D.class)||"w150",modelValue:f.value,"onUpdate:modelValue":M=>f.value=M},{ref_for:!0},f.option,{onChange:w,onClear:M=>k(f)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),f.type==="date"?(e.openBlock(),e.createBlock(S,{key:3,class:e.normalizeClass({datetimerange:"w300",daterange:"w200"}[f.dateType]||"w100"),modelValue:f.value,"onUpdate:modelValue":M=>f.value=M,"value-format":{datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"}[f.dateType]||"YYYY-MM-DD",type:f.dateType||"date",onFocus:M=>a.value=f,onChange:M=>C(),placeholder:m.$t("qing-xuan-ze"),"start-placeholder":m.$t("kai-shi-shi-jian"),"end-placeholder":m.$t("jie-shu-shi-jian")},null,8,["class","modelValue","onUpdate:modelValue","value-format","type","onFocus","onChange","placeholder","start-placeholder","end-placeholder"])):e.createCommentVNode("",!0)]}),_:2},1032,["label"]))],64))),128))]),_:1},8,["model"])],4),e.createElementVNode("div",Lt,[e.createElementVNode("div",vt,[e.renderSlot(m.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",Ft,[e.createVNode(A,{underline:"never",class:"mgr10",onClick:$[0]||($[0]=()=>{s("visibleChange",!l.value),l.value=!l.value})},{default:e.withCtx(()=>[e.createVNode(ke,{name:l.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(c.value),1)]),_:1}),e.createVNode(v,{type:"primary",onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("shai-xuan")),1)]),_:1}),e.createVNode(v,{type:"primary",onClick:x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("chong-zhi")),1)]),_:1}),e.renderSlot(m.$slots,"btn",{},void 0,!0)])])],32)}}},[["__scopeId","data-v-3c0a6716"]]),Ae={pageNoKey:"pageNo",pageSizeKey:"pageSize",totalKey:"total",defaultPageSize:10,pageSizes:[10,50,100,500],responseDataKeys:{rows:["rows","records","list"],total:["totalRows","total"]},showSearch:!1,showPage:!1,showShadow:!1,showCheckBox:!1,enableCellCopy:!0};let fe={...Ae};function Dt(o){fe={...fe,...o,responseDataKeys:{...fe.responseDataKeys,...o.responseDataKeys||{}}}}function je(){return fe}function Bt(){fe={...Ae}}const fo="",zt={class:"center"},Mt=ue({__name:"index",props:{id:{type:String,required:!1},loading:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},searchForm:{type:Object,default:()=>({items:[],selections:[]})},api:{type:Function},data:{type:Array},tableConfig:{type:Object,default:()=>({})}},setup(o,{expose:t}){const{t:n,locale:r}=X.useI18n(),s=Le.useRoute(),l=je(),a=o,i=e.ref(!1),c=e.ref([]);a.searchForm.showSearch===void 0&&(a.searchForm.showSearch=l.showSearch),a.searchForm.showPage===void 0&&(a.searchForm.showPage=l.showPage),a.searchForm.showShadow===void 0&&(a.searchForm.showShadow=l.showShadow),a.searchForm.showCheckBox===void 0&&(a.searchForm.showCheckBox=l.showCheckBox),a.searchForm.enableCellCopy===void 0&&(a.searchForm.enableCellCopy=l.enableCellCopy),a.searchForm.selections||(a.searchForm.selections=[]);const w=e.computed(()=>{const h=s.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return a.id?`listPageId-${h}-${a.id}`:`listPageId-${h}`}),k=te.cloneDeep(a.searchForm.items),x=a.searchForm.pageNoKey||l.pageNoKey,C=a.searchForm.pageSizeKey||l.pageSizeKey,p=e.reactive({[x]:1,[C]:a.searchForm.defaultPageSize||l.defaultPageSize,total:0}),g=e.ref(null),u=e.ref(null),m=e.ref(450),$=te.debounce(()=>{e.nextTick(()=>{if(!u.value)return;const d=u.value.getBoundingClientRect(),E=window.innerHeight,F=d.top,q=100,U=E-F-q,B=200;m.value=Math.max(U,B)})},100),V=()=>{$()},S=()=>{if(!a.searchForm.enableCellCopy&&!l.enableCellCopy)return!1;const h=g.value;if(!h||!h.$el)return!1;const d=h.$el;return d.classList.add("cell-copy-enabled"),d.setAttribute("tabindex","-1"),d.removeEventListener("mousedown",ee),d.removeEventListener("mousemove",ie),d.removeEventListener("mouseup",he),d.removeEventListener("keydown",Ee),d.addEventListener("mousedown",ee),d.addEventListener("mousemove",ie),d.addEventListener("mouseup",he),d.addEventListener("keydown",Ee),!0};e.onMounted(()=>{$(),window.addEventListener("resize",V),a.searchForm.enableCellCopy&&(document.addEventListener("mouseup",Ke),document.addEventListener("mousedown",We),setTimeout(()=>{S()},500))}),e.onUpdated(()=>{(a.searchForm.enableCellCopy||l.enableCellCopy)&&setTimeout(()=>{S()},500)}),e.onUnmounted(()=>{if(window.removeEventListener("resize",V),a.searchForm.enableCellCopy||l.enableCellCopy){document.removeEventListener("mouseup",Ke),document.removeEventListener("mousedown",We);const h=g.value;if(h&&h.$el){const d=h.$el;d.removeEventListener("mousedown",ee),d.removeEventListener("mousemove",ie),d.removeEventListener("mouseup",he),d.removeEventListener("keydown",Ee)}}});const T=e.computed(()=>ne.value.height||m.value);let I;async function A(h){const{dataFormat:d}=a.tableConfig;h[x]!=1&&(h.nextSearchAfter=I),i.value=!0;const{code:E,data:F={}}=await a.api(h).finally(()=>{i.value=!1,a.searchForm.selections=[]});if(E==200){let q=[];for(const B of l.responseDataKeys.rows)if(F[B]){q=F[B];break}let U=0;for(const B of l.responseDataKeys.total)if(F[B]!==void 0){U=F[B];break}c.value=d?d(q):q,p.total=U,I=F.nextSearchAfter,a.searchForm.enableCellCopy&&e.nextTick(()=>{setTimeout(()=>{S()},100)})}}function v(h={}){const{searchData:d=()=>({})}=a.tableConfig,E=d();A({...p,..._e(a.searchForm.items),...h,...E})}function f(){const{reset:h}=a.tableConfig;h&&h(),a.searchForm.items.forEach(d=>{const E=k.find(F=>te.isArray(d.key)&&te.isArray(F.key)?d.key.join(",")==F.key.join(","):F.key==d.key);E&&(d.value=E.value)}),v()}a.api&&a.immediate&&v();function _(){return{...p,..._e(a.searchForm.items)}}const D=()=>{const h=g.value;h&&h.clearSort()},M=e.reactive({storage:!0}),G=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),ne=e.computed(()=>{const{customConfig:h,columnConfig:d,...E}=a.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...M,...h},columnConfig:{...G,...d},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...E}}),b=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),se=h=>{const d=h.closest(".vxe-body--column");if(!d||d.classList.contains("col--checkbox")||d.classList.contains("col--seq"))return null;const E=d.closest(".vxe-body--row");if(!E)return null;const F=g.value;if(!F)return null;let q=-1;const U=E.getAttribute("data-rowid");if(U!=null)q=parseInt(U,10);else{const z=E.parentElement;q=Array.from(z.querySelectorAll(".vxe-body--row")).indexOf(E)}if(q<0)return null;let B=-1;const J=d.getAttribute("data-colid");if(J&&(B=F.getColumns().findIndex(L=>L.id===J)),B<0){const L=Array.from(E.querySelectorAll(".vxe-body--column")).indexOf(d),j=!!d.closest(".vxe-table--fixed-left-wrapper"),P=!!d.closest(".vxe-table--fixed-right-wrapper"),N=F.getColumns();if(j){const Y=N.filter(R=>R.fixed==="left");L<Y.length&&(B=N.indexOf(Y[L]))}else if(P){const Y=N.filter(R=>R.fixed==="right");L<Y.length&&(B=N.indexOf(Y[L]))}else{const Y=a.searchForm.showCheckBox?1:0;B=N.filter(K=>K.fixed==="left").length+L-Y}}return B<0?null:{rowIndex:q,colIndex:B,cell:d}},ee=h=>{const d=se(h.target);if(!d){Ve();return}b.isSelecting=!0,b.startCell={rowIndex:d.rowIndex,colIndex:d.colIndex},b.endCell={...b.startCell},Ye(),He()},ie=h=>{if(!b.isSelecting)return;const d=se(h.target);d&&(b.endCell={rowIndex:d.rowIndex,colIndex:d.colIndex},Ye(),He())},he=()=>{b.isSelecting=!1},Ve=()=>{b.selectedCells=[],b.startCell=null,b.endCell=null;const h=g.value;if(!h)return;h.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(E=>{E.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},Ye=()=>{if(!b.startCell||!b.endCell){b.selectedCells=[];return}const h=b.startCell.rowIndex,d=b.endCell.rowIndex,E=b.startCell.colIndex,F=b.endCell.colIndex,q=Math.min(h,d),U=Math.max(h,d),B=Math.min(E,F),J=Math.max(E,F);b.selectedCells=[];for(let z=q;z<=U;z++)for(let L=B;L<=J;L++)b.selectedCells.push({rowIndex:z,colIndex:L})},He=()=>{e.nextTick(()=>{const h=g.value;if(!h)return;const d=h.$el;if(d.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(j=>{j.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")}),b.selectedCells.length===0)return;const E=h.getColumns(),F=b.selectedCells.map(j=>j.rowIndex),q=b.selectedCells.map(j=>j.colIndex),U=Math.min(...F),B=Math.max(...F),J=Math.min(...q),z=Math.max(...q),L=[d.querySelector(".vxe-table--body-wrapper tbody"),d.querySelector(".vxe-table--fixed-left-wrapper tbody"),d.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean);b.selectedCells.forEach(({rowIndex:j,colIndex:P})=>{const N=E[P];if(!N)return;const Y=N.fixed==="left",R=N.fixed==="right";for(const K of L){const me=K.querySelectorAll(".vxe-body--row")[j];if(!me)continue;const le=Array.from(me.querySelectorAll(".vxe-body--column"));let O=null;if(Y&&K.closest(".vxe-table--fixed-left-wrapper")){const W=E.filter(Z=>Z.fixed==="left").indexOf(N);O=le[W]}else if(R&&K.closest(".vxe-table--fixed-right-wrapper")){const W=E.filter(Z=>Z.fixed==="right").indexOf(N);O=le[W]}else if(!Y&&!R&&K.closest(".vxe-table--body-wrapper")){const ae=a.searchForm.showCheckBox?1:0,W=E.filter(Te=>Te.fixed==="left").length,Z=P-W;O=le[Z+ae]}if(O&&!O.classList.contains("col--checkbox")&&!O.classList.contains("col--seq")){O.classList.add("cell-selected"),j===U&&O.classList.add("cell-border-top"),j===B&&O.classList.add("cell-border-bottom"),P===J&&O.classList.add("cell-border-left"),P===z&&O.classList.add("cell-border-right");break}}})})},eo=async()=>{if(b.selectedCells.length===0)return;const h=g.value;if(!h)return;const d=h.$el,E=h.getColumns(),F=[...new Set(b.selectedCells.map(z=>z.rowIndex))].sort((z,L)=>z-L),q=[...new Set(b.selectedCells.map(z=>z.colIndex))].sort((z,L)=>z-L),U=[d.querySelector(".vxe-table--body-wrapper tbody"),d.querySelector(".vxe-table--fixed-left-wrapper tbody"),d.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean),B=[];F.forEach(z=>{const L=[];q.forEach(j=>{const P=E[j];if(!P){L.push("");return}const N=P.fixed==="left",Y=P.fixed==="right";let R="";for(const K of U){const me=K.querySelectorAll(".vxe-body--row")[z];if(!me)continue;const le=Array.from(me.querySelectorAll(".vxe-body--column"));let O=null;if(N&&K.closest(".vxe-table--fixed-left-wrapper")){const W=E.filter(Z=>Z.fixed==="left").indexOf(P);O=le[W]}else if(Y&&K.closest(".vxe-table--fixed-right-wrapper")){const W=E.filter(Z=>Z.fixed==="right").indexOf(P);O=le[W]}else if(!N&&!Y&&K.closest(".vxe-table--body-wrapper")){const ae=a.searchForm.showCheckBox?1:0,W=E.filter(Te=>Te.fixed==="left").length,Z=j-W;O=le[Z+ae]}if(O&&!O.classList.contains("col--checkbox")&&!O.classList.contains("col--seq")){R=O.innerText||O.textContent||"",R=R.trim(),R=R.replace(/\n/g," ").replace(/\s+/g," ");break}}L.push(R)}),B.push(L.join(" "))});const J=B.join(`
|
|
2
|
+
`);try{await navigator.clipboard.writeText(J)}catch(z){console.error("复制失败:",z)}},Ee=h=>{a.searchForm.enableCellCopy&&((h.ctrlKey||h.metaKey)&&h.key==="c"?b.selectedCells.length>0&&(h.preventDefault(),h.stopPropagation(),eo()):h.key==="Escape"&&Ve())},Ke=()=>{b.isSelecting=!1},We=h=>{const d=g.value;if(!d||!d.$el)return;d.$el.contains(h.target)||Ve()},to=h=>{p[x]=h,v()},oo=h=>{p[C]=h,p[x]=1,v()};function Ze(){const h=g.value.getCheckboxRecords();a.searchForm.selections=h}const Ge=h=>{const d=g.value;if(d){d.toggleCheckboxRow(h);const E=g.value.getCheckboxRecords();a.searchForm.selections=E}};return t({tableRef:g,getList:v,getPrm:_,clearSort:D,calculateTableHeight:$}),(h,d)=>{var z;const E=e.resolveComponent("el-button"),F=e.resolveComponent("el-checkbox"),q=e.resolveComponent("el-text"),U=e.resolveComponent("vxe-column"),B=e.resolveComponent("VxeTable"),J=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:o.searchForm.showShadow})},[o.searchForm.showSearch?(e.openBlock(),e.createBlock(Ne,{key:0,form:o.searchForm,onReset:f,onConfirm:d[1]||(d[1]=L=>v()),onVisibleChange:e.unref($)},{btn:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",{class:"mgr10"},null,-1)),e.renderSlot(h.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(E,{class:"mgl10",round:"",onClick:d[0]||(d[0]=L=>g.value.openCustom())},{default:e.withCtx(()=>[e.createVNode(ke,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:u},[e.createVNode(B,e.mergeProps({id:w.value,ref_key:"tableRef",ref:g,loading:o.loading||i.value,data:o.api?c.value:o.data,border:""},ne.value,{height:T.value,onCheckboxChange:Ze,onCheckboxAll:Ze,onSortChange:(z=ne.value["sort-config"])==null?void 0:z.sortChange}),{default:e.withCtx(()=>[o.searchForm.showCheckBox==null||o.searchForm.showCheckBox?(e.openBlock(),e.createBlock(U,{key:0,type:"checkbox",width:e.unref(r)=="zh_cn"?80:150,title:h.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:L,row:j,checked:P,disabled:N,indeterminate:Y})=>[e.createElementVNode("div",zt,[P?(e.openBlock(),e.createBlock(F,{key:0,checked:!0,disabled:N,size:"default",onClick:e.withModifiers(R=>!N&&Ge(j),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(F,{key:1,disabled:N,checked:!1,size:"default",onClick:e.withModifiers(R=>!N&&Ge(j),["stop"])},null,8,["disabled","onClick"])),e.createVNode(q,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),o.searchForm.showPage?(e.openBlock(),e.createBlock(J,{key:1,"current-page":p[e.unref(x)],"onUpdate:currentPage":d[2]||(d[2]=L=>p[e.unref(x)]=L),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:p.total,"page-size":p[e.unref(C)],"page-sizes":o.searchForm.pageSizes||e.unref(l).pageSizes,onCurrentChange:to,onSizeChange:oo},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-5496c3dc"]]),Ot={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(o){const t=o;function n(){dt(t.fileName,t.sheetsConfig)}return(r,s)=>{const l=e.resolveComponent("el-link");return e.openBlock(),e.createBlock(l,e.mergeProps({type:"primary",underline:"never"},r.$attrs,{onClick:n}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.$t("xia-zai-dao-ru-mo-ban")),1)]),_:1},16)}}},qt={mounted(o,t){t.value&&Re(o)},updated(o,t){t.value?Re(o):Ue(o)},beforeUnmount(o){Ue(o)}};async function Re(o){await C();const t=o.querySelector(".el-dialog");if(!t)return;const n=o.querySelector(".el-dialog__header"),r=o.querySelector(".el-overlay");r.style.cssText+="overflow: hidden;",n.style.cursor="move";let s=!1,l={window:{width:0,height:0},dialog:{x:0,y:0,width:0,height:0,marginTop:""},mouse:{x:0,y:0},drag:{x:0,y:0}};n.addEventListener("mousedown",c),document.addEventListener("mousemove",w),document.addEventListener("mouseup",k),window.addEventListener("resize",x);function a(){l.mouse.x-l.drag.x>=l.dialog.x&&(l.drag.x=l.mouse.x-l.dialog.x),l.drag.x-l.mouse.x>=l.window.width-(l.dialog.x+l.dialog.width)&&(l.drag.x=l.mouse.x+l.window.width-l.dialog.x-l.dialog.width),l.mouse.y-l.drag.y>=l.dialog.y&&(l.drag.y=l.mouse.y-l.dialog.y),l.drag.y-l.mouse.y>=l.window.height-(l.dialog.y+l.dialog.height)&&(l.drag.y=l.mouse.y+l.window.height-l.dialog.y-l.dialog.height),i()}function i(){let p=l.drag.y-l.mouse.y+l.dialog.y,g=l.drag.x-l.mouse.x+l.dialog.x;t.style.cssText+=`position: absolute; top: calc(${p}px - ${l.dialog.marginTop}); left: ${g}px;`}function c(p){p.button===0&&(l.window={width:document.body.clientWidth,height:document.body.clientHeight},l.dialog=t.getBoundingClientRect(),l.dialog.marginTop=window.getComputedStyle(t).marginTop,l.mouse={x:p.clientX,y:p.clientY},s=!0)}function w(p){s&&(l.drag={x:p.clientX,y:p.clientY},r.style.userSelect="none",a())}function k(p){r.style.userSelect="auto",s=!1}function x(p){}function C(){return new Promise((p,g)=>{setTimeout(()=>{p()},500)})}o.__mouseDown__=c,o.__mouseUp__=k,o.__mouseMove__=w,o.__sizeChange__=x}function Ue(o){document.removeEventListener("mousedown",o.__mouseDown__),document.removeEventListener("mousemove",o.__mouseMove__),document.removeEventListener("mouseup",o.__mouseUp__),window.removeEventListener("resize",o.__sizeChange__)}const mo="",Nt={key:0,class:"drawer-btn"},At={key:1},jt={__name:"index",props:{layer:{type:Object,default:()=>({show:!1,type:"layer",title:"",showButton:!1}),required:!0},loading:{type:Boolean,default:!1}},emits:["confirm"],setup(o,{emit:t}){const n=o,r=t,{t:s}=X.useI18n(),l=te.debounce(()=>{r("confirm")},300);async function a(){n.layer.type=="drawer"?n.layer.onClose?n.layer.onClose():await H.ElMessageBox.confirm(s("que-ding-guan-bi-ma"),{confirmButtonText:s("que-ding"),cancelButtonText:s("qu-xiao"),type:"warning"}).catch(()=>{})=="confirm"&&(n.layer.show=!1):n.layer.show=!1}return(i,c)=>{const w=e.resolveComponent("el-button"),k=e.resolveComponent("el-drawer"),x=e.resolveComponent("el-dialog");return o.layer.type?(e.openBlock(),e.createBlock(k,{key:0,modelValue:o.layer.show,"onUpdate:modelValue":c[0]||(c[0]=C=>o.layer.show=C),size:o.layer.width||"100%",title:o.layer.title,direction:"rtl","append-to-body":"","before-close":a,class:"drawer-content"},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default"),c[2]||(c[2]=e.createElementVNode("p",{class:"mgt50"},null,-1)),o.layer.showButton?(e.openBlock(),e.createElementBlock("div",Nt,[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(w,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(w,{type:"primary",loading:o.loading,onClick:e.unref(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("ti-jiao")),1)]),_:1},8,["loading","onClick"])])])):e.createCommentVNode("",!0)]),_:3},8,["modelValue","size","title"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",At,[e.createVNode(x,{"close-on-click-modal":!1,modelValue:o.layer.show,"onUpdate:modelValue":c[1]||(c[1]=C=>o.layer.show=C),title:o.layer.title,width:o.layer.width||500,center:""},e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[o.layer.showButton?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(w,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(w,{type:"primary",onClick:e.unref(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("ti-jiao")),1)]),_:1},8,["onClick"])])]),key:"0"}:void 0]),1032,["modelValue","title","width"])])),[[e.unref(qt),o.layer.show]])}}};function Rt(o,t={}){const n=oe(),r={inForm:!0,required:!0,...t},s={phone:/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/,password:/(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,12}/,email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/}[o],{inForm:l,value:a,required:i,msg:c=n("validate.invalidInput")}=r;return l?function(w,k,x){if(i){s.test(k)?x():x(new Error(c));return}k&&!s.test(k)?x(new Error(c)):x()}:s.test(a)}class Ut{constructor(t={}){this.config={clientCode:t.clientCode||"one-portal",casServerUrl:`https://one-portal${t.isTest?"-test":""}.joy-group.com/api`,casPortalUrl:`https://one-portal${t.isTest?"-test":""}.joy-group.com`,serviceUrl:t.serviceUrl||window.location.origin+"/cas/callback",tokenKey:t.tokenKey||"one_portal_token",userKey:t.userKey||"one_portal_user",debug:t.debug||!1,autoLogin:t.autoLogin!==!1,loginCallback:t.loginCallback||null,logoutCallback:t.logoutCallback||null,errorCallback:t.errorCallback||null},this.token=null,this.user=null,this.init()}init(){this.log("OnePortal CAS SDK 初始化中..."),this.loadFromStorage();const n=new URLSearchParams(window.location.search).get("ticket");this.isLoggedIn()&&this.config.loginCallback?this.config.loginCallback(this.user,this.token):n?(this.log("检测到ST票据:",n),this.validateTicket(n)):this.config.autoLogin&&!this.isLoggedIn()&&(this.log("用户未登录,准备跳转到CAS登录页面"),this.login())}loadFromStorage(){try{this.token=localStorage.getItem(this.config.tokenKey);const t=localStorage.getItem(this.config.userKey);t&&(this.user=JSON.parse(t)),this.log("从本地存储加载数据:",{token:!!this.token,user:!!this.user})}catch(t){this.log("加载本地存储数据失败:",t)}}saveToStorage(){try{this.token&&localStorage.setItem(this.config.tokenKey,this.token),this.user&&localStorage.setItem(this.config.userKey,JSON.stringify(this.user)),this.log("数据已保存到本地存储")}catch(t){this.log("保存到本地存储失败:",t)}}clearStorage(){try{localStorage.removeItem(this.config.tokenKey),localStorage.removeItem(this.config.userKey),this.log("本地存储已清除")}catch(t){this.log("清除本地存储失败:",t)}}isLoggedIn(){return!!(this.token&&this.user)}getUser(){return this.user}getToken(){return this.token}login(){const t=`${this.config.casPortalUrl}?appCode=${this.config.clientCode}&redirectUrl=${encodeURIComponent(this.config.serviceUrl)}`;this.log("跳转到CAS登录页面:",t),window.location.href=t}async validateTicket(t){try{this.log("验证ST票据:",t);const n=await fetch(`${this.config.casServerUrl}/auth/validateST?ticket=${t}`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);const r=await n.json();if(r.success&&r.data)return this.token=r.data.token,this.user=r.data.user,this.saveToStorage(),this.clearTicketFromUrl(),this.log("ST票据验证成功,用户登录成功:",this.user),this.config.loginCallback&&this.config.loginCallback(this.user,this.token),!0;throw new Error(r.message||"ST票据验证失败")}catch(n){return this.log("ST票据验证失败:",n),this.handleError(n),!1}}clearTicketFromUrl(){const t=new URL(window.location);t.searchParams.delete("ticket"),window.history.replaceState({},document.title,t.toString())}async logout(t=!0){try{if(this.log("用户登出"),this.token)try{await fetch(`${this.config.casServerUrl}/auth/logout`,{method:"POST",headers:{AppId:this.config.clientCode,Authorization:`Bearer ${this.token}`,"Content-Type":"application/json"}})}catch(n){this.log("调用服务端登出接口失败:",n)}this.token=null,this.user=null,this.clearStorage(),this.config.logoutCallback&&this.config.logoutCallback(),t&&this.login()}catch(n){this.log("登出失败:",n),this.handleError(n)}}async request(t,n={}){const r={headers:{"Content-Type":"application/json",...n.headers},...n};r.headers.appId=this.config.clientCode,this.token&&(r.headers.Authorization=`Bearer ${this.token}`);try{const s=await fetch(t,r);return s.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):s}catch(s){throw this.log("请求失败:",s),s}}async fetchUserInfo(){try{const t=await this.request(`${this.config.casServerUrl}/auth/user`);if(t&&t.ok){const n=await t.json();if(n.success&&n.data)return this.user=n.data,this.saveToStorage(),this.user}return null}catch(t){return this.log("获取用户信息失败:",t),null}}async refreshToken(){this.log("Token刷新功能暂未实现")}handleError(t){this.log("发生错误:",t),this.config.errorCallback&&this.config.errorCallback(t)}log(...t){this.config.debug&&console.log("[OnePortal CAS SDK]",...t)}checkLoginStatus(){return!this.isLoggedIn()&&this.config.autoLogin?(this.login(),!1):this.isLoggedIn()}setConfig(t,n){this.config[t]=n}getConfig(t){return this.config[t]}}function Pt(o,t={}){const r=Object.assign({manual:!1,log:!1,params:null,format:null},t),{manual:s,log:l,params:a={},cb:i,format:c}=r,w=e.ref([]),k=e.ref(!1),x=C=>{const p=C||a;k.value=!0,o(p).then(g=>{const{code:u,data:m,msg:$}=g;if(i){const{records:V,rows:S}=m||{},T=V||S?V||S:m;w.value=Se(T,c),i(g)}if(m){if(m.records!=null||m.rows!=null){const{records:V,rows:S,total:T=0}=m||{};p&&p.total!=null&&(a.total=parseInt(T)),w.value=Se(V||S||[],c)}else w.value=Se(m,c);l&&console.log("useRequest-res",w.value)}}).catch(g=>{i&&(console.log("useRequestErr",g),i({code:500}))}).finally(()=>{k.value=!1})};return s||x(),[k,w,x]}function Yt(o){const t=e.ref(o),n=e.ref(""),r=e.ref("");return e.watch(t,s=>{const l=s||["",""];n.value=l[0],r.value=l[1]}),[t,n,r]}function Ht(o){return Object.prototype.toString.call(o).slice(8,-1).toLowerCase()}function Se(o,t){if(!t)return o;if(o instanceof Array)return o.map(r=>{let s={};return t.forEach(l=>s[l]=r[l]),s});let n={};return t.forEach(r=>n[r]=o[r]),n}function Kt(o,t=[]){const{locale:n}=X.useI18n(),r=e.ref(o());return e.watch([n,...t],()=>{r.value=o()},{immediate:!0}),r}function Wt(o,t="zh_cn",n="en_us"){if(!o)return"-";const r={en_us:n,zh_cn:t},l=Ce().global.locale.value;return o[r[l]]||o[t]||"-"}function Zt(o,t){let n=Q.mapState;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapState),Pe(t,n)}function Gt(o,t){let n=Q.mapGetters;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapGetters),Pe(t,n)}function Jt(o,t){let n=Q.mapActions;return typeof o=="string"&&o.length>0&&(n=Q.createNamespacedHelpers(o).mapActions),Xt(t,n)}function Pe(o,t){const n=Q.useStore(),r=t(o),s={};return Object.keys(r).forEach(l=>{const a=r[l].bind({$store:n});s[l]=e.computed(a)}),s}function Xt(o,t){const n=Q.useStore(),r=t(o),s={};return Object.keys(r).forEach(l=>{s[l]=r[l].bind({$store:n})}),s}function $e(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!e.isVNode(o)}function Qt(){de.VxeUI.renderer.add("Enum",{renderTableDefault(o,t){let n;if([null,void 0].includes(t.row[t.column.field]))return"-";const r=t.row[t.column.field];if(o.type=="tag"){let s;return e.createVNode(e.resolveComponent("el-text"),{type:o.enum.getTag(r)},$e(s=o.enum.getName(r))?s:{default:()=>[s]})}return e.createVNode(e.resolveComponent("el-text"),null,$e(n=o.enum.getName(r))?n:{default:()=>[n]})}}),de.VxeUI.renderer.add("InputNumber",{renderTableDefault(o,t){return e.createVNode(H.ElInputNumber,e.mergeProps({modelValue:t.row[t.column.field],"onUpdate:modelValue":n=>t.row[t.column.field]=n},o.props,{"step-strictly":!0,"value-on-clear":0}),null)}}),de.VxeUI.renderer.add("TrueFalse",{renderTableDefault(o,t){const{locale:n}=X.useI18n();let r=n.value=="zh_cn";return e.createVNode(H.ElText,{type:t.row[t.column.field]?"success":"danger"},{default:()=>[t.row[t.column.field]?r?"是":"YES":r?"否":"NO"]})}}),de.VxeUI.renderer.add("I18n",{renderTableDefault(o,t){const{locale:n}=X.useI18n();let r=n.value=="zh_cn"?t.column.field:o.fieldEn;return t.row[r]||t.row[t.column.field]}}),de.VxeUI.renderer.add("Link",{renderTableDefault(o,t){var i;let n=t.column.field;const r=Le.useRouter(),{multiple:s,to:l}=o;if(!s)return e.createVNode(H.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:l,query:{[n]:t.row[n]}})},{default:()=>[t.row[n]]});const a=((i=t.row[n])==null?void 0:i.split(","))||[];return a.map((c,w)=>e.createVNode("span",null,[e.createVNode(H.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:l,query:{[n]:c}})},$e(c)?c:{default:()=>[c]}),w<a.length-1?",":""]))}})}y.CmpDictionary=qe,y.CmpIcon=ke,y.ConfrimButton=Vt,y.DownExcelTemp=Ot,y.ImportButton=Tt,y.LayOutForm=Je,y.Layer=jt,y.ListPage=Mt,y.OnePortalCasSDK=Ut,y.SearchBar=Ne,y.StatusMap=xe,y._toRaw=mt,y._typeOf=Ht,y.arrToStatusMap=pt,y.arrayToTree=gt,y.checkFileSize=bt,y.creatValidator=Rt,y.createImportFields=xt,y.createListPageId=wt,y.en_us=ye,y.exportExcel=nt,y.getI18n=Ce,y.getI18nT=oe,y.getListPageConfig=je,y.getLocaleValue=Wt,y.getValueBykey=kt,y.importExcel=ot,y.messages=ze,y.registerVxeRenderers=Qt,y.resetListPageConfig=Bt,y.setListPageConfig=Dt,y.setupI18n=Me,y.sleep=ht,y.stringToArray=we,y.stripHtmlTags=yt,y.unicode2Str=Ct,y.useActions=Jt,y.useDatePicker=Yt,y.useGetters=Gt,y.useI18nReState=Kt,y.useRequest=Pt,y.useState=Zt,y.zh_cn=pe,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.cmp-icon[data-v-d12f3c20],.cmp-icon[data-v-733f9daa],.cmp-icon[data-v-6f9ede29]{padding:0!important}.searchBar-container .searchBar[data-v-3c0a6716]{overflow:hidden;transition:all .3s}.searchBar-container[data-v-3c0a6716] .el-form-item{margin-bottom:8px!important}.searchBar-container .btns[data-v-3c0a6716]{display:flex;justify-content:space-between;align-items:center}.searchBar-container .btns .left[data-v-3c0a6716]{display:flex;align-items:center}.searchBar-container .btns .left[data-v-3c0a6716] .el-tabs__header{margin:0}.searchBar-container .btns .right[data-v-3c0a6716]{text-align:right}[data-v-
|
|
1
|
+
.cmp-icon[data-v-d12f3c20],.cmp-icon[data-v-733f9daa],.cmp-icon[data-v-6f9ede29]{padding:0!important}.searchBar-container .searchBar[data-v-3c0a6716]{overflow:hidden;transition:all .3s}.searchBar-container[data-v-3c0a6716] .el-form-item{margin-bottom:8px!important}.searchBar-container .btns[data-v-3c0a6716]{display:flex;justify-content:space-between;align-items:center}.searchBar-container .btns .left[data-v-3c0a6716]{display:flex;align-items:center}.searchBar-container .btns .left[data-v-3c0a6716] .el-tabs__header{margin:0}.searchBar-container .btns .right[data-v-3c0a6716]{text-align:right}[data-v-5496c3dc] .vxe-table-custom-wrapper.placement--top-right.is--active{max-height:400px!important}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column{-webkit-user-select:none;user-select:none}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column.cell-selected{background-color:#409eff26!important;position:relative}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column.cell-border-top:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:#409eff;pointer-events:none;z-index:10}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column.cell-border-bottom:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:#409eff;pointer-events:none;z-index:10}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column.cell-border-left{border-left:1px solid #409eff!important}[data-v-5496c3dc] .vxe-table.cell-copy-enabled .vxe-body--column.cell-border-right{border-right:1px solid #409eff!important}.drawer-content .drawer-btn{position:absolute;box-sizing:border-box;bottom:0;width:100%;text-align:right;padding:10px 60px 20px 20px;background-color:#fff;z-index:10}
|