vue2-components-plus 1.0.0

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.
@@ -0,0 +1 @@
1
+ (function(h,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],p):(h=typeof globalThis<"u"?globalThis:h||self,p(h.Vue2ComponentsPlus={},h.Vue))})(this,function(h,p){"use strict";const Ye="";function J(e){const t={maxLength:50,pattern:null,min:null,max:null,int:!1},r=e.value;return typeof r=="number"?{...t,maxLength:r}:r&&typeof r=="object"?{maxLength:r.maxLength||t.maxLength,pattern:r.pattern||null,min:typeof r.min=="number"?r.min:null,max:typeof r.max=="number"?r.max:null,int:!!r.int}:t}function V(e,t,r=!0){let n="",i=!1,s=!1;return String(e||"").split("").forEach((a,l)=>{if(a==="-"){r&&l===0&&!i&&(n+=a,i=!0);return}if(a==="."){l!==0&&!s&&n[n.length-1]!=="-"&&(n+=a,s=!0);return}/^\d$/.test(a)&&((i?n.slice(1):n)==="0"&&a!=="0"&&!s&&(n=i?"-":""),n+=a)}),n.slice(0,t)}function G(e,t,r){let n="",i=!1;const s=r.min!==null&&r.min<0;return String(e||"").split("").forEach((a,l)=>{if(a==="-"){s&&l===0&&!i&&(n+=a,i=!0);return}/^\d$/.test(a)&&((i?n.slice(1):n)==="0"&&a!=="0"&&(n=i?"-":""),n+=a)}),n.slice(0,t)}function Z(e,t){if(t.int){const s=G(e,t.maxLength||50,t);if(s===""||s==="-")return s;const a=parseInt(s,10);return Number.isNaN(a)?"":t.min!==null&&a<t.min?String(Math.ceil(t.min)):t.max!==null&&a>t.max?String(Math.floor(t.max)):s}const r=t.min!==null&&t.min<0,n=V(e,t.maxLength||50,r);if(n===""||n==="-"||n===".")return n;const i=parseFloat(n);return Number.isNaN(i)?"":t.min!==null&&i<t.min?String(t.min):t.max!==null&&i>t.max?String(t.max):n}function Q(e,t,r){let n="";return String(e||"").split("").forEach(i=>{if(n.length>=t)return;const s=n+i;r.test(s)&&(n=s)}),n}function I(e){return e?e.tagName==="INPUT"||e.tagName==="TEXTAREA"?e:e.querySelector("input, textarea"):null}function w(e,t){if(!e)return;const r=J(t);let n=e.value||"";t.modifiers.range?n=Z(n,r):t.modifiers.number?n=V(n,r.maxLength):t.modifiers.regex&&r.pattern?n=Q(n,r.maxLength,r.pattern):n=String(n).slice(0,r.maxLength),n!==e.value&&(e.value=n,e.dispatchEvent(new Event("input",{bubbles:!0})))}function ee(e,t){const r=I(e);if(!r)return;let n=!1;const i=()=>{n=!0},s=()=>{n=!1,w(r,t)},a=()=>{n||w(r,t)};r.addEventListener("compositionstart",i),r.addEventListener("compositionend",s),r.addEventListener("input",a),w(r,t),e.__nsLengthHandlers={inputEl:r,handleCompositionStart:i,handleCompositionEnd:s,handleInput:a}}function te(e){const t=e.__nsLengthHandlers;t&&(t.inputEl.removeEventListener("compositionstart",t.handleCompositionStart),t.inputEl.removeEventListener("compositionend",t.handleCompositionEnd),t.inputEl.removeEventListener("input",t.handleInput),delete e.__nsLengthHandlers)}function B(e){e.directive("sline",{inserted(t){t.style.whiteSpace="nowrap",t.style.overflow="hidden",t.style.textOverflow="ellipsis",t.style.display="inline-block",t.style.maxWidth="100%"}}),e.directive("permission",{inserted(t,r){let n=[];try{n=JSON.parse(sessionStorage.getItem("btnsPermission")||localStorage.getItem("btnsPermission")||"[]")}catch{n=[]}Array.isArray(n)||(n=[]);const i=r.modifiers.class?"class":"id",s=!!r.modifiers.display;(i==="class"?n.some(l=>t.classList.contains(l)):n.includes(t.getAttribute("id")))||(s?t.style.display="none":(t.style.visibility="hidden",t.style.pointerEvents="none"))}}),e.directive("length",{inserted(t,r){ee(t,r)},componentUpdated(t,r){const n=I(t);w(n,r)},unbind(t){te(t)}}),e.directive("event-unuse",{inserted(t){t.style.pointerEvents="none"}}),e.directive("event-use",{inserted(t){t.style.pointerEvents="auto"}})}let v=class{};v.VARS={};function M(){if(typeof document>"u"||Object.keys(v.VARS).length>0)return v.VARS;const e={};return Array.from(document.styleSheets||[]).forEach(t=>{let r=[];try{r=Array.from(t.cssRules||[])}catch{r=[]}r.forEach(n=>{n.selectorText===":root"&&Array.from(n.style||[]).filter(i=>i.indexOf("--matrix-")===0).forEach(i=>{e[i]=n.style.getPropertyValue(i).trim()})})}),v.VARS=e,e}function re(e){return typeof e!="string"?e:e.indexOf("-")>-1?e.toLowerCase():e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function ne(e){return e?typeof e=="string"?re(e):e:"span"}function ie(e,t){if(!e||t==="default")return e;const r=e.data||(e.data={});return r.slot=t,e}function se(e,t){return e?(Array.isArray(e)?e:[e]).map(n=>ie(n,t)).filter(Boolean):[]}function y(e,t){const r=String(typeof e=="string"?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase();return t.some(n=>r===n.toLowerCase())}const ae={name:"NsFormFieldRenderer",inheritAttrs:!1,props:{field:{type:Object,required:!0},value:{default:void 0}},mounted(){this.emitRef()},updated(){this.emitRef()},methods:{emitRef(){this.$emit("ref",this.$refs.control||null)},getComponent(){return ne(this.field.component)},isUpload(){return y(this.field.component,["elupload"])},rendersOptionsByChildren(){return y(this.field.component,["elselect","elradiogroup","elcheckboxgroup"])},isFullWidthComponent(){return y(this.field.component,["elinput","elselect","elcascader","eldatepicker","eltimepicker","elinputnumber","elautocomplete"])},buildProps(){const e=this.field.params||{},t={};return Object.keys(e).forEach(r=>{r.indexOf("v-")!==0&&(r==="rules"||r==="style"||r==="options"&&this.rendersOptionsByChildren()||(t[r]=e[r]))}),this.isUpload()||(t.value=this.value),t},buildStyle(){const e=this.field.params||{},t={...this.field.style||{},...e.style||{}};return this.isFullWidthComponent()&&t.width===void 0&&(t.width="100%"),t},buildDirectives(){const e=this.field.params||{};return Object.keys(e).filter(t=>t.indexOf("v-")===0).map(t=>{const[,r]=t.split("v-"),[n,...i]=r.split("."),s={};return i.forEach(a=>{s[a]=!0}),{name:n,value:e[t],modifiers:s}})},buildEvents(){const e=this.field.events||{},t={};if(Object.keys(e).forEach(r=>{t[r]=(...n)=>{e[r](...n)}}),!this.isUpload()){const r=t.input;t.input=(n,...i)=>{this.$emit("input",n),r&&r(n,...i)}}return t},buildScopedSlots(){const e=this.field.slots||{},t={};return Object.keys(e).forEach(r=>{typeof e[r]=="function"&&(t[r]=n=>e[r](n))}),t},renderOptionNodes(e){const r=(this.field.params||{}).options||[],n=this.getComponent();return!Array.isArray(r)||r.length===0?[]:y(n,["elselect"])?r.map((i,s)=>e("el-option",{key:i.value!==void 0?i.value:s,props:{label:i.label,value:i.value,disabled:i.disabled}})):y(n,["elradiogroup"])?r.map((i,s)=>e("el-radio",{key:i.value!==void 0?i.value:s,props:{label:i.value,disabled:i.disabled}},[i.label])):y(n,["elcheckboxgroup"])?r.map((i,s)=>e("el-checkbox",{key:i.value!==void 0?i.value:s,props:{label:i.value,disabled:i.disabled}},[i.label])):[]}},render(e){const t=this.getComponent(),r=[],n=this.field.slots||{};return Object.keys(n).forEach(i=>{typeof n[i]=="function"&&r.push(...se(n[i]({field:this.field,value:this.value}),i))}),e(t,{ref:"control",props:this.buildProps(),style:this.buildStyle(),on:this.buildEvents(),directives:this.buildDirectives(),scopedSlots:this.buildScopedSlots()},[...this.renderOptionNodes(e),...r])}};function j(e){return Array.isArray(e)||e===0||e==="0"?!0:!(e===""||e===null||typeof e>"u"||e==="null"||e==="undefined"||String(e).trim()===""||String(e).trim()==="undefined")}const Ue="";function b(e,t,r,n,i,s,a,l){var o=typeof e=="function"?e.options:e;t&&(o.render=t,o.staticRenderFns=r,o._compiled=!0),n&&(o.functional=!0),s&&(o._scopeId="data-v-"+s);var c;if(a?(c=function(d){d=d||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!d&&typeof __VUE_SSR_CONTEXT__<"u"&&(d=__VUE_SSR_CONTEXT__),i&&i.call(this,d),d&&d._registeredComponents&&d._registeredComponents.add(a)},o._ssrRegister=c):i&&(c=l?function(){i.call(this,(o.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(o.functional){o._injectStyles=c;var u=o.render;o.render=function(O,_){return c.call(_),u(O,_)}}else{var f=o.beforeCreate;o.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:o}}function g(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>g(r));const t={};return Object.keys(e).forEach(r=>{t[r]=g(e[r])}),t}function x(e){return String(typeof e=="string"?e:e&&e.name?e.name:"").replace(/-/g,"").toLowerCase()}const le={name:"NsForm",components:{FormFieldRenderer:ae},props:{model:{type:String,default:""},readOnly:{type:Boolean,default:!1},labelWidth:{type:String,default:"80px"},superLabelWidth:{type:String,default:"30px"},labelColor:{type:String,default:"#0A7BFF"},gapH:{type:String,default:"10px"},gapV:{type:String,default:"10px"},height:{type:String,default:"32px"},rows:{type:Array,default:()=>[]},backgroundColor:{type:String,default:""},valueEmptyTag:{type:String,default:"--"},formPropKey:{type:String,default:"rows"},hasPoint:{type:Boolean,default:!1}},data(){return{componentRefs:{}}},computed:{formClassList(){return{"is-vertical":this.model.indexOf("vertical")>-1,"is-table":this.model.indexOf("table")>-1,"is-readonly":this.readOnly}},wrapperStyle(){return{"--ns-form-label-width":this.normalizeSize(this.labelWidth),"--ns-form-super-label-width":this.normalizeSize(this.superLabelWidth),"--ns-form-label-color":this.labelColor,"--ns-form-row-gap":this.gapV,"--ns-form-col-gap":this.gapH,"--ns-form-item-height":this.normalizeSize(this.height),"--ns-form-background-color":this.backgroundColor||"#ffffff"}},rowStyle(){return{marginBottom:this.model.indexOf("table")>-1?"0":this.gapV}},labelStyle(){return{width:this.normalizeSize(this.labelWidth),color:this.labelColor}},groupLabelStyle(){return{width:this.normalizeSize(this.superLabelWidth),color:this.labelColor}},valueStyle(){return{minHeight:this.normalizeSize(this.height)}}},watch:{rows:{handler(e){this.initializeDefaultValues(e)},deep:!0,immediate:!0}},methods:{walkFields(e){(this.rows||[]).forEach((t,r)=>{(t||[]).forEach((n,i)=>{e(n,r,i,null,null),(n.children||[]).forEach((s,a)=>{e(s,r,i,a,n)})})})},initializeDefaultValues(e){(e||[]).forEach(t=>{(t||[]).forEach(r=>{r&&r.key&&r.defaultValue===void 0&&this.$set(r,"defaultValue",g(r.value)),(r.children||[]).forEach(n=>{n&&n.key&&n.defaultValue===void 0&&this.$set(n,"defaultValue",g(n.value))})})})},normalizeSize(e){return e==null||e===""?"":/^\d+$/.test(String(e))?`${e}px`:String(e)},hasChildren(e){return Array.isArray(e.children)&&e.children.length>0},getItemStyle(e,t){if(e.span===0)return{display:"none"};if(typeof e.span=="string"&&e.span.indexOf("%")>-1)return{flex:`0 0 ${e.span}`,maxWidth:e.span};if(e.span!==void 0&&e.span!==null&&e.span!==""){const i=Number(e.span);if(!Number.isNaN(i)){const s=i>24?`${i}px`:`${i/24*100}%`;return{flex:`0 0 ${s}`,maxWidth:s}}}const n=`calc(${100/((t||[]).filter(i=>i&&i.span!==0).length||1)}% - ${this.gapH})`;return{flex:`0 0 ${n}`,maxWidth:n}},getFieldRules(e){return this.readOnly?[]:e.params&&e.params.rules||[]},isRequiredField(e){return!e||this.readOnly?!1:typeof e.required=="boolean"?e.required:this.getFieldRules(e).some(t=>t&&t.required)},getFieldRequired(e){return!e||this.readOnly?!1:e&&typeof e.required=="boolean"?e.required:void 0},updateFieldValue(e,t){this.$set(e,"value",t)},setComponentRef(e,t){!e||!e.key||(this.$set(e,"ref",t),this.$set(this.componentRefs,e.key,t))},showReadOnlyText(e){return this.readOnly&&!(e&&e.readOnlyUseComponent)},normalizeDisplayValue(e,t){return j(e)?Array.isArray(e)?e.join(","):e:t&&t.valueEmptyTag||this.valueEmptyTag},getReadOnlyDisplayValue(e){var t,r,n;return e?typeof((t=e.params)==null?void 0:t.formatter)=="function"?e.params.formatter(e.value,e)||this.valueEmptyTag:j(e.value)?this.isUploadComponent(e)?(e.value||[]).map(i=>i.fileName||i.name||i.filePath).filter(Boolean).join(",")||e.valueEmptyTag||this.valueEmptyTag:this.isSwitchComponent(e)?e.value?((r=e.params)==null?void 0:r.activeText)||"是":((n=e.params)==null?void 0:n.inactiveText)||"否":this.isSelectLikeComponent(e)?this.getOptionDisplayText(e):this.isCascaderComponent(e)?this.getCascaderDisplayValue(e):Array.isArray(e.value)?e.value.join(","):e.value:e.valueEmptyTag||this.valueEmptyTag:this.valueEmptyTag},getOptionDisplayText(e){var s;const t=((s=e.params)==null?void 0:s.options)||[],r=e.value;return(Array.isArray(r)?r:typeof r=="string"&&r.indexOf(",")>-1?r.split(",").filter(Boolean):[r]).map(a=>{const l=t.find(o=>o.value===a);return l?l.label:a}).filter(a=>a!=null&&a!=="").join(",")||e.valueEmptyTag||this.valueEmptyTag},getCascaderDisplayValue(e){var a,l,o,c;const t=e.params||{},r=t.options||[],n={value:((a=t.props)==null?void 0:a.value)||"value",label:((l=t.props)==null?void 0:l.label)||"label",children:((o=t.props)==null?void 0:o.children)||"children",multiple:!!((c=t.props)!=null&&c.multiple),separator:t.separator||" / "},i=u=>Array.isArray(u)?u:typeof u=="string"&&u.indexOf(",")>-1?u.split(",").filter(Boolean):[u],s=u=>{const f=[];let d=r;return i(u).forEach(O=>{const _=(d||[]).find(Xe=>Xe[n.value]===O);_&&(f.push(_[n.label]),d=_[n.children])}),f.join(n.separator)};return n.multiple&&Array.isArray(e.value)&&Array.isArray(e.value[0])?e.value.map(u=>s(u)).join(","):s(e.value)},isSelectLikeComponent(e){return["elselect","elradiogroup","elcheckboxgroup"].includes(x(e.component))},isSwitchComponent(e){return x(e.component)==="elswitch"},isCascaderComponent(e){return x(e.component)==="elcascader"},isUploadComponent(e){return x(e.component)==="elupload"},getFormNodeByKey(e){for(let t=0;t<this.rows.length;t+=1){const r=this.rows[t];for(let n=0;n<r.length;n+=1){const i=r[n];if(i.key===e)return i;for(let s=0;s<(i.children||[]).length;s+=1){const a=i.children[s];if(a.key===e)return a}}}return null},getFormNodeRefByKey(e){return this.componentRefs[e]||null},getFormKvData(){const e={};return this.walkFields(t=>{!t||!t.key||(e[t.key]=Array.isArray(t.value)&&Array.isArray(t.delValue)?t.value.concat(t.delValue):t.value)}),e},resetForm(e=!1){this.walkFields(t=>{var i,s;if(!t||!t.key)return;const r=g(t.value),n=t.defaultValue!==void 0?g(t.defaultValue):Array.isArray(t.value)?[]:typeof t.value=="boolean"?!1:typeof t.value=="number"?0:"";this.$set(t,"value",n),t.delValue!==void 0&&this.$set(t,"delValue",[]),t.params&&Array.isArray(t.params.fileList)&&t.params.fileList.splice(0,t.params.fileList.length),e&&JSON.stringify(r)!==JSON.stringify(n)&&(typeof((i=t.events)==null?void 0:i.change)=="function"&&this.$nextTick(()=>t.events.change(n)),typeof((s=t.events)==null?void 0:s.input)=="function"&&this.$nextTick(()=>t.events.input(n)))})},setFormData(e){!e||typeof e!="object"||this.walkFields(t=>{if(!t||!t.key||!Object.prototype.hasOwnProperty.call(e,t.key))return;let r=g(e[t.key]);if(this.isCascaderComponent(t)&&typeof r=="string"&&r.indexOf(",")>-1&&(r=r.split(",").filter(Boolean)),this.$set(t,"value",r),this.isUploadComponent(t)){const n=Array.isArray(r)?g(r):[];t.params&&this.$set(t.params,"fileList",n)}})},initDefaultValues(){this.initializeDefaultValues(this.rows)}}};var oe=function(){var t=this,r=t._self._c;return t.rows&&t.rows.length?r("div",{staticClass:"ns-dynamic-form",class:t.formClassList,style:t.wrapperStyle},t._l(t.rows,function(n,i){return r("div",{key:`row-${i}`,staticClass:"ns-dynamic-form__row",style:t.rowStyle},t._l(n,function(s,a){return r("div",{key:s.key||`${i}-${a}`,staticClass:"ns-dynamic-form__item",class:{"has-children":t.hasChildren(s)},style:t.getItemStyle(s,n)},[t.hasChildren(s)?[!s.hideLabel&&s.label?r("div",{staticClass:"ns-dynamic-form__group-label",style:t.groupLabelStyle},[t._v(" "+t._s(s.label)+" ")]):t._e(),r("div",{staticClass:"ns-dynamic-form__children"},t._l(s.children,function(l,o){return r("div",{key:l.key||`${i}-${a}-${o}`,staticClass:"ns-dynamic-form__child"},[!l.hideLabel&&l.label?r("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":t.hasPoint||t.isRequiredField(l)},style:t.labelStyle},[t._v(" "+t._s(l.label)+" ")]):t._e(),r("div",{staticClass:"ns-dynamic-form__value",style:t.valueStyle},[t.showReadOnlyText(l)?[r("span",{directives:[{name:"sline",rawName:"v-sline"}]},[t._v(t._s(t.getReadOnlyDisplayValue(l)))])]:l.component?[r("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${t.formPropKey}.${i}.${a}.children.${o}.value`,rules:t.getFieldRules(l),required:t.getFieldRequired(l)}},[r("form-field-renderer",{attrs:{field:l,value:l.value},on:{input:function(c){return t.updateFieldValue(l,c)},ref:function(c){return t.setComponentRef(l,c)}}})],1)]:[r("span",{directives:[{name:"sline",rawName:"v-sline"}]},[t._v(t._s(t.normalizeDisplayValue(l.value,l)))])]],2)])}),0)]:[!s.hideLabel&&s.label?r("div",{staticClass:"ns-dynamic-form__label",class:{"has-point":t.hasPoint||t.isRequiredField(s)},style:t.labelStyle},[t._v(" "+t._s(s.label)+" ")]):t._e(),r("div",{staticClass:"ns-dynamic-form__value",style:t.valueStyle},[t.showReadOnlyText(s)?[r("span",{directives:[{name:"sline",rawName:"v-sline"}]},[t._v(t._s(t.getReadOnlyDisplayValue(s)))])]:s.component?[r("el-form-item",{staticClass:"ns-dynamic-form__form-item",attrs:{"label-width":"0px",prop:`${t.formPropKey}.${i}.${a}.value`,rules:t.getFieldRules(s),required:t.getFieldRequired(s)}},[r("form-field-renderer",{attrs:{field:s,value:s.value},on:{input:function(l){return t.updateFieldValue(s,l)},ref:function(l){return t.setComponentRef(s,l)}}})],1)]:[r("span",{directives:[{name:"sline",rawName:"v-sline"}]},[t._v(t._s(t.normalizeDisplayValue(s.value,s)))])]],2)]],2)}),0)}),0):t._e()},ue=[],ce=b(le,oe,ue,!1,null,"4efb4504",null,null);const S=ce.exports;class C{}C.VARS={};function de(){if(typeof document>"u"||Object.keys(C.VARS).length>0)return C.VARS;const e={};return Array.from(document.styleSheets||[]).forEach(t=>{let r=[];try{r=Array.from(t.cssRules||[])}catch{r=[]}r.forEach(n=>{n.selectorText===":root"&&Array.from(n.style||[]).filter(i=>i.indexOf("--matrix-")===0).forEach(i=>{e[i]=n.style.getPropertyValue(i).trim()})})}),C.VARS=e,e}const Je="",he={name:"NsFormTitle",props:{title:{type:String,default:""}},mounted(){de()}};var fe=function(){var t=this,r=t._self._c;return r("div",{staticClass:"ns-form-title"},[r("div",{staticClass:"ns-form-title__header"},[t._t("title",function(){return[r("span",{staticClass:"ns-form-title__icon"}),r("span",{staticClass:"ns-form-title__text"},[t._v(t._s(t.title))])]})],2),r("div",{staticClass:"ns-form-title__content"},[t._t("default")],2)])},pe=[],ge=b(he,fe,pe,!1,null,"4e159c2c",null,null);const P=ge.exports;function me(e){var t;return((t=e==null?void 0:e.proxy)==null?void 0:t.$ImageBaseUrl)||""}function ye(e,t,r="rows"){for(let n=0;n<e.length;n+=1){const i=e[n];for(let s=0;s<i.length;s+=1){const a=i[s];if(a.key===t)return`${r}.${n}.${s}.value`;if(Array.isArray(a.children)){for(let l=0;l<a.children.length;l+=1)if(a.children[l].key===t)return`${r}.${n}.${s}.children.${l}.value`}}}return null}function H(e){const t=p.getCurrentInstance();function r(a,l){const o=me(t),c=Array.isArray(l)?l:[];return c.forEach(u=>{u.filePath&&!u.url&&(u.url=`${o}${u.filePath}`),u.name||(u.name=u.fileName||u.name||u.filePath||"未命名文件")}),a&&a.params&&(a.params.fileList=c),a&&(a.value=c.slice()),c}function n(a,l,o,c=e.rows){const u=m(c,o);if(!u)return l;const f=(l||[]).map(d=>({...d,fileName:d.response?d.response.data.fileName:d.fileName,filePath:d.response?d.response.data.filePath:d.filePath,fileSize:d.response?d.response.data.fileSize:d.fileSize}));return Array.isArray(u.delValue)||(u.delValue=[]),!a.response&&a.status==="success"&&u.delValue.push({...a,isDelete:1}),u.value=f,u.params&&(u.params.fileList=l||[]),l}function i(a,l,o,c,u=e.rows){const f=m(u,c);return f&&(Array.isArray(f.value)||(f.value=[]),l&&l.status==="success"&&a&&a.data&&f.value.push({...a.data}),f.params&&(f.params.fileList=o||[])),o}function s(a,l,o,c="rows"){const u=m(a,l);u&&!Array.isArray(u.value)&&(u.value=[]);const f=ye(a,l,c);p.nextTick(()=>{const d=o&&(o.value||o);f&&d&&typeof d.validateField=="function"&&d.validateField(f)})}return{handleFormatFileList:r,handleRemoveFile:n,handleFileSuccessFile:i,handleCheckFileRequire:s}}function W(e){e.install=function(r){r.component(e.name,e)}}W(S),W(P);const be=S.install;S.install=function(t){B(t),be(t)};function F(e){const t={};return(e||[]).forEach(r=>{(r||[]).forEach(n=>{n&&n.key&&(t[n.key]=Array.isArray(n.value)&&Array.isArray(n.delValue)?n.value.concat(n.delValue):n.value),(n.children||[]).forEach(i=>{i&&i.key&&(t[i.key]=Array.isArray(i.value)&&Array.isArray(i.delValue)?i.value.concat(i.delValue):i.value)})})}),t}function m(e,t){for(let r=0;r<(e||[]).length;r+=1){const n=e[r]||[];for(let i=0;i<n.length;i+=1){const s=n[i];if(s&&s.key===t)return s;const a=s&&s.children||[];for(let l=0;l<a.length;l+=1)if(a[l]&&a[l].key===t)return a[l]}}return null}function K(e,t){const r=m(e,t);return r&&r.ref||null}typeof globalThis<"u"&&(globalThis.getAllFormKvData=F,globalThis.getAllFormNodeByKey=m,globalThis.getAllFormNodeRefByKey=K);const q={name:"NsSlotRenderer",functional:!0,props:{renderer:{type:Function,default:null},scope:{type:Object,default:()=>({})}},render(e,t){const r=t.props.renderer;return r?r(t.props.scope||{}):null}},Ge="";function Se(e){return typeof e!="string"?e:e.indexOf("-")>-1?e.toLowerCase():e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}const _e={name:"NsSearch",components:{SlotRenderer:q},inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},externalParams:{type:Object,default:()=>({})},defaultSpan:{type:Number,default:6},showCollapse:{type:Boolean,default:!0},collapseLimit:{type:Number,default:3},slotRenderers:{type:Object,default:()=>({})}},data(){return{formData:{},isCollapsed:!0}},computed:{visibleItems(){return!this.showCollapse||!this.isCollapsed?this.items:this.items.slice(0,this.collapseLimit)}},watch:{items:{handler(){this.initFormData()},deep:!0,immediate:!0},externalParams:{handler(){this.formData={...this.formData,...this.externalParams}},deep:!0,immediate:!0}},methods:{normalizeComponent(e){return typeof e=="string"?Se(e):e},initFormData(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=t.defaultValue!==void 0?t.defaultValue:void 0}),this.formData={...e,...this.externalParams}},isSlotItem(e){return e&&(e.type==="slot"||e.slot===!0||typeof e.slot=="string")},getSlotRenderer(e){const t=typeof e.slot=="string"?e.slot:e.slotName||e.prop;return this.slotRenderers[t]||null},isSelectComponent(e){return String(this.normalizeComponent(e.component||"")||"")==="el-select"},handleSearch(){this.$emit("search",{...this.formData,_resetPage:!0})},handleReset(){const e={};(this.items||[]).forEach(t=>{e[t.prop]=t.defaultValue!==void 0?t.defaultValue:void 0}),this.formData={...e,...this.externalParams},this.$emit("search",{...this.formData,_resetPage:!0}),this.$emit("reset")},toggleCollapse(){this.isCollapsed=!this.isCollapsed},getFormData(){return{...this.formData}},setFormData(e){this.formData={...this.formData,...e||{}}},resetForm(){this.handleReset()},validate(){return this.$refs.formRef&&this.$refs.formRef.validate?this.$refs.formRef.validate():Promise.resolve(!0)},clearValidate(e){this.$refs.formRef&&this.$refs.formRef.clearValidate&&this.$refs.formRef.clearValidate(e)}}};var ve=function(){var t=this,r=t._self._c;return r("div",{staticClass:"page-search"},[r("el-form",t._b({ref:"formRef",staticClass:"page-search__form",attrs:{inline:!0,model:t.formData}},"el-form",t.$attrs,!1),[r("el-row",{attrs:{gutter:16}},[t._l(t.visibleItems,function(n,i){return r("el-col",{key:n.prop||i,attrs:{span:n.span||t.defaultSpan}},[r("el-form-item",t._b({attrs:{label:n.label,prop:n.prop}},"el-form-item",n.formItemAttrs||{},!1),[t.isSlotItem(n)?r("slot-renderer",{attrs:{renderer:t.getSlotRenderer(n),scope:{formData:t.formData,item:n}}}):r(t.normalizeComponent(n.component||"el-input"),t._g(t._b({tag:"component",model:{value:t.formData[n.prop],callback:function(s){t.$set(t.formData,n.prop,s)},expression:"formData[item.prop]"}},"component",n.attrs||{},!1),n.events||{}),[t.isSelectComponent(n)?t._l(n.children||[],function(s,a){return r("el-option",{key:s.value!==void 0?s.value:a,attrs:{label:s.label,value:s.value,disabled:s.disabled}})}):t._e()],2)],1)],1)}),r("el-col",{staticClass:"page-search__actions",attrs:{span:t.defaultSpan}},[r("el-form-item",{attrs:{"label-width":"0"}},[r("el-button",{attrs:{type:"primary"},on:{click:t.handleSearch}},[t._v("查询")]),r("el-button",{on:{click:t.handleReset}},[t._v("重置")]),t.showCollapse&&t.items.length>t.collapseLimit?r("el-button",{attrs:{type:"text"},on:{click:t.toggleCollapse}},[t._v(" "+t._s(t.isCollapsed?"展开":"收起")+" ")]):t._e()],1)],1)],2)],1)],1)},Ce=[],$e=b(_e,ve,Ce,!1,null,"9eea70d9",null,null);const $=$e.exports,Re=["children","slot","headerSlot","buttons","enum","type","imageWidth","imageHeight","linkText"],X={name:"NsTableColumn",props:{column:{type:Object,required:!0},slotRenderers:{type:Object,default:()=>({})}},methods:{getColumnProps(e){const t={...e};return Re.forEach(r=>delete t[r]),t},getRenderer(e){return e?this.slotRenderers[e]:null},getCellValue(e,t){return t.prop?e[t.prop]:void 0},isVisible(e,t){return typeof e.show=="function"?e.show(t)!==!1:e.show===void 0?!0:!!e.show},isDisabled(e,t){return typeof e.disabled=="function"?!!e.disabled(t):!!e.disabled},renderActionButtons(e,t,r){return(Array.isArray(r.buttons)?r.buttons:[]).filter(i=>this.isVisible(i,t.row)).map((i,s)=>{const a=this.getRenderer(i.slot);return a?a({...t,row:t.row,column:r,button:i}):e("el-button",{key:i.label||s,props:{size:i.size||"mini",type:i.link?"text":i.type||"text",icon:typeof i.icon=="string"?i.icon:void 0,disabled:this.isDisabled(i,t.row)},on:{click:()=>{typeof i.handler=="function"&&i.handler(t.row,t.$index),this.$emit("button-click",t.row,r,i)}}},[i.label])})},renderTag(e,t,r){const n=this.getCellValue(t.row,r),i=typeof r.tagType=="function"?r.tagType(t.row,n):r.tagType,s=typeof r.formatter=="function"?r.formatter(t.row,r,n):this.resolveEnumText(r,n);return e("el-tag",{props:{type:i||"info",size:r.tagSize||"small"}},[s])},renderImage(e,t,r){const n=this.getCellValue(t.row,r);return n?e("img",{style:{width:r.imageWidth||"40px",height:r.imageHeight||"40px",objectFit:"cover",borderRadius:"4px"},attrs:{src:n,alt:r.label||"image"}}):"-"},renderLink(e,t,r){const n=this.getRenderer(r.slot);if(n)return n(t);const i=this.getCellValue(t.row,r);return e("el-button",{props:{type:"text"},on:{click:()=>this.$emit("link-click",t.row,r)}},[r.linkText||i||"-"])},resolveEnumText(e,t){const r=e.enum||e.options||[];if(!Array.isArray(r))return t;const n=r.find(i=>i.value===t);return n?n.label:t},renderDefaultCell(e,t,r){const n=this.getRenderer(r.slot);if(n)return n(t);if(r.type==="action")return e("div",{class:"ns-table-column__actions"},this.renderActionButtons(e,t,r));if(r.type==="tag")return this.renderTag(e,t,r);if(r.type==="image")return this.renderImage(e,t,r);if(r.type==="link")return this.renderLink(e,t,r);const i=this.getCellValue(t.row,r);return typeof r.formatter=="function"?r.formatter(t.row,r,i):r.enum?this.resolveEnumText(r,i):i==null||i===""?"-":i},renderColumn(e,t){const r=Array.isArray(t.children)?t.children.map((i,s)=>e(X,{key:i.prop||i.label||s,props:{column:i,slotRenderers:this.slotRenderers},on:{"link-click":(...a)=>this.$emit("link-click",...a),"button-click":(...a)=>this.$emit("button-click",...a)}})):[],n=this.getRenderer(t.headerSlot);return e("el-table-column",{props:this.getColumnProps(t),scopedSlots:r.length?n?{header:n}:void 0:{default:i=>this.renderDefaultCell(e,i,t),...n?{header:n}:{}}},r)}},render(e){return this.renderColumn(e,this.column)}},we=X,xe={total:0,currentPage:1,pageSize:10},Pe={totalKey:"total",currentPageKey:"currentPage",pageSizeKey:"pageSize"};function D(e={}){return{...xe,...e}}function Y(e,t={}){const r={...Pe,...t};return{[r.totalKey]:e.total,[r.currentPageKey]:e.currentPage,[r.pageSizeKey]:e.pageSize}}function U(e){return e.total=0,e.currentPage=1,e.pageSize=10,e}const Ze="",De=["add","selection-change","sort-change","row-click","size-change","current-change","link-click"],Ae={name:"NsTable",components:{SlotRenderer:q,TableColumn:we},inheritAttrs:!1,props:{tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},showAddButton:{type:Boolean,default:!0},addButtonText:{type:String,default:"新增"},showHeaderToolbar:{type:Boolean,default:!0},showSelection:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},border:{type:Boolean,default:!0},stripe:{type:Boolean,default:!1},height:{type:[String,Number],default:void 0},maxHeight:{type:[String,Number],default:void 0},rowKey:{type:[String,Function],default:void 0},defaultExpandAll:{type:Boolean,default:!1},highlightCurrentRow:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},showPagination:{type:Boolean,default:!0},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageSizes:{type:Array,default:()=>[10,20,50,100]},paginationLayout:{type:String,default:"total, sizes, prev, pager, next, jumper"},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},slotRenderers:{type:Object,default:()=>({})}},data(){return{internalPagination:D()}},computed:{currentPageModel(){return this.currentPage===null?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return this.pageSize===null?this.internalPagination.pageSize:this.pageSize},mergedAttrs(){return this.$attrs||{}},mergedListeners(){const e={...this.$listeners||{}};return De.forEach(t=>delete e[t]),e}},watch:{currentPage:{handler(e){e!==null&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){e!==null&&(this.internalPagination.pageSize=e)},immediate:!0}},methods:{handleAdd(){this.$emit("add")},handleSelectionChange(e){this.$emit("selection-change",e)},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,r){this.$emit("row-click",e,t,r)},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e)},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e)},handleLinkClick(e,t){this.$emit("link-click",e,t)},getIndex(e){if(!this.showPagination)return e+1;const t=Number(this.currentPageModel||1),r=Number(this.pageSizeModel||10);return(t-1)*r+e+1},getSelectionRows(){return this.$refs.tableRef&&this.$refs.tableRef.selection?this.$refs.tableRef.selection:[]},getSelectionKeys(){const e=this.getSelectionRows();return this.rowKey?e.map(t=>typeof this.rowKey=="function"?this.rowKey(t):t[this.rowKey]):e},setSelectionRows(e){this.$refs.tableRef&&(this.$refs.tableRef.clearSelection(),(e||[]).forEach(t=>{this.$refs.tableRef.toggleRowSelection(t,!0)}))},setSelectionKeys(e){!this.$refs.tableRef||!this.rowKey||(this.$refs.tableRef.clearSelection(),(e||[]).forEach(t=>{const r=(this.tableData||[]).find(n=>(typeof this.rowKey=="function"?this.rowKey(n):n[this.rowKey])===t);r&&this.$refs.tableRef.toggleRowSelection(r,!0)}))},isRowSelected(e){return this.getSelectionRows().includes(e)},isKeySelected(e){return this.getSelectionKeys().includes(e)},clearSelection(){this.$refs.tableRef&&this.$refs.tableRef.clearSelection()},toggleRowSelection(e,t){this.$refs.tableRef&&this.$refs.tableRef.toggleRowSelection(e,t)},toggleAllSelection(){this.$refs.tableRef&&this.$refs.tableRef.toggleAllSelection()},selectAll(){this.toggleAllSelection()},clearAllSelection(){this.clearSelection()},clearSort(){this.$refs.tableRef&&this.$refs.tableRef.clearSort&&this.$refs.tableRef.clearSort()},clearFilter(e){this.$refs.tableRef&&this.$refs.tableRef.clearFilter&&this.$refs.tableRef.clearFilter(e)},doLayout(){this.$refs.tableRef&&this.$refs.tableRef.doLayout&&this.$refs.tableRef.doLayout()},sort(e,t){this.$refs.tableRef&&this.$refs.tableRef.sort&&this.$refs.tableRef.sort(e,t)},resetPage(){this.internalPagination.currentPage=1,this.$emit("update:currentPage",1)},setPage(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e)},setPageSize(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},setPagination(e){e.currentPage!==void 0&&this.setPage(e.currentPage),e.pageSize!==void 0&&this.setPageSize(e.pageSize)}}};var ze=function(){var t=this,r=t._self._c;return r("div",{staticClass:"page-table"},[t.showHeaderToolbar?r("div",{staticClass:"page-table__header"},[r("slot-renderer",{attrs:{renderer:t.slotRenderers["header-left"],scope:{tableData:t.tableData}}}),r("div",{staticClass:"page-table__actions"},[r("slot-renderer",{attrs:{renderer:t.slotRenderers["header-actions"],scope:{tableData:t.tableData}}}),t.showAddButton&&!t.slotRenderers["header-actions"]?r("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.handleAdd}},[t._v(" "+t._s(t.addButtonText)+" ")]):t._e()],1)],1):t._e(),r("el-table",t._g(t._b({directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"tableRef",attrs:{data:t.tableData,border:t.border,stripe:t.stripe,height:t.height,"max-height":t.maxHeight,"row-key":t.rowKey,"default-expand-all":t.defaultExpandAll,"highlight-current-row":t.highlightCurrentRow},on:{"selection-change":t.handleSelectionChange,"sort-change":t.handleSortChange,"row-click":t.handleRowClick}},"el-table",t.mergedAttrs,!1),t.mergedListeners),[t.showSelection?r("el-table-column",{attrs:{type:"selection",width:"55","reserve-selection":!!t.rowKey}}):t._e(),t.showIndex?r("el-table-column",{attrs:{type:"index",label:"序号",width:"60",index:t.getIndex}}):t._e(),t._l(t.columns,function(n,i){return r("table-column",{key:n.prop||n.label||i,attrs:{column:n,"slot-renderers":t.slotRenderers},on:{"link-click":t.handleLinkClick}})}),r("template",{slot:"empty"},[t.slotRenderers.empty?r("slot-renderer",{attrs:{renderer:t.slotRenderers.empty,scope:{tableData:t.tableData}}}):r("div",{staticClass:"page-table__empty"},[t._v("暂无数据")])],1)],2),t.showPagination?r("div",{staticClass:"page-table__pagination"},[r("el-pagination",{attrs:{background:"","current-page":t.currentPageModel,"page-size":t.pageSizeModel,"page-sizes":t.pageSizes,total:t.total,layout:t.paginationLayout},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1):t._e()],1)},ke=[],Ee=b(Ae,ze,ke,!1,null,"e9b089a2",null,null);const R=Ee.exports,Qe="",Ne={name:"NsTableContainer",components:{PageSearch:$,PageTable:R},props:{showSearch:{type:Boolean,default:!0},externalSearchParams:{type:Object,default:()=>({})},searchItems:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},actionButtons:{type:Array,default:()=>[]},total:{type:Number,default:0},currentPage:{type:Number,default:null},pageSize:{type:Number,default:null},pageNumberKey:{type:String,default:"currentPage"},pageSizeKey:{type:String,default:"pageSize"},pageTotalKey:{type:String,default:"total"},searchProps:{type:Object,default:()=>({})},tableProps:{type:Object,default:()=>({})},loadData:{type:Function,default:null}},data(){return{internalPagination:D(),pendingSelectionKeys:new Set,selectionRowMap:{},isSyncingSelection:!1}},computed:{currentPageModel(){return this.currentPage===null?this.internalPagination.currentPage:this.currentPage},pageSizeModel(){return this.pageSize===null?this.internalPagination.pageSize:this.pageSize},currentRowKey(){return this.tableProps&&this.tableProps.rowKey}},watch:{currentPage:{handler(e){e!==null&&(this.internalPagination.currentPage=e)},immediate:!0},pageSize:{handler(e){e!==null&&(this.internalPagination.pageSize=e)},immediate:!0},tableData:{handler(){this.$nextTick(()=>{this.syncSelectionToCurrentPage()})},deep:!0,immediate:!0}},methods:{getRowKey(e){return this.currentRowKey?typeof this.currentRowKey=="function"?this.currentRowKey(e):e[this.currentRowKey]:e},resetSelectionState(){this.pendingSelectionKeys=new Set,this.selectionRowMap={},this.$refs.tableRef&&this.$refs.tableRef.clearSelection&&this.$refs.tableRef.clearSelection()},syncSelectionToCurrentPage(){!this.currentRowKey||!this.$refs.tableRef||(this.isSyncingSelection=!0,this.$refs.tableRef.clearSelection(),(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.has(t)&&(this.$set(this.selectionRowMap,t,e),this.$refs.tableRef.toggleRowSelection(e,!0))}),this.$nextTick(()=>{this.isSyncingSelection=!1}))},handleSearch(e){if(this.resetSelectionState(),e&&e._resetPage){const{_resetPage:t,...r}=e;this.internalPagination.currentPage=1,this.$emit("update:currentPage",1),this.$emit("search",r);return}this.$emit("search",e)},handleReset(){this.resetSelectionState(),this.$emit("reset")},handleAdd(){this.$emit("add")},handleSizeChange(e){this.internalPagination.pageSize=e,this.$emit("update:pageSize",e),this.$emit("size-change",e),this.$emit("page-change",{currentPage:this.currentPageModel,pageSize:e}),this.loadData&&this.loadData()},handleCurrentChange(e){this.internalPagination.currentPage=e,this.$emit("update:currentPage",e),this.$emit("current-change",e),this.$emit("page-change",{currentPage:e,pageSize:this.pageSizeModel}),this.loadData&&this.loadData()},handleSelectionChange(e){if(this.isSyncingSelection)return;if(!this.currentRowKey){this.$emit("selection-change",e);return}(this.tableData||[]).map(r=>this.getRowKey(r)).forEach(r=>{this.pendingSelectionKeys.delete(r),this.$delete(this.selectionRowMap,r)}),(e||[]).forEach(r=>{const n=this.getRowKey(r);this.pendingSelectionKeys.add(n),this.$set(this.selectionRowMap,n,r)}),this.$emit("selection-change",Object.values(this.selectionRowMap))},handleSortChange(e){this.$emit("sort-change",e)},handleRowClick(e,t,r){this.$emit("row-click",e,t,r)},handleLinkClick(e,t){this.$emit("link-click",e,t)},initSearchAndLoad(){this.$nextTick(()=>{if(this.showSearch&&this.$refs.searchRef){this.$emit("search",this.$refs.searchRef.getFormData());return}this.loadData&&this.loadData()})},getSearchFormData(){return this.$refs.searchRef?this.$refs.searchRef.getFormData():{}},setSearchFormData(e){this.$refs.searchRef&&this.$refs.searchRef.setFormData(e)},resetSearchForm(){this.$refs.searchRef&&this.$refs.searchRef.resetForm()},validateSearchForm(){return this.$refs.searchRef?this.$refs.searchRef.validate():Promise.resolve(!0)},getPagination(){return{[this.pageTotalKey]:this.total,[this.pageNumberKey]:this.currentPageModel,[this.pageSizeKey]:this.pageSizeModel}},getSelectionRows(){var e,t;return this.currentRowKey?Object.values(this.selectionRowMap):((t=(e=this.$refs.tableRef)==null?void 0:e.getSelectionRows)==null?void 0:t.call(e))||[]},getSelectionKeys(){var e,t;return this.currentRowKey?Array.from(this.pendingSelectionKeys):((t=(e=this.$refs.tableRef)==null?void 0:e.getSelectionKeys)==null?void 0:t.call(e))||[]},setSelectionRows(e){if(!this.currentRowKey){this.$refs.tableRef&&this.$refs.tableRef.setSelectionRows(e);return}this.pendingSelectionKeys=new Set,this.selectionRowMap={},(e||[]).forEach(t=>{const r=this.getRowKey(t);this.pendingSelectionKeys.add(r),this.$set(this.selectionRowMap,r,t)}),this.syncSelectionToCurrentPage()},setSelectionKeys(e){if(!this.currentRowKey){this.$refs.tableRef&&this.$refs.tableRef.setSelectionKeys(e);return}this.pendingSelectionKeys=new Set(e||[]),(this.tableData||[]).forEach(t=>{const r=this.getRowKey(t);this.pendingSelectionKeys.has(r)&&this.$set(this.selectionRowMap,r,t)}),this.syncSelectionToCurrentPage()},clearAllSelection(){this.resetSelectionState()},selectAll(){if(this.$refs.tableRef){if(!this.currentRowKey){this.$refs.tableRef.selectAll();return}(this.tableData||[]).forEach(e=>{const t=this.getRowKey(e);this.pendingSelectionKeys.add(t),this.$set(this.selectionRowMap,t,e)}),this.$refs.tableRef.setSelectionRows(this.tableData)}},isRowSelected(e){var t,r;return this.currentRowKey?this.pendingSelectionKeys.has(this.getRowKey(e)):(r=(t=this.$refs.tableRef)==null?void 0:t.isRowSelected)==null?void 0:r.call(t,e)},isKeySelected(e){var t,r;return this.currentRowKey?this.pendingSelectionKeys.has(e):(r=(t=this.$refs.tableRef)==null?void 0:t.isKeySelected)==null?void 0:r.call(t,e)}}};var Fe=function(){var t=this,r=t._self._c;return r("div",{staticClass:"page-container"},[t.showSearch?r("page-search",t._b({ref:"searchRef",attrs:{items:t.searchItems,"external-params":t.externalSearchParams,"slot-renderers":t.$scopedSlots},on:{search:t.handleSearch,reset:t.handleReset}},"page-search",t.searchProps,!1)):t._e(),r("page-table",t._b({ref:"tableRef",attrs:{"table-data":t.tableData,columns:t.columns,"action-buttons":t.actionButtons,total:t.total,"current-page":t.currentPageModel,"page-size":t.pageSizeModel,"page-number-key":t.pageNumberKey,"page-size-key":t.pageSizeKey,"page-total-key":t.pageTotalKey,"slot-renderers":t.$scopedSlots},on:{add:t.handleAdd,"selection-change":t.handleSelectionChange,"sort-change":t.handleSortChange,"row-click":t.handleRowClick,"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange,"link-click":t.handleLinkClick}},"page-table",t.tableProps,!1))],1)},Ke=[],Te=b(Ne,Fe,Ke,!1,null,"400797f6",null,null);const A=Te.exports;[A,$,R].forEach(e=>{e.install=function(r){r.component(e.name,e)}});const et="",Le={name:"NsDialogComponent",props:{className:{type:String,default:""},title:{type:String,default:""},width:{type:[Number,String],default:500},height:{type:[Number,String],default:""},modal:{type:Boolean,default:!0},dialogPadding:{type:[Number,String,Array],default:-1},modalColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},closeOnClickModal:{type:Boolean,default:!0},dom:{type:[Object,Function],default:null},option:{type:Object,default:()=>({})},events:{type:Object,default:()=>({})},domCompleted:{type:Function,default:null},headerDom:{type:[Object,Function],default:null},headerOption:{type:Object,default:()=>({})},headerEvents:{type:Object,default:()=>({})},showFooter:{type:Boolean,default:!0},footerDom:{type:[Object,Function],default:null},footerOption:{type:Object,default:()=>({})},footerTitle:{type:Object,default:()=>({close:"取消",confirm:"确定"})},footerEvents:{type:Object,default:()=>({})},immediately:{type:Boolean,default:!1},close:{type:Function,default:null},closed:{type:Function,default:null},draggable:{type:Boolean,default:!1},confirm:{type:Function,default:null},x:{type:[Number,String],default:null},y:{type:[Number,String],default:null},maxSize:{type:Function,default:null},dialogInstance:{type:Object,default:null},containerId:{type:String,default:""}},data(){return{visible:!1,currentTitle:this.title,currentOption:{...this.option},currentWidth:this.width,currentHeight:this.height,currentX:this.x,currentY:this.y,footerLoading:!1,isMaximized:!1,originalSize:{width:this.width,height:this.height,x:this.x,y:this.y},dragContext:null,domCompletedCalled:!1}},computed:{normalizedWidth(){return this.normalizeSize(this.currentWidth||this.width||500)},bodyStyle(){return{padding:this.resolvePadding(),minHeight:this.currentHeight?this.normalizeSize(this.currentHeight):"auto",maxHeight:this.currentHeight?this.normalizeSize(this.currentHeight):"none",overflow:"auto"}},dialogCustomClass(){return["ns-dialog-plus",this.className,this.hasAbsolutePosition?"ns-dialog-plus--absolute":""].filter(Boolean).join(" ")},modalClassName(){return`ns-dialog-plus-modal ns-dialog-plus-modal--${this.containerId}`},resolvedDom(){return this.resolveComponent(this.dom)},resolvedHeaderDom(){return this.resolveComponent(this.headerDom)},resolvedFooterDom(){return this.resolveComponent(this.footerDom)},footerButtonText(){var e,t;return{close:((e=this.footerTitle)==null?void 0:e.close)||"取消",confirm:((t=this.footerTitle)==null?void 0:t.confirm)||"确定"}},showMaximizeButton(){return typeof this.maxSize=="function"},hasAbsolutePosition(){return this.currentX!==null||this.currentY!==null}},watch:{option:{handler(e){this.currentOption={...e}},deep:!0},title(e){this.currentTitle=e},width(e){this.isMaximized||(this.currentWidth=e)},height(e){this.isMaximized||(this.currentHeight=e)},x(e){this.isMaximized||(this.currentX=e)},y(e){this.isMaximized||(this.currentY=e)},visible(){this.$nextTick(()=>{this.applyDialogLayout(),this.syncDialogInstance(),this.triggerDomCompleted()})}},mounted(){M(),this.visible=!0,this.updateModalStyle(),this.syncDialogInstance(),this.$nextTick(()=>{this.applyDialogLayout(),this.triggerDomCompleted()}),document.addEventListener("keydown",this.handleKeydown)},updated(){this.syncDialogInstance(),this.triggerDomCompleted(),this.$nextTick(()=>{this.applyDialogLayout()})},beforeDestroy(){document.removeEventListener("keydown",this.handleKeydown),this.removeDragListeners(),this.removeModalStyle()},methods:{normalizeSize(e){return e==null||e===""?"":/^\d+$/.test(String(e))?`${e}px`:String(e)},resolvePadding(){return Array.isArray(this.dialogPadding)?this.dialogPadding.map(e=>this.normalizeSize(e)).join(" "):this.dialogPadding===-1||this.dialogPadding==="-1"?"16px 20px":this.normalizeSize(this.dialogPadding)},resolveComponent(e){return e?e.default?e.default:typeof e.then=="function"?()=>e:e:null},mergeEvents(e={}){return{...e,close:()=>this.closeDialog()}},resolveDialogElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog"):null},resolveWrapperElement(){return this.$el&&this.$el.querySelector?this.$el.querySelector(".el-dialog__wrapper"):null},applyDialogLayout(){const e=this.resolveDialogElement();e&&(this.currentHeight?(e.style.height=this.normalizeSize(this.currentHeight),e.style.display="flex",e.style.flexDirection="column"):e.style.height="",this.hasAbsolutePosition?(e.style.position="fixed",e.style.margin="0",this.currentX!==null&&(e.style.left=this.normalizeSize(this.currentX)),this.currentY!==null&&(e.style.top=this.normalizeSize(this.currentY))):(e.style.position="",e.style.left="",e.style.top=""))},updateModalStyle(){if(!this.containerId)return;let e=document.getElementById(`style-${this.containerId}`);e||(e=document.createElement("style"),e.id=`style-${this.containerId}`,document.head.appendChild(e)),e.textContent=`.${this.modalClassName.replace(/ /g,".")} { background-color: ${this.modalColor} !important; }`},removeModalStyle(){if(!this.containerId)return;const e=document.getElementById(`style-${this.containerId}`);e&&e.parentNode&&e.parentNode.removeChild(e)},syncDialogInstance(){this.dialogInstance&&(this.dialogInstance.domRef=this.$refs.contentRef||null,this.dialogInstance.updateOption=(e={})=>{Object.prototype.hasOwnProperty.call(e,"title")&&(this.currentTitle=e.title),Object.prototype.hasOwnProperty.call(e,"width")&&(this.currentWidth=e.width),Object.prototype.hasOwnProperty.call(e,"height")&&(this.currentHeight=e.height),Object.prototype.hasOwnProperty.call(e,"x")&&(this.currentX=e.x),Object.prototype.hasOwnProperty.call(e,"y")&&(this.currentY=e.y);const t={...e};delete t.title,delete t.width,delete t.height,delete t.x,delete t.y,this.currentOption={...this.currentOption,...t}},this.dialogInstance.callMethod=(e,...t)=>{const r=this.$refs.contentRef;if(r&&typeof r[e]=="function")return r[e](...t)},this.dialogInstance.close=()=>this.closeDialog())},triggerDomCompleted(){this.domCompletedCalled||this.$refs.contentRef&&(this.domCompletedCalled=!0,typeof this.domCompleted=="function"&&this.domCompleted(this.$refs.contentRef))},toggleMaximize(){if(this.showMaximizeButton){if(this.isMaximized)this.currentWidth=this.originalSize.width,this.currentHeight=this.originalSize.height,this.currentX=this.originalSize.x,this.currentY=this.originalSize.y,this.isMaximized=!1;else{this.originalSize={width:this.currentWidth,height:this.currentHeight,x:this.currentX,y:this.currentY};const e=this.maxSize?this.maxSize()||{}:{};this.currentWidth=e.width||"100vw",this.currentHeight=e.height||"100vh",this.currentX=e.x!==void 0?e.x:0,this.currentY=e.y!==void 0?e.y:0,this.isMaximized=!0}this.$nextTick(()=>this.applyDialogLayout())}},closeDialog(){this.visible=!1},dealClose(){typeof this.close=="function"&&this.close()},dealClosed(){typeof this.closed=="function"&&this.closed()},dealConfirm(){if(this.footerLoading=!0,!this.confirm){this.footerLoading=!1;return}if(this.immediately){this.footerLoading=!1,this.visible=!1,this.confirm(null,this.$refs.contentRef);return}this.confirm(()=>{this.footerLoading=!1,this.visible=!1,this.$message&&this.$message.success&&this.$message.success("操作成功")},this.$refs.contentRef,{value:this.footerLoading,set value(e){this.footerLoading=e}})},handleKeydown(e){!this.visible||!this.showFooter||e.key==="Enter"&&!this.footerDom&&(e.preventDefault(),this.dealConfirm())},handleDragStart(e){if(!this.draggable||this.showMaximizeButton||e.button!==0)return;const t=this.resolveDialogElement();if(!t)return;const r=t.getBoundingClientRect();this.currentX=r.left,this.currentY=r.top,this.dragContext={startX:e.clientX,startY:e.clientY,originX:r.left,originY:r.top},document.addEventListener("mousemove",this.handleDragMove),document.addEventListener("mouseup",this.handleDragEnd)},handleDragMove(e){if(!this.dragContext)return;const t=e.clientX-this.dragContext.startX,r=e.clientY-this.dragContext.startY;this.currentX=this.dragContext.originX+t,this.currentY=this.dragContext.originY+r,this.applyDialogLayout()},handleDragEnd(){this.removeDragListeners()},removeDragListeners(){document.removeEventListener("mousemove",this.handleDragMove),document.removeEventListener("mouseup",this.handleDragEnd),this.dragContext=null}}};var Oe=function(){var t=this,r=t._self._c;return r("el-dialog",{attrs:{visible:t.visible,width:t.normalizedWidth,modal:t.modal,"modal-class":t.modalClassName,"show-close":!1,"append-to-body":!1,"close-on-click-modal":t.closeOnClickModal,"custom-class":t.dialogCustomClass},on:{"update:visible":function(n){t.visible=n},close:t.dealClose,closed:t.dealClosed}},[r("div",{staticClass:"ns-dialog-plus__header",attrs:{slot:"title"},on:{mousedown:t.handleDragStart},slot:"title"},[r("div",{staticClass:"ns-dialog-plus__title"},[t.resolvedHeaderDom?r(t.resolvedHeaderDom,t._g(t._b({tag:"component"},"component",t.headerOption,!1),t.mergeEvents(t.headerEvents))):[t._v(t._s(t.currentTitle))]],2),r("div",{staticClass:"ns-dialog-plus__actions"},[t.showMaximizeButton?r("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(n){return n.stopPropagation(),t.toggleMaximize.apply(null,arguments)}}},[t._v(" "+t._s(t.isMaximized?"还原":"最大化")+" ")]):t._e(),r("el-button",{staticClass:"ns-dialog-plus__action-btn",attrs:{type:"text"},on:{click:function(n){return n.stopPropagation(),t.closeDialog.apply(null,arguments)}}},[t._v("关闭")])],1)]),r("div",{staticClass:"ns-dialog-plus__body",style:t.bodyStyle},[r(t.resolvedDom,t._g(t._b({ref:"contentRef",tag:"component"},"component",t.currentOption,!1),t.mergeEvents(t.events)))],1),t.showFooter?r("div",{staticClass:"ns-dialog-plus__footer",attrs:{slot:"footer"},slot:"footer"},[t.resolvedFooterDom?r(t.resolvedFooterDom,t._g(t._b({tag:"component"},"component",t.footerOption,!1),t.mergeEvents(t.footerEvents))):[r("el-button",{on:{click:t.closeDialog}},[t._v(t._s(t.footerButtonText.close))]),r("el-button",{attrs:{type:"primary",loading:t.footerLoading},on:{click:t.dealConfirm}},[t._v(t._s(t.footerButtonText.confirm))])]],2):t._e()])},Ve=[],Ie=b(Le,Oe,Ve,!1,null,"4f4f8603",null,null);const Be=Ie.exports,z=typeof window<"u"?window.__dialogInstances=window.__dialogInstances||[]:[];let T=p,Me=0;function L(e){if(e){if(e.extend){T=e;return}e.constructor&&e.constructor.extend&&(T=e.constructor)}}function je(e){return typeof document>"u"?null:document.querySelector(e)||document.body}function He(e){const t=z.findIndex(r=>r.id===e.id);t>-1&&z.splice(t,1)}function k(){z.slice().forEach(e=>{e&&typeof e.close=="function"&&e.close()})}function E(e,t=!0,r="#app"){if(!e||!e.dom)return!1;const n=je(r);if(!n)return!1;const i=e.id||`ns-dialog-${Date.now()}-${Me++}`,s=document.createElement("div");s.id=i,n.appendChild(s);const a={id:i,class:e.class||"",element:s,vm:null,domRef:null,updateOption:()=>{},callMethod:()=>{},close:()=>{}},l=(T||p).extend(Be),o={...e,className:e.class||"",modal:t,containerId:i,dialogInstance:a,close:()=>{typeof e.close=="function"&&e.close()},closed:()=>{try{typeof e.closed=="function"&&e.closed()}finally{a.vm&&a.vm.$destroy(),s.parentNode&&s.parentNode.removeChild(s),He(a)}}},c=new l({propsData:o});return a.vm=c,a.close=()=>{c&&typeof c.closeDialog=="function"&&c.closeDialog()},z.push(a),c.$mount(s),a}const We=[S,P,A,$,R];function N(e){N.installed||(N.installed=!0,B(e),We.forEach(t=>{t&&t.name&&e.component(t.name,t)}),L(e),M(),e&&e.prototype&&(e.prototype.$NsDialog=E,e.prototype.$closeAllNsDialog=k),typeof window<"u"&&(window.NsDialog=E,window.closeAllNsDialog=k))}const qe={install:N,NsForm:S,NsFormTitle:P,NsTableContainer:A,NsSearch:$,NsTable:R,NsDialog:E,closeAllNsDialog:k,setExternalApp:L,useFileUpload:H,getAllFormNodeByKey:m,getAllFormKvData:F,getAllFormNodeRefByKey:K,createPagination:D,createPaginationWithCustomKeys:Y,resetPagination:U};h.NsDialog=E,h.NsForm=S,h.NsFormTitle=P,h.NsSearch=$,h.NsTable=R,h.NsTableContainer=A,h.closeAllNsDialog=k,h.createPagination=D,h.createPaginationWithCustomKeys=Y,h.default=qe,h.getAllFormKvData=F,h.getAllFormNodeByKey=m,h.getAllFormNodeRefByKey=K,h.install=N,h.resetPagination=U,h.setExternalApp=L,h.useFileUpload=H,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "vue2-components-plus",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./dist/vue2-components-plus.umd.cjs",
7
+ "module": "./dist/vue2-components-plus.es.js",
8
+ "style": "./dist/style.css",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/vue2-components-plus.es.js",
12
+ "require": "./dist/vue2-components-plus.umd.cjs",
13
+ "default": "./dist/vue2-components-plus.es.js"
14
+ },
15
+ "./style.css": "./dist/style.css"
16
+ },
17
+ "sideEffects": [
18
+ "*.css",
19
+ "./dist/style.css"
20
+ ],
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "scripts": {
25
+ "dev": "vite",
26
+ "build": "vite build",
27
+ "preview": "vite preview"
28
+ },
29
+ "peerDependencies": {
30
+ "element-ui": "^2.15.14",
31
+ "vue": "2.7.16"
32
+ },
33
+ "devDependencies": {
34
+ "@vitejs/plugin-vue2": "^2.3.3",
35
+ "element-ui": "^2.15.14",
36
+ "vite": "^4.5.14",
37
+ "vue": "2.7.16",
38
+ "vue-template-compiler": "2.7.16"
39
+
40
+ }
41
+ }