joy-admin-components 0.2.46 → 0.2.47
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.
|
@@ -2274,12 +2274,14 @@ export {
|
|
|
2274
2274
|
Nn as createListPageId,
|
|
2275
2275
|
Ae as en_us,
|
|
2276
2276
|
jn as exportExcel,
|
|
2277
|
+
on as exportExcelMuilti,
|
|
2277
2278
|
Ye as getI18n,
|
|
2278
2279
|
Ce as getI18nT,
|
|
2279
2280
|
wn as getListPageConfig,
|
|
2280
2281
|
co as getLocaleValue,
|
|
2281
2282
|
Zn as getValueBykey,
|
|
2282
2283
|
An as importExcel,
|
|
2284
|
+
tn as importExcelMuilti,
|
|
2283
2285
|
Wt as messages,
|
|
2284
2286
|
mo as registerVxeRenderers,
|
|
2285
2287
|
Qn as resetListPageConfig,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(g,W){typeof exports=="object"&&typeof module<"u"?W(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"],W):(g=typeof globalThis<"u"?globalThis:g||self,W(g.JoyAdminComponents={},g.ElementPlus,g.Vue,g.fileSaver,g.ExcelJS,g.dayjs,g.VueI18n,g._,g.VueRouter,g.Vuex,g.VxeUI))})(this,function(g,W,e,Le,pe,ue,ee,ne,Fe,te,fe){"use strict";const Je=e.defineComponent({name:"LayOutForm",setup(t,{slots:o,attrs:n,emit:r}){const s=e.ref(null),l=()=>o.default?o.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(W.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(W.ElForm,{...n,ref:s},()=>e.h(W.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 De(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Be={exports:{}};(function(t,o){(function(n,r){t.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 C={date:u,utc:!0,args:arguments};return new a(C)},c.utc=function(u){var C=i(this.toDate(),{locale:this.$L,utc:!0});return u?C.add(this.utcOffset(),n):C},c.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var b=c.parse;c.parse=function(u){u.utc&&(this.$u=!0),this.$utils().u(u.$offset)||(this.$offset=u.$offset),b.call(this,u)};var p=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 p.call(this)};var w=c.utcOffset;c.utcOffset=function(u,C){var x=this.$utils().u;if(x(u))return this.$u?0:x(this.$offset)?w.call(this):this.$offset;if(typeof u=="string"&&(u=function(B){B===void 0&&(B="");var P=B.match(r);if(!P)return null;var L=(""+P[0]).match(s)||["-",0,0],Y=L[0],V=60*+L[1]+ +L[2];return V===0?0:Y==="+"?V:-V}(u),u===null))return this;var _=Math.abs(u)<=16?60*u:u;if(_===0)return this.utc(C);var S=this.clone();if(C)return S.$offset=_,S.$u=!1,S;var I=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(_+I,n)).$offset=_,S.$x.$localOffset=I,S};var y=c.format;c.format=function(u){var C=u||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return y.call(this,C)},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 m=c.toDate;c.toDate=function(u){return u==="s"&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():m.call(this)};var h=c.diff;c.diff=function(u,C,x){if(u&&this.$u===u.$u)return h.call(this,u,C,x);var _=this.local(),S=i(u).local();return h.call(_,S,C,x)}}})})(Be);var Xe=Be.exports;const Qe=De(Xe);var ze={exports:{}};(function(t,o){(function(n,r){t.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(y,m,h){h===void 0&&(h={});var u=new Date(y),C=function(x,_){_===void 0&&(_={});var S=_.timeZoneName||"short",I=x+"|"+S,B=r[I];return B||(B=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:x,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[I]=B),B}(m,h);return C.formatToParts(u)},b=function(y,m){for(var h=c(y,m),u=[],C=0;C<h.length;C+=1){var x=h[C],_=x.type,S=x.value,I=n[_];I>=0&&(u[I]=parseInt(S,10))}var B=u[3],P=B===24?0:B,L=u[0]+"-"+u[1]+"-"+u[2]+" "+P+":"+u[4]+":"+u[5]+":000",Y=+y;return(a.utc(L).valueOf()-(Y-=Y%1e3))/6e4},p=l.prototype;p.tz=function(y,m){y===void 0&&(y=i);var h,u=this.utcOffset(),C=this.toDate(),x=C.toLocaleString("en-US",{timeZone:y}),_=Math.round((C-new Date(x))/1e3/60),S=15*-Math.round(C.getTimezoneOffset()/15)-_;if(!Number(S))h=this.utcOffset(0,m);else if(h=a(x,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),m){var I=h.utcOffset();h=h.add(u-I,"minute")}return h.$x.$timezone=y,h},p.offsetName=function(y){var m=this.$x.$timezone||a.tz.guess(),h=c(this.valueOf(),m,{timeZoneName:y}).find(function(u){return u.type.toLowerCase()==="timezonename"});return h&&h.value};var w=p.startOf;p.startOf=function(y,m){if(!this.$x||!this.$x.$timezone)return w.call(this,y,m);var h=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(h,y,m).tz(this.$x.$timezone,!0)},a.tz=function(y,m,h){var u=h&&m,C=h||m||i,x=b(+a(),C);if(typeof y!="string")return a(y).tz(C);var _=function(P,L,Y){var V=P-60*L*1e3,k=b(V,Y);if(L===k)return[V,L];var $=b(V-=60*(k-L)*1e3,Y);return k===$?[V,k]:[P-60*Math.min(k,$)*1e3,Math.max(k,$)]}(a.utc(y,u).valueOf(),x,C),S=_[0],I=_[1],B=a(S).utcOffset(I);return B.$x.$timezone=C,B},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(y){i=y}}})})(ze);var et=ze.exports;const tt=De(et),ye={"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"}},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","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"}},Me={zh_cn:ye,en_us:Ce};let ie=null;function Oe(t=null){if(t){const{global:o}=t;return o.messages.value.zh_cn?o.mergeLocaleMessage("zh_cn",ye):o.setLocaleMessage("zh_cn",ye),o.messages.value.en_us?o.mergeLocaleMessage("en_us",Ce):o.setLocaleMessage("en_us",Ce),ie=t,t}return ie||(ie=ee.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:Me})),ie}function be(){return ie||Oe()}function le(){return be().global.t}ue.extend(Qe),ue.extend(tt);async function ot(t,o){const{fields:n,range:r=1}=o;if(!n){const a=le();throw new Error(a("excel.fieldsMappingRequired"))}let s=new pe.Workbook;await s.xlsx.load(t);const l={};return s.eachSheet(function(a,i){const c=[];a.eachRow(function(b,p){if(p>r){let w={},y=!0;Object.keys(n).forEach(m=>{const h=b.getCell(n[m]).value;w[m]=h,h&&(y=!1)}),y||c.push(w)}}),l[a._name]=c}),s=null,l}const Ne={columnWidth:30};async function nt(t,o,n=[],r={}){if(!t||!o)return;const{columnStyle:s}=r,{columnWidth:l}=Ne;o.forEach(c=>{c.width=c.width?c.width:l});const{workbook:a,worksheet:i}=lt();i.columns=o,i.addRows(n),s&&await at(a,i,s);try{const c=await a.xlsx.writeBuffer(),b=new File([c],t,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Le.saveAs(b)}catch(c){console.log(c)}}function lt(){const t=new pe.Workbook;t.creator="distributor System",t.lastModifiedBy="distributor System",t.created=new Date,t.modified=new Date,t.lastPrinted=new Date;const o=t.addWorksheet("Sheet1");return{workbook:t,worksheet:o}}async function at(t,o,n){const r=Object.keys(n);for(const s of r){const l=n[s],{type:a}=l;switch(a){case"IMG":await rt(t,o,s);break}}}async function rt(t,o,n,r){const s=o.getColumn(n),l=s.values;o.getColumn(n).width=20,o.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&&(o.getCell(s.letter+a).value="",await st(t,o,c,{width:100,height:50,col:s._number-1,row:a-1}))}}async function st(t,o,n,r){const{col:s,row:l,width:a,height:i}=r,{success:c,base64:b}=await it(n,.3);if(c){const p=t.addImage({base64:b,extension:"jpeg"});o.addImage(p,{tl:{col:s,row:l},ext:{width:a,height:i}})}}function it(t,o=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=t,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",o)})},n.onerror=()=>{r({success:!1})}})}const ke="---";async function ct(t,o){const{fields:n,range:r=1}=o;if(!n){const a=le();throw new Error(a("excel.fieldsMappingRequired"))}let s=new pe.Workbook;await s.xlsx.load(t);const l={};return s.eachSheet(function(a,i){if(a.state=="visible"){const c=[],b=n[a._name];if(b){let p=Object.values(b).some(y=>y.includes("image")),w={};p&&(a.getImages().forEach(m=>{const{tl:h}=m.range,u=s.model.media.find(C=>C.index===m.imageId);if(u){const C=u.buffer.toString("base64"),x=`data:image/${u.extension};base64,${C}`,_=`${Math.ceil(h.row)}_${Math.ceil(h.col)}`;w[_]?w[_].push(x):w[_]=[x]}}),console.log("withImages-imageMap",w)),a.eachRow(function(y,m){if(m>r){let h={},u=!0;Object.keys(b).forEach(C=>{var B;let[x,_]=b[C].split(ke);const S=y.getCell(x);let I;if(_=="image"&&p){const P=S._column._number,L=`${m}_${P}`;I=w[L]||""}else S.result!=null?I=S.result:(B=S.value)!=null&&B.richText?I=S.value.richText.reduce((P,L)=>P+L.text,""):S.type==4&&S.value?I=ue(S.value).utc().format("YYYY-MM-DD HH:mm:ss"):I=S.value;I&&_=="option"&&(I=I.split(ke)[1]),h[C]=I,I&&(u=!1)}),u||c.push(h)}}),l[a._name]=c}}}),s=null,l}const dt={date:"yyyy-mm-dd",number:"0",string:"@"};async function ut(t,o){if(!t||o.length==0)return;const n=ft(o);n.eachSheet(function(r,s){const{columnWidth:l}=Ne,{tableHeader:a,tableData:i}=o[r._name];a.forEach(c=>{const{style:b={},required:p}=c,{font:w={}}=b;c.style={...b,font:{...w,color:{argb:p?"FFFF0000":void 0}}}}),r.columns=a,r.addRows(i),a.forEach(c=>{const{header:b,key:p,width:w,option:y,numFmt:m}=c,h=r.getColumn(p);if(h.numFmt=dt[m]||m,h.width=w||l,y){const u=n.addWorksheet(p);u.state="hidden",u.getColumn(1).values=y.map(C=>`${C.label}${ke}${C.value}`),Array(100).fill("").forEach((C,x)=>{if(x>0){const _=le();r.getCell(`${h.letter}${x}`).dataValidation={type:"list",formulae:[`${p}!$A$1:$A$${y.length}`],showErrorMessage:!0,error:_("excel.invalidInput"),errorStyle:"stop",errorMessage:_("excel.invalidOption")}}})}})});try{const r=await n.xlsx.writeBuffer(),s=new File([r],t,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Le.saveAs(s)}catch(r){console.log(r)}}function ft(t){const o=le(),n=new pe.Workbook;return n.creator="distributor System",n.lastModifiedBy="distributor System",n.created=new Date,n.modified=new Date,n.lastPrinted=new Date,Object.keys(t).sort((s,l)=>{const a=t[s].sort??0,i=t[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(o("excel.sheetNameTooLong",[l,s]))),a&&(t[s]=t[l],delete t[l]),n.addWorksheet(s)}),n}function ht(t){if(t<26)return String.fromCharCode(65+t);{const o=String.fromCharCode(65+Math.floor((t-26)/26)),n=String.fromCharCode(65+(t-26)%26);return o+n}}function mt(t){return new Promise(o=>{setTimeout(()=>{o()},t)})}function gt(t){return JSON.parse(JSON.stringify(t))}function pt(t){let o=[],n={},r=(s,l)=>Object.prototype.hasOwnProperty.call(s,l);for(const s of t){n[s.id]={...s,children:r(n,s.id)?n[s.id].children:[]};const l=n[s.id];s.pid==-1?o.push(l):(r(n,s.pid)||(n[s.pid]={children:[]}),n[s.pid].children.push(l))}return o}function _e(t,o=" "){return t?t.split(o).filter(n=>n.trim()):[]}class Se{constructor(o,n=["label","value","labelEn"]){this.list=o.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(o){if(!this.has(o))return"-";const n=be().global.locale,{label:r,labelEn:s}=this.map.get(o);return(n.value=="zh_cn"?r:s)??r??"-"}getTag(o){if(!this.has(o))return"info";const{tag:n="info"}=this.map.get(o);return n}getItem(o){return this.has(o)?this.map.get(o):null}getColor(o){if(!this.has(o))return null;const{color:n}=this.map.get(o);return n}has(o){return this.map.has(o)}}function yt(t,o=[],n="i18nName"){if(t.length==0)return new Se([]);if(o.length<2){const s=le();throw new Error(s("tools.keysLengthError"))}let r=t.map(s=>{let l={};return n&&(l.labelEn=s[n]),o.forEach((a,i)=>{i===0?l.label=s[a]:i===1?l.value=s[a]:l[a]=s[a]}),l});return new Se(r)}function Ct(t){return t?t.replace(/<[^>]+>/g,""):""}function bt(t){return t?(t.includes("\\\\u")&&(t=t.replace(/\\/g,"")),t.replace(/\\u[\dA-F]{4}/gi,o=>String.fromCharCode(parseInt(o.replace(/\\u/g,""),16)))):""}function wt(t,o=10){let n=1048576*o;return!(t.size>n)}function xt(t){return Array.from(10).fill(0).map((n,r)=>t+"_"+r)}function kt(t){let o={};return t.map((n,r)=>{let{key:s,option:l,type:a}=n,i=ht(r);l?o[s]=`${i}---option`:a==="image"?o[s]=`${i}---image`:o[s]=i}),o}function _t(t,o){return o.split(".").reduce((n,r)=>n&&n[r],t)}const ao="",he=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},St=["onClick"],qe=he({__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(t,{emit:o}){const n=t,r=e.useAttrs(),{t:s,locale:l}=ee.useI18n(),a=e.useModel(t,"modelValue"),i=e.computed(()=>r["value-key"]!=null),c=e.ref(""),b=e.computed(()=>{if(r.remote!==void 0)return n.data;const k=_e(c.value),{data:$,labelValue:O}=n,Z=$||y.value;if(k.length==0)return Z;const{label:E,labelEn:ce}=O;let D=l.value=="en_us"?ce||"i18nName":E;return k.length==1?Z.filter(oe=>oe[D].toLowerCase().includes(k[0].toLowerCase())):Z.filter(oe=>{let de=!1;return de=k.some(xe=>oe[D].toLowerCase()==xe.toLowerCase()),de})}),p=e.computed({get(){return r.multiple==null||a.value==null?!1:a.value.length==b.value.length},set(k){return k}}),w=o,y=e.ref([]),m=async()=>{const{data:k}=await n.api();y.value=[...k],w("success",y)};n.api&&m();function h(k){w("change",k),u.value&&e.nextTick(()=>{n.optionClick&&n.optionClick(u.value),u.value=null})}const u=e.ref(null);function C(k){u.value=k}const x=n.labelValue.label.split("-"),_=k=>{if(x.length==1){if(n.changeLocal)return s(k[n.labelValue.label]);let $=l.value=="en_us"?k[n.labelValue.labelEn||"i18nName"]:k[n.labelValue.label];return $=$||k[n.labelValue.label],$+""}else{let $=[];return x.forEach(O=>{$.push(k[O])}),$.join("-")}};function S(k){let $=n.data?n.data:y.value;a.value=k?$.map(O=>i.value?O:O[n.labelValue.value]):[],e.nextTick(()=>{w("change",a.value),w("changeAll",a.value,$)})}function I(k){w("change",i.value?k:k[n.labelValue.value]),e.nextTick(()=>{n.optionClick&&n.optionClick(k)})}function B(k){return a.value.length>=n.maxLimit&&!a.value.includes(k[n.labelValue.value])}function P(k){return k.map($=>({...$,label:_($),value:i.value?$:$[n.labelValue.value]}))}const L=e.ref([]),Y=n.data?n.data:y.value;L.value=P(Y),e.watch(()=>n.data?n.data:y.value,k=>{var O;const $=P(k);if($.length!==L.value.length)L.value=$;else{let Z=!1;for(let E=0;E<$.length;E++)if($[E].value!==((O=L.value[E])==null?void 0:O.value)){Z=!0;break}Z&&(L.value=$)}},{deep:!0});const V=e.computed(()=>L.value);return(k,$)=>{const O=e.resolveComponent("el-checkbox"),Z=e.resolveComponent("el-select-v2"),E=e.resolveComponent("el-option"),ce=e.resolveComponent("el-select");return e.unref(r).v2!=null?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0,options:V.value,modelValue:a.value,"onUpdate:modelValue":$[1]||($[1]=D=>a.value=D)},e.unref(r),{filterable:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",onChange:h,onClear:h}),e.createSlots({default:e.withCtx(({item:D})=>[e.createElementVNode("div",{onClick:ae=>C(D)},e.toDisplayString(D.label),9,St)]),_:2},[e.unref(r).multiple!=null?{name:"header",fn:e.withCtx(()=>[e.renderSlot(k.$slots,"header",{},()=>[e.createVNode(O,{class:"mgl20",modelValue:p.value,"onUpdate:modelValue":$[0]||($[0]=D=>p.value=D),onChange:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0)]),key:"0"}:void 0]),1040,["options","modelValue"])):(e.openBlock(),e.createBlock(ce,e.mergeProps({key:1,modelValue:a.value,"onUpdate:modelValue":$[3]||($[3]=D=>a.value=D),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(r).remote!=null?void 0:D=>c.value=D,clearable:""},e.unref(r),{onClear:t.optionClick}),{default:e.withCtx(()=>[e.unref(r).multiple!=null&&t.showCheckAll&&t.maxLimit==null?e.renderSlot(k.$slots,"header",{key:0},()=>[e.createVNode(O,{class:"mgl20",modelValue:p.value,"onUpdate:modelValue":$[2]||($[2]=D=>p.value=D),onChange:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(D,ae)=>(e.openBlock(),e.createBlock(E,{key:ae,label:_(D),disabled:e.unref(r).multiple!=null&&t.maxLimit>0?B(D):!1,onClick:e.withModifiers(oe=>I(D),["stop"]),value:i.value?D:D[t.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"]))}}},[["__scopeId","data-v-51bd1467"]]),so="",$t=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function Vt(t,o,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(t.name)))]),_:1})}const $e=he($t,[["render",Vt],["__scopeId","data-v-733f9daa"]]),Et={__name:"index",emits:["ok","no"],setup(t,{emit:o}){const n=o,r=ne.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"])])}}},io="",Tt=["accept"],It=he({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},fields:{type:Object,default:()=>({})},fileChange:{type:Function,required:!0}},emits:["fileChange"],setup(t,{emit:o}){const n=t,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,e.mergeProps({type:"primary",loading:s.value,class:"mgr10",onClick:i[0]||(i[0]=b=>r.value.click())},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.$t("dao-ru")),1)],!0)]),_:3},16,["loading"]),e.createElementVNode("input",{onChange:l,ref_key:"input",ref:r,accept:t.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,Tt)])}}},[["__scopeId","data-v-f5e86876"]]);function Ve(t){let o={};return t.forEach(n=>{const{key:r,type:s,option:l={},value:a,dateType:i="date"}=n;if(r)if(s=="input"&&(l!=null&&l.multiple))o[r]=_e(a);else if(s=="date")if(i.includes("range")){const[c,b]=r;let[p,w]=a||[];p&&i=="daterange"&&(p=ue(p).format("YYYY-MM-DD 00:00:00"),w=ue(w).format("YYYY-MM-DD 23:59:59")),o[c]=p,o[b]=w}else o[r]=a;else o[r]=a}),o}const uo="",Lt={key:0},Ft={class:"btns"},vt={class:"left"},Dt={class:"right"},Ae=he({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(t,{expose:o,emit:n}){const r=t,s=n,l=e.ref(!0),a=e.ref(null),{t:i}=ee.useI18n(),c={datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD",month:"YYYY-MM"},b=e.computed(()=>l.value?i("guan-bi"):i("zhan-kai"));function p(){s("confirm")}function w(x){x.option.onClear&&x.option.onClear(),s("confirm")}function y(){s("reset")}function m(){s("confirm")}function h(){return Ve(r.form.items)}const u=ne.cloneDeep(r.form.items);function C(){r.form.items.forEach(x=>{const _=u.find(S=>S.key==x.key);_&&(x.value=_.value)})}return o({getPrm:h,reset:C}),(x,_)=>{const S=e.resolveComponent("el-input"),I=e.resolveComponent("el-date-picker"),B=e.resolveComponent("el-form-item"),P=e.resolveComponent("el-form"),L=e.resolveComponent("el-link"),Y=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(p,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:l.value?"auto":"42px"})},[e.createVNode(P,{inline:"",model:t.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.form.items.filter(V=>!V.hidden),V=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V.key},[V.type=="br"?(e.openBlock(),e.createElementBlock("br",Lt)):(e.openBlock(),e.createBlock(B,{key:1,label:V.name},{default:e.withCtx(()=>{var k,$;return[V.type==="input"?(e.openBlock(),e.createBlock(S,{key:0,modelValue:V.value,"onUpdate:modelValue":O=>V.value=O,class:e.normalizeClass(((k=V.option)==null?void 0:k.class)||"w150"),placeholder:x.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):V.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.render),{key:1})):e.createCommentVNode("",!0),V.type==="select"?(e.openBlock(),e.createBlock(qe,e.mergeProps({key:2,class:(($=V.option)==null?void 0:$.class)||"w150",modelValue:V.value,"onUpdate:modelValue":O=>V.value=O},{ref_for:!0},V.option,{onChange:p,onClear:O=>w(V)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),V.type==="date"?(e.openBlock(),e.createBlock(I,e.mergeProps({key:3,class:{datetimerange:"w300",daterange:"w200"}[V.dateType]||"w100",modelValue:V.value,"onUpdate:modelValue":O=>V.value=O,"value-format":c[V.dateType]||"YYYY-MM-DD",type:V.dateType||"date",onFocus:O=>a.value=V,onChange:O=>m(),placeholder:x.$t("qing-xuan-ze"),"start-placeholder":x.$t("kai-shi-shi-jian"),"end-placeholder":x.$t("jie-shu-shi-jian")},{ref_for:!0},V.option),null,16,["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",Ft,[e.createElementVNode("div",vt,[e.renderSlot(x.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",Dt,[e.createVNode(L,{underline:"never",class:"mgr10",onClick:_[0]||(_[0]=()=>{s("visibleChange",!l.value),l.value=!l.value})},{default:e.withCtx(()=>[e.createVNode($e,{name:l.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(b.value),1)]),_:1}),e.createVNode(Y,{type:"primary",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$t("shai-xuan")),1)]),_:1}),e.createVNode(Y,{type:"primary",onClick:y},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$t("chong-zhi")),1)]),_:1}),e.renderSlot(x.$slots,"btn",{},void 0,!0)])])],32)}}},[["__scopeId","data-v-6c7679eb"]]),Pe={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 me={...Pe};function Bt(t){me={...me,...t,responseDataKeys:{...me.responseDataKeys,...t.responseDataKeys||{}}}}function je(){return me}function zt(){me={...Pe}}const ho="",Mt={class:"center"},Ot=he({__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(t,{expose:o}){const{t:n,locale:r}=ee.useI18n(),s=Fe.useRoute(),l=je(),a=t,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 b=e.computed(()=>{const f=s.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return a.id?`listPageId-${f}-${a.id}`:`listPageId-${f}`}),p=ne.cloneDeep(a.searchForm.items),w=a.searchForm.pageNoKey||l.pageNoKey,y=a.searchForm.pageSizeKey||l.pageSizeKey,m=e.reactive({[w]:1,[y]:a.searchForm.defaultPageSize||l.defaultPageSize,total:0}),h=e.ref(null),u=e.ref(null),C=e.ref(450),x=ne.debounce(()=>{e.nextTick(()=>{if(!u.value)return;const d=u.value.getBoundingClientRect(),T=window.innerHeight,v=d.top,q=100,U=T-v-q,z=200;C.value=Math.max(U,z)})},100),_=()=>{x()},S=()=>{if(!a.searchForm.enableCellCopy&&!l.enableCellCopy)return!1;const f=h.value;if(!f||!f.$el)return!1;const d=f.$el;return d.classList.add("cell-copy-enabled"),d.setAttribute("tabindex","-1"),d.removeEventListener("mousedown",D),d.removeEventListener("mousemove",ae),d.removeEventListener("mouseup",oe),d.removeEventListener("keydown",Te),d.addEventListener("mousedown",D),d.addEventListener("mousemove",ae),d.addEventListener("mouseup",oe),d.addEventListener("keydown",Te),!0};e.onMounted(()=>{x(),window.addEventListener("resize",_),(a.searchForm.enableCellCopy||l.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",_),a.searchForm.enableCellCopy||l.enableCellCopy){document.removeEventListener("mouseup",Ke),document.removeEventListener("mousedown",We);const f=h.value;if(f&&f.$el){const d=f.$el;d.removeEventListener("mousedown",D),d.removeEventListener("mousemove",ae),d.removeEventListener("mouseup",oe),d.removeEventListener("keydown",Te)}}});const I=e.computed(()=>Z.value.height||C.value);let B;async function P(f){const{dataFormat:d}=a.tableConfig;f[w]!=1&&(f.nextSearchAfter=B),i.value=!0;const{code:T,data:v={}}=await a.api(f).finally(()=>{i.value=!1,a.searchForm.selections=[]});if(T==200){let q=[];for(const z of l.responseDataKeys.rows)if(v[z]){q=v[z];break}let U=0;for(const z of l.responseDataKeys.total)if(v[z]!==void 0){U=v[z];break}c.value=d?d(q):q,m.total=U,B=v.nextSearchAfter,(a.searchForm.enableCellCopy||l.enableCellCopy)&&e.nextTick(()=>{setTimeout(()=>{S()},100)})}}function L(f={}){const{searchData:d=()=>({})}=a.tableConfig,T=d();P({...m,...Ve(a.searchForm.items),...f,...T})}function Y(){const{reset:f}=a.tableConfig;f&&f(),a.searchForm.items.forEach(d=>{const T=p.find(v=>ne.isArray(d.key)&&ne.isArray(v.key)?d.key.join(",")==v.key.join(","):v.key==d.key);T&&(d.value=T.value)}),L()}a.api&&a.immediate&&L();function V(){return{...m,...Ve(a.searchForm.items)}}const k=()=>{const f=h.value;f&&f.clearSort()},$=e.reactive({storage:!0}),O=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),Z=e.computed(()=>{const{customConfig:f,columnConfig:d,...T}=a.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...$,...f},columnConfig:{...O,...d},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...T}}),E=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),ce=f=>{const d=f.closest(".vxe-body--column");if(!d||d.classList.contains("col--checkbox")||d.classList.contains("col--seq"))return null;const T=d.closest(".vxe-body--row");if(!T)return null;const v=h.value;if(!v)return null;let q=-1;const U=T.getAttribute("data-rowid");if(U!=null)q=parseInt(U,10);else{const M=T.parentElement;q=Array.from(M.querySelectorAll(".vxe-body--row")).indexOf(T)}if(q<0)return null;let z=-1;const Q=d.getAttribute("data-colid");if(Q&&(z=v.getColumns().findIndex(F=>F.id===Q)),z<0){const F=Array.from(T.querySelectorAll(".vxe-body--column")).indexOf(d),j=!!d.closest(".vxe-table--fixed-left-wrapper"),H=!!d.closest(".vxe-table--fixed-right-wrapper"),A=v.getColumns();if(j){const K=A.filter(R=>R.fixed==="left");F<K.length&&(z=A.indexOf(K[F]))}else if(H){const K=A.filter(R=>R.fixed==="right");F<K.length&&(z=A.indexOf(K[F]))}else{const K=a.searchForm.showCheckBox?1:0;z=A.filter(G=>G.fixed==="left").length+F-K}}return z<0?null:{rowIndex:q,colIndex:z,cell:d}},D=f=>{const d=ce(f.target);if(!d){de();return}E.isSelecting=!0,E.startCell={rowIndex:d.rowIndex,colIndex:d.colIndex},E.endCell={...E.startCell},xe(),He()},ae=f=>{if(!E.isSelecting)return;const d=ce(f.target);d&&(E.endCell={rowIndex:d.rowIndex,colIndex:d.colIndex},xe(),He())},oe=()=>{E.isSelecting=!1},de=()=>{E.selectedCells=[],E.startCell=null,E.endCell=null;const f=h.value;if(!f)return;f.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(T=>{T.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},xe=()=>{if(!E.startCell||!E.endCell){E.selectedCells=[];return}const f=E.startCell.rowIndex,d=E.endCell.rowIndex,T=E.startCell.colIndex,v=E.endCell.colIndex,q=Math.min(f,d),U=Math.max(f,d),z=Math.min(T,v),Q=Math.max(T,v);E.selectedCells=[];for(let M=q;M<=U;M++)for(let F=z;F<=Q;F++)E.selectedCells.push({rowIndex:M,colIndex:F})},He=()=>{e.nextTick(()=>{const f=h.value;if(!f)return;const d=f.$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")}),E.selectedCells.length===0)return;const T=f.getColumns(),v=E.selectedCells.map(j=>j.rowIndex),q=E.selectedCells.map(j=>j.colIndex),U=Math.min(...v),z=Math.max(...v),Q=Math.min(...q),M=Math.max(...q),F=[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);E.selectedCells.forEach(({rowIndex:j,colIndex:H})=>{const A=T[H];if(!A)return;const K=A.fixed==="left",R=A.fixed==="right";for(const G of F){const ge=G.querySelectorAll(".vxe-body--row")[j];if(!ge)continue;const re=Array.from(ge.querySelectorAll(".vxe-body--column"));let N=null;if(K&&G.closest(".vxe-table--fixed-left-wrapper")){const J=T.filter(X=>X.fixed==="left").indexOf(A);N=re[J]}else if(R&&G.closest(".vxe-table--fixed-right-wrapper")){const J=T.filter(X=>X.fixed==="right").indexOf(A);N=re[J]}else if(!K&&!R&&G.closest(".vxe-table--body-wrapper")){const se=a.searchForm.showCheckBox?1:0,J=T.filter(Ie=>Ie.fixed==="left").length,X=H-J;N=re[X+se]}if(N&&!N.classList.contains("col--checkbox")&&!N.classList.contains("col--seq")){N.classList.add("cell-selected"),j===U&&N.classList.add("cell-border-top"),j===z&&N.classList.add("cell-border-bottom"),H===Q&&N.classList.add("cell-border-left"),H===M&&N.classList.add("cell-border-right");break}}})})},to=async()=>{if(E.selectedCells.length===0)return;const f=h.value;if(!f)return;const d=f.$el,T=f.getColumns(),v=[...new Set(E.selectedCells.map(M=>M.rowIndex))].sort((M,F)=>M-F),q=[...new Set(E.selectedCells.map(M=>M.colIndex))].sort((M,F)=>M-F),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),z=[];v.forEach(M=>{const F=[];q.forEach(j=>{const H=T[j];if(!H){F.push("");return}const A=H.fixed==="left",K=H.fixed==="right";let R="";for(const G of U){const ge=G.querySelectorAll(".vxe-body--row")[M];if(!ge)continue;const re=Array.from(ge.querySelectorAll(".vxe-body--column"));let N=null;if(A&&G.closest(".vxe-table--fixed-left-wrapper")){const J=T.filter(X=>X.fixed==="left").indexOf(H);N=re[J]}else if(K&&G.closest(".vxe-table--fixed-right-wrapper")){const J=T.filter(X=>X.fixed==="right").indexOf(H);N=re[J]}else if(!A&&!K&&G.closest(".vxe-table--body-wrapper")){const se=a.searchForm.showCheckBox?1:0,J=T.filter(Ie=>Ie.fixed==="left").length,X=j-J;N=re[X+se]}if(N&&!N.classList.contains("col--checkbox")&&!N.classList.contains("col--seq")){R=N.innerText||N.textContent||"",R=R.trim(),R=R.replace(/\n/g," ").replace(/\s+/g," ");break}}F.push(R)}),z.push(F.join(" "))});const Q=z.join(`
|
|
2
|
-
`);try{await navigator.clipboard.writeText(Q)}catch(M){console.error("复制失败:",M)}},Te=f=>{!a.searchForm.enableCellCopy&&!l.enableCellCopy||((f.ctrlKey||f.metaKey)&&f.key==="c"?E.selectedCells.length>0&&(f.preventDefault(),f.stopPropagation(),to()):f.key==="Escape"&&de())},Ke=()=>{E.isSelecting=!1},We=f=>{const d=h.value;if(!d||!d.$el)return;d.$el.contains(f.target)||de()},oo=f=>{m[w]=f,L()},no=f=>{m[y]=f,m[w]=1,L()};function Ze(){const f=h.value.getCheckboxRecords();a.searchForm.selections=f}const Ge=f=>{const d=h.value;if(d){d.toggleCheckboxRow(f);const T=h.value.getCheckboxRecords();a.searchForm.selections=T}};return o({tableRef:h,getList:L,getPrm:V,clearSort:k,calculateTableHeight:x}),(f,d)=>{var M;const T=e.resolveComponent("el-button"),v=e.resolveComponent("el-checkbox"),q=e.resolveComponent("el-text"),U=e.resolveComponent("vxe-column"),z=e.resolveComponent("VxeTable"),Q=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:t.searchForm.showShadow})},[t.searchForm.showSearch?(e.openBlock(),e.createBlock(Ae,{key:0,form:t.searchForm,onReset:Y,onConfirm:d[1]||(d[1]=F=>L()),onVisibleChange:e.unref(x)},{btn:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",{class:"mgr10"},null,-1)),e.renderSlot(f.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(T,{class:"mgl10",round:"",onClick:d[0]||(d[0]=F=>h.value.openCustom())},{default:e.withCtx(()=>[e.createVNode($e,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:u},[e.createVNode(z,e.mergeProps({id:b.value,ref_key:"tableRef",ref:h,loading:t.loading||i.value,data:t.api?c.value:t.data,border:""},Z.value,{height:I.value,onCheckboxChange:Ze,onCheckboxAll:Ze,onSortChange:(M=Z.value["sort-config"])==null?void 0:M.sortChange}),{default:e.withCtx(()=>[t.searchForm.showCheckBox==null||t.searchForm.showCheckBox?(e.openBlock(),e.createBlock(U,{key:0,type:"checkbox",width:e.unref(r)=="zh_cn"?80:150,title:f.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:F,row:j,checked:H,disabled:A,indeterminate:K})=>[e.createElementVNode("div",Mt,[H?(e.openBlock(),e.createBlock(v,{key:0,checked:!0,disabled:A,size:"default",onClick:e.withModifiers(R=>!A&&Ge(j),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(v,{key:1,disabled:A,checked:!1,size:"default",onClick:e.withModifiers(R=>!A&&Ge(j),["stop"])},null,8,["disabled","onClick"])),e.createVNode(q,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(F+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),t.searchForm.showPage?(e.openBlock(),e.createBlock(Q,{key:1,"current-page":m[e.unref(w)],"onUpdate:currentPage":d[2]||(d[2]=F=>m[e.unref(w)]=F),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:m.total,"page-size":m[e.unref(y)],"page-sizes":t.searchForm.pageSizes||e.unref(l).pageSizes,onCurrentChange:oo,onSizeChange:no},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-c022c16d"]]),Nt={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(t){const o=t;function n(){ut(o.fileName,o.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.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(r.$t("xia-zai-dao-ru-mo-ban")),1)])]),_:3},16)}}},qt={mounted(t,o){o.value&&Re(t)},updated(t,o){o.value?Re(t):Ue(t)},beforeUnmount(t){Ue(t)}};async function Re(t){await y();const o=t.querySelector(".el-dialog");if(!o)return;const n=t.querySelector(".el-dialog__header"),r=t.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",b),document.addEventListener("mouseup",p),window.addEventListener("resize",w);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 m=l.drag.y-l.mouse.y+l.dialog.y,h=l.drag.x-l.mouse.x+l.dialog.x;o.style.cssText+=`position: absolute; top: calc(${m}px - ${l.dialog.marginTop}); left: ${h}px;`}function c(m){m.button===0&&(l.window={width:document.body.clientWidth,height:document.body.clientHeight},l.dialog=o.getBoundingClientRect(),l.dialog.marginTop=window.getComputedStyle(o).marginTop,l.mouse={x:m.clientX,y:m.clientY},s=!0)}function b(m){s&&(l.drag={x:m.clientX,y:m.clientY},r.style.userSelect="none",a())}function p(m){r.style.userSelect="auto",s=!1}function w(m){}function y(){return new Promise((m,h)=>{setTimeout(()=>{m()},500)})}t.__mouseDown__=c,t.__mouseUp__=p,t.__mouseMove__=b,t.__sizeChange__=w}function Ue(t){document.removeEventListener("mousedown",t.__mouseDown__),document.removeEventListener("mousemove",t.__mouseMove__),document.removeEventListener("mouseup",t.__mouseUp__),window.removeEventListener("resize",t.__sizeChange__)}const go="",At={key:0,class:"drawer-btn"},Pt={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(t,{emit:o}){const n=t,r=o,{t:s}=ee.useI18n(),l=ne.debounce(()=>{r("confirm")},300);async function a(){n.layer.type=="drawer"?n.layer.onClose?n.layer.onClose():await W.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 b=e.resolveComponent("el-button"),p=e.resolveComponent("el-drawer"),w=e.resolveComponent("el-dialog");return t.layer.type?(e.openBlock(),e.createBlock(p,{key:0,modelValue:t.layer.show,"onUpdate:modelValue":c[0]||(c[0]=y=>t.layer.show=y),size:t.layer.width||"100%",title:t.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)),t.layer.showButton?(e.openBlock(),e.createElementBlock("div",At,[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(b,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(b,{type:"primary",loading:t.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",Pt,[e.createVNode(w,{"close-on-click-modal":!1,modelValue:t.layer.show,"onUpdate:modelValue":c[1]||(c[1]=y=>t.layer.show=y),title:t.layer.title,width:t.layer.width||500,center:""},e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[t.layer.showButton?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(b,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(b,{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),t.layer.show]])}}};function Rt(t,o={}){const n=le(),r={inForm:!0,required:!0,...o},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+)*$/}[t],{inForm:l,value:a,required:i,msg:c=n("validate.invalidInput")}=r;return l?function(b,p,w){if(i){s.test(p)?w():w(new Error(c));return}p&&!s.test(p)?w(new Error(c)):w()}:s.test(a)}class Ut{constructor(o={}){this.config={clientCode:o.clientCode||"one-portal",casServerUrl:`https://one-portal${o.isTest?"-test":""}.joy-group.com/api`,casPortalUrl:`https://one-portal${o.isTest?"-test":""}.joy-group.com`,serviceUrl:o.serviceUrl||window.location.origin+"/cas/callback",tokenKey:o.tokenKey||"one_portal_token",userKey:o.userKey||"one_portal_user",debug:o.debug||!1,autoLogin:o.autoLogin!==!1,loginCallback:o.loginCallback||null,logoutCallback:o.logoutCallback||null,errorCallback:o.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 o=localStorage.getItem(this.config.userKey);o&&(this.user=JSON.parse(o)),this.log("从本地存储加载数据:",{token:!!this.token,user:!!this.user})}catch(o){this.log("加载本地存储数据失败:",o)}}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(o){this.log("保存到本地存储失败:",o)}}clearStorage(){try{localStorage.removeItem(this.config.tokenKey),localStorage.removeItem(this.config.userKey),this.log("本地存储已清除")}catch(o){this.log("清除本地存储失败:",o)}}isLoggedIn(){return!!(this.token&&this.user)}getUser(){return this.user}getToken(){return this.token}login(){const o=`${this.config.casPortalUrl}?appCode=${this.config.clientCode}&redirectUrl=${encodeURIComponent(this.config.serviceUrl)}`;this.log("跳转到CAS登录页面:",o),window.location.href=o}async validateTicket(o){try{this.log("验证ST票据:",o);const n=await fetch(`${this.config.casServerUrl}/auth/validateST?ticket=${o}`,{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 o=new URL(window.location);o.searchParams.delete("ticket"),window.history.replaceState({},document.title,o.toString())}async logout(o=!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(),o&&this.login()}catch(n){this.log("登出失败:",n),this.handleError(n)}}async request(o,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(o,r);return s.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):s}catch(s){throw this.log("请求失败:",s),s}}async fetchUserInfo(){try{const o=await this.request(`${this.config.casServerUrl}/auth/user`);if(o&&o.ok){const n=await o.json();if(n.success&&n.data)return this.user=n.data,this.saveToStorage(),this.user}return null}catch(o){return this.log("获取用户信息失败:",o),null}}async refreshToken(){this.log("Token刷新功能暂未实现")}handleError(o){this.log("发生错误:",o),this.config.errorCallback&&this.config.errorCallback(o)}log(...o){this.config.debug&&console.log("[OnePortal CAS SDK]",...o)}checkLoginStatus(){return!this.isLoggedIn()&&this.config.autoLogin?(this.login(),!1):this.isLoggedIn()}setConfig(o,n){this.config[o]=n}getConfig(o){return this.config[o]}}function Yt(t,o={}){const r=Object.assign({manual:!1,log:!1,params:null,format:null},o),{manual:s,log:l,params:a={},cb:i,format:c}=r,b=e.ref([]),p=e.ref(!1),w=y=>{const m=y||a;p.value=!0,t(m).then(h=>{const{code:u,data:C,msg:x}=h;if(i){const{records:_,rows:S}=C||{},I=_||S?_||S:C;b.value=Ee(I,c),i(h)}if(C){if(C.records!=null||C.rows!=null){const{records:_,rows:S,total:I=0}=C||{};m&&m.total!=null&&(a.total=parseInt(I)),b.value=Ee(_||S||[],c)}else b.value=Ee(C,c);l&&console.log("useRequest-res",b.value)}}).catch(h=>{i&&(console.log("useRequestErr",h),i({code:500}))}).finally(()=>{p.value=!1})};return s||w(),[p,b,w]}function Ht(t){const o=e.ref(t),n=e.ref(""),r=e.ref("");return e.watch(o,s=>{const l=s||["",""];n.value=l[0],r.value=l[1]}),[o,n,r]}function Kt(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}function Ee(t,o){if(!o)return t;if(t instanceof Array)return t.map(r=>{let s={};return o.forEach(l=>s[l]=r[l]),s});let n={};return o.forEach(r=>n[r]=t[r]),n}function Wt(t,o=[]){const{locale:n}=ee.useI18n(),r=e.ref(t());return e.watch([n,...o],()=>{r.value=t()},{immediate:!0}),r}function Zt(t,o="zh_cn",n="en_us"){if(!t)return"-";const r={en_us:n,zh_cn:o},l=be().global.locale.value;return t[r[l]]||t[o]||"-"}function Gt(t,o){let n=te.mapState;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapState),Ye(o,n)}function Jt(t,o){let n=te.mapGetters;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapGetters),Ye(o,n)}function Xt(t,o){let n=te.mapActions;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapActions),Qt(o,n)}function Ye(t,o){const n=te.useStore(),r=o(t),s={};return Object.keys(r).forEach(l=>{const a=r[l].bind({$store:n});s[l]=e.computed(a)}),s}function Qt(t,o){const n=te.useStore(),r=o(t),s={};return Object.keys(r).forEach(l=>{s[l]=r[l].bind({$store:n})}),s}function we(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}function eo(){fe.VxeUI.renderer.add("Enum",{renderTableDefault(t,o){let n;if([null,void 0].includes(o.row[o.column.field]))return"-";const r=o.row[o.column.field];if(t.type=="tag"){let s;return e.createVNode(e.resolveComponent("el-text"),{type:t.enum.getTag(r)},we(s=t.enum.getName(r))?s:{default:()=>[s]})}return e.createVNode(e.resolveComponent("el-text"),null,we(n=t.enum.getName(r))?n:{default:()=>[n]})}}),fe.VxeUI.renderer.add("InputNumber",{renderTableDefault(t,o){return e.createVNode(W.ElInputNumber,e.mergeProps({modelValue:o.row[o.column.field],"onUpdate:modelValue":n=>o.row[o.column.field]=n},t.props,{"step-strictly":!0,"value-on-clear":0}),null)}}),fe.VxeUI.renderer.add("TrueFalse",{renderTableDefault(t,o){const{locale:n}=ee.useI18n();let r=n.value=="zh_cn";return e.createVNode(W.ElText,{type:o.row[o.column.field]?"success":"danger"},{default:()=>[o.row[o.column.field]?r?"是":"YES":r?"否":"NO"]})}}),fe.VxeUI.renderer.add("I18n",{renderTableDefault(t,o){const{locale:n}=ee.useI18n();let r=n.value=="zh_cn"?o.column.field:t.fieldEn;return o.row[r]||o.row[o.column.field]}}),fe.VxeUI.renderer.add("Link",{renderTableDefault(t,o){let n=o.column.field;const r=Fe.useRouter(),{multiple:s,to:l,openType:a="system"}=t,i=o.row[n];function c(b,p){a=="blank"?window.open(b):r.push({path:b,query:{[n]:p}})}if(s){const b=(i==null?void 0:i.split(","))||[];return b.map((p,w)=>e.createVNode("span",null,[e.createVNode(W.ElLink,{underline:"never",type:"primary",onclick:()=>c(a=="stystem"?l:p,p)},we(p)?p:{default:()=>[p]}),w<b.length-1?",":""]))}return e.createVNode(W.ElLink,{underline:"never",type:"primary",onclick:()=>c(a=="stystem"?l:i,i)},we(i)?i:{default:()=>[i]})}})}g.CmpDictionary=qe,g.CmpIcon=$e,g.ConfrimButton=Et,g.DownExcelTemp=Nt,g.ImportButton=It,g.LayOutForm=Je,g.Layer=jt,g.ListPage=Ot,g.OnePortalCasSDK=Ut,g.SearchBar=Ae,g.StatusMap=Se,g._toRaw=gt,g._typeOf=Kt,g.arrToStatusMap=yt,g.arrayToTree=pt,g.checkFileSize=wt,g.creatValidator=Rt,g.createImportFields=kt,g.createListPageId=xt,g.en_us=Ce,g.exportExcel=nt,g.getI18n=be,g.getI18nT=le,g.getListPageConfig=je,g.getLocaleValue=Zt,g.getValueBykey=_t,g.importExcel=ot,g.messages=Me,g.registerVxeRenderers=eo,g.resetListPageConfig=zt,g.setListPageConfig=Bt,g.setupI18n=Oe,g.sleep=mt,g.stringToArray=_e,g.stripHtmlTags=Ct,g.unicode2Str=bt,g.useActions=Xt,g.useDatePicker=Ht,g.useGetters=Jt,g.useI18nReState=Wt,g.useRequest=Yt,g.useState=Gt,g.zh_cn=ye,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(m,W){typeof exports=="object"&&typeof module<"u"?W(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"],W):(m=typeof globalThis<"u"?globalThis:m||self,W(m.JoyAdminComponents={},m.ElementPlus,m.Vue,m.fileSaver,m.ExcelJS,m.dayjs,m.VueI18n,m._,m.VueRouter,m.Vuex,m.VxeUI))})(this,function(m,W,e,Le,pe,ue,ee,ne,Fe,te,fe){"use strict";const Qe=e.defineComponent({name:"LayOutForm",setup(t,{slots:o,attrs:n,emit:r}){const s=e.ref(null),l=()=>o.default?o.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(W.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(W.ElForm,{...n,ref:s},()=>e.h(W.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 De(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Be={exports:{}};(function(t,o){(function(n,r){t.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 C={date:u,utc:!0,args:arguments};return new a(C)},c.utc=function(u){var C=i(this.toDate(),{locale:this.$L,utc:!0});return u?C.add(this.utcOffset(),n):C},c.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var b=c.parse;c.parse=function(u){u.utc&&(this.$u=!0),this.$utils().u(u.$offset)||(this.$offset=u.$offset),b.call(this,u)};var p=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 p.call(this)};var w=c.utcOffset;c.utcOffset=function(u,C){var x=this.$utils().u;if(x(u))return this.$u?0:x(this.$offset)?w.call(this):this.$offset;if(typeof u=="string"&&(u=function(B){B===void 0&&(B="");var P=B.match(r);if(!P)return null;var L=(""+P[0]).match(s)||["-",0,0],Y=L[0],V=60*+L[1]+ +L[2];return V===0?0:Y==="+"?V:-V}(u),u===null))return this;var _=Math.abs(u)<=16?60*u:u;if(_===0)return this.utc(C);var S=this.clone();if(C)return S.$offset=_,S.$u=!1,S;var I=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(_+I,n)).$offset=_,S.$x.$localOffset=I,S};var y=c.format;c.format=function(u){var C=u||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return y.call(this,C)},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 g=c.toDate;c.toDate=function(u){return u==="s"&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var h=c.diff;c.diff=function(u,C,x){if(u&&this.$u===u.$u)return h.call(this,u,C,x);var _=this.local(),S=i(u).local();return h.call(_,S,C,x)}}})})(Be);var et=Be.exports;const tt=De(et);var Me={exports:{}};(function(t,o){(function(n,r){t.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(y,g,h){h===void 0&&(h={});var u=new Date(y),C=function(x,_){_===void 0&&(_={});var S=_.timeZoneName||"short",I=x+"|"+S,B=r[I];return B||(B=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:x,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[I]=B),B}(g,h);return C.formatToParts(u)},b=function(y,g){for(var h=c(y,g),u=[],C=0;C<h.length;C+=1){var x=h[C],_=x.type,S=x.value,I=n[_];I>=0&&(u[I]=parseInt(S,10))}var B=u[3],P=B===24?0:B,L=u[0]+"-"+u[1]+"-"+u[2]+" "+P+":"+u[4]+":"+u[5]+":000",Y=+y;return(a.utc(L).valueOf()-(Y-=Y%1e3))/6e4},p=l.prototype;p.tz=function(y,g){y===void 0&&(y=i);var h,u=this.utcOffset(),C=this.toDate(),x=C.toLocaleString("en-US",{timeZone:y}),_=Math.round((C-new Date(x))/1e3/60),S=15*-Math.round(C.getTimezoneOffset()/15)-_;if(!Number(S))h=this.utcOffset(0,g);else if(h=a(x,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),g){var I=h.utcOffset();h=h.add(u-I,"minute")}return h.$x.$timezone=y,h},p.offsetName=function(y){var g=this.$x.$timezone||a.tz.guess(),h=c(this.valueOf(),g,{timeZoneName:y}).find(function(u){return u.type.toLowerCase()==="timezonename"});return h&&h.value};var w=p.startOf;p.startOf=function(y,g){if(!this.$x||!this.$x.$timezone)return w.call(this,y,g);var h=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return w.call(h,y,g).tz(this.$x.$timezone,!0)},a.tz=function(y,g,h){var u=h&&g,C=h||g||i,x=b(+a(),C);if(typeof y!="string")return a(y).tz(C);var _=function(P,L,Y){var V=P-60*L*1e3,k=b(V,Y);if(L===k)return[V,L];var $=b(V-=60*(k-L)*1e3,Y);return k===$?[V,k]:[P-60*Math.min(k,$)*1e3,Math.max(k,$)]}(a.utc(y,u).valueOf(),x,C),S=_[0],I=_[1],B=a(S).utcOffset(I);return B.$x.$timezone=C,B},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(y){i=y}}})})(Me);var ot=Me.exports;const nt=De(ot),ye={"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"}},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","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:ye,en_us:Ce};let ie=null;function Oe(t=null){if(t){const{global:o}=t;return o.messages.value.zh_cn?o.mergeLocaleMessage("zh_cn",ye):o.setLocaleMessage("zh_cn",ye),o.messages.value.en_us?o.mergeLocaleMessage("en_us",Ce):o.setLocaleMessage("en_us",Ce),ie=t,t}return ie||(ie=ee.createI18n({legacy:!1,locale:"zh_cn",fallbackLocale:"zh_cn",messages:ze})),ie}function be(){return ie||Oe()}function le(){return be().global.t}ue.extend(tt),ue.extend(nt);async function lt(t,o){const{fields:n,range:r=1}=o;if(!n){const a=le();throw new Error(a("excel.fieldsMappingRequired"))}let s=new pe.Workbook;await s.xlsx.load(t);const l={};return s.eachSheet(function(a,i){const c=[];a.eachRow(function(b,p){if(p>r){let w={},y=!0;Object.keys(n).forEach(g=>{const h=b.getCell(n[g]).value;w[g]=h,h&&(y=!1)}),y||c.push(w)}}),l[a._name]=c}),s=null,l}const Ne={columnWidth:30};async function at(t,o,n=[],r={}){if(!t||!o)return;const{columnStyle:s}=r,{columnWidth:l}=Ne;o.forEach(c=>{c.width=c.width?c.width:l});const{workbook:a,worksheet:i}=rt();i.columns=o,i.addRows(n),s&&await st(a,i,s);try{const c=await a.xlsx.writeBuffer(),b=new File([c],t,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Le.saveAs(b)}catch(c){console.log(c)}}function rt(){const t=new pe.Workbook;t.creator="distributor System",t.lastModifiedBy="distributor System",t.created=new Date,t.modified=new Date,t.lastPrinted=new Date;const o=t.addWorksheet("Sheet1");return{workbook:t,worksheet:o}}async function st(t,o,n){const r=Object.keys(n);for(const s of r){const l=n[s],{type:a}=l;switch(a){case"IMG":await it(t,o,s);break}}}async function it(t,o,n,r){const s=o.getColumn(n),l=s.values;o.getColumn(n).width=20,o.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&&(o.getCell(s.letter+a).value="",await ct(t,o,c,{width:100,height:50,col:s._number-1,row:a-1}))}}async function ct(t,o,n,r){const{col:s,row:l,width:a,height:i}=r,{success:c,base64:b}=await dt(n,.3);if(c){const p=t.addImage({base64:b,extension:"jpeg"});o.addImage(p,{tl:{col:s,row:l},ext:{width:a,height:i}})}}function dt(t,o=1){const n=new Image;return n.setAttribute("crossOrigin","anonymous"),n.crossOrigin="anonymous",n.src=t,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",o)})},n.onerror=()=>{r({success:!1})}})}const ke="---";async function qe(t,o){const{fields:n,range:r=1}=o;if(!n){const a=le();throw new Error(a("excel.fieldsMappingRequired"))}let s=new pe.Workbook;await s.xlsx.load(t);const l={};return s.eachSheet(function(a,i){if(a.state=="visible"){const c=[],b=n[a._name];if(b){let p=Object.values(b).some(y=>y.includes("image")),w={};p&&(a.getImages().forEach(g=>{const{tl:h}=g.range,u=s.model.media.find(C=>C.index===g.imageId);if(u){const C=u.buffer.toString("base64"),x=`data:image/${u.extension};base64,${C}`,_=`${Math.ceil(h.row)}_${Math.ceil(h.col)}`;w[_]?w[_].push(x):w[_]=[x]}}),console.log("withImages-imageMap",w)),a.eachRow(function(y,g){if(g>r){let h={},u=!0;Object.keys(b).forEach(C=>{var B;let[x,_]=b[C].split(ke);const S=y.getCell(x);let I;if(_=="image"&&p){const P=S._column._number,L=`${g}_${P}`;I=w[L]||""}else S.result!=null?I=S.result:(B=S.value)!=null&&B.richText?I=S.value.richText.reduce((P,L)=>P+L.text,""):S.type==4&&S.value?I=ue(S.value).utc().format("YYYY-MM-DD HH:mm:ss"):I=S.value;I&&_=="option"&&(I=I.split(ke)[1]),h[C]=I,I&&(u=!1)}),u||c.push(h)}}),l[a._name]=c}}}),s=null,l}const ut={date:"yyyy-mm-dd",number:"0",string:"@"};async function Ae(t,o){if(!t||o.length==0)return;const n=ft(o);n.eachSheet(function(r,s){const{columnWidth:l}=Ne,{tableHeader:a,tableData:i}=o[r._name];a.forEach(c=>{const{style:b={},required:p}=c,{font:w={}}=b;c.style={...b,font:{...w,color:{argb:p?"FFFF0000":void 0}}}}),r.columns=a,r.addRows(i),a.forEach(c=>{const{header:b,key:p,width:w,option:y,numFmt:g}=c,h=r.getColumn(p);if(h.numFmt=ut[g]||g,h.width=w||l,y){const u=n.addWorksheet(p);u.state="hidden",u.getColumn(1).values=y.map(C=>`${C.label}${ke}${C.value}`),Array(100).fill("").forEach((C,x)=>{if(x>0){const _=le();r.getCell(`${h.letter}${x}`).dataValidation={type:"list",formulae:[`${p}!$A$1:$A$${y.length}`],showErrorMessage:!0,error:_("excel.invalidInput"),errorStyle:"stop",errorMessage:_("excel.invalidOption")}}})}})});try{const r=await n.xlsx.writeBuffer(),s=new File([r],t,{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Le.saveAs(s)}catch(r){console.log(r)}}function ft(t){const o=le(),n=new pe.Workbook;return n.creator="distributor System",n.lastModifiedBy="distributor System",n.created=new Date,n.modified=new Date,n.lastPrinted=new Date,Object.keys(t).sort((s,l)=>{const a=t[s].sort??0,i=t[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(o("excel.sheetNameTooLong",[l,s]))),a&&(t[s]=t[l],delete t[l]),n.addWorksheet(s)}),n}function ht(t){if(t<26)return String.fromCharCode(65+t);{const o=String.fromCharCode(65+Math.floor((t-26)/26)),n=String.fromCharCode(65+(t-26)%26);return o+n}}function mt(t){return new Promise(o=>{setTimeout(()=>{o()},t)})}function gt(t){return JSON.parse(JSON.stringify(t))}function pt(t){let o=[],n={},r=(s,l)=>Object.prototype.hasOwnProperty.call(s,l);for(const s of t){n[s.id]={...s,children:r(n,s.id)?n[s.id].children:[]};const l=n[s.id];s.pid==-1?o.push(l):(r(n,s.pid)||(n[s.pid]={children:[]}),n[s.pid].children.push(l))}return o}function _e(t,o=" "){return t?t.split(o).filter(n=>n.trim()):[]}class Se{constructor(o,n=["label","value","labelEn"]){this.list=o.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(o){if(!this.has(o))return"-";const n=be().global.locale,{label:r,labelEn:s}=this.map.get(o);return(n.value=="zh_cn"?r:s)??r??"-"}getTag(o){if(!this.has(o))return"info";const{tag:n="info"}=this.map.get(o);return n}getItem(o){return this.has(o)?this.map.get(o):null}getColor(o){if(!this.has(o))return null;const{color:n}=this.map.get(o);return n}has(o){return this.map.has(o)}}function yt(t,o=[],n="i18nName"){if(t.length==0)return new Se([]);if(o.length<2){const s=le();throw new Error(s("tools.keysLengthError"))}let r=t.map(s=>{let l={};return n&&(l.labelEn=s[n]),o.forEach((a,i)=>{i===0?l.label=s[a]:i===1?l.value=s[a]:l[a]=s[a]}),l});return new Se(r)}function Ct(t){return t?t.replace(/<[^>]+>/g,""):""}function bt(t){return t?(t.includes("\\\\u")&&(t=t.replace(/\\/g,"")),t.replace(/\\u[\dA-F]{4}/gi,o=>String.fromCharCode(parseInt(o.replace(/\\u/g,""),16)))):""}function wt(t,o=10){let n=1048576*o;return!(t.size>n)}function xt(t){return Array.from(10).fill(0).map((n,r)=>t+"_"+r)}function kt(t){let o={};return t.map((n,r)=>{let{key:s,option:l,type:a}=n,i=ht(r);l?o[s]=`${i}---option`:a==="image"?o[s]=`${i}---image`:o[s]=i}),o}function _t(t,o){return o.split(".").reduce((n,r)=>n&&n[r],t)}const ao="",he=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},St=["onClick"],Pe=he({__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(t,{emit:o}){const n=t,r=e.useAttrs(),{t:s,locale:l}=ee.useI18n(),a=e.useModel(t,"modelValue"),i=e.computed(()=>r["value-key"]!=null),c=e.ref(""),b=e.computed(()=>{if(r.remote!==void 0)return n.data;const k=_e(c.value),{data:$,labelValue:O}=n,Z=$||y.value;if(k.length==0)return Z;const{label:E,labelEn:ce}=O;let D=l.value=="en_us"?ce||"i18nName":E;return k.length==1?Z.filter(oe=>oe[D].toLowerCase().includes(k[0].toLowerCase())):Z.filter(oe=>{let de=!1;return de=k.some(xe=>oe[D].toLowerCase()==xe.toLowerCase()),de})}),p=e.computed({get(){return r.multiple==null||a.value==null?!1:a.value.length==b.value.length},set(k){return k}}),w=o,y=e.ref([]),g=async()=>{const{data:k}=await n.api();y.value=[...k],w("success",y)};n.api&&g();function h(k){w("change",k),u.value&&e.nextTick(()=>{n.optionClick&&n.optionClick(u.value),u.value=null})}const u=e.ref(null);function C(k){u.value=k}const x=n.labelValue.label.split("-"),_=k=>{if(x.length==1){if(n.changeLocal)return s(k[n.labelValue.label]);let $=l.value=="en_us"?k[n.labelValue.labelEn||"i18nName"]:k[n.labelValue.label];return $=$||k[n.labelValue.label],$+""}else{let $=[];return x.forEach(O=>{$.push(k[O])}),$.join("-")}};function S(k){let $=n.data?n.data:y.value;a.value=k?$.map(O=>i.value?O:O[n.labelValue.value]):[],e.nextTick(()=>{w("change",a.value),w("changeAll",a.value,$)})}function I(k){w("change",i.value?k:k[n.labelValue.value]),e.nextTick(()=>{n.optionClick&&n.optionClick(k)})}function B(k){return a.value.length>=n.maxLimit&&!a.value.includes(k[n.labelValue.value])}function P(k){return k.map($=>({...$,label:_($),value:i.value?$:$[n.labelValue.value]}))}const L=e.ref([]),Y=n.data?n.data:y.value;L.value=P(Y),e.watch(()=>n.data?n.data:y.value,k=>{var O;const $=P(k);if($.length!==L.value.length)L.value=$;else{let Z=!1;for(let E=0;E<$.length;E++)if($[E].value!==((O=L.value[E])==null?void 0:O.value)){Z=!0;break}Z&&(L.value=$)}},{deep:!0});const V=e.computed(()=>L.value);return(k,$)=>{const O=e.resolveComponent("el-checkbox"),Z=e.resolveComponent("el-select-v2"),E=e.resolveComponent("el-option"),ce=e.resolveComponent("el-select");return e.unref(r).v2!=null?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0,options:V.value,modelValue:a.value,"onUpdate:modelValue":$[1]||($[1]=D=>a.value=D)},e.unref(r),{filterable:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",onChange:h,onClear:h}),e.createSlots({default:e.withCtx(({item:D})=>[e.createElementVNode("div",{onClick:ae=>C(D)},e.toDisplayString(D.label),9,St)]),_:2},[e.unref(r).multiple!=null?{name:"header",fn:e.withCtx(()=>[e.renderSlot(k.$slots,"header",{},()=>[e.createVNode(O,{class:"mgl20",modelValue:p.value,"onUpdate:modelValue":$[0]||($[0]=D=>p.value=D),onChange:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0)]),key:"0"}:void 0]),1040,["options","modelValue"])):(e.openBlock(),e.createBlock(ce,e.mergeProps({key:1,modelValue:a.value,"onUpdate:modelValue":$[3]||($[3]=D=>a.value=D),filterable:"","collapse-tags":"","collapse-tags-tooltip":"","filter-method":e.unref(r).remote!=null?void 0:D=>c.value=D,clearable:""},e.unref(r),{onClear:t.optionClick}),{default:e.withCtx(()=>[e.unref(r).multiple!=null&&t.showCheckAll&&t.maxLimit==null?e.renderSlot(k.$slots,"header",{key:0},()=>[e.createVNode(O,{class:"mgl20",modelValue:p.value,"onUpdate:modelValue":$[2]||($[2]=D=>p.value=D),onChange:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.$t("quan-xuan")),1)]),_:1},8,["modelValue"])],!0):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(D,ae)=>(e.openBlock(),e.createBlock(E,{key:ae,label:_(D),disabled:e.unref(r).multiple!=null&&t.maxLimit>0?B(D):!1,onClick:e.withModifiers(oe=>I(D),["stop"]),value:i.value?D:D[t.labelValue.value]},null,8,["label","disabled","onClick","value"]))),128))]),_:3},16,["modelValue","filter-method","onClear"]))}}},[["__scopeId","data-v-51bd1467"]]),so="",$t=e.defineComponent({props:{name:{tyepe:String,required:!0}}});function Vt(t,o,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(t.name)))]),_:1})}const $e=he($t,[["render",Vt],["__scopeId","data-v-733f9daa"]]),Et={__name:"index",emits:["ok","no"],setup(t,{emit:o}){const n=o,r=ne.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"])])}}},io="",Tt=["accept"],It=he({__name:"index",props:{accept:{type:String,default:".xlsx,.xls"},fields:{type:Object,default:()=>({})},fileChange:{type:Function,required:!0}},emits:["fileChange"],setup(t,{emit:o}){const n=t,r=e.ref(null),s=e.ref(!1);async function l(a){s.value=!0;let i=a.target.files[0];const c=await qe(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,e.mergeProps({type:"primary",loading:s.value,class:"mgr10",onClick:i[0]||(i[0]=b=>r.value.click())},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.$t("dao-ru")),1)],!0)]),_:3},16,["loading"]),e.createElementVNode("input",{onChange:l,ref_key:"input",ref:r,accept:t.accept,style:{position:"absolute",width:"0px",height:"0px",opacity:"0"},type:"file"},null,40,Tt)])}}},[["__scopeId","data-v-f5e86876"]]);function Ve(t){let o={};return t.forEach(n=>{const{key:r,type:s,option:l={},value:a,dateType:i="date"}=n;if(r)if(s=="input"&&(l!=null&&l.multiple))o[r]=_e(a);else if(s=="date")if(i.includes("range")){const[c,b]=r;let[p,w]=a||[];p&&i=="daterange"&&(p=ue(p).format("YYYY-MM-DD 00:00:00"),w=ue(w).format("YYYY-MM-DD 23:59:59")),o[c]=p,o[b]=w}else o[r]=a;else o[r]=a}),o}const uo="",Lt={key:0},Ft={class:"btns"},vt={class:"left"},Dt={class:"right"},je=he({__name:"index",props:{form:{type:Object,required:!0}},emits:["confirm","reset","visibleChange"],setup(t,{expose:o,emit:n}){const r=t,s=n,l=e.ref(!0),a=e.ref(null),{t:i}=ee.useI18n(),c={datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD",month:"YYYY-MM"},b=e.computed(()=>l.value?i("guan-bi"):i("zhan-kai"));function p(){s("confirm")}function w(x){x.option.onClear&&x.option.onClear(),s("confirm")}function y(){s("reset")}function g(){s("confirm")}function h(){return Ve(r.form.items)}const u=ne.cloneDeep(r.form.items);function C(){r.form.items.forEach(x=>{const _=u.find(S=>S.key==x.key);_&&(x.value=_.value)})}return o({getPrm:h,reset:C}),(x,_)=>{const S=e.resolveComponent("el-input"),I=e.resolveComponent("el-date-picker"),B=e.resolveComponent("el-form-item"),P=e.resolveComponent("el-form"),L=e.resolveComponent("el-link"),Y=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:"searchBar-container mgt10 mgb10",onKeydown:e.withKeys(p,["enter"])},[e.createElementVNode("div",{class:"searchBar",style:e.normalizeStyle({height:l.value?"auto":"42px"})},[e.createVNode(P,{inline:"",model:t.form.data},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.form.items.filter(V=>!V.hidden),V=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V.key},[V.type=="br"?(e.openBlock(),e.createElementBlock("br",Lt)):(e.openBlock(),e.createBlock(B,{key:1,label:V.name},{default:e.withCtx(()=>{var k,$;return[V.type==="input"?(e.openBlock(),e.createBlock(S,{key:0,modelValue:V.value,"onUpdate:modelValue":O=>V.value=O,class:e.normalizeClass(((k=V.option)==null?void 0:k.class)||"w150"),placeholder:x.$t("qing-shu-ru"),clearable:""},null,8,["modelValue","onUpdate:modelValue","class","placeholder"])):V.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.render),{key:1})):e.createCommentVNode("",!0),V.type==="select"?(e.openBlock(),e.createBlock(Pe,e.mergeProps({key:2,class:(($=V.option)==null?void 0:$.class)||"w150",modelValue:V.value,"onUpdate:modelValue":O=>V.value=O},{ref_for:!0},V.option,{onChange:p,onClear:O=>w(V)}),null,16,["class","modelValue","onUpdate:modelValue","onClear"])):e.createCommentVNode("",!0),V.type==="date"?(e.openBlock(),e.createBlock(I,e.mergeProps({key:3,class:{datetimerange:"w300",daterange:"w200"}[V.dateType]||"w100",modelValue:V.value,"onUpdate:modelValue":O=>V.value=O,"value-format":c[V.dateType]||"YYYY-MM-DD",type:V.dateType||"date",onFocus:O=>a.value=V,onChange:O=>g(),placeholder:x.$t("qing-xuan-ze"),"start-placeholder":x.$t("kai-shi-shi-jian"),"end-placeholder":x.$t("jie-shu-shi-jian")},{ref_for:!0},V.option),null,16,["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",Ft,[e.createElementVNode("div",vt,[e.renderSlot(x.$slots,"table-header-left",{},void 0,!0)]),e.createElementVNode("div",Dt,[e.createVNode(L,{underline:"never",class:"mgr10",onClick:_[0]||(_[0]=()=>{s("visibleChange",!l.value),l.value=!l.value})},{default:e.withCtx(()=>[e.createVNode($e,{name:l.value?"ArrowUp":"ArrowDown"},null,8,["name"]),e.createTextVNode(" "+e.toDisplayString(b.value),1)]),_:1}),e.createVNode(Y,{type:"primary",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$t("shai-xuan")),1)]),_:1}),e.createVNode(Y,{type:"primary",onClick:y},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$t("chong-zhi")),1)]),_:1}),e.renderSlot(x.$slots,"btn",{},void 0,!0)])])],32)}}},[["__scopeId","data-v-6c7679eb"]]),Re={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 me={...Re};function Bt(t){me={...me,...t,responseDataKeys:{...me.responseDataKeys,...t.responseDataKeys||{}}}}function Ue(){return me}function Mt(){me={...Re}}const ho="",zt={class:"center"},Ot=he({__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(t,{expose:o}){const{t:n,locale:r}=ee.useI18n(),s=Fe.useRoute(),l=Ue(),a=t,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 b=e.computed(()=>{const f=s.path.replace(/\//g,"-").replace(/^-/,"")||"default-table";return a.id?`listPageId-${f}-${a.id}`:`listPageId-${f}`}),p=ne.cloneDeep(a.searchForm.items),w=a.searchForm.pageNoKey||l.pageNoKey,y=a.searchForm.pageSizeKey||l.pageSizeKey,g=e.reactive({[w]:1,[y]:a.searchForm.defaultPageSize||l.defaultPageSize,total:0}),h=e.ref(null),u=e.ref(null),C=e.ref(450),x=ne.debounce(()=>{e.nextTick(()=>{if(!u.value)return;const d=u.value.getBoundingClientRect(),T=window.innerHeight,v=d.top,q=100,U=T-v-q,M=200;C.value=Math.max(U,M)})},100),_=()=>{x()},S=()=>{if(!a.searchForm.enableCellCopy&&!l.enableCellCopy)return!1;const f=h.value;if(!f||!f.$el)return!1;const d=f.$el;return d.classList.add("cell-copy-enabled"),d.setAttribute("tabindex","-1"),d.removeEventListener("mousedown",D),d.removeEventListener("mousemove",ae),d.removeEventListener("mouseup",oe),d.removeEventListener("keydown",Te),d.addEventListener("mousedown",D),d.addEventListener("mousemove",ae),d.addEventListener("mouseup",oe),d.addEventListener("keydown",Te),!0};e.onMounted(()=>{x(),window.addEventListener("resize",_),(a.searchForm.enableCellCopy||l.enableCellCopy)&&(document.addEventListener("mouseup",Ze),document.addEventListener("mousedown",Ge),setTimeout(()=>{S()},500))}),e.onUpdated(()=>{(a.searchForm.enableCellCopy||l.enableCellCopy)&&setTimeout(()=>{S()},500)}),e.onUnmounted(()=>{if(window.removeEventListener("resize",_),a.searchForm.enableCellCopy||l.enableCellCopy){document.removeEventListener("mouseup",Ze),document.removeEventListener("mousedown",Ge);const f=h.value;if(f&&f.$el){const d=f.$el;d.removeEventListener("mousedown",D),d.removeEventListener("mousemove",ae),d.removeEventListener("mouseup",oe),d.removeEventListener("keydown",Te)}}});const I=e.computed(()=>Z.value.height||C.value);let B;async function P(f){const{dataFormat:d}=a.tableConfig;f[w]!=1&&(f.nextSearchAfter=B),i.value=!0;const{code:T,data:v={}}=await a.api(f).finally(()=>{i.value=!1,a.searchForm.selections=[]});if(T==200){let q=[];for(const M of l.responseDataKeys.rows)if(v[M]){q=v[M];break}let U=0;for(const M of l.responseDataKeys.total)if(v[M]!==void 0){U=v[M];break}c.value=d?d(q):q,g.total=U,B=v.nextSearchAfter,(a.searchForm.enableCellCopy||l.enableCellCopy)&&e.nextTick(()=>{setTimeout(()=>{S()},100)})}}function L(f={}){const{searchData:d=()=>({})}=a.tableConfig,T=d();P({...g,...Ve(a.searchForm.items),...f,...T})}function Y(){const{reset:f}=a.tableConfig;f&&f(),a.searchForm.items.forEach(d=>{const T=p.find(v=>ne.isArray(d.key)&&ne.isArray(v.key)?d.key.join(",")==v.key.join(","):v.key==d.key);T&&(d.value=T.value)}),L()}a.api&&a.immediate&&L();function V(){return{...g,...Ve(a.searchForm.items)}}const k=()=>{const f=h.value;f&&f.clearSort()},$=e.reactive({storage:!0}),O=e.reactive({drag:!0,resizable:!0,maxFixedSize:0}),Z=e.computed(()=>{const{customConfig:f,columnConfig:d,...T}=a.tableConfig;return{headerAlign:"left",align:"center",customConfig:{...$,...f},columnConfig:{...O,...d},"virtual-x-config":{enabled:!1,scrollToLeftOnChange:!1},"virtual-y-config":{enabled:!0,gt:100},...T}}),E=e.reactive({isSelecting:!1,startCell:null,endCell:null,selectedCells:[]}),ce=f=>{const d=f.closest(".vxe-body--column");if(!d||d.classList.contains("col--checkbox")||d.classList.contains("col--seq"))return null;const T=d.closest(".vxe-body--row");if(!T)return null;const v=h.value;if(!v)return null;let q=-1;const U=T.getAttribute("data-rowid");if(U!=null)q=parseInt(U,10);else{const z=T.parentElement;q=Array.from(z.querySelectorAll(".vxe-body--row")).indexOf(T)}if(q<0)return null;let M=-1;const Q=d.getAttribute("data-colid");if(Q&&(M=v.getColumns().findIndex(F=>F.id===Q)),M<0){const F=Array.from(T.querySelectorAll(".vxe-body--column")).indexOf(d),j=!!d.closest(".vxe-table--fixed-left-wrapper"),H=!!d.closest(".vxe-table--fixed-right-wrapper"),A=v.getColumns();if(j){const K=A.filter(R=>R.fixed==="left");F<K.length&&(M=A.indexOf(K[F]))}else if(H){const K=A.filter(R=>R.fixed==="right");F<K.length&&(M=A.indexOf(K[F]))}else{const K=a.searchForm.showCheckBox?1:0;M=A.filter(G=>G.fixed==="left").length+F-K}}return M<0?null:{rowIndex:q,colIndex:M,cell:d}},D=f=>{const d=ce(f.target);if(!d){de();return}E.isSelecting=!0,E.startCell={rowIndex:d.rowIndex,colIndex:d.colIndex},E.endCell={...E.startCell},xe(),We()},ae=f=>{if(!E.isSelecting)return;const d=ce(f.target);d&&(E.endCell={rowIndex:d.rowIndex,colIndex:d.colIndex},xe(),We())},oe=()=>{E.isSelecting=!1},de=()=>{E.selectedCells=[],E.startCell=null,E.endCell=null;const f=h.value;if(!f)return;f.$el.querySelectorAll(".cell-selected, .cell-border-top, .cell-border-right, .cell-border-bottom, .cell-border-left").forEach(T=>{T.classList.remove("cell-selected","cell-border-top","cell-border-right","cell-border-bottom","cell-border-left")})},xe=()=>{if(!E.startCell||!E.endCell){E.selectedCells=[];return}const f=E.startCell.rowIndex,d=E.endCell.rowIndex,T=E.startCell.colIndex,v=E.endCell.colIndex,q=Math.min(f,d),U=Math.max(f,d),M=Math.min(T,v),Q=Math.max(T,v);E.selectedCells=[];for(let z=q;z<=U;z++)for(let F=M;F<=Q;F++)E.selectedCells.push({rowIndex:z,colIndex:F})},We=()=>{e.nextTick(()=>{const f=h.value;if(!f)return;const d=f.$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")}),E.selectedCells.length===0)return;const T=f.getColumns(),v=E.selectedCells.map(j=>j.rowIndex),q=E.selectedCells.map(j=>j.colIndex),U=Math.min(...v),M=Math.max(...v),Q=Math.min(...q),z=Math.max(...q),F=[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);E.selectedCells.forEach(({rowIndex:j,colIndex:H})=>{const A=T[H];if(!A)return;const K=A.fixed==="left",R=A.fixed==="right";for(const G of F){const ge=G.querySelectorAll(".vxe-body--row")[j];if(!ge)continue;const re=Array.from(ge.querySelectorAll(".vxe-body--column"));let N=null;if(K&&G.closest(".vxe-table--fixed-left-wrapper")){const J=T.filter(X=>X.fixed==="left").indexOf(A);N=re[J]}else if(R&&G.closest(".vxe-table--fixed-right-wrapper")){const J=T.filter(X=>X.fixed==="right").indexOf(A);N=re[J]}else if(!K&&!R&&G.closest(".vxe-table--body-wrapper")){const se=a.searchForm.showCheckBox?1:0,J=T.filter(Ie=>Ie.fixed==="left").length,X=H-J;N=re[X+se]}if(N&&!N.classList.contains("col--checkbox")&&!N.classList.contains("col--seq")){N.classList.add("cell-selected"),j===U&&N.classList.add("cell-border-top"),j===M&&N.classList.add("cell-border-bottom"),H===Q&&N.classList.add("cell-border-left"),H===z&&N.classList.add("cell-border-right");break}}})})},to=async()=>{if(E.selectedCells.length===0)return;const f=h.value;if(!f)return;const d=f.$el,T=f.getColumns(),v=[...new Set(E.selectedCells.map(z=>z.rowIndex))].sort((z,F)=>z-F),q=[...new Set(E.selectedCells.map(z=>z.colIndex))].sort((z,F)=>z-F),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),M=[];v.forEach(z=>{const F=[];q.forEach(j=>{const H=T[j];if(!H){F.push("");return}const A=H.fixed==="left",K=H.fixed==="right";let R="";for(const G of U){const ge=G.querySelectorAll(".vxe-body--row")[z];if(!ge)continue;const re=Array.from(ge.querySelectorAll(".vxe-body--column"));let N=null;if(A&&G.closest(".vxe-table--fixed-left-wrapper")){const J=T.filter(X=>X.fixed==="left").indexOf(H);N=re[J]}else if(K&&G.closest(".vxe-table--fixed-right-wrapper")){const J=T.filter(X=>X.fixed==="right").indexOf(H);N=re[J]}else if(!A&&!K&&G.closest(".vxe-table--body-wrapper")){const se=a.searchForm.showCheckBox?1:0,J=T.filter(Ie=>Ie.fixed==="left").length,X=j-J;N=re[X+se]}if(N&&!N.classList.contains("col--checkbox")&&!N.classList.contains("col--seq")){R=N.innerText||N.textContent||"",R=R.trim(),R=R.replace(/\n/g," ").replace(/\s+/g," ");break}}F.push(R)}),M.push(F.join(" "))});const Q=M.join(`
|
|
2
|
+
`);try{await navigator.clipboard.writeText(Q)}catch(z){console.error("复制失败:",z)}},Te=f=>{!a.searchForm.enableCellCopy&&!l.enableCellCopy||((f.ctrlKey||f.metaKey)&&f.key==="c"?E.selectedCells.length>0&&(f.preventDefault(),f.stopPropagation(),to()):f.key==="Escape"&&de())},Ze=()=>{E.isSelecting=!1},Ge=f=>{const d=h.value;if(!d||!d.$el)return;d.$el.contains(f.target)||de()},oo=f=>{g[w]=f,L()},no=f=>{g[y]=f,g[w]=1,L()};function Je(){const f=h.value.getCheckboxRecords();a.searchForm.selections=f}const Xe=f=>{const d=h.value;if(d){d.toggleCheckboxRow(f);const T=h.value.getCheckboxRecords();a.searchForm.selections=T}};return o({tableRef:h,getList:L,getPrm:V,clearSort:k,calculateTableHeight:x}),(f,d)=>{var z;const T=e.resolveComponent("el-button"),v=e.resolveComponent("el-checkbox"),q=e.resolveComponent("el-text"),U=e.resolveComponent("vxe-column"),M=e.resolveComponent("VxeTable"),Q=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({box:t.searchForm.showShadow})},[t.searchForm.showSearch?(e.openBlock(),e.createBlock(je,{key:0,form:t.searchForm,onReset:Y,onConfirm:d[1]||(d[1]=F=>L()),onVisibleChange:e.unref(x)},{btn:e.withCtx(()=>[d[3]||(d[3]=e.createElementVNode("span",{class:"mgr10"},null,-1)),e.renderSlot(f.$slots,"search-bar-btn",{},void 0,!0),e.createVNode(T,{class:"mgl10",round:"",onClick:d[0]||(d[0]=F=>h.value.openCustom())},{default:e.withCtx(()=>[e.createVNode($e,{name:"Tools"})]),_:1})]),_:3},8,["form","onVisibleChange"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"table-header-left",{},void 0,!0),e.createElementVNode("div",{ref_key:"tableContentRef",ref:u},[e.createVNode(M,e.mergeProps({id:b.value,ref_key:"tableRef",ref:h,loading:t.loading||i.value,data:t.api?c.value:t.data,border:""},Z.value,{height:I.value,onCheckboxChange:Je,onCheckboxAll:Je,onSortChange:(z=Z.value["sort-config"])==null?void 0:z.sortChange}),{default:e.withCtx(()=>[t.searchForm.showCheckBox==null||t.searchForm.showCheckBox?(e.openBlock(),e.createBlock(U,{key:0,type:"checkbox",width:e.unref(r)=="zh_cn"?80:150,title:f.$t("xu-hao"),fixed:"left"},{checkbox:e.withCtx(({rowIndex:F,row:j,checked:H,disabled:A,indeterminate:K})=>[e.createElementVNode("div",zt,[H?(e.openBlock(),e.createBlock(v,{key:0,checked:!0,disabled:A,size:"default",onClick:e.withModifiers(R=>!A&&Xe(j),["stop"])},null,8,["disabled","onClick"])):(e.openBlock(),e.createBlock(v,{key:1,disabled:A,checked:!1,size:"default",onClick:e.withModifiers(R=>!A&&Xe(j),["stop"])},null,8,["disabled","onClick"])),e.createVNode(q,{type:"info",class:"mgl5"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(F+1),1)]),_:2},1024)])]),_:1},8,["width","title"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},16,["id","loading","data","height","onSortChange"])],512),t.searchForm.showPage?(e.openBlock(),e.createBlock(Q,{key:1,"current-page":g[e.unref(w)],"onUpdate:currentPage":d[2]||(d[2]=F=>g[e.unref(w)]=F),class:"myPagination mgt10",background:"",layout:"total, sizes, prev, pager, next",total:g.total,"page-size":g[e.unref(y)],"page-sizes":t.searchForm.pageSizes||e.unref(l).pageSizes,onCurrentChange:oo,onSizeChange:no},null,8,["current-page","total","page-size","page-sizes"])):e.createCommentVNode("",!0)],2)}}},[["__scopeId","data-v-c022c16d"]]),Nt={__name:"index",props:{sheetsConfig:{type:Object,required:!0},fileName:{type:String,required:!0}},setup(t){const o=t;function n(){Ae(o.fileName,o.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.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(r.$t("xia-zai-dao-ru-mo-ban")),1)])]),_:3},16)}}},qt={mounted(t,o){o.value&&Ye(t)},updated(t,o){o.value?Ye(t):He(t)},beforeUnmount(t){He(t)}};async function Ye(t){await y();const o=t.querySelector(".el-dialog");if(!o)return;const n=t.querySelector(".el-dialog__header"),r=t.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",b),document.addEventListener("mouseup",p),window.addEventListener("resize",w);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 g=l.drag.y-l.mouse.y+l.dialog.y,h=l.drag.x-l.mouse.x+l.dialog.x;o.style.cssText+=`position: absolute; top: calc(${g}px - ${l.dialog.marginTop}); left: ${h}px;`}function c(g){g.button===0&&(l.window={width:document.body.clientWidth,height:document.body.clientHeight},l.dialog=o.getBoundingClientRect(),l.dialog.marginTop=window.getComputedStyle(o).marginTop,l.mouse={x:g.clientX,y:g.clientY},s=!0)}function b(g){s&&(l.drag={x:g.clientX,y:g.clientY},r.style.userSelect="none",a())}function p(g){r.style.userSelect="auto",s=!1}function w(g){}function y(){return new Promise((g,h)=>{setTimeout(()=>{g()},500)})}t.__mouseDown__=c,t.__mouseUp__=p,t.__mouseMove__=b,t.__sizeChange__=w}function He(t){document.removeEventListener("mousedown",t.__mouseDown__),document.removeEventListener("mousemove",t.__mouseMove__),document.removeEventListener("mouseup",t.__mouseUp__),window.removeEventListener("resize",t.__sizeChange__)}const go="",At={key:0,class:"drawer-btn"},Pt={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(t,{emit:o}){const n=t,r=o,{t:s}=ee.useI18n(),l=ne.debounce(()=>{r("confirm")},300);async function a(){n.layer.type=="drawer"?n.layer.onClose?n.layer.onClose():await W.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 b=e.resolveComponent("el-button"),p=e.resolveComponent("el-drawer"),w=e.resolveComponent("el-dialog");return t.layer.type?(e.openBlock(),e.createBlock(p,{key:0,modelValue:t.layer.show,"onUpdate:modelValue":c[0]||(c[0]=y=>t.layer.show=y),size:t.layer.width||"100%",title:t.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)),t.layer.showButton?(e.openBlock(),e.createElementBlock("div",At,[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(b,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(b,{type:"primary",loading:t.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",Pt,[e.createVNode(w,{"close-on-click-modal":!1,modelValue:t.layer.show,"onUpdate:modelValue":c[1]||(c[1]=y=>t.layer.show=y),title:t.layer.title,width:t.layer.width||500,center:""},e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[t.layer.showButton?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"btn",{},()=>[e.createVNode(b,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("qu-xiao")),1)]),_:1}),e.createVNode(b,{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),t.layer.show]])}}};function Rt(t,o={}){const n=le(),r={inForm:!0,required:!0,...o},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+)*$/}[t],{inForm:l,value:a,required:i,msg:c=n("validate.invalidInput")}=r;return l?function(b,p,w){if(i){s.test(p)?w():w(new Error(c));return}p&&!s.test(p)?w(new Error(c)):w()}:s.test(a)}class Ut{constructor(o={}){this.config={clientCode:o.clientCode||"one-portal",casServerUrl:`https://one-portal${o.isTest?"-test":""}.joy-group.com/api`,casPortalUrl:`https://one-portal${o.isTest?"-test":""}.joy-group.com`,serviceUrl:o.serviceUrl||window.location.origin+"/cas/callback",tokenKey:o.tokenKey||"one_portal_token",userKey:o.userKey||"one_portal_user",debug:o.debug||!1,autoLogin:o.autoLogin!==!1,loginCallback:o.loginCallback||null,logoutCallback:o.logoutCallback||null,errorCallback:o.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 o=localStorage.getItem(this.config.userKey);o&&(this.user=JSON.parse(o)),this.log("从本地存储加载数据:",{token:!!this.token,user:!!this.user})}catch(o){this.log("加载本地存储数据失败:",o)}}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(o){this.log("保存到本地存储失败:",o)}}clearStorage(){try{localStorage.removeItem(this.config.tokenKey),localStorage.removeItem(this.config.userKey),this.log("本地存储已清除")}catch(o){this.log("清除本地存储失败:",o)}}isLoggedIn(){return!!(this.token&&this.user)}getUser(){return this.user}getToken(){return this.token}login(){const o=`${this.config.casPortalUrl}?appCode=${this.config.clientCode}&redirectUrl=${encodeURIComponent(this.config.serviceUrl)}`;this.log("跳转到CAS登录页面:",o),window.location.href=o}async validateTicket(o){try{this.log("验证ST票据:",o);const n=await fetch(`${this.config.casServerUrl}/auth/validateST?ticket=${o}`,{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 o=new URL(window.location);o.searchParams.delete("ticket"),window.history.replaceState({},document.title,o.toString())}async logout(o=!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(),o&&this.login()}catch(n){this.log("登出失败:",n),this.handleError(n)}}async request(o,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(o,r);return s.status===401?(this.log("Token已过期,需要重新登录"),this.logout(),null):s}catch(s){throw this.log("请求失败:",s),s}}async fetchUserInfo(){try{const o=await this.request(`${this.config.casServerUrl}/auth/user`);if(o&&o.ok){const n=await o.json();if(n.success&&n.data)return this.user=n.data,this.saveToStorage(),this.user}return null}catch(o){return this.log("获取用户信息失败:",o),null}}async refreshToken(){this.log("Token刷新功能暂未实现")}handleError(o){this.log("发生错误:",o),this.config.errorCallback&&this.config.errorCallback(o)}log(...o){this.config.debug&&console.log("[OnePortal CAS SDK]",...o)}checkLoginStatus(){return!this.isLoggedIn()&&this.config.autoLogin?(this.login(),!1):this.isLoggedIn()}setConfig(o,n){this.config[o]=n}getConfig(o){return this.config[o]}}function Yt(t,o={}){const r=Object.assign({manual:!1,log:!1,params:null,format:null},o),{manual:s,log:l,params:a={},cb:i,format:c}=r,b=e.ref([]),p=e.ref(!1),w=y=>{const g=y||a;p.value=!0,t(g).then(h=>{const{code:u,data:C,msg:x}=h;if(i){const{records:_,rows:S}=C||{},I=_||S?_||S:C;b.value=Ee(I,c),i(h)}if(C){if(C.records!=null||C.rows!=null){const{records:_,rows:S,total:I=0}=C||{};g&&g.total!=null&&(a.total=parseInt(I)),b.value=Ee(_||S||[],c)}else b.value=Ee(C,c);l&&console.log("useRequest-res",b.value)}}).catch(h=>{i&&(console.log("useRequestErr",h),i({code:500}))}).finally(()=>{p.value=!1})};return s||w(),[p,b,w]}function Ht(t){const o=e.ref(t),n=e.ref(""),r=e.ref("");return e.watch(o,s=>{const l=s||["",""];n.value=l[0],r.value=l[1]}),[o,n,r]}function Kt(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}function Ee(t,o){if(!o)return t;if(t instanceof Array)return t.map(r=>{let s={};return o.forEach(l=>s[l]=r[l]),s});let n={};return o.forEach(r=>n[r]=t[r]),n}function Wt(t,o=[]){const{locale:n}=ee.useI18n(),r=e.ref(t());return e.watch([n,...o],()=>{r.value=t()},{immediate:!0}),r}function Zt(t,o="zh_cn",n="en_us"){if(!t)return"-";const r={en_us:n,zh_cn:o},l=be().global.locale.value;return t[r[l]]||t[o]||"-"}function Gt(t,o){let n=te.mapState;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapState),Ke(o,n)}function Jt(t,o){let n=te.mapGetters;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapGetters),Ke(o,n)}function Xt(t,o){let n=te.mapActions;return typeof t=="string"&&t.length>0&&(n=te.createNamespacedHelpers(t).mapActions),Qt(o,n)}function Ke(t,o){const n=te.useStore(),r=o(t),s={};return Object.keys(r).forEach(l=>{const a=r[l].bind({$store:n});s[l]=e.computed(a)}),s}function Qt(t,o){const n=te.useStore(),r=o(t),s={};return Object.keys(r).forEach(l=>{s[l]=r[l].bind({$store:n})}),s}function we(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}function eo(){fe.VxeUI.renderer.add("Enum",{renderTableDefault(t,o){let n;if([null,void 0].includes(o.row[o.column.field]))return"-";const r=o.row[o.column.field];if(t.type=="tag"){let s;return e.createVNode(e.resolveComponent("el-text"),{type:t.enum.getTag(r)},we(s=t.enum.getName(r))?s:{default:()=>[s]})}return e.createVNode(e.resolveComponent("el-text"),null,we(n=t.enum.getName(r))?n:{default:()=>[n]})}}),fe.VxeUI.renderer.add("InputNumber",{renderTableDefault(t,o){return e.createVNode(W.ElInputNumber,e.mergeProps({modelValue:o.row[o.column.field],"onUpdate:modelValue":n=>o.row[o.column.field]=n},t.props,{"step-strictly":!0,"value-on-clear":0}),null)}}),fe.VxeUI.renderer.add("TrueFalse",{renderTableDefault(t,o){const{locale:n}=ee.useI18n();let r=n.value=="zh_cn";return e.createVNode(W.ElText,{type:o.row[o.column.field]?"success":"danger"},{default:()=>[o.row[o.column.field]?r?"是":"YES":r?"否":"NO"]})}}),fe.VxeUI.renderer.add("I18n",{renderTableDefault(t,o){const{locale:n}=ee.useI18n();let r=n.value=="zh_cn"?o.column.field:t.fieldEn;return o.row[r]||o.row[o.column.field]}}),fe.VxeUI.renderer.add("Link",{renderTableDefault(t,o){let n=o.column.field;const r=Fe.useRouter(),{multiple:s,to:l,openType:a="system"}=t,i=o.row[n];function c(b,p){a=="blank"?window.open(b):r.push({path:b,query:{[n]:p}})}if(s){const b=(i==null?void 0:i.split(","))||[];return b.map((p,w)=>e.createVNode("span",null,[e.createVNode(W.ElLink,{underline:"never",type:"primary",onclick:()=>c(a=="stystem"?l:p,p)},we(p)?p:{default:()=>[p]}),w<b.length-1?",":""]))}return e.createVNode(W.ElLink,{underline:"never",type:"primary",onclick:()=>c(a=="stystem"?l:i,i)},we(i)?i:{default:()=>[i]})}})}m.CmpDictionary=Pe,m.CmpIcon=$e,m.ConfrimButton=Et,m.DownExcelTemp=Nt,m.ImportButton=It,m.LayOutForm=Qe,m.Layer=jt,m.ListPage=Ot,m.OnePortalCasSDK=Ut,m.SearchBar=je,m.StatusMap=Se,m._toRaw=gt,m._typeOf=Kt,m.arrToStatusMap=yt,m.arrayToTree=pt,m.checkFileSize=wt,m.creatValidator=Rt,m.createImportFields=kt,m.createListPageId=xt,m.en_us=Ce,m.exportExcel=at,m.exportExcelMuilti=Ae,m.getI18n=be,m.getI18nT=le,m.getListPageConfig=Ue,m.getLocaleValue=Zt,m.getValueBykey=_t,m.importExcel=lt,m.importExcelMuilti=qe,m.messages=ze,m.registerVxeRenderers=eo,m.resetListPageConfig=Mt,m.setListPageConfig=Bt,m.setupI18n=Oe,m.sleep=mt,m.stringToArray=_e,m.stripHtmlTags=Ct,m.unicode2Str=bt,m.useActions=Xt,m.useDatePicker=Ht,m.useGetters=Jt,m.useI18nReState=Wt,m.useRequest=Yt,m.useState=Gt,m.zh_cn=ye,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
package/src/utils/index.d.ts
CHANGED
|
@@ -53,6 +53,71 @@ export function exportExcel(
|
|
|
53
53
|
options?: ExportExcelOptions
|
|
54
54
|
): Promise<void>;
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* 多 sheet 导入 Excel 配置
|
|
58
|
+
*/
|
|
59
|
+
export interface ImportExcelMuiltiOptions {
|
|
60
|
+
/** 按 sheet 名称映射字段配置 */
|
|
61
|
+
fields: Record<string, Record<string, string>>;
|
|
62
|
+
/** 有效数据起始行,默认 1 */
|
|
63
|
+
range?: number;
|
|
64
|
+
/** 是否读取图片 */
|
|
65
|
+
withImages?: boolean;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 多 sheet 导入 Excel 文件
|
|
70
|
+
* @param file Excel 文件对象
|
|
71
|
+
* @param options 导入选项
|
|
72
|
+
* @returns 返回按 sheet 名称组织的数据对象
|
|
73
|
+
*/
|
|
74
|
+
export function importExcelMuilti(
|
|
75
|
+
file: File,
|
|
76
|
+
options: ImportExcelMuiltiOptions
|
|
77
|
+
): Promise<Record<string, any[]>>;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* 多 sheet 导出 Excel 表头配置
|
|
81
|
+
*/
|
|
82
|
+
export interface ExportExcelMuiltiHeader {
|
|
83
|
+
/** 表头显示文本 */
|
|
84
|
+
header: string;
|
|
85
|
+
/** 数据字段 key */
|
|
86
|
+
key: string;
|
|
87
|
+
/** 列宽度 */
|
|
88
|
+
width?: number;
|
|
89
|
+
/** 列样式 */
|
|
90
|
+
style?: any;
|
|
91
|
+
/** 下拉选项配置 */
|
|
92
|
+
option?: Array<{ label: any; value: any }>;
|
|
93
|
+
/** 是否必填 */
|
|
94
|
+
required?: boolean;
|
|
95
|
+
/** 单元格数字格式:'date' | 'number' | 'string' 或自定义格式 */
|
|
96
|
+
numFmt?: string;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* 多 sheet 导出 Excel 配置
|
|
101
|
+
*/
|
|
102
|
+
export interface ExportExcelMuiltiSheet {
|
|
103
|
+
/** 表头配置 */
|
|
104
|
+
tableHeader: ExportExcelMuiltiHeader[];
|
|
105
|
+
/** 表格数据 */
|
|
106
|
+
tableData: any[];
|
|
107
|
+
/** sheet 排序顺序 */
|
|
108
|
+
sort?: number;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* 多 sheet 导出 Excel 文件
|
|
113
|
+
* @param tableName 导出表格名称
|
|
114
|
+
* @param sheets 按 sheet 名称配置的数据对象
|
|
115
|
+
*/
|
|
116
|
+
export function exportExcelMuilti(
|
|
117
|
+
tableName: string,
|
|
118
|
+
sheets: Record<string, ExportExcelMuiltiSheet>
|
|
119
|
+
): Promise<void>;
|
|
120
|
+
|
|
56
121
|
// 单点登录 SDK 类型
|
|
57
122
|
export default class OnePortalCasSDK {
|
|
58
123
|
constructor(...args: any[]);
|