general-basic-form 2.0.8 → 2.0.10

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))
@@ -352,11 +352,17 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
352
352
  };
353
353
  },
354
354
  watch: {
355
- formData(e) {
356
- this.queryParams = {
357
- ...this.noUrlParameters ? {} : this.queryParams,
358
- ...e
359
- };
355
+ formData: {
356
+ handler(e) {
357
+ this.queryParams = {
358
+ ...this.noUrlParameters ? {} : this.queryParams,
359
+ ...e
360
+ };
361
+ },
362
+ // watch 默认是懒执行的:仅当数据源变化时,才会执行回调。但在某些场景中,我们希望在创建侦听器时,立即执行一遍回调。举例来说,我们想请求一些初始数据,然后在相关状态更改时重新请求数据。
363
+ // https://cn.vuejs.org/guide/essentials/watchers.html#deep-watchers
364
+ immediate: !0
365
+ // deep: true,
360
366
  },
361
367
  loading(e) {
362
368
  this.formLoading !== e && (this.formLoading = e);
@@ -368,8 +374,8 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
368
374
  provide() {
369
375
  return {
370
376
  // 显式提供一个计算属性
371
- [Q]: {
372
- formLoading: R(() => this.formLoading),
377
+ [T]: {
378
+ formLoading: E(() => this.formLoading),
373
379
  updateFormLoading: (e) => {
374
380
  this.formLoading = e;
375
381
  }
@@ -405,8 +411,8 @@ const ge = /* @__PURE__ */ V(ye, [["render", he]]), ve = /* @__PURE__ */ v({
405
411
  }
406
412
  });
407
413
  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({
414
+ 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");
415
+ return L((r(), a(H, h({
410
416
  model: e.queryParams,
411
417
  ref: "queryFormRef",
412
418
  inline: "",
@@ -441,7 +447,7 @@ function Se(e, n, t, i, l, c) {
441
447
  key: 4,
442
448
  item: o
443
449
  }, null, 8, ["item"])) : m("", !0),
444
- o.type === "select" ? (r(), a(K, h({
450
+ o.type === "select" ? (r(), a(O, h({
445
451
  key: 5,
446
452
  filterable: "",
447
453
  modelValue: e.queryParams[o.prop],
@@ -449,7 +455,7 @@ function Se(e, n, t, i, l, c) {
449
455
  size: e.size
450
456
  }, o.selectSetting || e.selectSetting), {
451
457
  default: f(() => [
452
- (r(!0), $(C, null, P(o.option || [], (y) => (r(), a(T, {
458
+ (r(!0), $(C, null, P(o.option || [], (y) => (r(), a(K, {
453
459
  key: y.value,
454
460
  label: y.label,
455
461
  value: y.value
@@ -457,7 +463,7 @@ function Se(e, n, t, i, l, c) {
457
463
  ]),
458
464
  _: 2
459
465
  }, 1040, ["modelValue", "onUpdate:modelValue", "size"])) : m("", !0),
460
- o.type === "cascader" ? (r(), a(O, h({
466
+ o.type === "cascader" ? (r(), a(M, h({
461
467
  key: 6,
462
468
  filterable: "",
463
469
  modelValue: e.queryParams[o.prop],
@@ -465,25 +471,24 @@ function Se(e, n, t, i, l, c) {
465
471
  size: e.size,
466
472
  options: o.options || []
467
473
  }, o.selectSetting || e.selectSetting), null, 16, ["modelValue", "onUpdate:modelValue", "size", "options"])) : m("", !0),
468
- o.type === "date-picker" ? (r(), a(M, h({
474
+ o.type === "date-picker" ? (r(), a(j, h({
469
475
  key: 7,
470
476
  modelValue: e.queryParams[o.prop],
471
477
  "onUpdate:modelValue": (y) => e.queryParams[o.prop] = y,
472
478
  size: e.size
473
479
  }, o.datePackerSetting || e.datePackerSetting), null, 16, ["modelValue", "onUpdate:modelValue", "size"])) : m("", !0),
474
- o.type === "input-number" ? (r(), a(j, {
480
+ o.type === "input-number" ? (r(), a(W, {
475
481
  key: 8,
476
482
  item: o
477
483
  }, null, 8, ["item"])) : m("", !0)
478
484
  ]),
479
485
  _: 2
480
486
  }, 1032, ["label", "prop", "rules"]))), 128)),
481
- ne(e.$slots, "default"),
487
+ F(e.$slots, "default"),
482
488
  e.formOnly ? m("", !0) : (r(), a(B, { key: 0 }, {
483
489
  default: f(() => [
484
490
  L((r(), a(U, {
485
491
  type: "primary",
486
- icon: "el-icon-search",
487
492
  size: e.size,
488
493
  onClick: e.handleQuery
489
494
  }, {
@@ -492,10 +497,9 @@ function Se(e, n, t, i, l, c) {
492
497
  ]),
493
498
  _: 1
494
499
  }, 8, ["size", "onClick"])), [
495
- [H, e.formLoading]
500
+ [J, e.formLoading]
496
501
  ]),
497
- N(U, {
498
- icon: "el-icon-refresh",
502
+ R(U, {
499
503
  size: e.size,
500
504
  onClick: e.resetQuery
501
505
  }, {
@@ -506,7 +510,8 @@ function Se(e, n, t, i, l, c) {
506
510
  }, 8, ["size", "onClick"])
507
511
  ]),
508
512
  _: 1
509
- }))
513
+ })),
514
+ F(e.$slots, "behind-the-button")
510
515
  ]),
511
516
  _: 3
512
517
  }, 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:{handler(t){this.queryParams={...this.noUrlParameters?{}:this.queryParams,...t}},immediate:!0},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.10",
4
4
  "description": "",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "type": "module",