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.assets/image-20210820173738506.png +0 -0
- package/README.md +18 -5
- package/dist/index.js +67 -62
- package/dist/index.umd.cjs +1 -1
- package/package.json +60 -70
- package/public/index.d.ts +17 -0
- package/script/initialization.ts +24 -0
- package/script/link.ts +14 -0
- package/script/linkNode.ts +14 -0
- package/script/unlinkModule.ts +48 -0
- package/script/unlinkNode.ts +38 -0
- package/tsconfig.json +14 -0
- package/vite.config.js +121 -0
|
Binary file
|
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ import 'general-basic-form/style'
|
|
|
60
60
|
:formData.sync: {
|
|
61
61
|
// 外部传入的表单数据,用于回填
|
|
62
62
|
}
|
|
63
|
-
|
|
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
|
-
|
|
138
|
+
reject()
|
|
134
139
|
}
|
|
135
140
|
}
|
|
136
141
|
)
|
|
137
142
|
})
|
|
138
143
|
|
|
139
|
-
|
|
140
144
|

|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
3
|
-
var
|
|
4
|
-
e && (
|
|
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__),
|
|
10
|
-
},
|
|
11
|
-
|
|
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
|
-
(
|
|
13
|
+
(n.functional ? this.parent : this).$root.$options.shadowRoot
|
|
14
14
|
);
|
|
15
|
-
} :
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
var _ =
|
|
19
|
-
|
|
20
|
-
return l.call(
|
|
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
|
|
24
|
-
|
|
23
|
+
var d = n.beforeCreate;
|
|
24
|
+
n.beforeCreate = d ? [].concat(d, l) : [l];
|
|
25
25
|
}
|
|
26
26
|
return {
|
|
27
27
|
exports: t,
|
|
28
|
-
options:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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
|
-
...
|
|
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: { ...
|
|
293
|
+
query: { ...a }
|
|
289
294
|
}), this.getList({
|
|
290
|
-
...
|
|
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(
|
|
386
|
-
return !
|
|
387
|
-
} }, scopedSlots: e._u([e._l(r.template, function(
|
|
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 [
|
|
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(
|
|
392
|
-
e.$set(e.queryParams, r.prop,
|
|
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(
|
|
394
|
-
return !
|
|
395
|
-
} }, scopedSlots: e._u([e._l(r.template, function(
|
|
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 [
|
|
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(
|
|
400
|
-
e.$set(e.queryParams, r.prop,
|
|
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(
|
|
402
|
-
e.$set(e.queryParams, r.prop,
|
|
403
|
-
}, expression: "queryParams[item.prop]" } }, "el-select", e.getSelectSetting(r), !1), e.getSelectEvents(r)), e._l(r.option || [], function(
|
|
404
|
-
return a("el-option", { key:
|
|
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(
|
|
406
|
-
e.$set(e.queryParams, r.prop,
|
|
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(
|
|
408
|
-
e.$set(e.queryParams, r.prop,
|
|
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(
|
|
410
|
-
e.$set(e.queryParams, r.prop,
|
|
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(
|
|
412
|
-
e.$set(e.queryParams, r.prop,
|
|
413
|
-
}, expression: "queryParams[item.prop]" } }, "el-checkbox-group", e.getCheckboxGroupSetting(r), !1), e.getCheckboxGroupEvents(r)), e._l(r.option || [], function(
|
|
414
|
-
return a("el-checkbox", e._b({ key:
|
|
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
|
-
"
|
|
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:
|
|
520
|
-
return r.render(
|
|
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,
|
|
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((
|
|
633
|
-
r[
|
|
634
|
-
}), this.selectedList = this.selectedList.filter((
|
|
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,
|
|
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((
|
|
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
|
}
|
package/dist/index.umd.cjs
CHANGED
|
@@ -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.
|
|
4
|
-
"description": "",
|
|
5
|
-
"main": "./
|
|
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
|
-
"
|
|
26
|
-
"element",
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"@
|
|
38
|
-
"@
|
|
39
|
-
"@vitejs/plugin-
|
|
40
|
-
"@vitejs/plugin-vue2
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
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
|
+
})
|