general-basic-form 2.0.8 → 2.0.9

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
@@ -13,7 +13,7 @@ app.use(ElementPlus)
13
13
  ```
14
14
 
15
15
  ```
16
- import GeneralBasicForm from 'general-basic-form'
16
+ import { VGeneralBasicForm } from 'general-basic-form'
17
17
  import 'general-basic-form/style'
18
18
  ```
19
19
 
@@ -25,7 +25,14 @@ import 'general-basic-form/style'
25
25
  ref="generalBasicForm"
26
26
  labelWidth="90px"
27
27
  >
28
- ...一些传入插槽的内容
28
+ <template v-slot:default>
29
+ ...一些传入插槽的内容
30
+ </template>
31
+ <template v-slot:behind-the-button>
32
+ <el-form-item>
33
+ <div>上次同步时间:</div>
34
+ </el-form-item>
35
+ </template>
29
36
  </GeneralBasicForm>
30
37
 
31
38
  ![image-20210903165502942](https://raw.githubusercontent.com/Alan1034/PicturesServer/main/PicGo_imgs/202109031655830.png)
@@ -89,6 +96,21 @@ getList会传出默认的参数,首次请求时会有页数和分页大小,重
89
96
  })
90
97
  return state
91
98
  },
99
+
100
+ setup写法:
101
+ const VGeneralBasicFormRef = ref()
102
+ const params = await new Promise<boolean>((resolve, reject) => {
103
+ VGeneralBasicFormRef.value.$refs['queryFormRef']?.validate(
104
+ async (valid: boolean, props?: FormItemProp[] | undefined) => {
105
+ if (valid) {
106
+ const params = VGeneralBasicFormRef.value['queryParams']
107
+ resolve(params)
108
+ } else {
109
+ reject(false)
110
+ }
111
+ }
112
+ )
113
+ })
92
114
 
93
115
 
94
116
  ![image-20211014191532067](https://raw.githubusercontent.com/Alan1034/PicturesServer/main/PicGo_imgs/202110141915657.png)
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { defineComponent as v, inject as g, resolveComponent as s, openBlock as r, createBlock as a, mergeProps as h, withKeys as J, createSlots as F, renderList as P, withCtx as f, resolveDynamicComponent as D, createCommentVNode as m, ref as z, unref as _, resolveDirective as G, withDirectives as L, createElementBlock as $, createVNode as N, createElementVNode as X, computed as R, onBeforeUnmount as Y, normalizeStyle as Z, createTextVNode as q, toDisplayString as E, h as x, normalizeProps as ee, guardReactiveProps as te, Fragment as C, provide as I, renderSlot as ne, vShow as oe } from "vue";
1
+ import { defineComponent as v, inject as g, resolveComponent as s, openBlock as r, createBlock as a, mergeProps as h, withKeys as X, createSlots as D, renderList as P, withCtx as f, resolveDynamicComponent as G, createCommentVNode as m, ref as z, unref as _, resolveDirective as N, withDirectives as L, createElementBlock as $, createVNode as R, createElementVNode as Y, computed as E, onBeforeUnmount as Z, normalizeStyle as x, createTextVNode as q, toDisplayString as A, h as ee, normalizeProps as te, guardReactiveProps as ne, Fragment as C, provide as I, renderSlot as F, vShow as oe } from "vue";
2
2
  import { useRoute as re } from "vue-router";
3
- const A = {
3
+ const Q = {
4
4
  placeholder: "请输入",
5
5
  style: "width: 200px",
6
6
  clearable: !0
@@ -22,7 +22,7 @@ const A = {
22
22
  data() {
23
23
  return {
24
24
  inputSetting: {
25
- ...A,
25
+ ...Q,
26
26
  ...this.item.inputSetting
27
27
  }
28
28
  };
@@ -53,15 +53,15 @@ const A = {
53
53
  function ie(e, n, t, i, l, c) {
54
54
  const p = s("el-input");
55
55
  return r(), a(p, h({
56
- onKeydown: J(e.getList, ["enter"]),
56
+ onKeydown: X(e.getList, ["enter"]),
57
57
  modelValue: e.queryParams[e.item.prop],
58
58
  "onUpdate:modelValue": n[0] || (n[0] = (u) => e.queryParams[e.item.prop] = u),
59
59
  size: e.size
60
- }, e.inputSetting), F({ _: 2 }, [
60
+ }, e.inputSetting), D({ _: 2 }, [
61
61
  P(e.item.template, (u, d) => ({
62
62
  name: d,
63
63
  fn: f(() => [
64
- u ? (r(), a(D(e.currentInputComponent()), {
64
+ u ? (r(), a(G(e.currentInputComponent()), {
65
65
  key: d,
66
66
  templateEle: u
67
67
  }, null, 8, ["templateEle"])) : m("", !0)
@@ -76,7 +76,7 @@ const w = /* @__PURE__ */ V(ae, [["render", ie]]), le = /* @__PURE__ */ v({
76
76
  },
77
77
  setup(e) {
78
78
  const { item: n } = e, t = g("queryParams", {}), i = g("size"), l = z({
79
- ...A,
79
+ ...Q,
80
80
  ...n.inputSetting
81
81
  });
82
82
  return (c, p) => {
@@ -88,24 +88,24 @@ const w = /* @__PURE__ */ V(ae, [["render", ie]]), le = /* @__PURE__ */ v({
88
88
  }, l.value), null, 16, ["modelValue", "size"]);
89
89
  };
90
90
  }
91
- }), Q = Symbol(), se = { class: "input-graphic-verification" }, ue = ["src"], pe = /* @__PURE__ */ v({
91
+ }), T = Symbol(), se = { class: "input-graphic-verification" }, ue = ["src"], pe = /* @__PURE__ */ v({
92
92
  __name: "index",
93
93
  props: {
94
94
  item: {}
95
95
  },
96
96
  setup(e) {
97
97
  const { item: n } = e, { graphicSrc: t = "", getGraphic: i = () => {
98
- } } = n, { formLoading: l, updateFormLoading: c } = g(Q), p = async () => {
98
+ } } = n, { formLoading: l, updateFormLoading: c } = g(T), p = async () => {
99
99
  i && !l.value && await i();
100
100
  };
101
101
  return (u, d) => {
102
- const b = G("loading");
102
+ const b = N("loading");
103
103
  return L((r(), $("div", se, [
104
- N(w, {
104
+ R(w, {
105
105
  item: u.item,
106
106
  class: "input"
107
107
  }, null, 8, ["item"]),
108
- X("img", {
108
+ Y("img", {
109
109
  class: "graphic",
110
110
  onClick: p,
111
111
  src: _(t)
@@ -122,7 +122,7 @@ const ce = /* @__PURE__ */ V(pe, [["__scopeId", "data-v-500ec9b0"]]), k = "获
122
122
  getSmscode: { type: Function }
123
123
  },
124
124
  setup(e) {
125
- const { getSmscode: n } = e, t = z(k), i = z(null), l = R(() => t.value === k), c = () => {
125
+ const { getSmscode: n } = e, t = z(k), i = z(null), l = E(() => t.value === k), c = () => {
126
126
  i && (clearInterval(i.value), i.value = null, t.value = k);
127
127
  }, p = async () => {
128
128
  if (t.value === k)
@@ -137,20 +137,20 @@ const ce = /* @__PURE__ */ V(pe, [["__scopeId", "data-v-500ec9b0"]]), k = "获
137
137
  else
138
138
  return;
139
139
  };
140
- return Y(() => {
140
+ return Z(() => {
141
141
  c();
142
142
  }), (u, d) => {
143
143
  const b = s("el-button");
144
144
  return r(), a(b, {
145
145
  class: "verifiaction-button",
146
- style: Z({
146
+ style: x({
147
147
  color: l.value ? "var(--color-primary, #409EFF)" : "var(--text-color-placeholder, #A8ABB2)",
148
148
  cursor: l.value ? "pointer" : "default"
149
149
  }),
150
150
  onClick: p
151
151
  }, {
152
152
  default: f(() => [
153
- q(E(l.value ? k : t.value + "s"), 1)
153
+ q(A(l.value ? k : t.value + "s"), 1)
154
154
  ]),
155
155
  _: 1
156
156
  }, 8, ["style"]);
@@ -165,7 +165,7 @@ const fe = /* @__PURE__ */ V(me, [["__scopeId", "data-v-4074e137"]]), _e = /* @_
165
165
  setup(e) {
166
166
  const { item: n } = e, t = n;
167
167
  return t.template = {
168
- append: () => x(fe, {
168
+ append: () => ee(fe, {
169
169
  getSmscode: t.getSmscode
170
170
  })
171
171
  }, (i, l) => (r(), a(w, {
@@ -201,11 +201,11 @@ const fe = /* @__PURE__ */ V(me, [["__scopeId", "data-v-4074e137"]]), _e = /* @_
201
201
  });
202
202
  function he(e, n, t, i, l, c) {
203
203
  const p = s("el-divider");
204
- return r(), a(p, ee(te(e.dividerSetting)), F({ _: 2 }, [
204
+ return r(), a(p, te(ne(e.dividerSetting)), D({ _: 2 }, [
205
205
  P(e.item.template, (u, d) => ({
206
206
  name: d,
207
207
  fn: f(() => [
208
- u ? (r(), a(D(e.currentInputComponent()), {
208
+ u ? (r(), a(G(e.currentInputComponent()), {
209
209
  key: d,
210
210
  templateEle: u
211
211
  }, null, 8, ["templateEle"])) : m("", !0)
@@ -238,7 +238,7 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
238
238
  key: S.label
239
239
  }, l.value), {
240
240
  default: f(() => [
241
- q(E(S.value), 1)
241
+ q(A(S.value), 1)
242
242
  ]),
243
243
  _: 2
244
244
  }, 1040, ["size", "label"]))), 128))
@@ -368,8 +368,8 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
368
368
  provide() {
369
369
  return {
370
370
  // 显式提供一个计算属性
371
- [Q]: {
372
- formLoading: R(() => this.formLoading),
371
+ [T]: {
372
+ formLoading: E(() => this.formLoading),
373
373
  updateFormLoading: (e) => {
374
374
  this.formLoading = e;
375
375
  }
@@ -405,8 +405,8 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
405
405
  }
406
406
  });
407
407
  function Se(e, n, t, i, l, c) {
408
- const p = s("Input"), u = s("InputGraphicVerification"), d = s("InputMobileVerification"), b = s("Divider"), S = s("Radio"), T = s("el-option"), K = s("el-select"), O = s("el-cascader"), M = s("el-date-picker"), j = s("InputNumber"), B = s("el-form-item"), U = s("el-button"), W = s("el-form"), H = G("loading");
409
- return L((r(), a(W, h({
408
+ const p = s("Input"), u = s("InputGraphicVerification"), d = s("InputMobileVerification"), b = s("Divider"), S = s("Radio"), K = s("el-option"), O = s("el-select"), M = s("el-cascader"), j = s("el-date-picker"), W = s("InputNumber"), B = s("el-form-item"), U = s("el-button"), H = s("el-form"), J = N("loading");
409
+ return L((r(), a(H, h({
410
410
  model: e.queryParams,
411
411
  ref: "queryFormRef",
412
412
  inline: "",
@@ -441,7 +441,7 @@ function Se(e, n, t, i, l, c) {
441
441
  key: 4,
442
442
  item: o
443
443
  }, null, 8, ["item"])) : m("", !0),
444
- o.type === "select" ? (r(), a(K, h({
444
+ o.type === "select" ? (r(), a(O, h({
445
445
  key: 5,
446
446
  filterable: "",
447
447
  modelValue: e.queryParams[o.prop],
@@ -449,7 +449,7 @@ function Se(e, n, t, i, l, c) {
449
449
  size: e.size
450
450
  }, o.selectSetting || e.selectSetting), {
451
451
  default: f(() => [
452
- (r(!0), $(C, null, P(o.option || [], (y) => (r(), a(T, {
452
+ (r(!0), $(C, null, P(o.option || [], (y) => (r(), a(K, {
453
453
  key: y.value,
454
454
  label: y.label,
455
455
  value: y.value
@@ -457,7 +457,7 @@ function Se(e, n, t, i, l, c) {
457
457
  ]),
458
458
  _: 2
459
459
  }, 1040, ["modelValue", "onUpdate:modelValue", "size"])) : m("", !0),
460
- o.type === "cascader" ? (r(), a(O, h({
460
+ o.type === "cascader" ? (r(), a(M, h({
461
461
  key: 6,
462
462
  filterable: "",
463
463
  modelValue: e.queryParams[o.prop],
@@ -465,25 +465,24 @@ function Se(e, n, t, i, l, c) {
465
465
  size: e.size,
466
466
  options: o.options || []
467
467
  }, o.selectSetting || e.selectSetting), null, 16, ["modelValue", "onUpdate:modelValue", "size", "options"])) : m("", !0),
468
- o.type === "date-picker" ? (r(), a(M, h({
468
+ o.type === "date-picker" ? (r(), a(j, h({
469
469
  key: 7,
470
470
  modelValue: e.queryParams[o.prop],
471
471
  "onUpdate:modelValue": (y) => e.queryParams[o.prop] = y,
472
472
  size: e.size
473
473
  }, o.datePackerSetting || e.datePackerSetting), null, 16, ["modelValue", "onUpdate:modelValue", "size"])) : m("", !0),
474
- o.type === "input-number" ? (r(), a(j, {
474
+ o.type === "input-number" ? (r(), a(W, {
475
475
  key: 8,
476
476
  item: o
477
477
  }, null, 8, ["item"])) : m("", !0)
478
478
  ]),
479
479
  _: 2
480
480
  }, 1032, ["label", "prop", "rules"]))), 128)),
481
- ne(e.$slots, "default"),
481
+ F(e.$slots, "default"),
482
482
  e.formOnly ? m("", !0) : (r(), a(B, { key: 0 }, {
483
483
  default: f(() => [
484
484
  L((r(), a(U, {
485
485
  type: "primary",
486
- icon: "el-icon-search",
487
486
  size: e.size,
488
487
  onClick: e.handleQuery
489
488
  }, {
@@ -492,10 +491,9 @@ function Se(e, n, t, i, l, c) {
492
491
  ]),
493
492
  _: 1
494
493
  }, 8, ["size", "onClick"])), [
495
- [H, e.formLoading]
494
+ [J, e.formLoading]
496
495
  ]),
497
- N(U, {
498
- icon: "el-icon-refresh",
496
+ R(U, {
499
497
  size: e.size,
500
498
  onClick: e.resetQuery
501
499
  }, {
@@ -506,7 +504,8 @@ function Se(e, n, t, i, l, c) {
506
504
  }, 8, ["size", "onClick"])
507
505
  ]),
508
506
  _: 1
509
- }))
507
+ })),
508
+ F(e.$slots, "behind-the-button")
510
509
  ]),
511
510
  _: 3
512
511
  }, 16, ["model", "label-width"])), [
@@ -1 +1 @@
1
- (function(d,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):(d=typeof globalThis<"u"?globalThis:d||self,e(d.Index={},d.Vue,d["vue-router"]))})(this,function(d,e,V){"use strict";const k={placeholder:"请输入",style:"width: 200px",clearable:!0},b=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:{...k,...this.item.inputSetting}}},methods:{currentInputComponent(){return"input-archive"}}}),y=(t,n)=>{const o=t.__vccOpts||t;for(const[a,l]of n)o[a]=l;return o};function P(t,n,o,a,l,c){const s=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(s,e.mergeProps({onKeydown:e.withKeys(t.getList,["enter"]),modelValue:t.queryParams[t.item.prop],"onUpdate:modelValue":n[0]||(n[0]=i=>t.queryParams[t.item.prop]=i),size:t.size},t.inputSetting),e.createSlots({_:2},[e.renderList(t.item.template,(i,p)=>({name:p,fn:e.withCtx(()=>[i?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:p,templateEle:i},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040,["onKeydown","modelValue","size"])}const h=y(b,[["render",P]]),S=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),a=e.inject("size"),l=e.ref({...k,...n.inputSetting});return(c,s)=>{const i=e.resolveComponent("el-input-number");return e.openBlock(),e.createBlock(i,e.mergeProps({modelValue:e.unref(o)[c.item.prop],"onUpdate:modelValue":s[0]||(s[0]=p=>e.unref(o)[c.item.prop]=p),size:e.unref(a)},l.value),null,16,["modelValue","size"])}}}),g=Symbol(),z={class:"input-graphic-verification"},q=["src"],w=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,{graphicSrc:o="",getGraphic:a=()=>{}}=n,{formLoading:l,updateFormLoading:c}=e.inject(g),s=async()=>{a&&!l.value&&await a()};return(i,p)=>{const u=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",z,[e.createVNode(h,{item:i.item,class:"input"},null,8,["item"]),e.createElementVNode("img",{class:"graphic",onClick:s,src:e.unref(o)},null,8,q)])),[[u,e.unref(l)]])}}}),J="",$=y(w,[["__scopeId","data-v-500ec9b0"]]),_="获取验证码",I=60,L=e.defineComponent({__name:"verification-button",props:{getSmscode:{type:Function}},setup(t){const{getSmscode:n}=t,o=e.ref(_),a=e.ref(null),l=e.computed(()=>o.value===_),c=()=>{a&&(clearInterval(a.value),a.value=null,o.value=_)},s=async()=>{if(o.value===_)if(o.value=I,a.value=setInterval(()=>{if(Number(o.value)<=0||!o.value){c();return}else o.value=Number(o.value)-1},1e3),n)await n()===!1&&c();else return};return e.onBeforeUnmount(()=>{c()}),(i,p)=>{const u=e.resolveComponent("el-button");return e.openBlock(),e.createBlock(u,{class:"verifiaction-button",style:e.normalizeStyle({color:l.value?"var(--color-primary, #409EFF)":"var(--text-color-placeholder, #A8ABB2)",cursor:l.value?"pointer":"default"}),onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?_:o.value+"s"),1)]),_:1},8,["style"])}}}),X="",N=y(L,[["__scopeId","data-v-4074e137"]]),F=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=n;return o.template={append:()=>e.h(N,{getSmscode:o.getSmscode})},(a,l)=>(e.openBlock(),e.createBlock(h,{item:e.unref(o),class:"input"},null,8,["item"]))}}),D=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 U(t,n,o,a,l,c){const s=e.resolveComponent("el-divider");return e.openBlock(),e.createBlock(s,e.normalizeProps(e.guardReactiveProps(t.dividerSetting)),e.createSlots({_:2},[e.renderList(t.item.template,(i,p)=>({name:p,fn:e.withCtx(()=>[i?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:p,templateEle:i},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040)}const j=y(D,[["render",U]]),E=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),a=e.inject("size"),l=e.ref({...n.radioSetting}),c=e.ref({...n.radioGroupSetting});return(s,i)=>{const p=e.resolveComponent("el-radio"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(u,e.mergeProps({modelValue:e.unref(o)[s.item.prop],"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(o)[s.item.prop]=f),size:e.unref(a)},c.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.option||[],f=>(e.openBlock(),e.createBlock(p,e.mergeProps({size:e.unref(a),label:f.label,key:f.label},l.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value),1)]),_:2},1040,["size","label"]))),128))]),_:1},16,["modelValue","size"])}}}),G=e.defineComponent({name:"GeneralBasicForm",components:{Input:h,InputNumber:S,InputGraphicVerification:$,InputMobileVerification:F,Divider:j,Radio:E},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:()=>{}}},data(){return{formLoading:this.loading||!1,selectSetting:{placeholder:"请选择",clearable:!0,style:"width: 200px"},datePackerSetting:{style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"}}},setup(t){const{size:n,noUrlParameters:o,getList:a}=t,l=V.useRoute(),c=e.ref({...o?{}:l==null?void 0:l.query});return e.provide("queryParams",c),e.provide("size",n),e.provide("getList",a),{queryParams:c}},watch:{formData(t){this.queryParams={...this.noUrlParameters?{}:this.queryParams,...t}},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},provide(){return{[g]:{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()}}});function T(t,n,o,a,l,c){const s=e.resolveComponent("Input"),i=e.resolveComponent("InputGraphicVerification"),p=e.resolveComponent("InputMobileVerification"),u=e.resolveComponent("Divider"),f=e.resolveComponent("Radio"),A=e.resolveComponent("el-option"),O=e.resolveComponent("el-select"),Q=e.resolveComponent("el-cascader"),K=e.resolveComponent("el-date-picker"),M=e.resolveComponent("InputNumber"),B=e.resolveComponent("el-form-item"),C=e.resolveComponent("el-button"),W=e.resolveComponent("el-form"),H=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,r=>(e.openBlock(),e.createBlock(B,{label:r.label,prop:r.prop,key:r.prop,rules:r.rules},{default:e.withCtx(()=>[r.type==="input"?(e.openBlock(),e.createBlock(s,{key:0,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="input-graphic-verification"?(e.openBlock(),e.createBlock(i,{item:r,key:r.key},null,8,["item"])):e.createCommentVNode("",!0),r.type==="input-mobile-verification"?(e.openBlock(),e.createBlock(p,{key:2,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="divider"?(e.openBlock(),e.createBlock(u,{key:3,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="radio"?(e.openBlock(),e.createBlock(f,{key:4,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="select"?(e.openBlock(),e.createBlock(O,e.mergeProps({key:5,filterable:"",modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size},r.selectSetting||t.selectSetting),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.option||[],m=>(e.openBlock(),e.createBlock(A,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","size"])):e.createCommentVNode("",!0),r.type==="cascader"?(e.openBlock(),e.createBlock(Q,e.mergeProps({key:6,filterable:"",modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size,options:r.options||[]},r.selectSetting||t.selectSetting),null,16,["modelValue","onUpdate:modelValue","size","options"])):e.createCommentVNode("",!0),r.type==="date-picker"?(e.openBlock(),e.createBlock(K,e.mergeProps({key:7,modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size},r.datePackerSetting||t.datePackerSetting),null,16,["modelValue","onUpdate:modelValue","size"])):e.createCommentVNode("",!0),r.type==="input-number"?(e.openBlock(),e.createBlock(M,{key:8,item:r},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(B,{key:0},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(C,{type:"primary",icon:"el-icon-search",size:t.size,onClick:t.handleQuery},{default:e.withCtx(()=>[e.createTextVNode("查询")]),_:1},8,["size","onClick"])),[[H,t.formLoading]]),e.createVNode(C,{icon:"el-icon-refresh",size:t.size,onClick:t.resetQuery},{default:e.withCtx(()=>[e.createTextVNode("重置")]),_:1},8,["size","onClick"])]),_:1}))]),_:3},16,["model","label-width"])),[[e.vShow,t.showSearch]])}const R=y(G,[["render",T]]);d.VGeneralBasicForm=R,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
1
+ (function(d,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):(d=typeof globalThis<"u"?globalThis:d||self,e(d.Index={},d.Vue,d["vue-router"]))})(this,function(d,e,V){"use strict";const k={placeholder:"请输入",style:"width: 200px",clearable:!0},b=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:{...k,...this.item.inputSetting}}},methods:{currentInputComponent(){return"input-archive"}}}),y=(t,n)=>{const o=t.__vccOpts||t;for(const[a,l]of n)o[a]=l;return o};function P(t,n,o,a,l,c){const s=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(s,e.mergeProps({onKeydown:e.withKeys(t.getList,["enter"]),modelValue:t.queryParams[t.item.prop],"onUpdate:modelValue":n[0]||(n[0]=i=>t.queryParams[t.item.prop]=i),size:t.size},t.inputSetting),e.createSlots({_:2},[e.renderList(t.item.template,(i,p)=>({name:p,fn:e.withCtx(()=>[i?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:p,templateEle:i},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040,["onKeydown","modelValue","size"])}const h=y(b,[["render",P]]),S=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),a=e.inject("size"),l=e.ref({...k,...n.inputSetting});return(c,s)=>{const i=e.resolveComponent("el-input-number");return e.openBlock(),e.createBlock(i,e.mergeProps({modelValue:e.unref(o)[c.item.prop],"onUpdate:modelValue":s[0]||(s[0]=p=>e.unref(o)[c.item.prop]=p),size:e.unref(a)},l.value),null,16,["modelValue","size"])}}}),g=Symbol(),z={class:"input-graphic-verification"},q=["src"],$=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,{graphicSrc:o="",getGraphic:a=()=>{}}=n,{formLoading:l,updateFormLoading:c}=e.inject(g),s=async()=>{a&&!l.value&&await a()};return(i,p)=>{const u=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",z,[e.createVNode(h,{item:i.item,class:"input"},null,8,["item"]),e.createElementVNode("img",{class:"graphic",onClick:s,src:e.unref(o)},null,8,q)])),[[u,e.unref(l)]])}}}),J="",w=y($,[["__scopeId","data-v-500ec9b0"]]),_="获取验证码",I=60,L=e.defineComponent({__name:"verification-button",props:{getSmscode:{type:Function}},setup(t){const{getSmscode:n}=t,o=e.ref(_),a=e.ref(null),l=e.computed(()=>o.value===_),c=()=>{a&&(clearInterval(a.value),a.value=null,o.value=_)},s=async()=>{if(o.value===_)if(o.value=I,a.value=setInterval(()=>{if(Number(o.value)<=0||!o.value){c();return}else o.value=Number(o.value)-1},1e3),n)await n()===!1&&c();else return};return e.onBeforeUnmount(()=>{c()}),(i,p)=>{const u=e.resolveComponent("el-button");return e.openBlock(),e.createBlock(u,{class:"verifiaction-button",style:e.normalizeStyle({color:l.value?"var(--color-primary, #409EFF)":"var(--text-color-placeholder, #A8ABB2)",cursor:l.value?"pointer":"default"}),onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?_:o.value+"s"),1)]),_:1},8,["style"])}}}),X="",N=y(L,[["__scopeId","data-v-4074e137"]]),F=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=n;return o.template={append:()=>e.h(N,{getSmscode:o.getSmscode})},(a,l)=>(e.openBlock(),e.createBlock(h,{item:e.unref(o),class:"input"},null,8,["item"]))}}),D=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 U(t,n,o,a,l,c){const s=e.resolveComponent("el-divider");return e.openBlock(),e.createBlock(s,e.normalizeProps(e.guardReactiveProps(t.dividerSetting)),e.createSlots({_:2},[e.renderList(t.item.template,(i,p)=>({name:p,fn:e.withCtx(()=>[i?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.currentInputComponent()),{key:p,templateEle:i},null,8,["templateEle"])):e.createCommentVNode("",!0)])}))]),1040)}const j=y(D,[["render",U]]),E=e.defineComponent({__name:"index",props:{item:{}},setup(t){const{item:n}=t,o=e.inject("queryParams",{}),a=e.inject("size"),l=e.ref({...n.radioSetting}),c=e.ref({...n.radioGroupSetting});return(s,i)=>{const p=e.resolveComponent("el-radio"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(u,e.mergeProps({modelValue:e.unref(o)[s.item.prop],"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(o)[s.item.prop]=f),size:e.unref(a)},c.value),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.option||[],f=>(e.openBlock(),e.createBlock(p,e.mergeProps({size:e.unref(a),label:f.label,key:f.label},l.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value),1)]),_:2},1040,["size","label"]))),128))]),_:1},16,["modelValue","size"])}}}),G=e.defineComponent({name:"GeneralBasicForm",components:{Input:h,InputNumber:S,InputGraphicVerification:w,InputMobileVerification:F,Divider:j,Radio:E},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:()=>{}}},data(){return{formLoading:this.loading||!1,selectSetting:{placeholder:"请选择",clearable:!0,style:"width: 200px"},datePackerSetting:{style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"}}},setup(t){const{size:n,noUrlParameters:o,getList:a}=t,l=V.useRoute(),c=e.ref({...o?{}:l==null?void 0:l.query});return e.provide("queryParams",c),e.provide("size",n),e.provide("getList",a),{queryParams:c}},watch:{formData(t){this.queryParams={...this.noUrlParameters?{}:this.queryParams,...t}},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},provide(){return{[g]:{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()}}});function T(t,n,o,a,l,c){const s=e.resolveComponent("Input"),i=e.resolveComponent("InputGraphicVerification"),p=e.resolveComponent("InputMobileVerification"),u=e.resolveComponent("Divider"),f=e.resolveComponent("Radio"),A=e.resolveComponent("el-option"),O=e.resolveComponent("el-select"),Q=e.resolveComponent("el-cascader"),K=e.resolveComponent("el-date-picker"),M=e.resolveComponent("InputNumber"),B=e.resolveComponent("el-form-item"),C=e.resolveComponent("el-button"),W=e.resolveComponent("el-form"),H=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,r=>(e.openBlock(),e.createBlock(B,{label:r.label,prop:r.prop,key:r.prop,rules:r.rules},{default:e.withCtx(()=>[r.type==="input"?(e.openBlock(),e.createBlock(s,{key:0,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="input-graphic-verification"?(e.openBlock(),e.createBlock(i,{item:r,key:r.key},null,8,["item"])):e.createCommentVNode("",!0),r.type==="input-mobile-verification"?(e.openBlock(),e.createBlock(p,{key:2,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="divider"?(e.openBlock(),e.createBlock(u,{key:3,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="radio"?(e.openBlock(),e.createBlock(f,{key:4,item:r},null,8,["item"])):e.createCommentVNode("",!0),r.type==="select"?(e.openBlock(),e.createBlock(O,e.mergeProps({key:5,filterable:"",modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size},r.selectSetting||t.selectSetting),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.option||[],m=>(e.openBlock(),e.createBlock(A,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","size"])):e.createCommentVNode("",!0),r.type==="cascader"?(e.openBlock(),e.createBlock(Q,e.mergeProps({key:6,filterable:"",modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size,options:r.options||[]},r.selectSetting||t.selectSetting),null,16,["modelValue","onUpdate:modelValue","size","options"])):e.createCommentVNode("",!0),r.type==="date-picker"?(e.openBlock(),e.createBlock(K,e.mergeProps({key:7,modelValue:t.queryParams[r.prop],"onUpdate:modelValue":m=>t.queryParams[r.prop]=m,size:t.size},r.datePackerSetting||t.datePackerSetting),null,16,["modelValue","onUpdate:modelValue","size"])):e.createCommentVNode("",!0),r.type==="input-number"?(e.openBlock(),e.createBlock(M,{key:8,item:r},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(B,{key:0},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(C,{type:"primary",size:t.size,onClick:t.handleQuery},{default:e.withCtx(()=>[e.createTextVNode("查询")]),_:1},8,["size","onClick"])),[[H,t.formLoading]]),e.createVNode(C,{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 R=y(G,[["render",T]]);d.VGeneralBasicForm=R,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "general-basic-form",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "description": "",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "type": "module",