general-basic-form 1.1.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -60,7 +60,7 @@ import 'general-basic-form/style'
60
60
  :formData.sync: {
61
61
  // 外部传入的表单数据,用于回填
62
62
  }
63
- noUrlParameters
63
+ parametersType="data"
64
64
  :afterReset="afterReset"
65
65
  v-model:loading="loading"
66
66
  />
@@ -88,6 +88,11 @@ getList会传出默认的参数,首次请求时会有页数和分页大小,重
88
88
  ```
89
89
  this.$refs["VGeneralBasicFormRef"].handleQuery() //搜索时page和limit会传默认值1和10
90
90
  ```
91
+ URL参数优先搜索
92
+
93
+ ```
94
+ this.$refs["VGeneralBasicFormRef"].handleQuery({ defaultPageFirst: false }) //搜索时page和limit会优先使用URL上的参数,保证页面前进后退和刷新时分页不切换
95
+ ```
91
96
 
92
97
  重置
93
98
 
@@ -130,22 +135,29 @@ this.$refs['GeneralBasicFormRef'].resetQuery()
130
135
  const params = VGeneralBasicFormRef.value['queryParams']
131
136
  resolve(params)
132
137
  } else {
133
- resolve(false)
138
+ reject()
134
139
  }
135
140
  }
136
141
  )
137
142
  })
138
143
 
