joy-admin-components 0.1.47 → 0.1.49

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.
@@ -1,2 +1,2 @@
1
- (function(h,K){typeof exports=="object"&&typeof module<"u"?K(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"],K):(h=typeof globalThis<"u"?globalThis:h||self,K(h.JoyAdminComponents={},h.ElementPlus,h.Vue,h.fileSaver,h.ExcelJS,h.dayjs,h.VueI18n,h._,h.VueRouter,h.Vuex,h.VxeUI))})(this,function(h,K,e,Ke,$e,se,Q,te,Ie,J,oe){"use strict";const He=e.defineComponent({name:"LayOutForm",setup(o,{slots:t,attrs:n,emit:r}){const a=e.ref(null),s=()=>t.default?t.default().filter(d=>d.type!==Symbol.for("v-cmt")).map(d=>d.type===Symbol.for("v-fgt")?d.children:d).flat().map(d=>{var u;return e.h(K.ElCol,{span:((u=d.props)==null?void 0:u.span)||24},{default:()=>d})}):null;e.onMounted(()=>{r("ref",a.value)});function l(){return e.h(K.ElForm,{...n,ref:a},()=>e.h(K.ElRow,{gutter:n.gutter??20},{default:()=>s()}))}return l}});var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Te(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Le={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(Ee,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,a=/([+-]|\d\d)/g;return function(s,l,d){var u=l.prototype;d.utc=function(f){var m={date:f,utc:!0,args:arguments};return new l(m)},u.utc=function(f){var m=d(this.toDate(),{locale:this.$L,utc:!0});return f?m.add(this.utcOffset(),n):m},u.local=function(){return d(this.toDate(),{locale:this.$L,utc:!1})};var _=u.parse;u.parse=function(f){f.utc&&(this.$u=!0),this.$utils().u(f.$offset)||(this.$offset=f.$offset),_.call(this,f)};var $=u.init;u.init=function(){if(this.$u){var f=this.$d;this.$y=f.getUTCFullYear(),this.$M=f.getUTCMonth(),this.$D=f.getUTCDate(),this.$W=f.getUTCDay(),this.$H=f.getUTCHours(),this.$m=f.getUTCMinutes(),this.$s=f.getUTCSeconds(),this.$ms=f.getUTCMilliseconds()}else $.call(this)};var S=u.utcOffset;u.utcOffset=function(f,m){var I=this.$utils().u;if(I(f))return this.$u?0:I(this.$offset)?S.call(this):this.$offset;if(typeof f=="string"&&(f=function(v){v===void 0&&(v="");var A=v.match(r);if(!A)return null;var x=(""+A[0]).match(a)||["-",0,0],b=x[0],q=60*+x[1]+ +x[2];return q===0?0:b==="+"?q:-q}(f),f===null))return this;var p=Math.abs(f)<=16?60*f:f;if(p===0)return this.utc(m);var C=this.clone();if(m)return C.$offset=p,C.$u=!1,C;var L=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(C=this.local().add(p+L,n)).$offset=p,C.$x.$localOffset=L,C};var k=u.format;u.format=function(f){var m=f||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return k.call(this,m)},u.valueOf=function(){var f=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*f},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var y=u.toDate;u.toDate=function(f){return f==="s"&&this.$offset?d(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var g=u.diff;u.diff=function(f,m,I){if(f&&this.$u===f.$u)return g.call(this,f,m,I);var p=this.local(),C=d(f).local();return g.call(p,C,m,I)}}})})(Le);var Ze=Le.exports;const Ge=Te(Ze);var Fe={exports:{}};(function(o,t){(function(n,r){o.exports=r()})(Ee,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(a,s,l){var d,u=function(k,y,g){g===void 0&&(g={});var f=new Date(k),m=function(I,p){p===void 0&&(p={});var C=p.timeZoneName||"short",L=I+"|"+C,v=r[L];return v||(v=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:I,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:C}),r[L]=v),v}(y,g);return m.formatToParts(f)},_=function(k,y){for(var g=u(k,y),f=[],m=0;m<g.length;m+=1){var I=g[m],p=I.type,C=I.value,L=n[p];L>=0&&(f[L]=parseInt(C,10))}var v=f[3],A=v===24?0:v,x=f[0]+"-"+f[1]+"-"+f[2]+" "+A+":"+f[4]+":"+f[5]+":000",b=+k;return(l.utc(x).valueOf()-(b-=b%1e3))/6e4},$=s.prototype;$.tz=function(k,y){k===void 0&&(k=d);var g,f=this.utcOffset(),m=this.toDate(),I=m.toLocaleString("en-US",{timeZone:k}),p=Math.round((m-new Date(I))/1e3/60),C=15*-Math.round(m.getTimezoneOffset()/15)-p;if(!Number(C))g=this.utcOffset(0,y);else if(g=l(I,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(C,!0),y){var L=g.utcOffset();g=g.add(f-L,"minute")}return g.$x.$timezone=k,g},$.offsetName=function(k){var y=this.$x.$timezone||l.tz.guess(),g=u(this.valueOf(),y,{timeZoneName:k}).find(function(f){return f.type.toLowerCase()==="timezonename"});return g&&g.value};var S=$.startOf;$.startOf=function(k,y){if(!this.$x||!this.$x.$timezone)return S.call(this,k,y);var g=l(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return S.call(g,k,y).tz(this.$x.$timezone,!0)},l.tz=function(k,y,g){var f=g&&y,m=g||y||d,I=_(+l(),m);if(typeof k!="string")return l(k).tz(m);var p=function(A,x,b){var q=A-60*x*1e3,P=_(q,b);if(x===P)return[q,x];var M=_(q-=60*(P-x)*1e3,b);return P===M?[q,P]:[A-60*Math.min(P,M)*1e3,Math.max(P,M)]}(l.utc(k,f).valueOf(),I,m),C=p[0],L=p[1],v=l(C).utcOffset(L);return v.$x.$timezone=m,v},l.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},l.tz.setDefault=function(k){d=k}}})})(Fe);var We=Fe.exports;const Je=Te(We),ie={"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":"展开",excel:{fieldsMappingRequired:"请输入列字段映射",invalidInput:"非法输入",invalidOption:"请输入有效选项!",copyFailed:"复制失败",sheetNameTooLong:'Sheet名称 "{0}" 长度超过31个字符,已自动截断为 "{1}"'},validate:{invalidInput:"请输入正确内容"},tools:{keysLengthError:"keys 长度必须大于2 默认前两位为 label value"}},ce={"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",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"}},ve={zh_cn:ie,en:ce};let ne=null;function Ve(o=null){if(o){const{global:t}=o;return t.messages.value.zh_cn?t.mergeLocaleMessage("zh_cn",ie):t.setLocaleMessage("zh_cn",ie),t.messages.value.en?t.mergeLocaleMessage("en",ce):t.setLocaleMessage("en",ce),ne=o,o}return ne||(ne=Q.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:ve})),ne}function de(){return ne||Ve()}function ue(){return de().global.t}se.extend(Ge),se.extend(Je);async function Qe(o,t){const{fields:n,range:r=1}=t;if(!n){const l=ue();throw new Error(l("excel.fieldsMappingRequired"))}let a=new $e.Workbook;await a.xlsx.load(o);const s={};return a.eachSheet(function(l,d){const u=[];l.eachRow(function(_,$){if($>r){let S={},k=!0;Object.keys(n).forEach(y=>{const g=_.getCell(n[y]).value;S[y]=g,g&&(k=!1)}),k||u.push(S)}}),s[l._name]=u}),a=null,s}const Xe={columnWidth:30};async function De(o,t,n=[],r={}){if(!o||!t)return;const{columnStyle:a}=r,{columnWidth:s}=Xe;t.forEach(u=>{u.width=u.width?u.width:s});const{workbook:l,worksheet:d}=et();d.columns=t,d.addRows(n),a&&await tt(l,d,a);try{const u=await l.xlsx.writeBuffer(),_=new File([u],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Ke.saveAs(_)}catch(u){console.log(u)}}function et(){const o=new $e.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 tt(o,t,n){const r=Object.keys(n);for(const a of r){const s=n[a],{type:l}=s;switch(l){case"IMG":await nt(o,t,a);break}}}async function nt(o,t,n,r){const a=t.getColumn(n),s=a.values;t.getColumn(n).width=20,t.eachRow((l,d)=>{d>1&&(l.height=40)});for(let l=0,d=s.length;l<d;l++){if(l<2)continue;let u=s[l];u&&(t.getCell(a.letter+l).value="",await ot(o,t,u,{width:100,height:50,col:a._number-1,row:l-1}))}}async function ot(o,t,n,r){const{col:a,row:s,width:l,height:d}=r,{success:u,base64:_}=await lt(n,.3);if(u){const $=o.addImage({base64:_,extension:"jpeg"});t.addImage($,{tl:{col:a,row:s},ext:{width:l,height:d}})}}function lt(o,t=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=o,new Promise((r,a)=>{n.onload=()=>{const s=document.createElement("canvas");s.width=n.width,s.height=n.height,s.getContext("2d").drawImage(n,0,0,s.width,s.height),r({success:!0,base64:s.toDataURL("image/jpeg",t)})},n.onerror=()=>{r({success:!1})}})}function rt(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 at(o){return new Promise(t=>{setTimeout(()=>{t()},o)})}function st(o){return JSON.parse(JSON.stringify(o))}function it(o){let t=[],n={},r=(a,s)=>Object.prototype.hasOwnProperty.call(a,s);for(const a of o){n[a.id]={...a,children:r(n,a.id)?n[a.id].children:[]};const s=n[a.id];a.pid==-1?t.push(s):(r(n,a.pid)||(n[a.pid]={children:[]}),n[a.pid].children.push(s))}return t}function fe(o,t=" "){return o?o.split(t).filter(n=>n.trim()):[]}class he{constructor(t,n=["label","value","labelEn"]){this.list=t,this.map=new Map(t.map(r=>{let a={...r,label:r[n[0]],value:r[n[1]]};return n[2]&&(a.labelEn=r[n[2]]),[r[n[1]],a]}))}getName(t,n){if(!this.has(t))return"-";const{label:r,labelEn:a}=this.map.get(t);return(n=="zh_cn"?r:a)||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 ct(o,t=[],n="i18nName"){if(o.length==0)return new he([]);if(t.length<2){const a=ue();throw new Error(a("tools.keysLengthError"))}let r=o.map(a=>{let s={};return n&&(s.labelEn=a[n]),t.forEach((l,d)=>{d===0?s.label=a[l]:d===1?s.value=a[l]:s[l]=a[l]}),s});return new he(r)}function ut(o){return o?o.replace(/<[^>]+>/g,""):""}function dt(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 ft(o,t=10){let n=1048576*t;return!(o.size>n)}function ht(o){return Array.from(10).fill(0).map((n,r)=>o+"_"+r)}function mt(o){let t={};return o.map((n,r)=>{let{key:a,option:s,type:l}=n,d=rt(r);s?t[a]=`${d}---option`:l==="image"?t[a]=`${d}---image`:t[a]=d}),t}function pt(o,t){return t.split(".").reduce((n,r)=>n&&n[r],o)}const Ht="",le=(o,t)=>{const n=o.__vccOpts||o;for(const[r,a]of t)n[r]=a;return n},Be=le({__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"],["update:modelValue"]),setup(o,{emit:t}){const n=o,r=e.useAttrs(),{t:a,locale:s}=Q.useI18n(),l=e.useModel(o,"modelValue"),d=e.ref(""),u=e.computed(()=>{if(r.remote!==void 0)return n.data;const p=fe(d.value),{data:C,labelValue:L}=n,v=C||S.value;if(p.length==0)return v;const{label:A,labelEn:x}=L;let b=s.value=="en_us"?x||"i18nName":A;return p.length==1?v.filter(P=>P[b].toLowerCase().includes(p[0].toLowerCase())):v.filter(P=>{let M=!1;return M=p.some(Ce=>P[b].toLowerCase()==Ce.toLowerCase()),M})}),_=e.computed({get(){return r.multiple==null||l.value==null?!1:l.value.length==u.value.length},set(p){return p}}),$=t,S=e.ref([]),k=async()=>{const{data:p}=await n.api();S.value=[...p],$("success",S)};n.api&&k();const y=n.labelValue.label.split("-"),g=p=>{if(y.length==1){if(n.changeLocal)return a(p[n.labelValue.label]);let C=s.value=="en_us"?p[n.labelValue.labelEn||"i18nName"]:p[n.labelValue.label];return C=C||p[n.labelValue.label],C}else{let C=[];return y.forEach(L=>{C.push(p[L])}),C.join("-")}};function f(p){l.value=p?u.value.map(C=>C[n.labelValue.value]):[],$("change",l.value)}function m(p){n.optionClick(p),$("change",r["value-key"]?p:p[n.labelValue.value])}function I(p){return l.value.length>=n.maxLimit&&!l.value.includes(p[n.labelValue.value])}return(p,C)=>{const L=e.resolveComponent("el-checkbox"),v=e.resolveComponent("el-option"),A=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(A,e.mergeProps({modelValue:l.value,"onUpdate:modelValue":C[1]||(C[1]=x=>l.value=x),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(r).remote!=null?void 0:x=>d.value=x,clearable:""},e.unref(r),{onClear:o.optionClick}),{default:e.withCtx(()=>[e.unref(r).multiple!=null&&o.showCheckAll&&o.maxLimit==null?e.renderSlot(p.$slots,"header",{key:0},()=>[e.createVNode(L,{class:"mgl20",modelValue:_.value,"onUpdate:modelValue":C[0]||(C[0]=x=>_.value=x),onChange:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(x,b)=>(e.openBlock(),e.createBlock(v,{key:b,label:g(x),disabled:e.unref(r).multiple!=null&&o.maxLimit>0?I(x):!1,onClick:e.withModifiers(q=>m(x),["stop"]),value:e.unref(r)["value-key"]?x:x[o.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"])}}},[["__scopeId","data-v-34eb8641"]]),Gt="",gt=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function Ct(o,t,n,r,a,s){const l=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(l,{class:"cmp-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.name)))]),_:1})}const me=le(gt,[["render",Ct],["__scopeId","data-v-733f9daa"]]),yt={__name:"index",emits:["ok","no"],setup(o,{emit:t}){const n=t,r=te.debounce(()=>{n("ok")},500);function a(){n("no")}return(s,l)=>{const d=e.resolveComponent("el-link"),u=e.resolveComponent("el-popconfirm");return e.openBlock(),e.createBlock(u,e.mergeProps(s.$attrs,{onConfirm:e.unref(r),onCancel:a}),{reference:e.withCtx(()=>[e.createVNode(d,{underline:"never",type:s.$attrs.type},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["type"])]),_:3},16,["onConfirm"])}}},Wt="",bt=["accept"],wt=le({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},loading:{type:Boolean,default:!1}},emits:["fileChange"],setup(o,{emit:t}){const n=t,r=e.ref(null);function a(s){let l=s.target.files[0];n("fileChange",l),r.value.value=null}return(s,l)=>{const d=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(d,{loading:o.loading,class:"mgr10",onClick:l[0]||(l[0]=u=>r.value.click())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.$t("dao-ru")),1)]),_:1},8,["loading"]),e.createElementVNode("input",{onChange:a,ref_key:"input",ref:r,accept:o.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,bt)])}}},[["__scopeId","data-v-5f1449ad"]]);function pe(o){let t={};return o.forEach(n=>{const{key:r,type:a,option:s={},value:l,dateType:d}=n;if(r)if(a=="input"&&(s!=null&&s.multiple))t[r]=fe(l);else if(a=="date")if(d.includes("range")){const[u,_]=r;let[$,S]=l||[];$&&d=="daterange"&&($=se($).format("YYYY-MM-DD 00:00:00"),S=se(S).format("YYYY-MM-DD 23:59:59")),t[u]=$,t[_]=S}else t[r]=l;else t[r]=l}),t}const Qt="",kt={key:0},xt={class:"btns"},St={class:"left"},_t={class:"right"},ze=le({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(o,{expose:t,emit:n}){const r=o,a=n,s=e.ref(!0),l=e.ref(null),{t:d}=Q.useI18n(),u=e.computed(()=>s.value?d("guan-bi"):d("zhan-kai"));function _(){a("confirm")}function $(m){m.option.onClear&&m.option.onClear(),a("confirm")}function S(){a("reset")}function k(){a("confirm")}function y(){return pe(r.form.items)}const g=te.cloneDeep(r.form.items);function f(){r.form.items.forEach(m=>{const I=g.find(p=>p.key==m.key);I&&(m.value=I.value)})}return t({getPrm:y,reset:f}),(m,I)=>{const p=e.resolveComponent("el-input"),C=e.resolveComponent("el-date-picker"),L=e.resolveComponent("el-form-item"),v=e.resolveComponent("el-form"),A=e.resolveComponent("el-link"),x=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(_,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:s.value?"auto":"42px"})},[e.createVNode(v,{inline:"",model:o.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.form.items.filter(b=>!b.hidden),b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.key},[b.type=="br"?(e.openBlock(),e.createElementBlock("br",kt)):(e.openBlock(),e.createBlock(L,{key:1,label:b.name},{default:e.withCtx(()=>{var q,P;return[b.type==="input"?(e.openBlock(),e.createBlock(p,{key:0,modelValue:b.value,"onUpdate:modelValue":M=>b.value=M,class:e.normalizeClass(((q=b.option)==null?void 0:q.class)||"w150"),placeholder:m.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):b.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.render),{key:1})):e.createCommentVNode("",!0),b.type==="select"?(e.openBlock(),e.createBlock(Be,e.mergeProps({key:2,class:((P=b.option)==null?void 0:P.class)||"w150",modelValue:b.value,"onUpdate:modelValue":M=>b.value=M},{ref_for:!0},b.option,{onChange:_,onClear:M=>$(b)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),b.type==="date"?(e.openBlock(),e.createBlock(C,{key:3,class:e.normalizeClass({datetimerange:"w300",daterange:"w200"}[b.dateType]||"w100"),modelValue:b.value,"onUpdate:modelValue":M=>b.value=M,"value-format":{datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"}[b.dateType]||"YYYY-MM-DD",type:b.dateType||"date",onFocus:M=>l.value=b,onChange:M=>k(),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",xt,[e.createElementVNode("div",St,[e.renderSlot(m.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",_t,[e.createVNode(A,{underline:"never",class:"mgr10",onClick:I[0]||(I[0]=()=>{a("visibleChange",!s.value),s.value=!s.value})},{default:e.withCtx(()=>[e.createVNode(me,{name:s.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(u.value),1)]),_:1}),e.createVNode(x,{type:"primary",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("shai-xuan")),1)]),_:1}),e.createVNode(x,{type:"primary",onClick:S},{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-32ac9990"]]),Oe={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 re={...Oe};function $t(o){re={...re,...o,responseDataKeys:{...re.responseDataKeys,...o.responseDataKeys||{}}}}function Me(){return re}function It(){re={...Oe}}const en="",Et={class:"center"},Tt=le({__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}=Q.useI18n(),a=Ie.useRoute(),s=Me(),l=o,d=e.ref(!1),u=e.ref([]);l.searchForm.showSearch===void 0&&(l.searchForm.showSearch=s.showSearch),l.searchForm.showPage===void 0&&(l.searchForm.showPage=s.showPage),l.searchForm.showShadow===void 0&&(l.searchForm.showShadow=s.showShadow),l.searchForm.showCheckBox===void 0&&(l.searchForm.showCheckBox=s.showCheckBox),l.searchForm.enableCellCopy===void 0&&(l.searchForm.enableCellCopy=s.enableCellCopy),l.searchForm.selections||(l.searchForm.selections=[]);const _=e.computed(()=>{const c=a.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return l.id?`listPageId-${c}-${l.id}`:`listPageId-${c}`}),$=te.cloneDeep(l.searchForm.items),S=l.searchForm.pageNoKey||s.pageNoKey,k=l.searchForm.pageSizeKey||s.pageSizeKey,y=e.reactive({[S]:1,[k]:l.searchForm.defaultPageSize||s.defaultPageSize,total:0}),g=e.ref(null),f=e.ref(null),m=e.ref(450),I=te.debounce(()=>{e.nextTick(()=>{if(!f.value)return;const i=f.value.getBoundingClientRect(),w=window.innerHeight,F=i.top,z=100,j=w-F-z,V=200;m.value=Math.max(j,V)})},100),p=()=>{I()},C=()=>{if(!l.searchForm.enableCellCopy)return!1;const c=g.value;if(!c||!c.$el)return!1;const i=c.$el;return i.classList.add("cell-copy-enabled"),i.setAttribute("tabindex","-1"),i.removeEventListener("mousedown",be),i.removeEventListener("mousemove",we),i.removeEventListener("mouseup",ke),i.removeEventListener("keydown",Se),i.addEventListener("mousedown",be),i.addEventListener("mousemove",we),i.addEventListener("mouseup",ke),i.addEventListener("keydown",Se),!0};e.onMounted(()=>{I(),window.addEventListener("resize",p),l.searchForm.enableCellCopy&&(document.addEventListener("mouseup",Pe),document.addEventListener("mousedown",je),setTimeout(()=>{C()},500))}),e.onUpdated(()=>{l.searchForm.enableCellCopy&&setTimeout(()=>{C()},500)}),e.onUnmounted(()=>{if(window.removeEventListener("resize",p),l.searchForm.enableCellCopy){document.removeEventListener("mouseup",Pe),document.removeEventListener("mousedown",je);const c=g.value;if(c&&c.$el){const i=c.$el;i.removeEventListener("mousedown",be),i.removeEventListener("mousemove",we),i.removeEventListener("mouseup",ke),i.removeEventListener("keydown",Se)}}});const L=e.computed(()=>ye.value.height||m.value);let v;async function A(c){const{dataFormat:i}=l.tableConfig;c[S]!=1&&(c.nextSearchAfter=v),d.value=!0;const{code:w,data:F={}}=await l.api(c).finally(()=>{d.value=!1,l.searchForm.selections=[]});if(w==200){let z=[];for(const V of s.responseDataKeys.rows)if(F[V]){z=F[V];break}let j=0;for(const V of s.responseDataKeys.total)if(F[V]!==void 0){j=F[V];break}u.value=i?i(z):z,y.total=j,v=F.nextSearchAfter,l.searchForm.enableCellCopy&&e.nextTick(()=>{setTimeout(()=>{C()},100)})}}function x(c={}){const{searchData:i=()=>({})}=l.tableConfig,w=i();A({...y,...pe(l.searchForm.items),...c,...w})}function b(){const{reset:c}=l.tableConfig;c&&c(),l.searchForm.items.forEach(i=>{const w=$.find(F=>te.isArray(i.key)&&te.isArray(F.key)?i.key.join(",")==F.key.join(","):F.key==i.key);w&&(i.value=w.value)}),x()}l.api&&l.immediate&&x();function q(){return{...y,...pe(l.searchForm.items)}}const P=()=>{const c=g.value;c&&c.clearSort()},M=e.reactive({storage:!0}),Ce=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),ye=e.computed(()=>{const{customConfig:c,columnConfig:i,...w}=l.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...M,...c},columnConfig:{...Ce,...i},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...w}}),E=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),Re=c=>{const i=c.closest(".vxe-body--column");if(!i||i.classList.contains("col--checkbox")||i.classList.contains("col--seq"))return null;const w=i.closest(".vxe-body--row");if(!w)return null;const F=g.value;if(!F)return null;let z=-1;const j=w.getAttribute("data-rowid");if(j!=null)z=parseInt(j,10);else{const D=w.parentElement;z=Array.from(D.querySelectorAll(".vxe-body--row")).indexOf(w)}if(z<0)return null;let V=-1;const W=i.getAttribute("data-colid");if(W&&(V=F.getColumns().findIndex(T=>T.id===W)),V<0){const T=Array.from(w.querySelectorAll(".vxe-body--column")).indexOf(i),N=!!i.closest(".vxe-table--fixed-left-wrapper"),U=!!i.closest(".vxe-table--fixed-right-wrapper"),O=F.getColumns();if(N){const Y=O.filter(R=>R.fixed==="left");T<Y.length&&(V=O.indexOf(Y[T]))}else if(U){const Y=O.filter(R=>R.fixed==="right");T<Y.length&&(V=O.indexOf(Y[T]))}else{const Y=l.searchForm.showCheckBox?1:0;V=O.filter(H=>H.fixed==="left").length+T-Y}}return V<0?null:{rowIndex:z,colIndex:V,cell:i}},be=c=>{const i=Re(c.target);if(!i){xe();return}E.isSelecting=!0,E.startCell={rowIndex:i.rowIndex,colIndex:i.colIndex},E.endCell={...E.startCell},Ae(),qe()},we=c=>{if(!E.isSelecting)return;const i=Re(c.target);i&&(E.endCell={rowIndex:i.rowIndex,colIndex:i.colIndex},Ae(),qe())},ke=()=>{E.isSelecting=!1},xe=()=>{E.selectedCells=[],E.startCell=null,E.endCell=null;const c=g.value;if(!c)return;c.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(w=>{w.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},Ae=()=>{if(!E.startCell||!E.endCell){E.selectedCells=[];return}const c=E.startCell.rowIndex,i=E.endCell.rowIndex,w=E.startCell.colIndex,F=E.endCell.colIndex,z=Math.min(c,i),j=Math.max(c,i),V=Math.min(w,F),W=Math.max(w,F);E.selectedCells=[];for(let D=z;D<=j;D++)for(let T=V;T<=W;T++)E.selectedCells.push({rowIndex:D,colIndex:T})},qe=()=>{e.nextTick(()=>{const c=g.value;if(!c)return;const i=c.$el;if(i.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(N=>{N.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")}),E.selectedCells.length===0)return;const w=c.getColumns(),F=E.selectedCells.map(N=>N.rowIndex),z=E.selectedCells.map(N=>N.colIndex),j=Math.min(...F),V=Math.max(...F),W=Math.min(...z),D=Math.max(...z),T=[i.querySelector(".vxe-table--body-wrapper tbody"),i.querySelector(".vxe-table--fixed-left-wrapper tbody"),i.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean);E.selectedCells.forEach(({rowIndex:N,colIndex:U})=>{const O=w[U];if(!O)return;const Y=O.fixed==="left",R=O.fixed==="right";for(const H of T){const ae=H.querySelectorAll(".vxe-body--row")[N];if(!ae)continue;const X=Array.from(ae.querySelectorAll(".vxe-body--column"));let B=null;if(Y&&H.closest(".vxe-table--fixed-left-wrapper")){const Z=w.filter(G=>G.fixed==="left").indexOf(O);B=X[Z]}else if(R&&H.closest(".vxe-table--fixed-right-wrapper")){const Z=w.filter(G=>G.fixed==="right").indexOf(O);B=X[Z]}else if(!Y&&!R&&H.closest(".vxe-table--body-wrapper")){const ee=l.searchForm.showCheckBox?1:0,Z=w.filter(_e=>_e.fixed==="left").length,G=U-Z;B=X[G+ee]}if(B&&!B.classList.contains("col--checkbox")&&!B.classList.contains("col--seq")){B.classList.add("cell-selected"),N===j&&B.classList.add("cell-border-top"),N===V&&B.classList.add("cell-border-bottom"),U===W&&B.classList.add("cell-border-left"),U===D&&B.classList.add("cell-border-right");break}}})})},jt=async()=>{if(E.selectedCells.length===0)return;const c=g.value;if(!c)return;const i=c.$el,w=c.getColumns(),F=[...new Set(E.selectedCells.map(D=>D.rowIndex))].sort((D,T)=>D-T),z=[...new Set(E.selectedCells.map(D=>D.colIndex))].sort((D,T)=>D-T),j=[i.querySelector(".vxe-table--body-wrapper tbody"),i.querySelector(".vxe-table--fixed-left-wrapper tbody"),i.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean),V=[];F.forEach(D=>{const T=[];z.forEach(N=>{const U=w[N];if(!U){T.push("");return}const O=U.fixed==="left",Y=U.fixed==="right";let R="";for(const H of j){const ae=H.querySelectorAll(".vxe-body--row")[D];if(!ae)continue;const X=Array.from(ae.querySelectorAll(".vxe-body--column"));let B=null;if(O&&H.closest(".vxe-table--fixed-left-wrapper")){const Z=w.filter(G=>G.fixed==="left").indexOf(U);B=X[Z]}else if(Y&&H.closest(".vxe-table--fixed-right-wrapper")){const Z=w.filter(G=>G.fixed==="right").indexOf(U);B=X[Z]}else if(!O&&!Y&&H.closest(".vxe-table--body-wrapper")){const ee=l.searchForm.showCheckBox?1:0,Z=w.filter(_e=>_e.fixed==="left").length,G=N-Z;B=X[G+ee]}if(B&&!B.classList.contains("col--checkbox")&&!B.classList.contains("col--seq")){R=B.innerText||B.textContent||"",R=R.trim(),R=R.replace(/\n/g," ").replace(/\s+/g," ");break}}T.push(R)}),V.push(T.join(" "))});const W=V.join(`
2
- `);try{await navigator.clipboard.writeText(W)}catch(D){console.error("复制失败:",D)}},Se=c=>{l.searchForm.enableCellCopy&&((c.ctrlKey||c.metaKey)&&c.key==="c"?E.selectedCells.length>0&&(c.preventDefault(),c.stopPropagation(),jt()):c.key==="Escape"&&xe())},Pe=()=>{E.isSelecting=!1},je=c=>{const i=g.value;if(!i||!i.$el)return;i.$el.contains(c.target)||xe()},Ut=c=>{y[S]=c,x()},Yt=c=>{y[k]=c,y[S]=1,x()};function Ue(){const c=g.value.getCheckboxRecords();l.searchForm.selections=c}const Ye=c=>{const i=g.value;if(i){i.toggleCheckboxRow(c);const w=g.value.getCheckboxRecords();l.searchForm.selections=w}};return t({tableRef:g,getList:x,getPrm:q,clearSort:P,calculateTableHeight:I}),(c,i)=>{var D;const w=e.resolveComponent("el-button"),F=e.resolveComponent("el-checkbox"),z=e.resolveComponent("el-text"),j=e.resolveComponent("vxe-column"),V=e.resolveComponent("VxeTable"),W=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:o.searchForm.showShadow})},[o.searchForm.showSearch?(e.openBlock(),e.createBlock(ze,{key:0,form:o.searchForm,onReset:b,onConfirm:i[1]||(i[1]=T=>x()),onVisibleChange:e.unref(I)},{btn:e.withCtx(()=>[e.renderSlot(c.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(w,{round:"",onClick:i[0]||(i[0]=T=>g.value.openCustom())},{default:e.withCtx(()=>[e.createVNode(me,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:f},[e.createVNode(V,e.mergeProps({id:_.value,ref_key:"tableRef",ref:g,loading:o.loading||d.value,data:o.api?u.value:o.data,border:""},ye.value,{height:L.value,onCheckboxChange:Ue,onCheckboxAll:Ue,onSortChange:(D=ye.value["sort-config"])==null?void 0:D.sortChange}),{default:e.withCtx(()=>[o.searchForm.showCheckBox==null||o.searchForm.showCheckBox?(e.openBlock(),e.createBlock(j,{key:0,type:"checkbox",width:e.unref(r)=="zh_cn"?80:150,title:c.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:T,row:N,checked:U,disabled:O,indeterminate:Y})=>[e.createElementVNode("div",Et,[U?(e.openBlock(),e.createBlock(F,{key:0,checked:!0,disabled:O,size:"default",onClick:e.withModifiers(R=>!O&&Ye(N),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(F,{key:1,disabled:O,checked:!1,size:"default",onClick:e.withModifiers(R=>!O&&Ye(N),["stop"])},null,8,["disabled","onClick"])),e.createVNode(z,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),o.searchForm.showPage?(e.openBlock(),e.createBlock(W,{key:1,"current-page":y[e.unref(S)],"onUpdate:currentPage":i[2]||(i[2]=T=>y[e.unref(S)]=T),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:y.total,"page-size":y[e.unref(k)],"page-sizes":o.searchForm.pageSizes||e.unref(s).pageSizes,onCurrentChange:Ut,onSizeChange:Yt},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-de0d59d6"]]),Lt={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(o){const t=o;function n(){De(t.fileName,t.sheetsConfig)}return(r,a)=>{const s=e.resolveComponent("el-link");return e.openBlock(),e.createBlock(s,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)}}};function Ft(o,t={}){const n=ue(),r={inForm:!0,required:!0,...t},a={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:s,value:l,required:d,msg:u=n("validate.invalidInput")}=r;return s?function(_,$,S){if(d){a.test($)?S():S(new Error(u));return}$&&!a.test($)?S(new Error(u)):S()}:a.test(l)}class vt{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 a=await fetch(t,r);return a.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):a}catch(a){throw this.log("请求失败:",a),a}}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 Vt(o,t={}){const r=Object.assign({manual:!1,log:!1,params:null,format:null},t),{manual:a,log:s,params:l={},cb:d,format:u}=r,_=e.ref([]),$=e.ref(!1),S=k=>{const y=k||l;$.value=!0,o(y).then(g=>{const{code:f,data:m,msg:I}=g;if(d){const{records:p,rows:C}=m||{},L=p||C?p||C:m;_.value=ge(L,u),d(g)}if(m){if(m.records!=null||m.rows!=null){const{records:p,rows:C,total:L=0}=m||{};y&&y.total!=null&&(l.total=parseInt(L)),_.value=ge(p||C||[],u)}else _.value=ge(m,u);s&&console.log("useRequest-res",_.value)}}).catch(g=>{d&&(console.log("useRequestErr",g),d({code:500}))}).finally(()=>{$.value=!1})};return a||S(),[$,_,S]}function Dt(o){const t=e.ref(o),n=e.ref(""),r=e.ref("");return e.watch(t,a=>{const s=a||["",""];n.value=s[0],r.value=s[1]}),[t,n,r]}function Bt(o){return Object.prototype.toString.call(o).slice(8,-1).toLowerCase()}function ge(o,t){if(!t)return o;if(o instanceof Array)return o.map(r=>{let a={};return t.forEach(s=>a[s]=r[s]),a});let n={};return t.forEach(r=>n[r]=o[r]),n}function zt(o,t=[]){const{locale:n}=Q.useI18n(),r=e.ref(o());return e.watch([n,...t],()=>{r.value=o()},{immediate:!0}),r}function Ot(o,t="zh_cn",n="en_us"){if(!o)return"-";const r={en_us:n,zh_cn:t},s=de().global.locale.value;return o[r[s]]||o[t]||"-"}function Mt(o,t){let n=J.mapState;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapState),Ne(t,n)}function Nt(o,t){let n=J.mapGetters;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapGetters),Ne(t,n)}function Rt(o,t){let n=J.mapActions;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapActions),At(t,n)}function Ne(o,t){const n=J.useStore(),r=t(o),a={};return Object.keys(r).forEach(s=>{const l=r[s].bind({$store:n});a[s]=e.computed(l)}),a}function At(o,t){const n=J.useStore(),r=t(o),a={};return Object.keys(r).forEach(s=>{a[s]=r[s].bind({$store:n})}),a}const qt={__name:"EnumRender",props:{renderOpts:{type:Object,default:()=>({enum:{}})},params:{type:Object}},setup(o){const t=o,n=t.params.row[t.params.column.field];return(r,a)=>{const s=e.resolveComponent("el-text");return o.renderOpts.text?(e.openBlock(),e.createBlock(s,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.renderOpts.enum.getName(e.unref(n))),1)]),_:1})):(e.openBlock(),e.createBlock(s,{key:1,type:o.renderOpts.enum.getTag(e.unref(n))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.renderOpts.enum.getName(e.unref(n))),1)]),_:1},8,["type"]))}}};function Pt(){oe.VxeUI.renderer.add("Enum",{renderTableDefault(o,t){return[null,void 0].includes(t.row[t.column.field])?"-":React.createElement(qt,{renderOpts:o,params:t})}}),oe.VxeUI.renderer.add("InputNumber",{renderTableDefault(o,t){return React.createElement(K.ElInputNumber,{"v-model":t.row[t.column.field],...o.props,"step-strictly":!0,"value-on-clear":0})}}),oe.VxeUI.renderer.add("TrueFalse",{renderTableDefault(o,t){const{locale:n}=Q.useI18n();let r=n.value=="zh_cn";return React.createElement(K.ElText,{type:t.row[t.column.field]?"success":"danger"},t.row[t.column.field]?r?"是":"YES":r?"否":"NO")}}),oe.VxeUI.renderer.add("I18n",{renderTableDefault(o,t){const{locale:n}=Q.useI18n();let r=n.value=="zh_cn"?t.column.field:o.fieldEn;return t.row[r]||t.row[t.column.field]}}),oe.VxeUI.renderer.add("Link",{renderTableDefault(o,t){var d;let n=t.column.field;const r=Ie.useRouter(),{multiple:a,to:s}=o;if(!a)return React.createElement(K.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:s,query:{[n]:t.row[n]}})},t.row[n]);const l=((d=t.row[n])==null?void 0:d.split(","))||[];return l.map((u,_)=>React.createElement("span",null,React.createElement(K.ElLink,{underline:"never",type:"primary",onclick:()=>r.push({path:s,query:{[n]:u}})},u),_<l.length-1?",":""))}})}h.CmpDictionary=Be,h.CmpIcon=me,h.ConfrimButton=yt,h.DownExcelTemp=Lt,h.ImportButton=wt,h.LayOutForm=He,h.ListPage=Tt,h.OnePortalCasSDK=vt,h.SearchBar=ze,h.StatusMap=he,h._toRaw=st,h._typeOf=Bt,h.arrToStatusMap=ct,h.arrayToTree=it,h.checkFileSize=ft,h.creatValidator=Ft,h.createImportFields=mt,h.createListPageId=ht,h.en=ce,h.exportExcel=De,h.getI18n=de,h.getI18nT=ue,h.getListPageConfig=Me,h.getLocaleValue=Ot,h.getValueBykey=pt,h.importExcel=Qe,h.messages=ve,h.registerVxeRenderers=Pt,h.resetListPageConfig=It,h.setListPageConfig=$t,h.setupI18n=Ve,h.sleep=at,h.stringToArray=fe,h.stripHtmlTags=ut,h.unicode2Str=dt,h.useActions=Rt,h.useDatePicker=Dt,h.useGetters=Nt,h.useI18nReState=zt,h.useRequest=Vt,h.useState=Mt,h.zhCn=ie,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
1
+ (function(h,K){typeof exports=="object"&&typeof module<"u"?K(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"],K):(h=typeof globalThis<"u"?globalThis:h||self,K(h.JoyAdminComponents={},h.ElementPlus,h.Vue,h.fileSaver,h.ExcelJS,h.dayjs,h.VueI18n,h._,h.VueRouter,h.Vuex,h.VxeUI))})(this,function(h,K,e,He,Ie,se,Q,te,Te,J,oe){"use strict";const Ze=e.defineComponent({name:"LayOutForm",setup(o,{slots:t,attrs:n,emit:l}){const a=e.ref(null),s=()=>t.default?t.default().filter(d=>d.type!==Symbol.for("v-cmt")).map(d=>d.type===Symbol.for("v-fgt")?d.children:d).flat().map(d=>{var u;return e.h(K.ElCol,{span:((u=d.props)==null?void 0:u.span)||24},{default:()=>d})}):null;e.onMounted(()=>{l("ref",a.value)});function r(){return e.h(K.ElForm,{...n,ref:a},()=>e.h(K.ElRow,{gutter:n.gutter??20},{default:()=>s()}))}return r}});var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ve(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Le={exports:{}};(function(o,t){(function(n,l){o.exports=l()})(Ee,function(){var n="minute",l=/[+-]\d\d(?::?\d\d)?/g,a=/([+-]|\d\d)/g;return function(s,r,d){var u=r.prototype;d.utc=function(f){var m={date:f,utc:!0,args:arguments};return new r(m)},u.utc=function(f){var m=d(this.toDate(),{locale:this.$L,utc:!0});return f?m.add(this.utcOffset(),n):m},u.local=function(){return d(this.toDate(),{locale:this.$L,utc:!1})};var _=u.parse;u.parse=function(f){f.utc&&(this.$u=!0),this.$utils().u(f.$offset)||(this.$offset=f.$offset),_.call(this,f)};var $=u.init;u.init=function(){if(this.$u){var f=this.$d;this.$y=f.getUTCFullYear(),this.$M=f.getUTCMonth(),this.$D=f.getUTCDate(),this.$W=f.getUTCDay(),this.$H=f.getUTCHours(),this.$m=f.getUTCMinutes(),this.$s=f.getUTCSeconds(),this.$ms=f.getUTCMilliseconds()}else $.call(this)};var S=u.utcOffset;u.utcOffset=function(f,m){var I=this.$utils().u;if(I(f))return this.$u?0:I(this.$offset)?S.call(this):this.$offset;if(typeof f=="string"&&(f=function(F){F===void 0&&(F="");var q=F.match(l);if(!q)return null;var x=(""+q[0]).match(a)||["-",0,0],b=x[0],P=60*+x[1]+ +x[2];return P===0?0:b==="+"?P:-P}(f),f===null))return this;var g=Math.abs(f)<=16?60*f:f;if(g===0)return this.utc(m);var C=this.clone();if(m)return C.$offset=g,C.$u=!1,C;var V=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(C=this.local().add(g+V,n)).$offset=g,C.$x.$localOffset=V,C};var k=u.format;u.format=function(f){var m=f||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return k.call(this,m)},u.valueOf=function(){var f=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*f},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var y=u.toDate;u.toDate=function(f){return f==="s"&&this.$offset?d(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var p=u.diff;u.diff=function(f,m,I){if(f&&this.$u===f.$u)return p.call(this,f,m,I);var g=this.local(),C=d(f).local();return p.call(g,C,m,I)}}})})(Le);var Ge=Le.exports;const We=Ve(Ge);var Fe={exports:{}};(function(o,t){(function(n,l){o.exports=l()})(Ee,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},l={};return function(a,s,r){var d,u=function(k,y,p){p===void 0&&(p={});var f=new Date(k),m=function(I,g){g===void 0&&(g={});var C=g.timeZoneName||"short",V=I+"|"+C,F=l[V];return F||(F=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:I,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:C}),l[V]=F),F}(y,p);return m.formatToParts(f)},_=function(k,y){for(var p=u(k,y),f=[],m=0;m<p.length;m+=1){var I=p[m],g=I.type,C=I.value,V=n[g];V>=0&&(f[V]=parseInt(C,10))}var F=f[3],q=F===24?0:F,x=f[0]+"-"+f[1]+"-"+f[2]+" "+q+":"+f[4]+":"+f[5]+":000",b=+k;return(r.utc(x).valueOf()-(b-=b%1e3))/6e4},$=s.prototype;$.tz=function(k,y){k===void 0&&(k=d);var p,f=this.utcOffset(),m=this.toDate(),I=m.toLocaleString("en-US",{timeZone:k}),g=Math.round((m-new Date(I))/1e3/60),C=15*-Math.round(m.getTimezoneOffset()/15)-g;if(!Number(C))p=this.utcOffset(0,y);else if(p=r(I,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(C,!0),y){var V=p.utcOffset();p=p.add(f-V,"minute")}return p.$x.$timezone=k,p},$.offsetName=function(k){var y=this.$x.$timezone||r.tz.guess(),p=u(this.valueOf(),y,{timeZoneName:k}).find(function(f){return f.type.toLowerCase()==="timezonename"});return p&&p.value};var S=$.startOf;$.startOf=function(k,y){if(!this.$x||!this.$x.$timezone)return S.call(this,k,y);var p=r(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return S.call(p,k,y).tz(this.$x.$timezone,!0)},r.tz=function(k,y,p){var f=p&&y,m=p||y||d,I=_(+r(),m);if(typeof k!="string")return r(k).tz(m);var g=function(q,x,b){var P=q-60*x*1e3,R=_(P,b);if(x===R)return[P,x];var M=_(P-=60*(R-x)*1e3,b);return R===M?[P,R]:[q-60*Math.min(R,M)*1e3,Math.max(R,M)]}(r.utc(k,f).valueOf(),I,m),C=g[0],V=g[1],F=r(C).utcOffset(V);return F.$x.$timezone=m,F},r.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},r.tz.setDefault=function(k){d=k}}})})(Fe);var Je=Fe.exports;const Qe=Ve(Je),ie={"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":"展开",excel:{fieldsMappingRequired:"请输入列字段映射",invalidInput:"非法输入",invalidOption:"请输入有效选项!",copyFailed:"复制失败",sheetNameTooLong:'Sheet名称 "{0}" 长度超过31个字符,已自动截断为 "{1}"'},validate:{invalidInput:"请输入正确内容"},tools:{keysLengthError:"keys 长度必须大于2 默认前两位为 label value"}},ce={"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",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"}},ve={zh_cn:ie,en:ce};let ne=null;function De(o=null){if(o){const{global:t}=o;return t.messages.value.zh_cn?t.mergeLocaleMessage("zh_cn",ie):t.setLocaleMessage("zh_cn",ie),t.messages.value.en?t.mergeLocaleMessage("en",ce):t.setLocaleMessage("en",ce),ne=o,o}return ne||(ne=Q.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:ve})),ne}function de(){return ne||De()}function ue(){return de().global.t}se.extend(We),se.extend(Qe);async function Xe(o,t){const{fields:n,range:l=1}=t;if(!n){const r=ue();throw new Error(r("excel.fieldsMappingRequired"))}let a=new Ie.Workbook;await a.xlsx.load(o);const s={};return a.eachSheet(function(r,d){const u=[];r.eachRow(function(_,$){if($>l){let S={},k=!0;Object.keys(n).forEach(y=>{const p=_.getCell(n[y]).value;S[y]=p,p&&(k=!1)}),k||u.push(S)}}),s[r._name]=u}),a=null,s}const et={columnWidth:30};async function Be(o,t,n=[],l={}){if(!o||!t)return;const{columnStyle:a}=l,{columnWidth:s}=et;t.forEach(u=>{u.width=u.width?u.width:s});const{workbook:r,worksheet:d}=tt();d.columns=t,d.addRows(n),a&&await nt(r,d,a);try{const u=await r.xlsx.writeBuffer(),_=new File([u],o,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});He.saveAs(_)}catch(u){console.log(u)}}function tt(){const o=new Ie.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 nt(o,t,n){const l=Object.keys(n);for(const a of l){const s=n[a],{type:r}=s;switch(r){case"IMG":await ot(o,t,a);break}}}async function ot(o,t,n,l){const a=t.getColumn(n),s=a.values;t.getColumn(n).width=20,t.eachRow((r,d)=>{d>1&&(r.height=40)});for(let r=0,d=s.length;r<d;r++){if(r<2)continue;let u=s[r];u&&(t.getCell(a.letter+r).value="",await lt(o,t,u,{width:100,height:50,col:a._number-1,row:r-1}))}}async function lt(o,t,n,l){const{col:a,row:s,width:r,height:d}=l,{success:u,base64:_}=await rt(n,.3);if(u){const $=o.addImage({base64:_,extension:"jpeg"});t.addImage($,{tl:{col:a,row:s},ext:{width:r,height:d}})}}function rt(o,t=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=o,new Promise((l,a)=>{n.onload=()=>{const s=document.createElement("canvas");s.width=n.width,s.height=n.height,s.getContext("2d").drawImage(n,0,0,s.width,s.height),l({success:!0,base64:s.toDataURL("image/jpeg",t)})},n.onerror=()=>{l({success:!1})}})}function at(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 st(o){return new Promise(t=>{setTimeout(()=>{t()},o)})}function it(o){return JSON.parse(JSON.stringify(o))}function ct(o){let t=[],n={},l=(a,s)=>Object.prototype.hasOwnProperty.call(a,s);for(const a of o){n[a.id]={...a,children:l(n,a.id)?n[a.id].children:[]};const s=n[a.id];a.pid==-1?t.push(s):(l(n,a.pid)||(n[a.pid]={children:[]}),n[a.pid].children.push(s))}return t}function fe(o,t=" "){return o?o.split(t).filter(n=>n.trim()):[]}class he{constructor(t,n=["label","value","labelEn"]){this.list=t,this.map=new Map(t.map(l=>{let a={...l,label:l[n[0]],value:l[n[1]]};return n[2]&&(a.labelEn=l[n[2]]),[l[n[1]],a]}))}getName(t,n){if(!this.has(t))return"-";const{label:l,labelEn:a}=this.map.get(t);return(n=="zh_cn"?l:a)||l||"-"}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 ut(o,t=[],n="i18nName"){if(o.length==0)return new he([]);if(t.length<2){const a=ue();throw new Error(a("tools.keysLengthError"))}let l=o.map(a=>{let s={};return n&&(s.labelEn=a[n]),t.forEach((r,d)=>{d===0?s.label=a[r]:d===1?s.value=a[r]:s[r]=a[r]}),s});return new he(l)}function dt(o){return o?o.replace(/<[^>]+>/g,""):""}function ft(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 ht(o,t=10){let n=1048576*t;return!(o.size>n)}function mt(o){return Array.from(10).fill(0).map((n,l)=>o+"_"+l)}function gt(o){let t={};return o.map((n,l)=>{let{key:a,option:s,type:r}=n,d=at(l);s?t[a]=`${d}---option`:r==="image"?t[a]=`${d}---image`:t[a]=d}),t}function pt(o,t){return t.split(".").reduce((n,l)=>n&&n[l],o)}const Ht="",le=(o,t)=>{const n=o.__vccOpts||o;for(const[l,a]of t)n[l]=a;return n},ze=le({__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"],["update:modelValue"]),setup(o,{emit:t}){const n=o,l=e.useAttrs(),{t:a,locale:s}=Q.useI18n(),r=e.useModel(o,"modelValue"),d=e.ref(""),u=e.computed(()=>{if(l.remote!==void 0)return n.data;const g=fe(d.value),{data:C,labelValue:V}=n,F=C||S.value;if(g.length==0)return F;const{label:q,labelEn:x}=V;let b=s.value=="en_us"?x||"i18nName":q;return g.length==1?F.filter(R=>R[b].toLowerCase().includes(g[0].toLowerCase())):F.filter(R=>{let M=!1;return M=g.some(ye=>R[b].toLowerCase()==ye.toLowerCase()),M})}),_=e.computed({get(){return l.multiple==null||r.value==null?!1:r.value.length==u.value.length},set(g){return g}}),$=t,S=e.ref([]),k=async()=>{const{data:g}=await n.api();S.value=[...g],$("success",S)};n.api&&k();const y=n.labelValue.label.split("-"),p=g=>{if(y.length==1){if(n.changeLocal)return a(g[n.labelValue.label]);let C=s.value=="en_us"?g[n.labelValue.labelEn||"i18nName"]:g[n.labelValue.label];return C=C||g[n.labelValue.label],C}else{let C=[];return y.forEach(V=>{C.push(g[V])}),C.join("-")}};function f(g){r.value=g?u.value.map(C=>C[n.labelValue.value]):[],$("change",r.value)}function m(g){n.optionClick(g),$("change",l["value-key"]?g:g[n.labelValue.value])}function I(g){return r.value.length>=n.maxLimit&&!r.value.includes(g[n.labelValue.value])}return(g,C)=>{const V=e.resolveComponent("el-checkbox"),F=e.resolveComponent("el-option"),q=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(q,e.mergeProps({modelValue:r.value,"onUpdate:modelValue":C[1]||(C[1]=x=>r.value=x),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(l).remote!=null?void 0:x=>d.value=x,clearable:""},e.unref(l),{onClear:o.optionClick}),{default:e.withCtx(()=>[e.unref(l).multiple!=null&&o.showCheckAll&&o.maxLimit==null?e.renderSlot(g.$slots,"header",{key:0},()=>[e.createVNode(V,{class:"mgl20",modelValue:_.value,"onUpdate:modelValue":C[0]||(C[0]=x=>_.value=x),onChange:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(x,b)=>(e.openBlock(),e.createBlock(F,{key:b,label:p(x),disabled:e.unref(l).multiple!=null&&o.maxLimit>0?I(x):!1,onClick:e.withModifiers(P=>m(x),["stop"]),value:e.unref(l)["value-key"]?x:x[o.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"])}}},[["__scopeId","data-v-34eb8641"]]),Gt="",Ct=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function yt(o,t,n,l,a,s){const r=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(r,{class:"cmp-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.name)))]),_:1})}const me=le(Ct,[["render",yt],["__scopeId","data-v-733f9daa"]]),bt={__name:"index",emits:["ok","no"],setup(o,{emit:t}){const n=t,l=te.debounce(()=>{n("ok")},500);function a(){n("no")}return(s,r)=>{const d=e.resolveComponent("el-link"),u=e.resolveComponent("el-popconfirm");return e.openBlock(),e.createBlock(u,e.mergeProps(s.$attrs,{onConfirm:e.unref(l),onCancel:a}),{reference:e.withCtx(()=>[e.createVNode(d,{underline:"never",type:s.$attrs.type},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["type"])]),_:3},16,["onConfirm"])}}},Wt="",wt=["accept"],kt=le({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},loading:{type:Boolean,default:!1}},emits:["fileChange"],setup(o,{emit:t}){const n=t,l=e.ref(null);function a(s){let r=s.target.files[0];n("fileChange",r),l.value.value=null}return(s,r)=>{const d=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("span",null,[e.createVNode(d,{loading:o.loading,class:"mgr10",onClick:r[0]||(r[0]=u=>l.value.click())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.$t("dao-ru")),1)]),_:1},8,["loading"]),e.createElementVNode("input",{onChange:a,ref_key:"input",ref:l,accept:o.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,wt)])}}},[["__scopeId","data-v-5f1449ad"]]);function ge(o){let t={};return o.forEach(n=>{const{key:l,type:a,option:s={},value:r,dateType:d}=n;if(l)if(a=="input"&&(s!=null&&s.multiple))t[l]=fe(r);else if(a=="date")if(d.includes("range")){const[u,_]=l;let[$,S]=r||[];$&&d=="daterange"&&($=se($).format("YYYY-MM-DD 00:00:00"),S=se(S).format("YYYY-MM-DD 23:59:59")),t[u]=$,t[_]=S}else t[l]=r;else t[l]=r}),t}const Qt="",xt={key:0},St={class:"btns"},_t={class:"left"},$t={class:"right"},Oe=le({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(o,{expose:t,emit:n}){const l=o,a=n,s=e.ref(!0),r=e.ref(null),{t:d}=Q.useI18n(),u=e.computed(()=>s.value?d("guan-bi"):d("zhan-kai"));function _(){a("confirm")}function $(m){m.option.onClear&&m.option.onClear(),a("confirm")}function S(){a("reset")}function k(){a("confirm")}function y(){return ge(l.form.items)}const p=te.cloneDeep(l.form.items);function f(){l.form.items.forEach(m=>{const I=p.find(g=>g.key==m.key);I&&(m.value=I.value)})}return t({getPrm:y,reset:f}),(m,I)=>{const g=e.resolveComponent("el-input"),C=e.resolveComponent("el-date-picker"),V=e.resolveComponent("el-form-item"),F=e.resolveComponent("el-form"),q=e.resolveComponent("el-link"),x=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(_,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:s.value?"auto":"42px"})},[e.createVNode(F,{inline:"",model:o.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.form.items.filter(b=>!b.hidden),b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.key},[b.type=="br"?(e.openBlock(),e.createElementBlock("br",xt)):(e.openBlock(),e.createBlock(V,{key:1,label:b.name},{default:e.withCtx(()=>{var P,R;return[b.type==="input"?(e.openBlock(),e.createBlock(g,{key:0,modelValue:b.value,"onUpdate:modelValue":M=>b.value=M,class:e.normalizeClass(((P=b.option)==null?void 0:P.class)||"w150"),placeholder:m.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):b.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.render),{key:1})):e.createCommentVNode("",!0),b.type==="select"?(e.openBlock(),e.createBlock(ze,e.mergeProps({key:2,class:((R=b.option)==null?void 0:R.class)||"w150",modelValue:b.value,"onUpdate:modelValue":M=>b.value=M},{ref_for:!0},b.option,{onChange:_,onClear:M=>$(b)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),b.type==="date"?(e.openBlock(),e.createBlock(C,{key:3,class:e.normalizeClass({datetimerange:"w300",daterange:"w200"}[b.dateType]||"w100"),modelValue:b.value,"onUpdate:modelValue":M=>b.value=M,"value-format":{datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"}[b.dateType]||"YYYY-MM-DD",type:b.dateType||"date",onFocus:M=>r.value=b,onChange:M=>k(),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",St,[e.createElementVNode("div",_t,[e.renderSlot(m.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",$t,[e.createVNode(q,{underline:"never",class:"mgr10",onClick:I[0]||(I[0]=()=>{a("visibleChange",!s.value),s.value=!s.value})},{default:e.withCtx(()=>[e.createVNode(me,{name:s.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(u.value),1)]),_:1}),e.createVNode(x,{type:"primary",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.$t("shai-xuan")),1)]),_:1}),e.createVNode(x,{type:"primary",onClick:S},{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-32ac9990"]]),Me={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 re={...Me};function It(o){re={...re,...o,responseDataKeys:{...re.responseDataKeys,...o.responseDataKeys||{}}}}function Ne(){return re}function Tt(){re={...Me}}const en="",Et={class:"center"},Vt=le({__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:l}=Q.useI18n(),a=Te.useRoute(),s=Ne(),r=o,d=e.ref(!1),u=e.ref([]);r.searchForm.showSearch===void 0&&(r.searchForm.showSearch=s.showSearch),r.searchForm.showPage===void 0&&(r.searchForm.showPage=s.showPage),r.searchForm.showShadow===void 0&&(r.searchForm.showShadow=s.showShadow),r.searchForm.showCheckBox===void 0&&(r.searchForm.showCheckBox=s.showCheckBox),r.searchForm.enableCellCopy===void 0&&(r.searchForm.enableCellCopy=s.enableCellCopy),r.searchForm.selections||(r.searchForm.selections=[]);const _=e.computed(()=>{const c=a.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return r.id?`listPageId-${c}-${r.id}`:`listPageId-${c}`}),$=te.cloneDeep(r.searchForm.items),S=r.searchForm.pageNoKey||s.pageNoKey,k=r.searchForm.pageSizeKey||s.pageSizeKey,y=e.reactive({[S]:1,[k]:r.searchForm.defaultPageSize||s.defaultPageSize,total:0}),p=e.ref(null),f=e.ref(null),m=e.ref(450),I=te.debounce(()=>{e.nextTick(()=>{if(!f.value)return;const i=f.value.getBoundingClientRect(),w=window.innerHeight,L=i.top,z=100,j=w-L-z,v=200;m.value=Math.max(j,v)})},100),g=()=>{I()},C=()=>{if(!r.searchForm.enableCellCopy)return!1;const c=p.value;if(!c||!c.$el)return!1;const i=c.$el;return i.classList.add("cell-copy-enabled"),i.setAttribute("tabindex","-1"),i.removeEventListener("mousedown",we),i.removeEventListener("mousemove",ke),i.removeEventListener("mouseup",xe),i.removeEventListener("keydown",_e),i.addEventListener("mousedown",we),i.addEventListener("mousemove",ke),i.addEventListener("mouseup",xe),i.addEventListener("keydown",_e),!0};e.onMounted(()=>{I(),window.addEventListener("resize",g),r.searchForm.enableCellCopy&&(document.addEventListener("mouseup",je),document.addEventListener("mousedown",Ue),setTimeout(()=>{C()},500))}),e.onUpdated(()=>{r.searchForm.enableCellCopy&&setTimeout(()=>{C()},500)}),e.onUnmounted(()=>{if(window.removeEventListener("resize",g),r.searchForm.enableCellCopy){document.removeEventListener("mouseup",je),document.removeEventListener("mousedown",Ue);const c=p.value;if(c&&c.$el){const i=c.$el;i.removeEventListener("mousedown",we),i.removeEventListener("mousemove",ke),i.removeEventListener("mouseup",xe),i.removeEventListener("keydown",_e)}}});const V=e.computed(()=>be.value.height||m.value);let F;async function q(c){const{dataFormat:i}=r.tableConfig;c[S]!=1&&(c.nextSearchAfter=F),d.value=!0;const{code:w,data:L={}}=await r.api(c).finally(()=>{d.value=!1,r.searchForm.selections=[]});if(w==200){let z=[];for(const v of s.responseDataKeys.rows)if(L[v]){z=L[v];break}let j=0;for(const v of s.responseDataKeys.total)if(L[v]!==void 0){j=L[v];break}u.value=i?i(z):z,y.total=j,F=L.nextSearchAfter,r.searchForm.enableCellCopy&&e.nextTick(()=>{setTimeout(()=>{C()},100)})}}function x(c={}){const{searchData:i=()=>({})}=r.tableConfig,w=i();q({...y,...ge(r.searchForm.items),...c,...w})}function b(){const{reset:c}=r.tableConfig;c&&c(),r.searchForm.items.forEach(i=>{const w=$.find(L=>te.isArray(i.key)&&te.isArray(L.key)?i.key.join(",")==L.key.join(","):L.key==i.key);w&&(i.value=w.value)}),x()}r.api&&r.immediate&&x();function P(){return{...y,...ge(r.searchForm.items)}}const R=()=>{const c=p.value;c&&c.clearSort()},M=e.reactive({storage:!0}),ye=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),be=e.computed(()=>{const{customConfig:c,columnConfig:i,...w}=r.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...M,...c},columnConfig:{...ye,...i},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...w}}),T=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),qe=c=>{const i=c.closest(".vxe-body--column");if(!i||i.classList.contains("col--checkbox")||i.classList.contains("col--seq"))return null;const w=i.closest(".vxe-body--row");if(!w)return null;const L=p.value;if(!L)return null;let z=-1;const j=w.getAttribute("data-rowid");if(j!=null)z=parseInt(j,10);else{const D=w.parentElement;z=Array.from(D.querySelectorAll(".vxe-body--row")).indexOf(w)}if(z<0)return null;let v=-1;const W=i.getAttribute("data-colid");if(W&&(v=L.getColumns().findIndex(E=>E.id===W)),v<0){const E=Array.from(w.querySelectorAll(".vxe-body--column")).indexOf(i),N=!!i.closest(".vxe-table--fixed-left-wrapper"),U=!!i.closest(".vxe-table--fixed-right-wrapper"),O=L.getColumns();if(N){const Y=O.filter(A=>A.fixed==="left");E<Y.length&&(v=O.indexOf(Y[E]))}else if(U){const Y=O.filter(A=>A.fixed==="right");E<Y.length&&(v=O.indexOf(Y[E]))}else{const Y=r.searchForm.showCheckBox?1:0;v=O.filter(H=>H.fixed==="left").length+E-Y}}return v<0?null:{rowIndex:z,colIndex:v,cell:i}},we=c=>{const i=qe(c.target);if(!i){Se();return}T.isSelecting=!0,T.startCell={rowIndex:i.rowIndex,colIndex:i.colIndex},T.endCell={...T.startCell},Pe(),Re()},ke=c=>{if(!T.isSelecting)return;const i=qe(c.target);i&&(T.endCell={rowIndex:i.rowIndex,colIndex:i.colIndex},Pe(),Re())},xe=()=>{T.isSelecting=!1},Se=()=>{T.selectedCells=[],T.startCell=null,T.endCell=null;const c=p.value;if(!c)return;c.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(w=>{w.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},Pe=()=>{if(!T.startCell||!T.endCell){T.selectedCells=[];return}const c=T.startCell.rowIndex,i=T.endCell.rowIndex,w=T.startCell.colIndex,L=T.endCell.colIndex,z=Math.min(c,i),j=Math.max(c,i),v=Math.min(w,L),W=Math.max(w,L);T.selectedCells=[];for(let D=z;D<=j;D++)for(let E=v;E<=W;E++)T.selectedCells.push({rowIndex:D,colIndex:E})},Re=()=>{e.nextTick(()=>{const c=p.value;if(!c)return;const i=c.$el;if(i.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(N=>{N.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")}),T.selectedCells.length===0)return;const w=c.getColumns(),L=T.selectedCells.map(N=>N.rowIndex),z=T.selectedCells.map(N=>N.colIndex),j=Math.min(...L),v=Math.max(...L),W=Math.min(...z),D=Math.max(...z),E=[i.querySelector(".vxe-table--body-wrapper tbody"),i.querySelector(".vxe-table--fixed-left-wrapper tbody"),i.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean);T.selectedCells.forEach(({rowIndex:N,colIndex:U})=>{const O=w[U];if(!O)return;const Y=O.fixed==="left",A=O.fixed==="right";for(const H of E){const ae=H.querySelectorAll(".vxe-body--row")[N];if(!ae)continue;const X=Array.from(ae.querySelectorAll(".vxe-body--column"));let B=null;if(Y&&H.closest(".vxe-table--fixed-left-wrapper")){const Z=w.filter(G=>G.fixed==="left").indexOf(O);B=X[Z]}else if(A&&H.closest(".vxe-table--fixed-right-wrapper")){const Z=w.filter(G=>G.fixed==="right").indexOf(O);B=X[Z]}else if(!Y&&!A&&H.closest(".vxe-table--body-wrapper")){const ee=r.searchForm.showCheckBox?1:0,Z=w.filter($e=>$e.fixed==="left").length,G=U-Z;B=X[G+ee]}if(B&&!B.classList.contains("col--checkbox")&&!B.classList.contains("col--seq")){B.classList.add("cell-selected"),N===j&&B.classList.add("cell-border-top"),N===v&&B.classList.add("cell-border-bottom"),U===W&&B.classList.add("cell-border-left"),U===D&&B.classList.add("cell-border-right");break}}})})},jt=async()=>{if(T.selectedCells.length===0)return;const c=p.value;if(!c)return;const i=c.$el,w=c.getColumns(),L=[...new Set(T.selectedCells.map(D=>D.rowIndex))].sort((D,E)=>D-E),z=[...new Set(T.selectedCells.map(D=>D.colIndex))].sort((D,E)=>D-E),j=[i.querySelector(".vxe-table--body-wrapper tbody"),i.querySelector(".vxe-table--fixed-left-wrapper tbody"),i.querySelector(".vxe-table--fixed-right-wrapper tbody")].filter(Boolean),v=[];L.forEach(D=>{const E=[];z.forEach(N=>{const U=w[N];if(!U){E.push("");return}const O=U.fixed==="left",Y=U.fixed==="right";let A="";for(const H of j){const ae=H.querySelectorAll(".vxe-body--row")[D];if(!ae)continue;const X=Array.from(ae.querySelectorAll(".vxe-body--column"));let B=null;if(O&&H.closest(".vxe-table--fixed-left-wrapper")){const Z=w.filter(G=>G.fixed==="left").indexOf(U);B=X[Z]}else if(Y&&H.closest(".vxe-table--fixed-right-wrapper")){const Z=w.filter(G=>G.fixed==="right").indexOf(U);B=X[Z]}else if(!O&&!Y&&H.closest(".vxe-table--body-wrapper")){const ee=r.searchForm.showCheckBox?1:0,Z=w.filter($e=>$e.fixed==="left").length,G=N-Z;B=X[G+ee]}if(B&&!B.classList.contains("col--checkbox")&&!B.classList.contains("col--seq")){A=B.innerText||B.textContent||"",A=A.trim(),A=A.replace(/\n/g," ").replace(/\s+/g," ");break}}E.push(A)}),v.push(E.join(" "))});const W=v.join(`
2
+ `);try{await navigator.clipboard.writeText(W)}catch(D){console.error("复制失败:",D)}},_e=c=>{r.searchForm.enableCellCopy&&((c.ctrlKey||c.metaKey)&&c.key==="c"?T.selectedCells.length>0&&(c.preventDefault(),c.stopPropagation(),jt()):c.key==="Escape"&&Se())},je=()=>{T.isSelecting=!1},Ue=c=>{const i=p.value;if(!i||!i.$el)return;i.$el.contains(c.target)||Se()},Ut=c=>{y[S]=c,x()},Yt=c=>{y[k]=c,y[S]=1,x()};function Ye(){const c=p.value.getCheckboxRecords();r.searchForm.selections=c}const Ke=c=>{const i=p.value;if(i){i.toggleCheckboxRow(c);const w=p.value.getCheckboxRecords();r.searchForm.selections=w}};return t({tableRef:p,getList:x,getPrm:P,clearSort:R,calculateTableHeight:I}),(c,i)=>{var D;const w=e.resolveComponent("el-button"),L=e.resolveComponent("el-checkbox"),z=e.resolveComponent("el-text"),j=e.resolveComponent("vxe-column"),v=e.resolveComponent("VxeTable"),W=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:o.searchForm.showShadow})},[o.searchForm.showSearch?(e.openBlock(),e.createBlock(Oe,{key:0,form:o.searchForm,onReset:b,onConfirm:i[1]||(i[1]=E=>x()),onVisibleChange:e.unref(I)},{btn:e.withCtx(()=>[e.renderSlot(c.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(w,{round:"",onClick:i[0]||(i[0]=E=>p.value.openCustom())},{default:e.withCtx(()=>[e.createVNode(me,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:f},[e.createVNode(v,e.mergeProps({id:_.value,ref_key:"tableRef",ref:p,loading:o.loading||d.value,data:o.api?u.value:o.data,border:""},be.value,{height:V.value,onCheckboxChange:Ye,onCheckboxAll:Ye,onSortChange:(D=be.value["sort-config"])==null?void 0:D.sortChange}),{default:e.withCtx(()=>[o.searchForm.showCheckBox==null||o.searchForm.showCheckBox?(e.openBlock(),e.createBlock(j,{key:0,type:"checkbox",width:e.unref(l)=="zh_cn"?80:150,title:c.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:E,row:N,checked:U,disabled:O,indeterminate:Y})=>[e.createElementVNode("div",Et,[U?(e.openBlock(),e.createBlock(L,{key:0,checked:!0,disabled:O,size:"default",onClick:e.withModifiers(A=>!O&&Ke(N),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(L,{key:1,disabled:O,checked:!1,size:"default",onClick:e.withModifiers(A=>!O&&Ke(N),["stop"])},null,8,["disabled","onClick"])),e.createVNode(z,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(E+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),o.searchForm.showPage?(e.openBlock(),e.createBlock(W,{key:1,"current-page":y[e.unref(S)],"onUpdate:currentPage":i[2]||(i[2]=E=>y[e.unref(S)]=E),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:y.total,"page-size":y[e.unref(k)],"page-sizes":o.searchForm.pageSizes||e.unref(s).pageSizes,onCurrentChange:Ut,onSizeChange:Yt},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-de0d59d6"]]),Lt={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(o){const t=o;function n(){Be(t.fileName,t.sheetsConfig)}return(l,a)=>{const s=e.resolveComponent("el-link");return e.openBlock(),e.createBlock(s,e.mergeProps({type:"primary",underline:"never"},l.$attrs,{onClick:n}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.$t("xia-zai-dao-ru-mo-ban")),1)]),_:1},16)}}};function Ft(o,t={}){const n=ue(),l={inForm:!0,required:!0,...t},a={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:s,value:r,required:d,msg:u=n("validate.invalidInput")}=l;return s?function(_,$,S){if(d){a.test($)?S():S(new Error(u));return}$&&!a.test($)?S(new Error(u)):S()}:a.test(r)}class vt{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 l=await n.json();if(l.success&&l.data)return this.token=l.data.token,this.user=l.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(l.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 l={headers:{"Content-Type":"application/json",...n.headers},...n};l.headers.appId=this.config.clientCode,this.token&&(l.headers.Authorization=`Bearer ${this.token}`);try{const a=await fetch(t,l);return a.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):a}catch(a){throw this.log("请求失败:",a),a}}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 Dt(o,t={}){const l=Object.assign({manual:!1,log:!1,params:null,format:null},t),{manual:a,log:s,params:r={},cb:d,format:u}=l,_=e.ref([]),$=e.ref(!1),S=k=>{const y=k||r;$.value=!0,o(y).then(p=>{const{code:f,data:m,msg:I}=p;if(d){const{records:g,rows:C}=m||{},V=g||C?g||C:m;_.value=pe(V,u),d(p)}if(m){if(m.records!=null||m.rows!=null){const{records:g,rows:C,total:V=0}=m||{};y&&y.total!=null&&(r.total=parseInt(V)),_.value=pe(g||C||[],u)}else _.value=pe(m,u);s&&console.log("useRequest-res",_.value)}}).catch(p=>{d&&(console.log("useRequestErr",p),d({code:500}))}).finally(()=>{$.value=!1})};return a||S(),[$,_,S]}function Bt(o){const t=e.ref(o),n=e.ref(""),l=e.ref("");return e.watch(t,a=>{const s=a||["",""];n.value=s[0],l.value=s[1]}),[t,n,l]}function zt(o){return Object.prototype.toString.call(o).slice(8,-1).toLowerCase()}function pe(o,t){if(!t)return o;if(o instanceof Array)return o.map(l=>{let a={};return t.forEach(s=>a[s]=l[s]),a});let n={};return t.forEach(l=>n[l]=o[l]),n}function Ot(o,t=[]){const{locale:n}=Q.useI18n(),l=e.ref(o());return e.watch([n,...t],()=>{l.value=o()},{immediate:!0}),l}function Mt(o,t="zh_cn",n="en_us"){if(!o)return"-";const l={en_us:n,zh_cn:t},s=de().global.locale.value;return o[l[s]]||o[t]||"-"}function Nt(o,t){let n=J.mapState;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapState),Ae(t,n)}function At(o,t){let n=J.mapGetters;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapGetters),Ae(t,n)}function qt(o,t){let n=J.mapActions;return typeof o=="string"&&o.length>0&&(n=J.createNamespacedHelpers(o).mapActions),Pt(t,n)}function Ae(o,t){const n=J.useStore(),l=t(o),a={};return Object.keys(l).forEach(s=>{const r=l[s].bind({$store:n});a[s]=e.computed(r)}),a}function Pt(o,t){const n=J.useStore(),l=t(o),a={};return Object.keys(l).forEach(s=>{a[s]=l[s].bind({$store:n})}),a}function Ce(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!e.isVNode(o)}function Rt(){oe.VxeUI.renderer.add("Enum",{renderTableDefault(o,t){let n;if([null,void 0].includes(t.row[t.column.field]))return"-";const l=t.row[t.column.field];if(o.type=="tag"){let a;return e.createVNode(e.resolveComponent("el-text"),{type:o.enum.getTag(l)},Ce(a=o.enum.getName(l))?a:{default:()=>[a]})}return e.createVNode(e.resolveComponent("el-text"),null,Ce(n=o.enum.getName(l))?n:{default:()=>[n]})}}),oe.VxeUI.renderer.add("InputNumber",{renderTableDefault(o,t){return e.createVNode(K.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)}}),oe.VxeUI.renderer.add("TrueFalse",{renderTableDefault(o,t){const{locale:n}=Q.useI18n();let l=n.value=="zh_cn";return e.createVNode(K.ElText,{type:t.row[t.column.field]?"success":"danger"},{default:()=>[t.row[t.column.field]?l?"是":"YES":l?"否":"NO"]})}}),oe.VxeUI.renderer.add("I18n",{renderTableDefault(o,t){const{locale:n}=Q.useI18n();let l=n.value=="zh_cn"?t.column.field:o.fieldEn;return t.row[l]||t.row[t.column.field]}}),oe.VxeUI.renderer.add("Link",{renderTableDefault(o,t){var d;let n=t.column.field;const l=Te.useRouter(),{multiple:a,to:s}=o;if(!a)return e.createVNode(K.ElLink,{underline:"never",type:"primary",onclick:()=>l.push({path:s,query:{[n]:t.row[n]}})},{default:()=>[t.row[n]]});const r=((d=t.row[n])==null?void 0:d.split(","))||[];return r.map((u,_)=>e.createVNode("span",null,[e.createVNode(K.ElLink,{underline:"never",type:"primary",onclick:()=>l.push({path:s,query:{[n]:u}})},Ce(u)?u:{default:()=>[u]}),_<r.length-1?",":""]))}})}h.CmpDictionary=ze,h.CmpIcon=me,h.ConfrimButton=bt,h.DownExcelTemp=Lt,h.ImportButton=kt,h.LayOutForm=Ze,h.ListPage=Vt,h.OnePortalCasSDK=vt,h.SearchBar=Oe,h.StatusMap=he,h._toRaw=it,h._typeOf=zt,h.arrToStatusMap=ut,h.arrayToTree=ct,h.checkFileSize=ht,h.creatValidator=Ft,h.createImportFields=gt,h.createListPageId=mt,h.en=ce,h.exportExcel=Be,h.getI18n=de,h.getI18nT=ue,h.getListPageConfig=Ne,h.getLocaleValue=Mt,h.getValueBykey=pt,h.importExcel=Xe,h.messages=ve,h.registerVxeRenderers=Rt,h.resetListPageConfig=Tt,h.setListPageConfig=It,h.setupI18n=De,h.sleep=st,h.stringToArray=fe,h.stripHtmlTags=dt,h.unicode2Str=ft,h.useActions=qt,h.useDatePicker=Bt,h.useGetters=At,h.useI18nReState=Ot,h.useRequest=Dt,h.useState=Nt,h.zhCn=ie,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joy-admin-components",
3
- "version": "0.1.47",
3
+ "version": "0.1.49",
4
4
  "main": "./dist/joy-admin-components.umd.js",
5
5
  "module": "./dist/joy-admin-components.es.js",
6
6
  "types": "./src/index.d.ts",
@@ -47,6 +47,7 @@
47
47
  },
48
48
  "devDependencies": {
49
49
  "@vitejs/plugin-vue": "^4.6.2",
50
+ "@vitejs/plugin-vue-jsx": "3.1.0",
50
51
  "element-plus": "^2.13.2",
51
52
  "sass": "^1.97.3",
52
53
  "vite": "^4.5.14",