general-basic-form 2.0.42 → 2.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GeneralBasicForm
2
2
 
3
- ## 一个兼容 Vue3 和 React(未来实现) 的表单组件
3
+ ## 一个兼容 Vue2 、Vue3 和 React(未来实现) 的表单组件,支持typescript,vue2请使用@1版本,Vue3请使用@2版本
4
4
 
5
5
  示例:
6
6
 
package/dist/index.js CHANGED
@@ -248,7 +248,8 @@ const Pe = /* @__PURE__ */ w(ze, [["render", $e]]), qe = /* @__PURE__ */ k({
248
248
  default: f(() => [
249
249
  (o(!0), S(L, null, $(s.item.option || [], (p) => (o(), c(r, b({
250
250
  size: m(a),
251
- key: p.label
251
+ key: p.label,
252
+ ref_for: !0
252
253
  }, p), {
253
254
  default: f(() => [
254
255
  I(D(p.value), 1)
@@ -279,7 +280,8 @@ const Pe = /* @__PURE__ */ w(ze, [["render", $e]]), qe = /* @__PURE__ */ k({
279
280
  default: f(() => [
280
281
  (o(!0), S(L, null, $(s.item.option || [], (p) => (o(), c(r, b({
281
282
  size: m(a),
282
- key: p.label
283
+ key: p.label,
284
+ ref_for: !0
283
285
  }, p), {
284
286
  default: f(() => [
285
287
  I(D(p.value), 1)
@@ -784,7 +786,8 @@ const Ge = /* @__PURE__ */ w(Ue, [["__scopeId", "data-v-fa74e9b9"]]), Ne = { key
784
786
  default: f(() => [
785
787
  (o(!0), S(L, null, $(n.formItem, (r, _) => (o(), c(s, b({
786
788
  key: r.prop,
787
- label: r.label
789
+ label: r.label,
790
+ ref_for: !0
788
791
  }, r.descriptionsItemProps), {
789
792
  default: f(() => [
790
793
  r.render ? (o(), c(t, {
@@ -1 +1 @@
1
- (function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.Index={},f.Vue,f["vue-router"]))})(this,function(f,e,I){"use strict";const z={placeholder:"请输入",style:"width: 200px",clearable:!0},L={style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"},$={placeholder:"请选择",filterable:!0,clearable:!0,style:"width: 200px"},N=e.defineComponent({components:{InputArchive:t=>{const{templateEle:n}=t;return n()}},props:{item:null},setup(){const t=e.inject("queryParams",{}),n=e.inject("getList"),o=e.inject("size");return{queryParams:t,getList:n,size:o}},data(){return{inputSetting:{...z,...this.item.inputSetting}}},methods:{currentInputComponent(){return"input-archive"}}}),h=(t,n)=>{const o=t.__vccOpts||t;for(const[i,s]of n)o[i]=s;return o};function F(t,n,o,i,s,l){const a=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(a,e.mergeProps({onKeydown:e.withKeys(t.getList,["enter"]),modelValue:t.queryParams[t.item.prop],"onUpdate:modelValue":n[0]||(n[0]=r=>t.queryParams[t.item.prop]=r),size:t.size},t.inputSetting),e.createSlots({_:2},[e.renderList(t.item.template,(r,m)=>({name:m,fn:e.withCtx(()=>[r?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:m,templateEle:r},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040,["onKeydown","modelValue","size"])}const V=h(N,[["render",F]]),E=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...z,...n.inputSetting});return(l,a)=>{const r=e.resolveComponent("el-input-number");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i)},s.value),null,16,["modelValue","size"])}}}),q=Symbol(),j={class:"input-graphic-verification"},R=["src","alt"],U=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,{graphicSrc:o="",graphicAlt:i="",getGraphic:s=()=>{},key:l}=n,{formLoading:a,updateFormLoading:r}=e.inject(q),m=async()=>{s&&!a.value&&await s()};return(p,k)=>{const u=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",j,[e.createVNode(V,{item:p.item,class:"input"},null,8,["item"]),e.createElementVNode("img",{class:"graphic",onClick:m,src:e.unref(o),alt:e.unref(i)||`${e.unref(l)}`},null,8,R)])),[[u,e.unref(a)]])}}}),_e="",T=h(U,[["__scopeId","data-v-006751c3"]]),g="获取验证码",G=60,A=e.defineComponent({__name:"verification-button",props:{getSmscode:{type:Function}},setup(t){const{getSmscode:n}=t,o=e.ref(g),i=e.ref(null),s=e.computed(()=>o.value===g),l=()=>{i&&(clearInterval(i.value),i.value=null,o.value=g)},a=async()=>{if(o.value===g)if(o.value=G,i.value=setInterval(()=>{if(Number(o.value)<=0||!o.value){l();return}else o.value=Number(o.value)-1},1e3),n)await n()===!1&&l();else return};return e.onBeforeUnmount(()=>{l()}),(r,m)=>{const p=e.resolveComponent("el-button");return e.openBlock(),e.createBlock(p,{class:"verifiaction-button",style:e.normalizeStyle({color:s.value?"var(--color-primary, #409EFF)":"var(--text-color-placeholder, #A8ABB2)",cursor:s.value?"pointer":"default"}),onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value?g:o.value+"s"),1)]),_:1},8,["style"])}}}),ke="",O=h(A,[["__scopeId","data-v-4074e137"]]),Q=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=n;return o.template={append:()=>e.h(O,{getSmscode:o.getSmscode})},(i,s)=>(e.openBlock(),e.createBlock(V,{item:e.unref(o),class:"input"},null,8,["item"]))}}),K=e.defineComponent({components:{slotArchive:t=>{const{templateEle:n}=t;return n()}},props:{item:null},setup(){},data(){return{dividerSetting:{...this.item.dividerSetting}}},methods:{currentInputComponent(){return"slot-archive"}}});function M(t,n,o,i,s,l){const a=e.resolveComponent("el-divider");return e.openBlock(),e.createBlock(a,e.normalizeProps(e.guardReactiveProps(t.dividerSetting)),e.createSlots({_:2},[e.renderList(t.item.template,(r,m)=>({name:m,fn:e.withCtx(()=>[r?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:m,templateEle:r},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040)}const J=h(K,[["render",M]]),W=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...n.radioGroupSetting});return(l,a)=>{const r=e.resolveComponent("el-radio"),m=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,e.mergeProps({size:e.unref(i),key:p.label},p),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:2},1040,["size"]))),128))]),_:1},16,["modelValue","size"])}}}),H=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...n.checkboxGroupSetting});return(l,a)=>{const r=e.resolveComponent("el-checkbox"),m=e.resolveComponent("el-checkbox-group");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,e.mergeProps({size:e.unref(i),key:p.label},p),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:2},1040,["size"]))),128))]),_:1},16,["modelValue","size"])}}}),X=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...L,...n.datePackerSetting});return(l,a)=>{const r=e.resolveComponent("el-date-picker");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i)},s.value),null,16,["modelValue","size"])}}}),Y=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...$,...n.selectSetting});return(l,a)=>{const r=e.resolveComponent("el-option"),m=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","size"])}}}),Z=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...$,...n.selectSetting});return(l,a)=>{const r=e.resolveComponent("el-cascader");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i),options:l.item.options||[]},s.value),null,16,["modelValue","size","options"])}}}),v=e.defineComponent({name:"GeneralBasicForm",components:{Input:V,InputNumber:E,InputGraphicVerification:T,InputMobileVerification:Q,Divider:J,Radio:W,Checkbox:H,DatePicker:X,Select:Y,Cascader:Z},props:{showSearch:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},formOnly:{type:Boolean,default:!1},getList:{type:Function,default:()=>{}},afterReset:{type:Function,default:()=>{}},formItem:{type:Array,default:[]},size:{type:String,default:"default"},labelWidth:{type:String,default:"90px"},noUrlParameters:{type:Boolean,default:()=>!1},formData:{type:Object,default:()=>{}},noInputBlank:{type:Boolean,default:()=>!1}},data(){return{formLoading:this.loading||!1,trimRegex:/\S/}},setup(t){const{size:n,noUrlParameters:o,getList:i}=t,s=I.useRoute(),l=e.ref({...o?{}:s==null?void 0:s.query});return e.provide("queryParams",l),e.provide("size",n),e.provide("getList",i),{queryParams:l}},watch:{formData:{handler(t,n){JSON.stringify(t)!==JSON.stringify(n)&&(this.queryParams={...this.noUrlParameters?{}:this.queryParams,...t})},immediate:!0},queryParams:{handler(t){this.$emit("update:formData",t)},deep:!0},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},provide(){return{[q]:{formLoading:e.computed(()=>this.formLoading),updateFormLoading:t=>{this.formLoading=t}}}},methods:{handleQuery(){var o;const t={page:1,limit:10},n={...(o=this.$route)==null?void 0:o.query,...this.queryParams,...t};this.noUrlParameters||this.$router.push({query:{...n}}),this.getList({...n})},async resetQuery(){var n;this.$refs.queryFormRef.resetFields();const t={page:1};this.noUrlParameters||await this.$router.push({query:{...t}}),this.queryParams={...this.noUrlParameters?{}:(n=this.$route)==null?void 0:n.query},this.afterReset(),this.handleQuery()},getItemRules(t){const{type:n,rules:o=[]}=t,i=[...o];return this.noInputBlank&&n==="input"&&i.push({pattern:this.trimRegex,message:"请输入(不能仅输入空格)",trigger:"blur"}),i}}});function ee(t,n,o,i,s,l){const a=e.resolveComponent("Input"),r=e.resolveComponent("Radio"),m=e.resolveComponent("Select"),p=e.resolveComponent("Divider"),k=e.resolveComponent("Cascader"),u=e.resolveComponent("Checkbox"),C=e.resolveComponent("DatePicker"),S=e.resolveComponent("InputNumber"),P=e.resolveComponent("InputMobileVerification"),B=e.resolveComponent("InputGraphicVerification"),y=e.resolveComponent("el-form-item"),b=e.resolveComponent("el-button"),w=e.resolveComponent("el-form"),d=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createBlock(w,e.mergeProps({model:t.queryParams,ref:"queryFormRef",inline:"","label-position":"left","label-width":t.labelWidth},t.$attrs),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formItem,c=>(e.openBlock(),e.createBlock(y,{label:c.label,prop:c.prop,key:c.prop,rules:t.getItemRules(c)},{default:e.withCtx(()=>[c.type==="input"?(e.openBlock(),e.createBlock(a,{key:0,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="radio"?(e.openBlock(),e.createBlock(r,{key:1,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="select"?(e.openBlock(),e.createBlock(m,{key:2,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="divider"?(e.openBlock(),e.createBlock(p,{key:3,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="cascader"?(e.openBlock(),e.createBlock(k,{key:4,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="checkbox"?(e.openBlock(),e.createBlock(u,{key:5,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="date-picker"?(e.openBlock(),e.createBlock(C,{key:6,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="input-number"?(e.openBlock(),e.createBlock(S,{key:7,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="form-item-slot"?e.renderSlot(t.$slots,c.name,{key:8}):e.createCommentVNode("",!0),c.type==="input-mobile-verification"?(e.openBlock(),e.createBlock(P,{key:9,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="input-graphic-verification"?(e.openBlock(),e.createBlock(B,{item:c,key:c.key},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop","rules"]))),128)),e.renderSlot(t.$slots,"default"),t.formOnly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(y,{key:0},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(b,{type:"primary",size:t.size,onClick:t.handleQuery},{default:e.withCtx(()=>[e.createTextVNode("查询")]),_:1},8,["size","onClick"])),[[d,t.formLoading]]),e.createVNode(b,{size:t.size,onClick:t.resetQuery},{default:e.withCtx(()=>[e.createTextVNode("重置")]),_:1},8,["size","onClick"])]),_:1})),e.renderSlot(t.$slots,"behind-the-button")]),_:3},16,["model","label-width"])),[[e.vShow,t.showSearch]])}const te=h(v,[["render",ee]]),oe=["infinite-scroll-disabled"],ne=["infinite-scroll-disabled"],re={class:"checkbox"},le=e.defineComponent({__name:"InfiniteScrollList",props:{search:{type:Function,required:!0},checkbox:{type:Boolean,required:!1},id:{type:String,required:!0},name:{type:String,required:!0},extra:{type:null,required:!1},defaultSelection:{type:Array,required:!1}},setup(t,{expose:n}){const o=t,{search:i,id:s,name:l,extra:a}=o,r=e.ref([]),m=e.ref(1),p=e.ref(!1),k=e.ref([]),u=e.ref(!1),C=(d,c)=>{const{i:x}=d;return a&&a!=="false"?a(x):""},S=d=>{k.value=d.map(c=>typeof c=="object"?c[s]:c)};e.watch(()=>o.defaultSelection,(d=[],c=[])=>{S(d)},{immediate:!0});const P=()=>{B(),k.value=[]},B=()=>{m.value=1,r.value=[],p.value=!1},y=async()=>{if(u.value||p.value)return;u.value=!0;const d=await i(m.value);d&&d.length>0?(r.value=[...r.value,...d],m.value+=1):p.value=!0,u.value=!1},b=()=>{B(),y()},w=e.computed(()=>r.value.filter(d=>k.value.includes(d[s])))||{};return n({reset:P,lowReset:B,loadList:y,selectInfo:w,list:r,ifbottom:p,refreshList:b}),(d,c)=>{const x=e.resolveComponent("el-checkbox"),de=e.resolveComponent("el-checkbox-group"),D=e.resolveDirective("infinite-scroll"),fe=e.resolveDirective("loading");return o.checkbox?e.withDirectives((e.openBlock(),e.createBlock(de,e.mergeProps({key:0,modelValue:k.value,"onUpdate:modelValue":c[0]||(c[0]=_=>k.value=_)},o),{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("ul",{class:"list","infinite-scroll-disabled":p.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createElementBlock("li",{key:_[e.unref(s)],class:"list-item"},[e.createVNode(x,{label:_[e.unref(s)],class:"checkbox"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_[e.unref(l)])+" ",1),o.extra?(e.openBlock(),e.createBlock(C,{key:0,i:_},null,8,["i"])):e.createCommentVNode("",!0)]),_:2},1032,["label"])]))),128))],8,oe)),[[D,y]])]),_:1},16,["modelValue"])),[[fe,u.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("ul",e.mergeProps({key:1,class:"list","infinite-scroll-disabled":p.value},o),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createElementBlock("li",{key:_[e.unref(s)],class:"list-item"},[e.createElementVNode("div",re,[e.createTextVNode(e.toDisplayString(_[e.unref(l)])+" ",1),o.extra?(e.openBlock(),e.createBlock(C,{key:0,i:_},null,8,["i"])):e.createCommentVNode("",!0)])]))),128))],16,ne)),[[D,y]])}}}),ue="",ie=h(le,[["__scopeId","data-v-fa74e9b9"]]),se={key:1},ae=e.defineComponent({__name:"Descriptions",props:{formData:{type:Object,required:!0},formItem:{type:Array,required:!0}},setup(t){const n=t,o=(i,s)=>{const{i:l,render:a,formData:r}=i;return a({row:r,$index:l})};return(i,s)=>{const l=e.resolveComponent("el-descriptions-item"),a=e.resolveComponent("el-descriptions");return e.openBlock(),e.createBlock(a,e.mergeProps({column:1,border:"",class:"form-width"},n),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.formItem,(r,m)=>(e.openBlock(),e.createBlock(l,e.mergeProps({key:r.prop,label:r.label},r.descriptionsItemProps),{default:e.withCtx(()=>[r.render?(e.openBlock(),e.createBlock(o,{key:0,i:m,render:r.render,formData:t.formData},null,8,["i","render","formData"])):(e.openBlock(),e.createElementBlock("span",se,e.toDisplayString(t.formData[r.prop]),1))]),_:2},1040,["label"]))),128))]),_:1},16)}}}),ce=te,pe=ie,me=ae;f.VDescriptions=me,f.VGeneralBasicForm=ce,f.VInfiniteScrollList=pe,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
1
+ (function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.Index={},f.Vue,f["vue-router"]))})(this,function(f,e,I){"use strict";const z={placeholder:"请输入",style:"width: 200px",clearable:!0},L={style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"},$={placeholder:"请选择",filterable:!0,clearable:!0,style:"width: 200px"},N=e.defineComponent({components:{InputArchive:t=>{const{templateEle:n}=t;return n()}},props:{item:null},setup(){const t=e.inject("queryParams",{}),n=e.inject("getList"),o=e.inject("size");return{queryParams:t,getList:n,size:o}},data(){return{inputSetting:{...z,...this.item.inputSetting}}},methods:{currentInputComponent(){return"input-archive"}}}),h=(t,n)=>{const o=t.__vccOpts||t;for(const[i,s]of n)o[i]=s;return o};function F(t,n,o,i,s,l){const a=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(a,e.mergeProps({onKeydown:e.withKeys(t.getList,["enter"]),modelValue:t.queryParams[t.item.prop],"onUpdate:modelValue":n[0]||(n[0]=r=>t.queryParams[t.item.prop]=r),size:t.size},t.inputSetting),e.createSlots({_:2},[e.renderList(t.item.template,(r,m)=>({name:m,fn:e.withCtx(()=>[r?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:m,templateEle:r},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040,["onKeydown","modelValue","size"])}const V=h(N,[["render",F]]),E=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...z,...n.inputSetting});return(l,a)=>{const r=e.resolveComponent("el-input-number");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i)},s.value),null,16,["modelValue","size"])}}}),q=Symbol(),j={class:"input-graphic-verification"},R=["src","alt"],U=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,{graphicSrc:o="",graphicAlt:i="",getGraphic:s=()=>{},key:l}=n,{formLoading:a,updateFormLoading:r}=e.inject(q),m=async()=>{s&&!a.value&&await s()};return(p,k)=>{const u=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",j,[e.createVNode(V,{item:p.item,class:"input"},null,8,["item"]),e.createElementVNode("img",{class:"graphic",onClick:m,src:e.unref(o),alt:e.unref(i)||`${e.unref(l)}`},null,8,R)])),[[u,e.unref(a)]])}}}),_e="",T=h(U,[["__scopeId","data-v-006751c3"]]),g="获取验证码",G=60,A=e.defineComponent({__name:"verification-button",props:{getSmscode:{type:Function}},setup(t){const{getSmscode:n}=t,o=e.ref(g),i=e.ref(null),s=e.computed(()=>o.value===g),l=()=>{i&&(clearInterval(i.value),i.value=null,o.value=g)},a=async()=>{if(o.value===g)if(o.value=G,i.value=setInterval(()=>{if(Number(o.value)<=0||!o.value){l();return}else o.value=Number(o.value)-1},1e3),n)await n()===!1&&l();else return};return e.onBeforeUnmount(()=>{l()}),(r,m)=>{const p=e.resolveComponent("el-button");return e.openBlock(),e.createBlock(p,{class:"verifiaction-button",style:e.normalizeStyle({color:s.value?"var(--color-primary, #409EFF)":"var(--text-color-placeholder, #A8ABB2)",cursor:s.value?"pointer":"default"}),onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value?g:o.value+"s"),1)]),_:1},8,["style"])}}}),ke="",O=h(A,[["__scopeId","data-v-4074e137"]]),Q=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=n;return o.template={append:()=>e.h(O,{getSmscode:o.getSmscode})},(i,s)=>(e.openBlock(),e.createBlock(V,{item:e.unref(o),class:"input"},null,8,["item"]))}}),K=e.defineComponent({components:{slotArchive:t=>{const{templateEle:n}=t;return n()}},props:{item:null},setup(){},data(){return{dividerSetting:{...this.item.dividerSetting}}},methods:{currentInputComponent(){return"slot-archive"}}});function M(t,n,o,i,s,l){const a=e.resolveComponent("el-divider");return e.openBlock(),e.createBlock(a,e.normalizeProps(e.guardReactiveProps(t.dividerSetting)),e.createSlots({_:2},[e.renderList(t.item.template,(r,m)=>({name:m,fn:e.withCtx(()=>[r?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:m,templateEle:r},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040)}const J=h(K,[["render",M]]),W=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...n.radioGroupSetting});return(l,a)=>{const r=e.resolveComponent("el-radio"),m=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,e.mergeProps({size:e.unref(i),key:p.label,ref_for:!0},p),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:2},1040,["size"]))),128))]),_:1},16,["modelValue","size"])}}}),H=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...n.checkboxGroupSetting});return(l,a)=>{const r=e.resolveComponent("el-checkbox"),m=e.resolveComponent("el-checkbox-group");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,e.mergeProps({size:e.unref(i),key:p.label,ref_for:!0},p),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:2},1040,["size"]))),128))]),_:1},16,["modelValue","size"])}}}),X=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...L,...n.datePackerSetting});return(l,a)=>{const r=e.resolveComponent("el-date-picker");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i)},s.value),null,16,["modelValue","size"])}}}),Y=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...$,...n.selectSetting});return(l,a)=>{const r=e.resolveComponent("el-option"),m=e.resolveComponent("el-select");return e.openBlock(),e.createBlock(m,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=p=>e.unref(o)[l.item.prop]=p),size:e.unref(i)},s.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.item.option||[],p=>(e.openBlock(),e.createBlock(r,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","size"])}}}),Z=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),i=e.inject("size"),s=e.ref({...$,...n.selectSetting});return(l,a)=>{const r=e.resolveComponent("el-cascader");return e.openBlock(),e.createBlock(r,e.mergeProps({modelValue:e.unref(o)[l.item.prop],"onUpdate:modelValue":a[0]||(a[0]=m=>e.unref(o)[l.item.prop]=m),size:e.unref(i),options:l.item.options||[]},s.value),null,16,["modelValue","size","options"])}}}),v=e.defineComponent({name:"GeneralBasicForm",components:{Input:V,InputNumber:E,InputGraphicVerification:T,InputMobileVerification:Q,Divider:J,Radio:W,Checkbox:H,DatePicker:X,Select:Y,Cascader:Z},props:{showSearch:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},formOnly:{type:Boolean,default:!1},getList:{type:Function,default:()=>{}},afterReset:{type:Function,default:()=>{}},formItem:{type:Array,default:[]},size:{type:String,default:"default"},labelWidth:{type:String,default:"90px"},noUrlParameters:{type:Boolean,default:()=>!1},formData:{type:Object,default:()=>{}},noInputBlank:{type:Boolean,default:()=>!1}},data(){return{formLoading:this.loading||!1,trimRegex:/\S/}},setup(t){const{size:n,noUrlParameters:o,getList:i}=t,s=I.useRoute(),l=e.ref({...o?{}:s==null?void 0:s.query});return e.provide("queryParams",l),e.provide("size",n),e.provide("getList",i),{queryParams:l}},watch:{formData:{handler(t,n){JSON.stringify(t)!==JSON.stringify(n)&&(this.queryParams={...this.noUrlParameters?{}:this.queryParams,...t})},immediate:!0},queryParams:{handler(t){this.$emit("update:formData",t)},deep:!0},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},provide(){return{[q]:{formLoading:e.computed(()=>this.formLoading),updateFormLoading:t=>{this.formLoading=t}}}},methods:{handleQuery(){var o;const t={page:1,limit:10},n={...(o=this.$route)==null?void 0:o.query,...this.queryParams,...t};this.noUrlParameters||this.$router.push({query:{...n}}),this.getList({...n})},async resetQuery(){var n;this.$refs.queryFormRef.resetFields();const t={page:1};this.noUrlParameters||await this.$router.push({query:{...t}}),this.queryParams={...this.noUrlParameters?{}:(n=this.$route)==null?void 0:n.query},this.afterReset(),this.handleQuery()},getItemRules(t){const{type:n,rules:o=[]}=t,i=[...o];return this.noInputBlank&&n==="input"&&i.push({pattern:this.trimRegex,message:"请输入(不能仅输入空格)",trigger:"blur"}),i}}});function ee(t,n,o,i,s,l){const a=e.resolveComponent("Input"),r=e.resolveComponent("Radio"),m=e.resolveComponent("Select"),p=e.resolveComponent("Divider"),k=e.resolveComponent("Cascader"),u=e.resolveComponent("Checkbox"),C=e.resolveComponent("DatePicker"),S=e.resolveComponent("InputNumber"),P=e.resolveComponent("InputMobileVerification"),B=e.resolveComponent("InputGraphicVerification"),y=e.resolveComponent("el-form-item"),b=e.resolveComponent("el-button"),w=e.resolveComponent("el-form"),d=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createBlock(w,e.mergeProps({model:t.queryParams,ref:"queryFormRef",inline:"","label-position":"left","label-width":t.labelWidth},t.$attrs),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formItem,c=>(e.openBlock(),e.createBlock(y,{label:c.label,prop:c.prop,key:c.prop,rules:t.getItemRules(c)},{default:e.withCtx(()=>[c.type==="input"?(e.openBlock(),e.createBlock(a,{key:0,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="radio"?(e.openBlock(),e.createBlock(r,{key:1,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="select"?(e.openBlock(),e.createBlock(m,{key:2,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="divider"?(e.openBlock(),e.createBlock(p,{key:3,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="cascader"?(e.openBlock(),e.createBlock(k,{key:4,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="checkbox"?(e.openBlock(),e.createBlock(u,{key:5,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="date-picker"?(e.openBlock(),e.createBlock(C,{key:6,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="input-number"?(e.openBlock(),e.createBlock(S,{key:7,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="form-item-slot"?e.renderSlot(t.$slots,c.name,{key:8}):e.createCommentVNode("",!0),c.type==="input-mobile-verification"?(e.openBlock(),e.createBlock(P,{key:9,item:c},null,8,["item"])):e.createCommentVNode("",!0),c.type==="input-graphic-verification"?(e.openBlock(),e.createBlock(B,{item:c,key:c.key},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop","rules"]))),128)),e.renderSlot(t.$slots,"default"),t.formOnly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(y,{key:0},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(b,{type:"primary",size:t.size,onClick:t.handleQuery},{default:e.withCtx(()=>[e.createTextVNode("查询")]),_:1},8,["size","onClick"])),[[d,t.formLoading]]),e.createVNode(b,{size:t.size,onClick:t.resetQuery},{default:e.withCtx(()=>[e.createTextVNode("重置")]),_:1},8,["size","onClick"])]),_:1})),e.renderSlot(t.$slots,"behind-the-button")]),_:3},16,["model","label-width"])),[[e.vShow,t.showSearch]])}const te=h(v,[["render",ee]]),oe=["infinite-scroll-disabled"],ne=["infinite-scroll-disabled"],re={class:"checkbox"},le=e.defineComponent({__name:"InfiniteScrollList",props:{search:{type:Function,required:!0},checkbox:{type:Boolean,required:!1},id:{type:String,required:!0},name:{type:String,required:!0},extra:{type:null,required:!1},defaultSelection:{type:Array,required:!1}},setup(t,{expose:n}){const o=t,{search:i,id:s,name:l,extra:a}=o,r=e.ref([]),m=e.ref(1),p=e.ref(!1),k=e.ref([]),u=e.ref(!1),C=(d,c)=>{const{i:x}=d;return a&&a!=="false"?a(x):""},S=d=>{k.value=d.map(c=>typeof c=="object"?c[s]:c)};e.watch(()=>o.defaultSelection,(d=[],c=[])=>{S(d)},{immediate:!0});const P=()=>{B(),k.value=[]},B=()=>{m.value=1,r.value=[],p.value=!1},y=async()=>{if(u.value||p.value)return;u.value=!0;const d=await i(m.value);d&&d.length>0?(r.value=[...r.value,...d],m.value+=1):p.value=!0,u.value=!1},b=()=>{B(),y()},w=e.computed(()=>r.value.filter(d=>k.value.includes(d[s])))||{};return n({reset:P,lowReset:B,loadList:y,selectInfo:w,list:r,ifbottom:p,refreshList:b}),(d,c)=>{const x=e.resolveComponent("el-checkbox"),de=e.resolveComponent("el-checkbox-group"),D=e.resolveDirective("infinite-scroll"),fe=e.resolveDirective("loading");return o.checkbox?e.withDirectives((e.openBlock(),e.createBlock(de,e.mergeProps({key:0,modelValue:k.value,"onUpdate:modelValue":c[0]||(c[0]=_=>k.value=_)},o),{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("ul",{class:"list","infinite-scroll-disabled":p.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createElementBlock("li",{key:_[e.unref(s)],class:"list-item"},[e.createVNode(x,{label:_[e.unref(s)],class:"checkbox"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_[e.unref(l)])+" ",1),o.extra?(e.openBlock(),e.createBlock(C,{key:0,i:_},null,8,["i"])):e.createCommentVNode("",!0)]),_:2},1032,["label"])]))),128))],8,oe)),[[D,y]])]),_:1},16,["modelValue"])),[[fe,u.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("ul",e.mergeProps({key:1,class:"list","infinite-scroll-disabled":p.value},o),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createElementBlock("li",{key:_[e.unref(s)],class:"list-item"},[e.createElementVNode("div",re,[e.createTextVNode(e.toDisplayString(_[e.unref(l)])+" ",1),o.extra?(e.openBlock(),e.createBlock(C,{key:0,i:_},null,8,["i"])):e.createCommentVNode("",!0)])]))),128))],16,ne)),[[D,y]])}}}),ue="",ie=h(le,[["__scopeId","data-v-fa74e9b9"]]),se={key:1},ae=e.defineComponent({__name:"Descriptions",props:{formData:{type:Object,required:!0},formItem:{type:Array,required:!0}},setup(t){const n=t,o=(i,s)=>{const{i:l,render:a,formData:r}=i;return a({row:r,$index:l})};return(i,s)=>{const l=e.resolveComponent("el-descriptions-item"),a=e.resolveComponent("el-descriptions");return e.openBlock(),e.createBlock(a,e.mergeProps({column:1,border:"",class:"form-width"},n),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.formItem,(r,m)=>(e.openBlock(),e.createBlock(l,e.mergeProps({key:r.prop,label:r.label,ref_for:!0},r.descriptionsItemProps),{default:e.withCtx(()=>[r.render?(e.openBlock(),e.createBlock(o,{key:0,i:m,render:r.render,formData:t.formData},null,8,["i","render","formData"])):(e.openBlock(),e.createElementBlock("span",se,e.toDisplayString(t.formData[r.prop]),1))]),_:2},1040,["label"]))),128))]),_:1},16)}}}),ce=te,pe=ie,me=ae;f.VDescriptions=me,f.VGeneralBasicForm=ce,f.VInfiniteScrollList=pe,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,56 +1,61 @@
1
- {
2
- "name": "general-basic-form",
3
- "version": "2.0.42",
4
- "description": "",
5
- "main": "./dist/index.umd.cjs",
6
- "type": "module",
7
- "scripts": {
8
- "build": "cross-env CURRENT_ENV=prod run-p type-check build-only",
9
- "test:e2e": "playwright test",
10
- "build-only": "vite build",
11
- "type-check": "tsc --noEmit -p tsconfig.json --composite false",
12
- "link": "tsx script/link.ts && yarn link",
13
- "unlink": "tsx script/unlink.ts && yarn unlink && run-p build",
14
- "unlinkSetting": "tsx script/unlink.ts"
15
- },
16
- "keywords": [
17
- "general-basic-form",
18
- "form",
19
- "vue",
20
- "vue2",
21
- "vue3",
22
- "element-plus"
23
- ],
24
- "author": "chendeli419287484@qq.com",
25
- "license": "ISC",
26
- "repository": {
27
- "type": "git",
28
- "url": "git+https://github.com/Alan1034/GeneralBasicForm.git"
29
- },
30
- "devDependencies": {
31
- "@playwright/test": "^1.36.1",
32
- "@types/node": "^20.8.10",
33
- "@vitejs/plugin-legacy": "^4.1.1",
34
- "@vitejs/plugin-vue": "^4.2.3",
35
- "@vitejs/plugin-vue-jsx": "^3.0.1",
36
- "chalk": "^2.4.2",
37
- "cross-env": "^7.0.3",
38
- "less": "^4.2.0",
39
- "npm-run-all": "^4.1.5",
40
- "tsx": "^4.0.0",
41
- "typescript": "^5.2.2",
42
- "vite-plugin-image-optimizer": "^1.1.6"
43
- },
44
- "typings": "./dist/index.d.ts",
45
- "module": "./dist/index.js",
46
- "exports": {
47
- ".": {
48
- "import": "./dist/index.js",
49
- "require": "./dist/index.umd.cjs"
50
- },
51
- "./style": "./dist/style.css"
52
- },
53
- "files": [
54
- "/dist"
55
- ]
56
- }
1
+ {
2
+ "name": "general-basic-form",
3
+ "version": "2.0.43",
4
+ "description": "",
5
+ "main": "./dist/index.umd.cjs",
6
+ "type": "module",
7
+ "scripts": {
8
+ "build": "cross-env CURRENT_ENV=prod run-p type-check build-only",
9
+ "test:e2e": "playwright test",
10
+ "build-only": "vite build",
11
+ "type-check": "tsc --noEmit -p tsconfig.json --composite false",
12
+ "link": "tsx script/link.ts && yarn link",
13
+ "unlink": "tsx script/unlink.ts && yarn unlink && run-p build",
14
+ "unlinkSetting": "tsx script/unlink.ts"
15
+ },
16
+ "keywords": [
17
+ "general-basic-form",
18
+ "form",
19
+ "vue",
20
+ "vue2",
21
+ "vue3",
22
+ "element-plus"
23
+ ],
24
+ "author": "chendeli419287484@qq.com",
25
+ "license": "ISC",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/Alan1034/GeneralBasicForm.git"
29
+ },
30
+ "devDependencies": {
31
+ "@playwright/test": "^1.36.1",
32
+ "@types/node": "^20.8.10",
33
+ "@vitejs/plugin-legacy": "^4.1.1",
34
+ "@vitejs/plugin-vue": "^4.2.3",
35
+ "@vitejs/plugin-vue-jsx": "^3.0.1",
36
+ "chalk": "^2.4.2",
37
+ "cross-env": "^7.0.3",
38
+ "less": "^4.2.0",
39
+ "npm-run-all": "^4.1.5",
40
+ "tsx": "^4.0.0",
41
+ "typescript": "^5.2.2",
42
+ "vite-plugin-image-optimizer": "^1.1.6"
43
+ },
44
+ "peerDependencies": {
45
+ "element-plus": ">=2.6.0",
46
+ "vue": ">=3.3.4",
47
+ "vue-router": ">=4.2.4"
48
+ },
49
+ "typings": "./dist/index.d.ts",
50
+ "module": "./dist/index.js",
51
+ "exports": {
52
+ ".": {
53
+ "import": "./dist/index.js",
54
+ "require": "./dist/index.umd.cjs"
55
+ },
56
+ "./style": "./dist/style.css"
57
+ },
58
+ "files": [
59
+ "/dist"
60
+ ]
61
+ }