139
-
140
144
  ![image-20211014191532067](https://raw.githubusercontent.com/Alan1034/PicturesServer/main/PicGo_imgs/202110141915657.png)
141
145
 
146
+ parametersType类型介绍
147
+
148
+ | parametersType形式 | 支持页面刷新 | 参数改变引起路由跳转 | 组件间共享数据 | 存储上限 | 浏览器兼容性 |
149
+ | ------------------ | ------------ | -------------------- | -------------- | -------- | ------------ |
150
+ | url | 是 | 是 | 是 | 中 | 高 |
151
+ | data | 否 | 否 | 否 | 高 | 高 |
152
+ | indexDB | 是 | 否 | 是 | 高 | 中 |
153
+
142
154
  数据示例:
143
155
 
144
156
  showSearch: true, // 显示搜索条件
145
157
  getList(); // 请求数据的函数
146
158
  afterReset(); // 在重置按钮点击完后但还没重新请求时触发的的函数
147
159
  formOnly:true // 只展示表单不展示按钮
148
- noUrlParameters:true // 不接受和不改变url的参数
160
+ parametersType:"url" // 见parametersType类型介绍
149
161
  loading:false // 加载动画
150
162
  formData:{} // 注意,因为可能出现的性能问题在组件watch formData的变化时没有使用deep,所以有时候深度的修改会不生效,导致表单数据不完整
151
163
  noInputBlank: true //校验input框不能仅输入空格
@@ -154,6 +166,7 @@ this.$refs['GeneralBasicFormRef'].resetQuery()
154
166
  pageSizeKey:"limit", //每页显示个数选择器的选项设置
155
167
  defCurrentPage:1, //默认的页数
156
168
  defPageSize:10, //默认的每页显示个数
169
+ queryWhenReady:false,//初始化完成后自动触发查找数据函数,建议用这个this.$refs["VGeneralBasicFormRef"].handleQuery({ defaultPageFirst: false })
157
170
  formItem: [
158
171
  {
159
172
  label: '',
@@ -616,7 +629,7 @@ import { VTabs } from "general-basic-form";
616
629
 
617
630
  ```
618
631
  tabPanes:[],// 定义标签页的数据
619
- noUrlParameters:false,// 不接受和不改变url的参数
632
+ parametersType:"url" // 见parametersType类型介绍
620
633
  activeNameKey:"activeName",//保存标签页的字段KEY
621
634
  defActiveName:null,//标签页的选中值
622
635
  getList:()=>{},// 查找数据调用的函数
package/dist/index.js CHANGED
@@ -1,31 +1,31 @@
1
1
  import { nextTick as m } from "vue";
2
- function u(t, e, a, r, n, i, f, h) {
3
- var s = typeof t == "function" ? t.options : t;
4
- e && (s.render = e, s.staticRenderFns = a, s._compiled = !0), r && (s.functional = !0), i && (s._scopeId = "data-v-" + i);
2
+ function u(t, e, a, r, s, i, f, h) {
3
+ var n = typeof t == "function" ? t.options : t;
4
+ e && (n.render = e, n.staticRenderFns = a, n._compiled = !0), r && (n.functional = !0), i && (n._scopeId = "data-v-" + i);
5
5
  var l;
6
6
  if (f ? (l = function(o) {
7
7
  o = o || // cached call
8
8
  this.$vnode && this.$vnode.ssrContext || // stateful
9
- this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !o && typeof __VUE_SSR_CONTEXT__ < "u" && (o = __VUE_SSR_CONTEXT__), n && n.call(this, o), o && o._registeredComponents && o._registeredComponents.add(f);
10
- }, s._ssrRegister = l) : n && (l = h ? function() {
11
- n.call(
9
+ this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !o && typeof __VUE_SSR_CONTEXT__ < "u" && (o = __VUE_SSR_CONTEXT__), s && s.call(this, o), o && o._registeredComponents && o._registeredComponents.add(f);
10
+ }, n._ssrRegister = l) : s && (l = h ? function() {
11
+ s.call(
12
12
  this,
13
- (s.functional ? this.parent : this).$root.$options.shadowRoot
13
+ (n.functional ? this.parent : this).$root.$options.shadowRoot
14
14
  );
15
- } : n), l)
16
- if (s.functional) {
17
- s._injectStyles = l;
18
- var _ = s.render;
19
- s.render = function(y, d) {
20
- return l.call(d), _(y, d);
15
+ } : s), l)
16
+ if (n.functional) {
17
+ n._injectStyles = l;
18
+ var _ = n.render;
19
+ n.render = function(y, p) {
20
+ return l.call(p), _(y, p);
21
21
  };
22
22
  } else {
23
- var p = s.beforeCreate;
24
- s.beforeCreate = p ? [].concat(p, l) : [l];
23
+ var d = n.beforeCreate;
24
+ n.beforeCreate = d ? [].concat(d, l) : [l];
25
25
  }
26
26
  return {
27
27
  exports: t,
28
- options: s
28
+ options: n
29
29
  };
30
30
  }
31
31
  const g = {
@@ -96,7 +96,7 @@ const x = k.exports, S = (t = {}) => {
96
96
  Object.prototype.toString.call(a) === "[object Object]" && (t[e] = JSON.stringify(a));
97
97
  }
98
98
  return t;
99
- }, P = (t = {}) => {
99
+ }, T = (t = {}) => {
100
100
  for (const e in t)
101
101
  if (Object.prototype.hasOwnProperty.call(t, e)) {
102
102
  const a = t[e];
@@ -106,7 +106,7 @@ const x = k.exports, S = (t = {}) => {
106
106
  }
107
107
  }
108
108
  return t;
109
- }, T = { paramsToQuery: S, queryToData: P }, c = T;
109
+ }, P = { paramsToQuery: S, queryToData: T }, c = P;
110
110
  const $ = {
111
111
  name: "GeneralBasicForm",
112
112
  components: {
@@ -252,7 +252,7 @@ const $ = {
252
252
  },
253
253
  queryParams: {
254
254
  handler(t) {
255
- this.$emit("update:formData", t);
255
+ this.$emit("update:formData", { ...t });
256
256
  },
257
257
  deep: !0
258
258
  },
@@ -275,19 +275,24 @@ const $ = {
275
275
  },
276
276
  methods: {
277
277
  /** 搜索按钮操作 */
278
- handleQuery() {
279
- var a;
280
- const t = { [this.currentPageKey]: this.defCurrentPage, [this.pageSizeKey]: this.defPageSize }, e = c.paramsToQuery(
281
- {
282
- ...(a = this.$route) == null ? void 0 : a.query,
278
+ handleQuery(t = {}) {
279
+ var r, s;
280
+ t.defaultPageFirst ?? (t.defaultPageFirst = !0);
281
+ const e = { [this.currentPageKey]: this.defCurrentPage, [this.pageSizeKey]: this.defPageSize }, a = c.paramsToQuery(
282
+ t.defaultPageFirst ? {
283
+ ...(r = this.$route) == null ? void 0 : r.query,
283
284
  ...this.queryParams,
284
- ...t
285
+ ...e
286
+ } : {
287
+ ...e,
288
+ ...(s = this.$route) == null ? void 0 : s.query,
289
+ ...this.queryParams
285
290
  }
286
291
  );
287
292
  this.noUrlParameters || this.$router.push({
288
- query: { ...e }
293
+ query: { ...a }
289
294
  }), this.getList({
290
- ...e
295
+ ...a
291
296
  });
292
297
  },
293
298
  /** 重置按钮操作 */
@@ -382,36 +387,36 @@ const $ = {
382
387
  var C = function() {
383
388
  var e = this, a = e._self._c;
384
389
  return a("el-form", e._b({ directives: [{ name: "show", rawName: "v-show", value: e.showSearch, expression: "showSearch" }], ref: "queryFormRef", attrs: { model: e.queryParams, "label-width": e.labelWidth } }, "el-form", e.attrs, !1), [e._l(e.formItem, function(r) {
385
- return a("el-form-item", e._b({ key: r.prop, attrs: { rules: e.getItemRules(r) } }, "el-form-item", r, !1), [r.type === "input" ? a("el-input", e._g(e._b({ attrs: { size: e.size }, nativeOn: { keydown: function(n) {
386
- return !n.type.indexOf("key") && e._k(n.keyCode, "enter", 13, n.key, "Enter") ? null : e.getList.apply(null, arguments);
387
- } }, scopedSlots: e._u([e._l(r.template, function(n, i) {
390
+ return a("el-form-item", e._b({ key: r.prop, attrs: { rules: e.getItemRules(r) } }, "el-form-item", r, !1), [r.type === "input" ? a("el-input", e._g(e._b({ attrs: { size: e.size }, nativeOn: { keydown: function(s) {
391
+ return !s.type.indexOf("key") && e._k(s.keyCode, "enter", 13, s.key, "Enter") ? null : e.getList.apply(null, arguments);
392
+ } }, scopedSlots: e._u([e._l(r.template, function(s, i) {
388
393
  return { key: i, fn: function() {
389
- return [n ? a(e.currentInputComponent(), { key: i, tag: "component", attrs: { templateEle: n } }) : e._e()];
394
+ return [s ? a(e.currentInputComponent(), { key: i, tag: "component", attrs: { templateEle: s } }) : e._e()];
390
395
  }, proxy: !0 };
391
- })], null, !0), model: { value: e.queryParams[r.prop], callback: function(n) {
392
- e.$set(e.queryParams, r.prop, n);
393
- }, expression: "queryParams[item.prop]" } }, "el-input", e.getInputSetting(r), !1), e.getInputEvents(r))) : r.type === "input-mobile-verification" ? a("el-input", e._g(e._b({ attrs: { size: e.size }, nativeOn: { keydown: function(n) {
394
- return !n.type.indexOf("key") && e._k(n.keyCode, "enter", 13, n.key, "Enter") ? null : e.getList.apply(null, arguments);
395
- } }, scopedSlots: e._u([e._l(r.template, function(n, i) {
396
+ })], null, !0), model: { value: e.queryParams[r.prop], callback: function(s) {
397
+ e.$set(e.queryParams, r.prop, s);
398
+ }, expression: "queryParams[item.prop]" } }, "el-input", e.getInputSetting(r), !1), e.getInputEvents(r))) : r.type === "input-mobile-verification" ? a("el-input", e._g(e._b({ attrs: { size: e.size }, nativeOn: { keydown: function(s) {
399
+ return !s.type.indexOf("key") && e._k(s.keyCode, "enter", 13, s.key, "Enter") ? null : e.getList.apply(null, arguments);
400
+ } }, scopedSlots: e._u([e._l(r.template, function(s, i) {
396
401
  return { key: i, fn: function() {
397
- return [n ? a(e.currentInputComponent(), { key: i, tag: "component", attrs: { templateEle: n } }) : e._e()];
402
+ return [s ? a(e.currentInputComponent(), { key: i, tag: "component", attrs: { templateEle: s } }) : e._e()];
398
403
  }, proxy: !0 };
399
- })], null, !0), model: { value: e.queryParams[r.prop], callback: function(n) {
400
- e.$set(e.queryParams, r.prop, n);
401
- }, expression: "queryParams[item.prop]" } }, "el-input", e.getInputSetting(r), !1), e.getInputEvents(r)), [a("template", { slot: "append" }, [a("verification-button", { attrs: { verificationSetting: r.verificationSetting, getSmscode: r.getSmscode } })], 1)], 2) : r.type === "select" ? a("el-select", e._g(e._b({ attrs: { filterable: "", size: e.size }, model: { value: e.queryParams[r.prop], callback: function(n) {
402
- e.$set(e.queryParams, r.prop, n);
403
- }, expression: "queryParams[item.prop]" } }, "el-select", e.getSelectSetting(r), !1), e.getSelectEvents(r)), e._l(r.option || [], function(n) {
404
- return a("el-option", { key: n.key || n.value, attrs: { label: n.label, value: n.value } });
405
- }), 1) : r.type === "cascader" ? a("el-cascader", e._g(e._b({ attrs: { filterable: "", size: e.size, options: r.options || [] }, model: { value: e.queryParams[r.prop], callback: function(n) {
406
- e.$set(e.queryParams, r.prop, n);
407
- }, expression: "queryParams[item.prop]" } }, "el-cascader", e.getSelectSetting(r), !1), e.getSelectEvents(r))) : r.type === "date-picker" ? a("el-date-picker", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(n) {
408
- e.$set(e.queryParams, r.prop, n);
409
- }, expression: "queryParams[item.prop]" } }, "el-date-picker", e.getDatePackerSetting(r), !1), e.getDatePackerEvents(r))) : e._e(), r.type === "input-number" ? a("el-input-number", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(n) {
410
- e.$set(e.queryParams, r.prop, n);
411
- }, expression: "queryParams[item.prop]" } }, "el-input-number", e.getInputSetting(r), !1), e.getInputEvents(r))) : r.type === "checkbox" ? a("el-checkbox-group", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(n) {
412
- e.$set(e.queryParams, r.prop, n);
413
- }, expression: "queryParams[item.prop]" } }, "el-checkbox-group", e.getCheckboxGroupSetting(r), !1), e.getCheckboxGroupEvents(r)), e._l(r.option || [], function(n) {
414
- return a("el-checkbox", e._b({ key: n.key || n.value || n.label }, "el-checkbox", n, !1));
404
+ })], null, !0), model: { value: e.queryParams[r.prop], callback: function(s) {
405
+ e.$set(e.queryParams, r.prop, s);
406
+ }, expression: "queryParams[item.prop]" } }, "el-input", e.getInputSetting(r), !1), e.getInputEvents(r)), [a("template", { slot: "append" }, [a("verification-button", { attrs: { verificationSetting: r.verificationSetting, getSmscode: r.getSmscode } })], 1)], 2) : r.type === "select" ? a("el-select", e._g(e._b({ attrs: { filterable: "", size: e.size }, model: { value: e.queryParams[r.prop], callback: function(s) {
407
+ e.$set(e.queryParams, r.prop, s);
408
+ }, expression: "queryParams[item.prop]" } }, "el-select", e.getSelectSetting(r), !1), e.getSelectEvents(r)), e._l(r.option || [], function(s) {
409
+ return a("el-option", { key: s.key || s.value, attrs: { label: s.label, value: s.value } });
410
+ }), 1) : r.type === "cascader" ? a("el-cascader", e._g(e._b({ attrs: { filterable: "", size: e.size, options: r.options || [] }, model: { value: e.queryParams[r.prop], callback: function(s) {
411
+ e.$set(e.queryParams, r.prop, s);
412
+ }, expression: "queryParams[item.prop]" } }, "el-cascader", e.getSelectSetting(r), !1), e.getSelectEvents(r))) : r.type === "date-picker" ? a("el-date-picker", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(s) {
413
+ e.$set(e.queryParams, r.prop, s);
414
+ }, expression: "queryParams[item.prop]" } }, "el-date-picker", e.getDatePackerSetting(r), !1), e.getDatePackerEvents(r))) : e._e(), r.type === "input-number" ? a("el-input-number", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(s) {
415
+ e.$set(e.queryParams, r.prop, s);
416
+ }, expression: "queryParams[item.prop]" } }, "el-input-number", e.getInputSetting(r), !1), e.getInputEvents(r))) : r.type === "checkbox" ? a("el-checkbox-group", e._g(e._b({ attrs: { size: e.size }, model: { value: e.queryParams[r.prop], callback: function(s) {
417
+ e.$set(e.queryParams, r.prop, s);
418
+ }, expression: "queryParams[item.prop]" } }, "el-checkbox-group", e.getCheckboxGroupSetting(r), !1), e.getCheckboxGroupEvents(r)), e._l(r.option || [], function(s) {
419
+ return a("el-checkbox", e._b({ key: s.key || s.value || s.label }, "el-checkbox", s, !1));
415
420
  }), 1) : e._e(), /^form-item-slot$/i.test(r.type) ? e._t(r.name) : e._e()], 2);
416
421
  }), e._t("default"), e.formOnly ? e._e() : a("el-form-item", [a("el-button", { attrs: { type: "primary", icon: "el-icon-search", size: e.size, loading: e.formLoading }, on: { click: e.handleQuery } }, [e._v("查询")]), a("el-button", { attrs: { icon: "el-icon-refresh", size: e.size }, on: { click: e.resetQuery } }, [e._v("重置")])], 1), e._t("behind-the-button")], 2);
417
422
  }, F = [], q = /* @__PURE__ */ u(
@@ -420,7 +425,7 @@ var C = function() {
420
425
  F,
421
426
  !1,
422
427
  null,
423
- "a632e129",
428
+ "b0880d48",
424
429
  null,
425
430
  null
426
431
  );
@@ -516,8 +521,8 @@ const I = z.exports, B = {
516
521
  }
517
522
  },
518
523
  render(t, e) {
519
- const { props: a } = e, { column: r, formData: n } = a;
520
- return r.render(n);
524
+ const { props: a } = e, { column: r, formData: s } = a;
525
+ return r.render(s);
521
526
  }
522
527
  }, K = {
523
528
  name: "Descriptions",
@@ -560,7 +565,7 @@ const I = z.exports, B = {
560
565
  };
561
566
  var L = function() {
562
567
  var e = this, a = e._self._c;
563
- return a("el-descriptions", e._b({}, "el-descriptions", e.attrs, !1), e._l(e.formItem, function(r, n) {
568
+ return a("el-descriptions", e._b({}, "el-descriptions", e.attrs, !1), e._l(e.formItem, function(r, s) {
564
569
  return a("el-descriptions-item", e._b({ key: r.prop, attrs: { label: r.label } }, "el-descriptions-item", r.descriptionsItemProps, !1), [r.render ? a("DescriptionsColumn", { attrs: { column: r, formData: e.formData } }) : a("span", [e._v(e._s(e.formData[r.prop]))])], 1);
565
570
  }), 1);
566
571
  }, R = [], E = /* @__PURE__ */ u(
@@ -629,9 +634,9 @@ const U = {
629
634
  removeSelectedData() {
630
635
  let t, e;
631
636
  const a = this.$refs.selectTree.getCheckedNodes(t, e), r = {};
632
- a.forEach((n) => {
633
- r[n[this.nodeKey]] = n;
634
- }), this.selectedList = this.selectedList.filter((n) => !r[n[this.nodeKey]]);
637
+ a.forEach((s) => {
638
+ r[s[this.nodeKey]] = s;
639
+ }), this.selectedList = this.selectedList.filter((s) => !r[s[this.nodeKey]]);
635
640
  }
636
641
  }
637
642
  };
@@ -714,10 +719,10 @@ const Q = {
714
719
  });
715
720
  },
716
721
  activeNameInit() {
717
- var a, r, n;
722
+ var a, r, s;
718
723
  let t = "";
719
724
  (a = this.tabPanes[0]) != null && a.name && (t = (r = this.tabPanes[0]) == null ? void 0 : r.name);
720
- const e = c.queryToData(Number((n = this.$route) == null ? void 0 : n.query[this.activeNameKey]));
725
+ const e = c.queryToData(Number((s = this.$route) == null ? void 0 : s.query[this.activeNameKey]));
721
726
  return !this.noUrlParameters && e && (t = e), this.defActiveName && (t = this.defActiveName), `${t}`;
722
727
  }
723
728
  }
@@ -1 +1 @@
1
- (function(i,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],f):(i=typeof globalThis<"u"?globalThis:i||self,f(i.Index={},i.Vue))})(this,function(i,f){"use strict";const ae="";function c(t,e,a,r,n,o,p,ee){var s=typeof t=="function"?t.options:t;e&&(s.render=e,s.staticRenderFns=a,s._compiled=!0),r&&(s.functional=!0),o&&(s._scopeId="data-v-"+o);var u;if(p?(u=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__<"u"&&(l=__VUE_SSR_CONTEXT__),n&&n.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(p)},s._ssrRegister=u):n&&(u=ee?function(){n.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:n),u)if(s.functional){s._injectStyles=u;var te=s.render;s.render=function(re,y){return u.call(y),te(re,y)}}else{var h=s.beforeCreate;s.beforeCreate=h?[].concat(h,u):[u]}return{exports:t,options:s}}const _={props:{verificationSetting:{type:Object,default:()=>{}},getSmscode:{type:Function,default:()=>{}}},data(){return{defaultText:this.verificationSetting.defaultText||"获取验证码",buttonText:this.verificationSetting.defaultText||"获取验证码",restTime:this.verificationSetting.restTime||60,timer:null}},computed:{buttonType(){return this.buttonText===this.defaultText}},destroyed(){this.reset()},methods:{reset(){this.timer&&(clearInterval(this.timer),this.timer=null,this.buttonText=this.defaultText)},async buttonClick(){if(this.buttonText===this.defaultText)if(this.buttonText=this.restTime,this.timer=setInterval(()=>{if(Number(this.buttonText)<=0||!this.buttonText){this.reset();return}else this.buttonText=Number(this.buttonText)-1},1e3),this.getSmscode)await this.getSmscode()===!1&&this.reset();else return}}};var m=function(){var e=this,a=e._self._c;return a("el-button",{on:{click:e.buttonClick}},[e._v(e._s(e.buttonType?e.defaultText:e.buttonText+"s"))])},g=[],b=c(_,m,g,!1,null,null,null,null);const v=b.exports,k=(t={})=>{for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const a=t[e];Object.prototype.toString.call(a)==="[object Object]"&&(t[e]=JSON.stringify(a))}return t},x=(t={})=>{for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const a=t[e];try{/[{]+/g.test(a)&&/[}]+/g.test(a)&&(t[e]=JSON.parse(a))}catch{}}return t},S={paramsToQuery:k,queryToData:x},d=S,ne="",T={name:"GeneralBasicForm",components:{InputArchive:t=>{const{templateEle:e}=t;return e()},VerificationButton:v},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:""},labelWidth:{type:String,default:"90px"},noUrlParameters:{type:Boolean,default:()=>!1},formData:{type:Object,default:()=>{}},noInputBlank:{type:Boolean,default:()=>!1},currentPageKey:{type:String,default:"page"},pageSizeKey:{type:String,default:"limit"},defCurrentPage:{type:Number,default:1},defPageSize:{type:Number,default:10}},data(){var t;return{queryParams:{...this.noUrlParameters?{}:d.queryToData((t=this.$route)==null?void 0:t.query)},formLoading:this.loading||!1,selectSetting:{placeholder:"请选择",filterable:!0,clearable:!0,style:"width: 200px"},inputSetting:{placeholder:"请输入",style:"width: 200px",clearable:!0},datePackerSetting:{style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"},attrs:{inline:!0,"label-position":"left"}}},watch:{formData:{handler(t,e){JSON.stringify(t)!==JSON.stringify(e)&&(this.queryParams={...this.queryParams,...t})},immediate:!0},queryParams:{handler(t){this.$emit("update:formData",t)},deep:!0},$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},methods:{handleQuery(){var a;const t={[this.currentPageKey]:this.defCurrentPage,[this.pageSizeKey]:this.defPageSize},e=d.paramsToQuery({...(a=this.$route)==null?void 0:a.query,...this.queryParams,...t});this.noUrlParameters||this.$router.push({query:{...e}}),this.getList({...e})},async resetQuery(){var e;this.$refs.queryFormRef.resetFields();const t={[this.currentPageKey]:this.defCurrentPage};this.noUrlParameters||await this.$router.push({query:{...t}}),this.queryParams={...this.noUrlParameters?{}:d.queryToData((e=this.$route)==null?void 0:e.query)},this.afterReset(),this.handleQuery()},currentInputComponent(){return"input-archive"},getItemRules(t){const{type:e,rules:a=[]}=t,r=[...a];return this.noInputBlank&&e==="input"&&r.push({pattern:this.trimRegex,message:"请输入(不能仅输入空格)",trigger:"blur"}),r},getInputSetting(t){const{inputSetting:e,setting:a}=t;return{...this.inputSetting,...e,...a}},defaultFunction(){},getInputEvents(t){return{blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction,change:t.change||this.defaultFunction,input:t.input||this.defaultFunction,clear:t.clear||this.defaultFunction}},getSelectSetting(t){const{selectSetting:e,setting:a}=t;return{...this.selectSetting,...e,...a}},getSelectEvents(t){return{change:t.change||this.defaultFunction,"visible-change":t["visible-change"]||this.defaultFunction,"remove-tag":t["remove-tag"]||this.defaultFunction,"expand-change":t["expand-change"]||this.defaultFunction,clear:t.clear||this.defaultFunction,blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction}},getDatePackerSetting(t){const{datePackerSetting:e,setting:a}=t;return{...this.datePackerSetting,...e,...a}},getDatePackerEvents(t){return{change:t.change||this.defaultFunction,blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction}},getCheckboxGroupSetting(t){const{checkboxGroupSetting:e,setting:a}=t;return{...e,...a}},getCheckboxGroupEvents(t){return{change:t.change||this.defaultFunction}}}};var P=function(){var e=this,a=e._self._c;return a("el-form",e._b({directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryFormRef",attrs:{model:e.queryParams,"label-width":e.labelWidth}},"el-form",e.attrs,!1),[e._l(e.formItem,function(r){return a("el-form-item",e._b({key:r.prop,attrs:{rules:e.getItemRules(r)}},"el-form-item",r,!1),[r.type==="input"?a("el-input",e._g(e._b({attrs:{size:e.size},nativeOn:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.getList.apply(null,arguments)}},scopedSlots:e._u([e._l(r.template,function(n,o){return{key:o,fn:function(){return[n?a(e.currentInputComponent(),{key:o,tag:"component",attrs:{templateEle:n}}):e._e()]},proxy:!0}})],null,!0),model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-input",e.getInputSetting(r),!1),e.getInputEvents(r))):r.type==="input-mobile-verification"?a("el-input",e._g(e._b({attrs:{size:e.size},nativeOn:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.getList.apply(null,arguments)}},scopedSlots:e._u([e._l(r.template,function(n,o){return{key:o,fn:function(){return[n?a(e.currentInputComponent(),{key:o,tag:"component",attrs:{templateEle:n}}):e._e()]},proxy:!0}})],null,!0),model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-input",e.getInputSetting(r),!1),e.getInputEvents(r)),[a("template",{slot:"append"},[a("verification-button",{attrs:{verificationSetting:r.verificationSetting,getSmscode:r.getSmscode}})],1)],2):r.type==="select"?a("el-select",e._g(e._b({attrs:{filterable:"",size:e.size},model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-select",e.getSelectSetting(r),!1),e.getSelectEvents(r)),e._l(r.option||[],function(n){return a("el-option",{key:n.key||n.value,attrs:{label:n.label,value:n.value}})}),1):r.type==="cascader"?a("el-cascader",e._g(e._b({attrs:{filterable:"",size:e.size,options:r.options||[]},model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-cascader",e.getSelectSetting(r),!1),e.getSelectEvents(r))):r.type==="date-picker"?a("el-date-picker",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-date-picker",e.getDatePackerSetting(r),!1),e.getDatePackerEvents(r))):e._e(),r.type==="input-number"?a("el-input-number",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-input-number",e.getInputSetting(r),!1),e.getInputEvents(r))):r.type==="checkbox"?a("el-checkbox-group",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(n){e.$set(e.queryParams,r.prop,n)},expression:"queryParams[item.prop]"}},"el-checkbox-group",e.getCheckboxGroupSetting(r),!1),e.getCheckboxGroupEvents(r)),e._l(r.option||[],function(n){return a("el-checkbox",e._b({key:n.key||n.value||n.label},"el-checkbox",n,!1))}),1):e._e(),/^form-item-slot$/i.test(r.type)?e._t(r.name):e._e()],2)}),e._t("default"),e.formOnly?e._e():a("el-form-item",[a("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:e.size,loading:e.formLoading},on:{click:e.handleQuery}},[e._v("查询")]),a("el-button",{attrs:{icon:"el-icon-refresh",size:e.size},on:{click:e.resetQuery}},[e._v("重置")])],1),e._t("behind-the-button")],2)},$=[],C=c(T,P,$,!1,null,"a632e129",null,null);const F=C.exports,se="",q={components:{},props:{query:{type:Object,default:()=>({prefCode:sessionStorage.getItem("prefCode")})},routePath:{type:String,default:()=>"/search/searchDetail"},inputstyle:{type:Object,default:()=>({width:"1280px"})},openHref:{type:Boolean,default:()=>!1},size:{type:String,default:()=>"medium"}},data(){var t,e;return{keyWord:((e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.keyWord)||"",attrs:{}}},watch:{$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0}},methods:{search(){const t={path:this.routePath,query:{...this.query,keyWord:this.keyWord}};if(this.openHref){const e=this.$router.resolve(t);window.open(e.href,"_blank")}else this.$router.push(t)}}};var N=function(){var e=this,a=e._self._c;return a("div",{staticClass:"search-box"},[a("el-input",e._b({style:{...e.inputstyle},attrs:{size:e.size},nativeOn:{keydown:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.search.apply(null,arguments)}},model:{value:e.keyWord,callback:function(r){e.keyWord=r},expression:"keyWord"}},"el-input",e.attrs,!1),[a("svg",{staticClass:"el-input__icon",attrs:{slot:"prefix",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},slot:"prefix"},[a("path",{attrs:{d:"M9.51033 10.2186C8.69189 10.8814 7.64943 11.2784 6.51424 11.2784C3.88302 11.2784 1.75 9.14541 1.75 6.51421C1.75 3.88301 3.88302 1.75 6.51424 1.75C9.14545 1.75 11.2785 3.88301 11.2785 6.51421C11.2785 7.64942 10.8814 8.69189 10.2186 9.51034L13.75 13.0417L13.0417 13.75L9.51033 10.2186ZM10.2768 6.51421C10.2768 4.43623 8.59224 2.75168 6.51424 2.75168C4.43623 2.75168 2.75168 4.43623 2.75168 6.51421C2.75168 8.59219 4.43623 10.2767 6.51424 10.2767C8.59224 10.2767 10.2768 8.59219 10.2768 6.51421Z",fill:"#959A9F"}})])])],1)},w=[],O=c(q,N,w,!1,null,"ef706e31",null,null);const D=O.exports,z={name:"Descriptions",components:{DescriptionsColumn:{functional:!0,props:{column:{default:{render:()=>{}},type:Object},formData:{default:{},type:Object}},render(t,e){const{props:a}=e,{column:r,formData:n}=a;return r.render(n)}}},data(){return{attrs:{border:!0,class:"v-descriptions"}}},props:{formItem:{type:Array,default:()=>[]},formData:{type:Object,default:()=>{}}},watch:{$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0}}};var I=function(){var e=this,a=e._self._c;return a("el-descriptions",e._b({},"el-descriptions",e.attrs,!1),e._l(e.formItem,function(r,n){return a("el-descriptions-item",e._b({key:r.prop,attrs:{label:r.label}},"el-descriptions-item",r.descriptionsItemProps,!1),[r.render?a("DescriptionsColumn",{attrs:{column:r,formData:e.formData}}):a("span",[e._v(e._s(e.formData[r.prop]))])],1)}),1)},B=[],K=c(z,I,B,!1,null,null,null,null);const L=K.exports,oe="",R={props:{nodeKey:{type:String,default:"id"},filterable:{type:Boolean,default:!1},dataSource:{type:Array,default:()=>[]},checkedKeys:{type:Array,default:()=>[]}},watch:{sourceFilterText(t){this.$refs.sourceTree.filter(t)},selectedFilterText(t){this.$refs.selectTree.filter(t)},checkedKeys(t){this.$refs.sourceTree.setCheckedKeys(t),f.nextTick(()=>{this.getSelectedData(),this.$refs.selectTree.setCheckedKeys(t)})}},data(){return{defaultTreeAttributes:{"default-expand-all":!0,"show-checkbox":!0},selectedList:[],sourceFilterText:"",selectedFilterText:""}},methods:{sourceFilterNode(t,e){return t?e.label.indexOf(t)!==-1:!0},getSelectedData(){let t=!0,e;const a=this.$refs.sourceTree.getCheckedNodes(t,e);this.selectedList=a},removeSelectedData(){let t,e;const a=this.$refs.selectTree.getCheckedNodes(t,e),r={};a.forEach(n=>{r[n[this.nodeKey]]=n}),this.selectedList=this.selectedList.filter(n=>!r[n[this.nodeKey]])}}};var E=function(){var e=this,a=e._self._c;return a("div",{staticClass:"tree-box"},[a("div",{staticClass:"left-box"},[e.filterable?a("el-input",{attrs:{placeholder:"输入关键字进行过滤"},model:{value:e.sourceFilterText,callback:function(r){e.sourceFilterText=r},expression:"sourceFilterText"}}):e._e(),a("el-tree",e._b({ref:"sourceTree",attrs:{data:e.dataSource,"filter-node-method":e.sourceFilterNode,nodeKey:e.nodeKey}},"el-tree",{...e.defaultTreeAttributes},!1))],1),a("div",{staticClass:"mid-box"},[a("el-button",{attrs:{icon:"el-icon-arrow-right",circle:""},on:{click:e.getSelectedData}}),a("el-button",{attrs:{icon:"el-icon-arrow-left",circle:""},on:{click:e.removeSelectedData}})],1),a("div",{staticClass:"right-box"},[e.filterable?a("el-input",{attrs:{placeholder:"输入关键字进行过滤"},model:{value:e.selectedFilterText,callback:function(r){e.selectedFilterText=r},expression:"selectedFilterText"}}):e._e(),a("el-tree",e._b({ref:"selectTree",attrs:{data:e.selectedList,"filter-node-method":e.sourceFilterNode,nodeKey:e.nodeKey}},"el-tree",{...e.defaultTreeAttributes},!1))],1)])},A=[],V=c(R,E,A,!1,null,"49dbad2a",null,null);const j=V.exports,le="",U={name:"VTabs",data(){return{activeName:this.activeNameInit()}},props:{tabPanes:{type:Array,default:()=>[]},noUrlParameters:{type:Boolean,default:()=>!1},activeNameKey:{type:String,default:"activeName"},defActiveName:{type:String},getList:{type:Function,default:()=>{}}},watch:{defActiveName:{handler(t,e){JSON.stringify(t)!==JSON.stringify(e)&&(this.activeName=t)},immediate:!0},activeName:{handler(t){this.$emit(`update:${this.activeNameKey}`,t)}}},methods:{handleClick(t,e){var r;const a=d.paramsToQuery({...(r=this.$route)==null?void 0:r.query,[this.activeNameKey]:this.activeName});this.noUrlParameters||this.$router.push({query:{...a}}),this.getList({...a})},activeNameInit(){var a,r,n;let t="";(a=this.tabPanes[0])!=null&&a.name&&(t=(r=this.tabPanes[0])==null?void 0:r.name);const e=d.queryToData(Number((n=this.$route)==null?void 0:n.query[this.activeNameKey]));return!this.noUrlParameters&&e&&(t=e),this.defActiveName&&(t=this.defActiveName),`${t}`}}};var G=function(){var e=this,a=e._self._c;return a("el-tabs",e._b({on:{"tab-click":e.handleClick},model:{value:e.activeName,callback:function(r){e.activeName=r},expression:"activeName"}},"el-tabs",e.$attrs,!1),[e._l(e.tabPanes,function(r){return a("el-tab-pane",e._b({key:r.name},"el-tab-pane",r,!1),[e._v(" "+e._s(r.render&&r.render(r))+" ")])}),e._t("default")],2)},W=[],Q=c(U,G,W,!1,null,"91cf6f01",null,null);const J=Q.exports,H=F,M=D,X=L,Z=j,Y=J;i.VDescriptions=X,i.VGeneralBasicForm=H,i.VSearchBox=M,i.VTabs=Y,i.VTreeTransfer=Z,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
1
+ (function(i,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],f):(i=typeof globalThis<"u"?globalThis:i||self,f(i.Index={},i.Vue))})(this,function(i,f){"use strict";const ne="";function c(t,e,n,r,a,o,p,ee){var s=typeof t=="function"?t.options:t;e&&(s.render=e,s.staticRenderFns=n,s._compiled=!0),r&&(s.functional=!0),o&&(s._scopeId="data-v-"+o);var u;if(p?(u=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__<"u"&&(l=__VUE_SSR_CONTEXT__),a&&a.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(p)},s._ssrRegister=u):a&&(u=ee?function(){a.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:a),u)if(s.functional){s._injectStyles=u;var te=s.render;s.render=function(re,_){return u.call(_),te(re,_)}}else{var h=s.beforeCreate;s.beforeCreate=h?[].concat(h,u):[u]}return{exports:t,options:s}}const y={props:{verificationSetting:{type:Object,default:()=>{}},getSmscode:{type:Function,default:()=>{}}},data(){return{defaultText:this.verificationSetting.defaultText||"获取验证码",buttonText:this.verificationSetting.defaultText||"获取验证码",restTime:this.verificationSetting.restTime||60,timer:null}},computed:{buttonType(){return this.buttonText===this.defaultText}},destroyed(){this.reset()},methods:{reset(){this.timer&&(clearInterval(this.timer),this.timer=null,this.buttonText=this.defaultText)},async buttonClick(){if(this.buttonText===this.defaultText)if(this.buttonText=this.restTime,this.timer=setInterval(()=>{if(Number(this.buttonText)<=0||!this.buttonText){this.reset();return}else this.buttonText=Number(this.buttonText)-1},1e3),this.getSmscode)await this.getSmscode()===!1&&this.reset();else return}}};var m=function(){var e=this,n=e._self._c;return n("el-button",{on:{click:e.buttonClick}},[e._v(e._s(e.buttonType?e.defaultText:e.buttonText+"s"))])},g=[],b=c(y,m,g,!1,null,null,null,null);const v=b.exports,k=(t={})=>{for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const n=t[e];Object.prototype.toString.call(n)==="[object Object]"&&(t[e]=JSON.stringify(n))}return t},x=(t={})=>{for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const n=t[e];try{/[{]+/g.test(n)&&/[}]+/g.test(n)&&(t[e]=JSON.parse(n))}catch{}}return t},S={paramsToQuery:k,queryToData:x},d=S,ae="",T={name:"GeneralBasicForm",components:{InputArchive:t=>{const{templateEle:e}=t;return e()},VerificationButton:v},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:""},labelWidth:{type:String,default:"90px"},noUrlParameters:{type:Boolean,default:()=>!1},formData:{type:Object,default:()=>{}},noInputBlank:{type:Boolean,default:()=>!1},currentPageKey:{type:String,default:"page"},pageSizeKey:{type:String,default:"limit"},defCurrentPage:{type:Number,default:1},defPageSize:{type:Number,default:10}},data(){var t;return{queryParams:{...this.noUrlParameters?{}:d.queryToData((t=this.$route)==null?void 0:t.query)},formLoading:this.loading||!1,selectSetting:{placeholder:"请选择",filterable:!0,clearable:!0,style:"width: 200px"},inputSetting:{placeholder:"请输入",style:"width: 200px",clearable:!0},datePackerSetting:{style:"width: 227px","start-placeholder":"开始日期","end-placeholder":"结束日期",type:"daterange"},attrs:{inline:!0,"label-position":"left"}}},watch:{formData:{handler(t,e){JSON.stringify(t)!==JSON.stringify(e)&&(this.queryParams={...this.queryParams,...t})},immediate:!0},queryParams:{handler(t){this.$emit("update:formData",{...t})},deep:!0},$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0},loading(t){this.formLoading!==t&&(this.formLoading=t)},formLoading(t){this.loading!==t&&this.$emit("update:loading",t)}},methods:{handleQuery(t={}){var r,a;t.defaultPageFirst??(t.defaultPageFirst=!0);const e={[this.currentPageKey]:this.defCurrentPage,[this.pageSizeKey]:this.defPageSize},n=d.paramsToQuery(t.defaultPageFirst?{...(r=this.$route)==null?void 0:r.query,...this.queryParams,...e}:{...e,...(a=this.$route)==null?void 0:a.query,...this.queryParams});this.noUrlParameters||this.$router.push({query:{...n}}),this.getList({...n})},async resetQuery(){var e;this.$refs.queryFormRef.resetFields();const t={[this.currentPageKey]:this.defCurrentPage};this.noUrlParameters||await this.$router.push({query:{...t}}),this.queryParams={...this.noUrlParameters?{}:d.queryToData((e=this.$route)==null?void 0:e.query)},this.afterReset(),this.handleQuery()},currentInputComponent(){return"input-archive"},getItemRules(t){const{type:e,rules:n=[]}=t,r=[...n];return this.noInputBlank&&e==="input"&&r.push({pattern:this.trimRegex,message:"请输入(不能仅输入空格)",trigger:"blur"}),r},getInputSetting(t){const{inputSetting:e,setting:n}=t;return{...this.inputSetting,...e,...n}},defaultFunction(){},getInputEvents(t){return{blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction,change:t.change||this.defaultFunction,input:t.input||this.defaultFunction,clear:t.clear||this.defaultFunction}},getSelectSetting(t){const{selectSetting:e,setting:n}=t;return{...this.selectSetting,...e,...n}},getSelectEvents(t){return{change:t.change||this.defaultFunction,"visible-change":t["visible-change"]||this.defaultFunction,"remove-tag":t["remove-tag"]||this.defaultFunction,"expand-change":t["expand-change"]||this.defaultFunction,clear:t.clear||this.defaultFunction,blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction}},getDatePackerSetting(t){const{datePackerSetting:e,setting:n}=t;return{...this.datePackerSetting,...e,...n}},getDatePackerEvents(t){return{change:t.change||this.defaultFunction,blur:t.blur||this.defaultFunction,focus:t.focus||this.defaultFunction}},getCheckboxGroupSetting(t){const{checkboxGroupSetting:e,setting:n}=t;return{...e,...n}},getCheckboxGroupEvents(t){return{change:t.change||this.defaultFunction}}}};var P=function(){var e=this,n=e._self._c;return n("el-form",e._b({directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryFormRef",attrs:{model:e.queryParams,"label-width":e.labelWidth}},"el-form",e.attrs,!1),[e._l(e.formItem,function(r){return n("el-form-item",e._b({key:r.prop,attrs:{rules:e.getItemRules(r)}},"el-form-item",r,!1),[r.type==="input"?n("el-input",e._g(e._b({attrs:{size:e.size},nativeOn:{keydown:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.getList.apply(null,arguments)}},scopedSlots:e._u([e._l(r.template,function(a,o){return{key:o,fn:function(){return[a?n(e.currentInputComponent(),{key:o,tag:"component",attrs:{templateEle:a}}):e._e()]},proxy:!0}})],null,!0),model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-input",e.getInputSetting(r),!1),e.getInputEvents(r))):r.type==="input-mobile-verification"?n("el-input",e._g(e._b({attrs:{size:e.size},nativeOn:{keydown:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.getList.apply(null,arguments)}},scopedSlots:e._u([e._l(r.template,function(a,o){return{key:o,fn:function(){return[a?n(e.currentInputComponent(),{key:o,tag:"component",attrs:{templateEle:a}}):e._e()]},proxy:!0}})],null,!0),model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-input",e.getInputSetting(r),!1),e.getInputEvents(r)),[n("template",{slot:"append"},[n("verification-button",{attrs:{verificationSetting:r.verificationSetting,getSmscode:r.getSmscode}})],1)],2):r.type==="select"?n("el-select",e._g(e._b({attrs:{filterable:"",size:e.size},model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-select",e.getSelectSetting(r),!1),e.getSelectEvents(r)),e._l(r.option||[],function(a){return n("el-option",{key:a.key||a.value,attrs:{label:a.label,value:a.value}})}),1):r.type==="cascader"?n("el-cascader",e._g(e._b({attrs:{filterable:"",size:e.size,options:r.options||[]},model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-cascader",e.getSelectSetting(r),!1),e.getSelectEvents(r))):r.type==="date-picker"?n("el-date-picker",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-date-picker",e.getDatePackerSetting(r),!1),e.getDatePackerEvents(r))):e._e(),r.type==="input-number"?n("el-input-number",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-input-number",e.getInputSetting(r),!1),e.getInputEvents(r))):r.type==="checkbox"?n("el-checkbox-group",e._g(e._b({attrs:{size:e.size},model:{value:e.queryParams[r.prop],callback:function(a){e.$set(e.queryParams,r.prop,a)},expression:"queryParams[item.prop]"}},"el-checkbox-group",e.getCheckboxGroupSetting(r),!1),e.getCheckboxGroupEvents(r)),e._l(r.option||[],function(a){return n("el-checkbox",e._b({key:a.key||a.value||a.label},"el-checkbox",a,!1))}),1):e._e(),/^form-item-slot$/i.test(r.type)?e._t(r.name):e._e()],2)}),e._t("default"),e.formOnly?e._e():n("el-form-item",[n("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:e.size,loading:e.formLoading},on:{click:e.handleQuery}},[e._v("查询")]),n("el-button",{attrs:{icon:"el-icon-refresh",size:e.size},on:{click:e.resetQuery}},[e._v("重置")])],1),e._t("behind-the-button")],2)},$=[],C=c(T,P,$,!1,null,"b0880d48",null,null);const F=C.exports,se="",q={components:{},props:{query:{type:Object,default:()=>({prefCode:sessionStorage.getItem("prefCode")})},routePath:{type:String,default:()=>"/search/searchDetail"},inputstyle:{type:Object,default:()=>({width:"1280px"})},openHref:{type:Boolean,default:()=>!1},size:{type:String,default:()=>"medium"}},data(){var t,e;return{keyWord:((e=(t=this.$route)==null?void 0:t.query)==null?void 0:e.keyWord)||"",attrs:{}}},watch:{$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0}},methods:{search(){const t={path:this.routePath,query:{...this.query,keyWord:this.keyWord}};if(this.openHref){const e=this.$router.resolve(t);window.open(e.href,"_blank")}else this.$router.push(t)}}};var N=function(){var e=this,n=e._self._c;return n("div",{staticClass:"search-box"},[n("el-input",e._b({style:{...e.inputstyle},attrs:{size:e.size},nativeOn:{keydown:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.search.apply(null,arguments)}},model:{value:e.keyWord,callback:function(r){e.keyWord=r},expression:"keyWord"}},"el-input",e.attrs,!1),[n("svg",{staticClass:"el-input__icon",attrs:{slot:"prefix",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},slot:"prefix"},[n("path",{attrs:{d:"M9.51033 10.2186C8.69189 10.8814 7.64943 11.2784 6.51424 11.2784C3.88302 11.2784 1.75 9.14541 1.75 6.51421C1.75 3.88301 3.88302 1.75 6.51424 1.75C9.14545 1.75 11.2785 3.88301 11.2785 6.51421C11.2785 7.64942 10.8814 8.69189 10.2186 9.51034L13.75 13.0417L13.0417 13.75L9.51033 10.2186ZM10.2768 6.51421C10.2768 4.43623 8.59224 2.75168 6.51424 2.75168C4.43623 2.75168 2.75168 4.43623 2.75168 6.51421C2.75168 8.59219 4.43623 10.2767 6.51424 10.2767C8.59224 10.2767 10.2768 8.59219 10.2768 6.51421Z",fill:"#959A9F"}})])])],1)},w=[],O=c(q,N,w,!1,null,"ef706e31",null,null);const D=O.exports,z={name:"Descriptions",components:{DescriptionsColumn:{functional:!0,props:{column:{default:{render:()=>{}},type:Object},formData:{default:{},type:Object}},render(t,e){const{props:n}=e,{column:r,formData:a}=n;return r.render(a)}}},data(){return{attrs:{border:!0,class:"v-descriptions"}}},props:{formItem:{type:Array,default:()=>[]},formData:{type:Object,default:()=>{}}},watch:{$attrs:{handler(t){this.attrs={...this.attrs,...t}},immediate:!0,deep:!0}}};var I=function(){var e=this,n=e._self._c;return n("el-descriptions",e._b({},"el-descriptions",e.attrs,!1),e._l(e.formItem,function(r,a){return n("el-descriptions-item",e._b({key:r.prop,attrs:{label:r.label}},"el-descriptions-item",r.descriptionsItemProps,!1),[r.render?n("DescriptionsColumn",{attrs:{column:r,formData:e.formData}}):n("span",[e._v(e._s(e.formData[r.prop]))])],1)}),1)},B=[],K=c(z,I,B,!1,null,null,null,null);const L=K.exports,oe="",R={props:{nodeKey:{type:String,default:"id"},filterable:{type:Boolean,default:!1},dataSource:{type:Array,default:()=>[]},checkedKeys:{type:Array,default:()=>[]}},watch:{sourceFilterText(t){this.$refs.sourceTree.filter(t)},selectedFilterText(t){this.$refs.selectTree.filter(t)},checkedKeys(t){this.$refs.sourceTree.setCheckedKeys(t),f.nextTick(()=>{this.getSelectedData(),this.$refs.selectTree.setCheckedKeys(t)})}},data(){return{defaultTreeAttributes:{"default-expand-all":!0,"show-checkbox":!0},selectedList:[],sourceFilterText:"",selectedFilterText:""}},methods:{sourceFilterNode(t,e){return t?e.label.indexOf(t)!==-1:!0},getSelectedData(){let t=!0,e;const n=this.$refs.sourceTree.getCheckedNodes(t,e);this.selectedList=n},removeSelectedData(){let t,e;const n=this.$refs.selectTree.getCheckedNodes(t,e),r={};n.forEach(a=>{r[a[this.nodeKey]]=a}),this.selectedList=this.selectedList.filter(a=>!r[a[this.nodeKey]])}}};var E=function(){var e=this,n=e._self._c;return n("div",{staticClass:"tree-box"},[n("div",{staticClass:"left-box"},[e.filterable?n("el-input",{attrs:{placeholder:"输入关键字进行过滤"},model:{value:e.sourceFilterText,callback:function(r){e.sourceFilterText=r},expression:"sourceFilterText"}}):e._e(),n("el-tree",e._b({ref:"sourceTree",attrs:{data:e.dataSource,"filter-node-method":e.sourceFilterNode,nodeKey:e.nodeKey}},"el-tree",{...e.defaultTreeAttributes},!1))],1),n("div",{staticClass:"mid-box"},[n("el-button",{attrs:{icon:"el-icon-arrow-right",circle:""},on:{click:e.getSelectedData}}),n("el-button",{attrs:{icon:"el-icon-arrow-left",circle:""},on:{click:e.removeSelectedData}})],1),n("div",{staticClass:"right-box"},[e.filterable?n("el-input",{attrs:{placeholder:"输入关键字进行过滤"},model:{value:e.selectedFilterText,callback:function(r){e.selectedFilterText=r},expression:"selectedFilterText"}}):e._e(),n("el-tree",e._b({ref:"selectTree",attrs:{data:e.selectedList,"filter-node-method":e.sourceFilterNode,nodeKey:e.nodeKey}},"el-tree",{...e.defaultTreeAttributes},!1))],1)])},A=[],V=c(R,E,A,!1,null,"49dbad2a",null,null);const j=V.exports,le="",U={name:"VTabs",data(){return{activeName:this.activeNameInit()}},props:{tabPanes:{type:Array,default:()=>[]},noUrlParameters:{type:Boolean,default:()=>!1},activeNameKey:{type:String,default:"activeName"},defActiveName:{type:String},getList:{type:Function,default:()=>{}}},watch:{defActiveName:{handler(t,e){JSON.stringify(t)!==JSON.stringify(e)&&(this.activeName=t)},immediate:!0},activeName:{handler(t){this.$emit(`update:${this.activeNameKey}`,t)}}},methods:{handleClick(t,e){var r;const n=d.paramsToQuery({...(r=this.$route)==null?void 0:r.query,[this.activeNameKey]:this.activeName});this.noUrlParameters||this.$router.push({query:{...n}}),this.getList({...n})},activeNameInit(){var n,r,a;let t="";(n=this.tabPanes[0])!=null&&n.name&&(t=(r=this.tabPanes[0])==null?void 0:r.name);const e=d.queryToData(Number((a=this.$route)==null?void 0:a.query[this.activeNameKey]));return!this.noUrlParameters&&e&&(t=e),this.defActiveName&&(t=this.defActiveName),`${t}`}}};var G=function(){var e=this,n=e._self._c;return n("el-tabs",e._b({on:{"tab-click":e.handleClick},model:{value:e.activeName,callback:function(r){e.activeName=r},expression:"activeName"}},"el-tabs",e.$attrs,!1),[e._l(e.tabPanes,function(r){return n("el-tab-pane",e._b({key:r.name},"el-tab-pane",r,!1),[e._v(" "+e._s(r.render&&r.render(r))+" ")])}),e._t("default")],2)},W=[],Q=c(U,G,W,!1,null,"91cf6f01",null,null);const J=Q.exports,H=F,M=D,X=L,Z=j,Y=J;i.VDescriptions=X,i.VGeneralBasicForm=H,i.VSearchBox=M,i.VTabs=Y,i.VTreeTransfer=Z,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,70 +1,60 @@
1
- {
2
- "name": "general-basic-form",
3
- "version": "1.1.3",
4
- "description": "",
5
- "main": "./dist/index.umd.cjs",
6
- "type": "module",
7
- "scripts": {
8
- "build": "cross-env CURRENT_ENV=prod run-p type-check && run-p 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/unlinkModule.ts && yarn unlink && run-p build",
14
- "linkNode": "tsx script/linkNode.ts && yarn link && run-p dev",
15
- "unlinkNode": "tsx script/unlinkNode.ts && yarn unlink && run-p buildts",
16
- "dev": "tsc -w -p .",
17
- "buildts": "rimraf dist && tsc -p ."
18
- },
19
- "keywords": [
20
- "general-basic-form",
21
- "form",
22
- "vue",
23
- "vue2",
24
- "vue3",
25
- "element-plus",
26
- "element",
27
- "typescript"
28
- ],
29
- "author": "chendeli419287484@qq.com",
30
- "license": "ISC",
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/Alan1034/GeneralBasicForm.git"
34
- },
35
- "devDependencies": {
36
- "@playwright/test": "^1.36.1",
37
- "@types/node": "^20.8.10",
38
- "@vitejs/plugin-legacy": "^4.1.1",
39
- "@vitejs/plugin-vue2": "^2.3.1",
40
- "@vitejs/plugin-vue2-jsx": "^1.1.1",
41
- "chalk": "^2.4.2",
42
- "cross-env": "^7.0.3",
43
- "less": "^4.2.0",
44
- "npm-run-all": "^4.1.5",
45
- "rimraf": "^5.0.5",
46
- "sass": "^1.77.8",
47
- "tsx": "^4.0.0",
48
- "typescript": "^5.2.2",
49
- "vite-plugin-image-optimizer": "^1.1.6"
50
- },
51
- "peerDependencies": {
52
- "vue": "^2.7.0-0"
53
- },
54
- "typings": "./dist/index.d.ts",
55
- "dependencies": {
56
- "network-spanner": "^1.2.8"
57
- },
58
- "module": "./dist/index.js",
59
- "exports": {
60
- ".": {
61
- "import": "./dist/index.js",
62
- "require": "./dist/index.umd.cjs",
63
- "types": "./dist/index.d.ts"
64
- },
65
- "./style": "./dist/style.css"
66
- },
67
- "files": [
68
- "/dist"
69
- ]
70
- }
1
+ {
2
+ "name": "general-basic-form",
3
+ "version": "1.2.0",
4
+ "description": "",
5
+ "main": "./src/index.ts",
6
+ "type": "module",
7
+ "scripts": {
8
+ "build": "cross-env CURRENT_ENV=prod run-p type-check && run-p 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/unlinkModule.ts && yarn unlink && run-p build",
14
+ "linkNode": "tsx script/linkNode.ts && yarn link && run-p dev",
15
+ "unlinkNode": "tsx script/unlinkNode.ts && yarn unlink && run-p buildts",
16
+ "dev": "tsc -w -p .",
17
+ "buildts": "rimraf dist && tsc -p ."
18
+ },
19
+ "keywords": [
20
+ "general-basic-form",
21
+ "form",
22
+ "vue",
23
+ "vue2",
24
+ "vue3",
25
+ "vue-router",
26
+ "element-plus",
27
+ "element",
28
+ "typescript"
29
+ ],
30
+ "author": "chendeli419287484@qq.com",
31
+ "license": "ISC",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/Alan1034/GeneralBasicForm.git"
35
+ },
36
+ "devDependencies": {
37
+ "@playwright/test": "^1.36.1",
38
+ "@types/node": "^20.8.10",
39
+ "@vitejs/plugin-legacy": "^4.1.1",
40
+ "@vitejs/plugin-vue2": "^2.3.1",
41
+ "@vitejs/plugin-vue2-jsx": "^1.1.1",
42
+ "chalk": "^2.4.2",
43
+ "cross-env": "^7.0.3",
44
+ "less": "^4.2.0",
45
+ "npm-run-all": "^4.1.5",
46
+ "rimraf": "^5.0.5",
47
+ "sass": "^1.77.8",
48
+ "tsx": "^4.0.0",
49
+ "typescript": "^5.2.2",
50
+ "vite-plugin-image-optimizer": "^1.1.6"
51
+ },
52
+ "peerDependencies": {
53
+ "vue": "^2.7.0-0"
54
+ },
55
+ "typings": "./publish/index.d.ts",
56
+ "dependencies": {
57
+ "general-basic-indexdb": "^1.0.1",
58
+ "network-spanner": "^1.2.8"
59
+ }
60
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * @Author: 陈德立*******419287484@qq.com
3
+ * @Date: 2023-11-07 17:55:59
4
+ * @LastEditTime: 2023-11-08 10:24:14
5
+ * @LastEditors: 陈德立*******419287484@qq.com
6
+ * @Github: https://github.com/Alan1034
7
+ * @Description:
8
+ * @FilePath: \GeneralBasicForm\public\index.d.ts
9
+ *
10
+ */
11
+ /// <reference types="vite/client" />
12
+ declare module "*.vue" {
13
+ import { DefineComponent } from "vue"
14
+ const component: DefineComponent<{}, {}, any>
15
+ export default component
16
+ }
17
+ declare module "general-basic-form";
@@ -0,0 +1,24 @@
1
+ import path from "path";
2
+ import fs from 'fs'
3
+ import chalk from 'chalk'
4
+ import { fileURLToPath } from 'url'
5
+ const __filenameNew = fileURLToPath(import.meta.url)
6
+ const __dirnameNew = path.dirname(__filenameNew)
7
+ export const updateMain = (mainDir:string) => {
8
+ try {
9
+ const packageTxt = fs.readFileSync(path.join(__dirnameNew, '../package.json'), 'utf8');
10
+ const packageJson = JSON.parse(packageTxt);
11
+
12
+ delete packageJson.files
13
+ delete packageJson.module
14
+ delete packageJson.exports
15
+ packageJson.typings = "./publish/index.d.ts"
16
+ packageJson.main = mainDir
17
+ const versionData = JSON.stringify(packageJson, null, 2);
18
+ fs.writeFileSync(path.join(__dirnameNew, '../package.json'), versionData, 'utf8');
19
+ console.log(chalk.green.bold('修改入口配置成功!当前入口路径为为:' + mainDir));
20
+ } catch (error) {
21
+ console.log(chalk.red.bold('修改入口配置出错:', error.toString()));
22
+ }
23
+
24
+ }
package/script/link.ts ADDED
@@ -0,0 +1,14 @@
1
+ /*
2
+ * @Author: 陈德立*******419287484@qq.com
3
+ * @Date: 2023-11-10 09:39:59
4
+ * @LastEditTime: 2023-11-15 18:38:43
5
+ * @LastEditors: 陈德立*******419287484@qq.com
6
+ * @Github: https://github.com/Alan1034
7
+ * @Description: link处理流程
8
+ * @FilePath: \VueNpmFrame\script\link.ts
9
+ *
10
+ */
11
+ import { updateMain } from "./initialization";
12
+
13
+
14
+ updateMain("./src/index.ts")
@@ -0,0 +1,14 @@
1
+ /*
2
+ * @Author: 陈德立*******419287484@qq.com
3
+ * @Date: 2023-11-10 09:39:59
4
+ * @LastEditTime: 2024-03-01 11:27:02
5
+ * @LastEditors: 陈德立*******419287484@qq.com
6
+ * @Github: https://github.com/Alan1034
7
+ * @Description: link处理流程
8
+ * @FilePath: \VueNpmFrame\script\linkNode.ts
9
+ *
10
+ */
11
+ import { updateMain } from "./initialization";
12
+
13
+
14
+ updateMain("./dist/src/index.js")
@@ -0,0 +1,48 @@
1
+ /*
2
+ * @Author: 陈德立*******419287484@qq.com
3
+ * @Date: 2023-11-10 09:39:59
4
+ * @LastEditTime: 2023-11-25 23:52:27
5
+ * @LastEditors: 陈德立*******419287484@qq.com
6
+ * @Github: https://github.com/Alan1034
7
+ * @Description: unlink处理流程
8
+ * @FilePath: \vite-plugin-update-version\script\unlinkModule.ts
9
+ *
10
+ */
11
+ import path from "path";
12
+ import fs from 'fs'
13
+ import chalk from 'chalk'
14
+ import { fileURLToPath } from 'url'
15
+ const __filenameNew = fileURLToPath(import.meta.url)
16
+ const __dirnameNew = path.dirname(__filenameNew)
17
+ const updateMain = () => {
18
+ try {
19
+ const packageTxt = fs.readFileSync(path.join(__dirnameNew, '../package.json'), 'utf8');
20
+ const packageJson = JSON.parse(packageTxt);
21
+ const umdDir = "./dist/index.umd.cjs"
22
+ const esDir = "./dist/index.js"
23
+ const types = "./dist/index.d.ts"
24
+ packageJson.type = "module"
25
+ packageJson.main = umdDir
26
+ packageJson.module = esDir
27
+ packageJson.exports = {
28
+ ".": {
29
+ "import": esDir,
30
+ "require": umdDir,
31
+ "types": types
32
+ },
33
+ "./style": "./dist/style.css"
34
+ }
35
+ packageJson.typings = types
36
+ packageJson.files = [
37
+ "/dist"
38
+ ]
39
+ const versionData = JSON.stringify(packageJson, null, 2);
40
+ fs.writeFileSync(path.join(__dirnameNew, '../package.json'), versionData, 'utf8');
41
+ console.log(chalk.green.bold('修改入口配置成功!当前入口路径为为:' + umdDir));
42
+ } catch (error) {
43
+ console.log(chalk.red.bold('修改入口配置出错:', error.toString()));
44
+ }
45
+
46
+ }
47
+
48
+ updateMain()
@@ -0,0 +1,38 @@
1
+ /*
2
+ * @Author: 陈德立*******419287484@qq.com
3
+ * @Date: 2023-11-10 09:39:59
4
+ * @LastEditTime: 2024-03-01 11:33:05
5
+ * @LastEditors: 陈德立*******419287484@qq.com
6
+ * @Github: https://github.com/Alan1034
7
+ * @Description: unlink处理流程
8
+ * @FilePath: \VueNpmFrame\script\unlinkNode.ts
9
+ *
10
+ */
11
+ import path from "path";
12
+ import fs from 'fs'
13
+ import chalk from 'chalk'
14
+ import { fileURLToPath } from 'url'
15
+ const __filenameNew = fileURLToPath(import.meta.url)
16
+ const __dirnameNew = path.dirname(__filenameNew)
17
+ const updateMain = () => {
18
+ try {
19
+ const packageTxt = fs.readFileSync(path.join(__dirnameNew, '../package.json'), 'utf8');
20
+ const packageJson = JSON.parse(packageTxt);
21
+ const cjsDir = "./dist/src/index.js"
22
+ const types = "./dist/src/index.d.ts"
23
+ delete packageJson.type
24
+ packageJson.main = cjsDir
25
+ packageJson.typings = types
26
+ packageJson.files = [
27
+ "/dist"
28
+ ]
29
+ const versionData = JSON.stringify(packageJson, null, 2);
30
+ fs.writeFileSync(path.join(__dirnameNew, '../package.json'), versionData, 'utf8');
31
+ console.log(chalk.green.bold('修改入口配置成功!当前入口路径为为:' + cjsDir));
32
+ } catch (error) {
33
+ console.log(chalk.red.bold('修改入口配置出错:', error.toString()));
34
+ }
35
+
36
+ }
37
+
38
+ updateMain()
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "include": [
3
+ "public/index.d.tsex.d.ts",
4
+ "src/**/*",
5
+ "src/**/*.vue",
6
+ "public/*",
7
+ ],
8
+ "exclude": [],
9
+ "compilerOptions": {
10
+ "declaration": true,
11
+ "allowJs": true,
12
+ "composite": true
13
+ }
14
+ }
package/vite.config.js ADDED
@@ -0,0 +1,121 @@
1
+ import legacy from '@vitejs/plugin-legacy'
2
+ import { fileURLToPath } from 'url'
3
+ import { defineConfig, loadEnv, splitVendorChunkPlugin } from 'vite'
4
+ import vue from '@vitejs/plugin-vue2'
5
+ import vueJsx from '@vitejs/plugin-vue2-jsx'
6
+ import { ViteImageOptimizer } from 'vite-plugin-image-optimizer';
7
+ import path from 'path';
8
+ const __filenameNew = fileURLToPath(import.meta.url)
9
+ const __dirnameNew = path.dirname(__filenameNew)
10
+ const resolve = (dir) => path.resolve(__dirnameNew, dir);
11
+ // https://vitejs.dev/config/
12
+ export default defineConfig(({ command, mode }) => {
13
+ // 根据当前工作目录中的 `mode` 加载 .env 文件
14
+ // 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。
15
+ const env = loadEnv(mode, process.cwd(), '')
16
+ // console.log(command)
17
+ // console.log(env)
18
+ // console.log(env.CURRENT_ENV)
19
+ // console.log(env.APP_ENV)
20
+ // console.log(env.VUE_APP_BASE_API)
21
+ return {
22
+ // vite环境变量配置
23
+ define: {
24
+ "CURRENT_ENV": JSON.stringify(env.CURRENT_ENV),
25
+ },
26
+ server: {
27
+ open: true,
28
+ },
29
+ resolve: {
30
+ alias: {
31
+ '@': resolve('src'),//路径化名
32
+ },
33
+
34
+ extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'],
35
+ },
36
+
37
+ plugins: [
38
+ /**
39
+ * @description: vite自带的文件分割配置
40
+ * @return {*}
41
+ */
42
+ {
43
+ ...splitVendorChunkPlugin(),
44
+ apply: 'build',
45
+ },
46
+ /**
47
+ * @description: 图片压缩插件
48
+ * @return {*}
49
+ */
50
+ {
51
+ ...ViteImageOptimizer({
52
+ /* pass your config */
53
+ }),
54
+ // enforce: 'pre',
55
+ apply: 'build',
56
+ },
57
+ /**
58
+ * @description: 兼容旧版本浏览器
59
+ * @return {*}
60
+ */
61
+ {
62
+ ...legacy({
63
+ targets: ['defaults'],
64
+ }),
65
+ apply: 'build',
66
+ },
67
+ vue(),
68
+ vueJsx(),
69
+ ],
70
+ css: {
71
+ preprocessorOptions: {
72
+ less: {
73
+ // 支持内联 JavaScript
74
+ javascriptEnabled: true,
75
+ },
76
+ },
77
+ },
78
+ /**
79
+ * @description: 打包时才调用
80
+ * @return {*}
81
+ */
82
+ build: {
83
+ lib: {
84
+ // Could also be a dictionary or array of multiple entry points
85
+ // 添加打包入口文件夹
86
+ entry: resolve(`${__dirnameNew}/src`, 'index.ts'),
87
+ // formats: ['es', 'cjs', 'umd', 'iife'],
88
+ name: 'Index',
89
+ // the proper extensions will be added
90
+ // fileName: (format) => `index.${format}.js`,
91
+ fileName: "index",
92
+ },
93
+ rollupOptions: {
94
+ // 确保外部化处理那些你不想打包进库的依赖
95
+ external: ['vue'],
96
+ output: {
97
+ // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
98
+ globals: {
99
+ vue: 'Vue',
100
+ },
101
+ },
102
+ },
103
+ // minify: 'terser',
104
+ //打包环境移除console.log,debugger
105
+ // terserOptions: {
106
+ // compress: {
107
+ // drop_console: true,
108
+ // drop_debugger: true,
109
+ // },
110
+ // },
111
+ //打包文件按照类型分文件夹显示(貌似会导致性能下降)
112
+ // rollupOptions: {
113
+ // output: {
114
+ // chunkFileNames: 'js/[name]-chunk-[hash:7].js',
115
+ // entryFileNames: 'js/[name]-app-[hash:7].js',
116
+ // assetFileNames: '[ext]/[name]-chunk-[hash:7].[ext]',
117
+ // },
118
+ // },
119
+ },
120
+ }
121
+ })