el-plus-crud 0.0.11 → 0.0.13
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/CHANGELOG.md +4 -0
- package/README.md +115 -3
- package/build.js +31 -9
- package/dist/components/el-plus-form/ElPlusForm.vue.d.ts +320 -0
- package/dist/components/el-plus-form/ElPlusFormDialog.vue.d.ts +74 -0
- package/dist/components/el-plus-form/components/ElPlusFormArea.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormAutocomplete.vue.d.ts +55 -0
- package/dist/components/el-plus-form/components/ElPlusFormBtn.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormBtns.vue.d.ts +42 -0
- package/dist/components/el-plus-form/components/ElPlusFormCascader.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormCascaderPanel.vue.d.ts +51 -0
- package/dist/components/el-plus-form/components/ElPlusFormCheckbox.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormCheckboxButton.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormColor.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormDate.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormDaterange.vue.d.ts +51 -0
- package/dist/components/el-plus-form/components/ElPlusFormDatetime.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormFile.vue.d.ts +48 -0
- package/dist/components/el-plus-form/components/ElPlusFormImage.vue.d.ts +48 -0
- package/dist/components/el-plus-form/components/ElPlusFormInput.vue.d.ts +50 -0
- package/dist/components/el-plus-form/components/ElPlusFormLink.vue.d.ts +53 -0
- package/dist/components/el-plus-form/components/ElPlusFormNbinput.vue.d.ts +61 -0
- package/dist/components/el-plus-form/components/ElPlusFormNumber.vue.d.ts +57 -0
- package/dist/components/el-plus-form/components/ElPlusFormQuickInput.vue.d.ts +51 -0
- package/dist/components/el-plus-form/components/ElPlusFormRadio.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormRate.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormSelect.vue.d.ts +56 -0
- package/dist/components/el-plus-form/components/ElPlusFormSlider.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormStatus.vue.d.ts +44 -0
- package/dist/components/el-plus-form/components/ElPlusFormSwitch.vue.d.ts +50 -0
- package/dist/components/el-plus-form/components/ElPlusFormTag.vue.d.ts +48 -0
- package/dist/components/el-plus-form/components/ElPlusFormText.vue.d.ts +48 -0
- package/dist/components/el-plus-form/components/ElPlusFormTextarea.vue.d.ts +51 -0
- package/dist/components/el-plus-form/components/ElPlusFormTransfer.vue.d.ts +57 -0
- package/dist/components/el-plus-form/components/ElPlusFormTree.vue.d.ts +50 -0
- package/dist/components/el-plus-form/components/ElPlusFormTreeSelect.vue.d.ts +50 -0
- package/dist/components/el-plus-form/components/ElPlusFormUpload.vue.d.ts +51 -0
- package/dist/components/el-plus-form/components/components/file-icons/FileIcons.vue.d.ts +42 -0
- package/dist/components/el-plus-form/components/components/file-icons/data/index.d.ts +15 -0
- package/dist/components/el-plus-form/components/index.d.ts +3 -0
- package/dist/components/el-plus-form/data/file.d.ts +63 -0
- package/dist/components/el-plus-form/mixins/index.d.ts +28 -0
- package/dist/components/el-plus-form/util/index.d.ts +47 -0
- package/dist/components/el-plus-form/util/validate.d.ts +253 -0
- package/dist/components/el-plus-table/ElPlusTable.vue.d.ts +155 -0
- package/dist/components/el-plus-table/components/columnItem.vue.d.ts +42 -0
- package/dist/components/el-plus-table/components/header.vue.d.ts +93 -0
- package/dist/components/el-plus-table/components/settingColumn.vue.d.ts +28 -0
- package/dist/components/el-plus-table/util/index.d.ts +26 -0
- package/dist/components-list.d.ts +2 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/el-plus-crud.mjs +6968 -0
- package/dist/el-plus-crud.umd.js +27 -0
- package/dist/index.d.ts +11 -0
- package/dist/style.css +1 -1
- package/lib/components/el-plus-form/ElPlusForm.vue +20 -8
- package/lib/components/el-plus-form/components/ElPlusFormArea.vue +59 -0
- package/lib/components/el-plus-form/components/ElPlusFormBtn.vue +1 -1
- package/lib/components/el-plus-form/components/ElPlusFormCascader.vue +25 -2
- package/lib/components/el-plus-form/components/ElPlusFormDate.vue +3 -1
- package/lib/components/el-plus-form/components/ElPlusFormFile.vue +1 -1
- package/lib/components/el-plus-form/components/ElPlusFormInput.vue +4 -2
- package/lib/components/el-plus-form/components/ElPlusFormLink.vue +20 -10
- package/lib/components/el-plus-form/components/ElPlusFormNumber.vue +37 -6
- package/lib/components/el-plus-form/components/ElPlusFormQuickInput.vue +92 -0
- package/lib/components/el-plus-form/components/ElPlusFormSelect.vue +16 -4
- package/lib/components/el-plus-form/components/ElPlusFormText.vue +0 -16
- package/lib/components/el-plus-form/components/ElPlusFormTextarea.vue +4 -2
- package/lib/components/el-plus-form/components/ElPlusFormUpload.vue +364 -0
- package/lib/components/el-plus-form/components/components/file-icons/images/doc.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/file.svg +18 -18
- package/lib/components/el-plus-form/components/components/file-icons/images/jpg.svg +13 -13
- package/lib/components/el-plus-form/components/components/file-icons/images/pdf.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/png.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/ppt.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/xls.svg +12 -12
- package/lib/components/el-plus-form/components/index.js +17 -0
- package/lib/components/el-plus-form/components/index.ts +1 -1
- package/lib/components/el-plus-form/util/index.ts +0 -9
- package/lib/components/el-plus-table/ElPlusTable.vue +28 -14
- package/lib/components/el-plus-table/components/columnItem.vue +22 -3
- package/lib/components/el-plus-table/components/header.vue +57 -37
- package/lib/components/el-plus-table/components/settingColumn.vue +6 -4
- package/lib/components/el-plus-table/util/index.ts +24 -0
- package/lib/components-list.ts +67 -0
- package/lib/config/index.ts +29 -9
- package/lib/default.d.ts +4 -4
- package/lib/index.ts +9 -84
- package/package.json +6 -4
- package/types/formList.d.ts +44 -3
- package/vite.config.ts +12 -2
- package/dist/el-plus-crud.umd.cjs +0 -27
- package/lib/components/el-plus-form/components/ElPlusFormPassword.vue +0 -39
- package/lib/components/el-plus-form/components/components/IconSelectorList.vue +0 -92
- package/lib/config/form.ts +0 -12
- package/lib/index.d.ts +0 -3
package/lib/index.ts
CHANGED
|
@@ -1,98 +1,23 @@
|
|
|
1
1
|
import { App } from 'vue'
|
|
2
|
+
import components from './components-list'
|
|
2
3
|
import ElPlusForm from './components/el-plus-form/ElPlusForm.vue'
|
|
3
4
|
import ElPlusFormDialog from './components/el-plus-form/ElPlusFormDialog.vue'
|
|
4
|
-
import { components } from './components/el-plus-form/components/index'
|
|
5
5
|
import ElPlusTable from './components/el-plus-table/ElPlusTable.vue'
|
|
6
|
-
|
|
7
|
-
// import ElPlusFormBtn from './components/el-plus-form/components/ElPlusFormBtn.vue'
|
|
8
|
-
// import ElPlusFormBtns from './components/el-plus-form/components/ElPlusFormBtns.vue'
|
|
9
|
-
// import ElPlusFormCascader from './components/el-plus-form/components/ElPlusFormCascader.vue'
|
|
10
|
-
// import ElPlusFormCascaderPanel from './components/el-plus-form/components/ElPlusFormCascaderPanel.vue'
|
|
11
|
-
// import ElPlusFormCheckbox from './components/el-plus-form/components/ElPlusFormCheckbox.vue'
|
|
12
|
-
// import ElPlusFormCheckboxButton from './components/el-plus-form/components/ElPlusFormCheckboxButton.vue'
|
|
13
|
-
// import ElPlusFormDate from './components/el-plus-form/components/ElPlusFormDate.vue'
|
|
14
|
-
// import ElPlusFormDaterange from './components/el-plus-form/components/ElPlusFormDaterange.vue'
|
|
15
|
-
// import ElPlusFormFile from './components/el-plus-form/components/ElPlusFormFile.vue'
|
|
16
|
-
// import ElPlusFormImage from './components/el-plus-form/components/ElPlusFormImage.vue'
|
|
17
|
-
// import ElPlusFormInput from './components/el-plus-form/components/ElPlusFormInput.vue'
|
|
18
|
-
// import ElPlusFormLink from './components/el-plus-form/components/ElPlusFormLink.vue'
|
|
19
|
-
// import ElPlusFormNbinput from './components/el-plus-form/components/ElPlusFormNbinput.vue'
|
|
20
|
-
// import ElPlusFormNumber from './components/el-plus-form/components/ElPlusFormNumber.vue'
|
|
21
|
-
// import ElPlusFormPassword from './components/el-plus-form/components/ElPlusFormPassword.vue'
|
|
22
|
-
// import ElPlusFormRadio from './components/el-plus-form/components/ElPlusFormRadio.vue'
|
|
23
|
-
// import ElPlusFormRate from './components/el-plus-form/components/ElPlusFormRate.vue'
|
|
24
|
-
// import ElPlusFormSelect from './components/el-plus-form/components/ElPlusFormSelect.vue'
|
|
25
|
-
// import ElPlusFormSlider from './components/el-plus-form/components/ElPlusFormSlider.vue'
|
|
26
|
-
// import ElPlusFormStatus from './components/el-plus-form/components/ElPlusFormStatus.vue'
|
|
27
|
-
// import ElPlusFormSwitch from './components/el-plus-form/components/ElPlusFormSwitch.vue'
|
|
28
|
-
// import ElPlusFormTag from './components/el-plus-form/components/ElPlusFormTag.vue'
|
|
29
|
-
// import ElPlusFormText from './components/el-plus-form/components/ElPlusFormText.vue'
|
|
30
|
-
// import ElPlusFormTextarea from './components/el-plus-form/components/ElPlusFormTextarea.vue'
|
|
31
|
-
// import ElPlusFormTree from './components/el-plus-form/components/ElPlusFormTree.vue'
|
|
32
|
-
// import ElPlusFormTreeSelect from './components/el-plus-form/components/ElPlusFormTreeSelect.vue'
|
|
6
|
+
import defaultConf from './config'
|
|
33
7
|
|
|
34
8
|
export default {
|
|
35
9
|
install: (app: App, config: { [key: string]: any }, format?: { [key: string]: Function }, globalData?: { [key: string]: Function }) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
console.log('
|
|
39
|
-
if (!components || components.length <= 0) {
|
|
40
|
-
const modulesFiles = import.meta.glob('./components/el-plus-form/components/*.vue', { eager: true }) // import.meta.globEager('./*.vue')
|
|
41
|
-
console.log('modulesFiles: ', modulesFiles)
|
|
42
|
-
// 递归
|
|
43
|
-
for (const file in modulesFiles) {
|
|
44
|
-
const tempComponent = (modulesFiles[file] as any).default
|
|
45
|
-
console.log('file: ', file, tempComponent)
|
|
46
|
-
components.push(tempComponent)
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
console.log('components2: ', components)
|
|
51
|
-
// const components: any[] = [
|
|
52
|
-
// ElPlusFormBtn,
|
|
53
|
-
// ElPlusFormBtns,
|
|
54
|
-
// ElPlusFormCascader,
|
|
55
|
-
// ElPlusFormCascaderPanel,
|
|
56
|
-
// ElPlusFormCheckbox,
|
|
57
|
-
// ElPlusFormCheckboxButton,
|
|
58
|
-
// ElPlusFormDate,
|
|
59
|
-
// ElPlusFormDaterange,
|
|
60
|
-
// ElPlusFormFile,
|
|
61
|
-
// ElPlusFormImage,
|
|
62
|
-
// ElPlusFormInput,
|
|
63
|
-
// ElPlusFormLink,
|
|
64
|
-
// ElPlusFormNbinput,
|
|
65
|
-
// ElPlusFormNumber,
|
|
66
|
-
// ElPlusFormPassword,
|
|
67
|
-
// ElPlusFormRadio,
|
|
68
|
-
// ElPlusFormRate,
|
|
69
|
-
// ElPlusFormSelect,
|
|
70
|
-
// ElPlusFormSlider,
|
|
71
|
-
// ElPlusFormStatus,
|
|
72
|
-
// ElPlusFormSwitch,
|
|
73
|
-
// ElPlusFormTag,
|
|
74
|
-
// ElPlusFormText,
|
|
75
|
-
// ElPlusFormTextarea,
|
|
76
|
-
// ElPlusFormTree,
|
|
77
|
-
// ElPlusFormTreeSelect
|
|
78
|
-
// ]
|
|
79
|
-
// const typeList: String[] = []
|
|
80
|
-
|
|
81
|
-
// console.log('modulesFiles*********: ', modulesFiles)
|
|
82
|
-
|
|
83
|
-
// // 递归
|
|
84
|
-
// for (const file in modulesFiles) {
|
|
85
|
-
// const tempComponent = (modulesFiles[file] as any).default
|
|
86
|
-
// components.push(tempComponent)
|
|
87
|
-
// if (tempComponent.typeName) {
|
|
88
|
-
// typeList.push(tempComponent.typeName)
|
|
89
|
-
// }
|
|
90
|
-
// }
|
|
10
|
+
// 合并配置
|
|
11
|
+
Object.assign(defaultConf, config)
|
|
12
|
+
defaultConf.debug && console.log('initConfig: ', defaultConf)
|
|
91
13
|
|
|
92
14
|
// 这里注入format对象
|
|
93
15
|
app.provide('format', format)
|
|
94
16
|
app.provide('globalData', globalData)
|
|
95
17
|
|
|
18
|
+
// 这里注入defaultConf
|
|
19
|
+
app.provide('defaultConf', defaultConf)
|
|
20
|
+
|
|
96
21
|
// 循环注册表单组件
|
|
97
22
|
components.unshift(ElPlusForm)
|
|
98
23
|
components.unshift(ElPlusFormDialog)
|
|
@@ -100,7 +25,7 @@ export default {
|
|
|
100
25
|
// 注册列表组件
|
|
101
26
|
components.push(ElPlusTable)
|
|
102
27
|
|
|
103
|
-
console.log('
|
|
28
|
+
defaultConf.debug && console.log('components: ', components)
|
|
104
29
|
|
|
105
30
|
components.map((component: any) => {
|
|
106
31
|
app.component(component.name, component)
|
package/package.json
CHANGED
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
"name": "el-plus-crud",
|
|
3
3
|
"description": "采用Vue3 + TS,封装的element-plus数据驱动表单、列表组件",
|
|
4
4
|
"author": "K.D.Jack",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.13",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"private": false,
|
|
8
|
-
"main": "dist/el-plus-crud.
|
|
8
|
+
"main": "dist/el-plus-crud.js",
|
|
9
9
|
"module": "lib/index",
|
|
10
10
|
"types": "lib/index.d.ts",
|
|
11
|
-
"type": "module",
|
|
12
11
|
"scripts": {
|
|
13
12
|
"start": "vite",
|
|
14
|
-
"build": "vite build",
|
|
13
|
+
"build": "node build.js && vite build",
|
|
15
14
|
"build-comp": "node ./build.js",
|
|
16
15
|
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue lib/",
|
|
17
16
|
"preview": "vite preview",
|
|
@@ -45,6 +44,8 @@
|
|
|
45
44
|
"@typescript-eslint/parser": "^5.53.0",
|
|
46
45
|
"@vitejs/plugin-vue": "^4.1.0",
|
|
47
46
|
"@vue/eslint-config-standard": "^8.0.1",
|
|
47
|
+
"babel-preset-env": "^1.7.0",
|
|
48
|
+
"babel-register": "^6.26.0",
|
|
48
49
|
"eslint": "^8.34.0",
|
|
49
50
|
"eslint-plugin-vue": "^9.9.0",
|
|
50
51
|
"husky": "^8.0.3",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"standard-version": "^9.5.0",
|
|
55
56
|
"typescript": "^4.9.5",
|
|
56
57
|
"vite": "^4.3.9",
|
|
58
|
+
"vite-plugin-dts": "^3.2.0",
|
|
57
59
|
"vite-plugin-vue-setup-extend": "^0.4.0",
|
|
58
60
|
"vue-eslint-parser": "^9.1.0"
|
|
59
61
|
},
|
package/types/formList.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ declare interface IFormDescItem {
|
|
|
25
25
|
attrs?: { [key: string]: any } | Function
|
|
26
26
|
options?: Array<IFormDescItemOptionItem> | IFetch<Array<IFormDescItemOptionItem>> | string
|
|
27
27
|
default?: string | boolean | number
|
|
28
|
+
defaultItem?: { value: string | number; label: string; dataItem?: { [key: string]: any } }
|
|
28
29
|
rules?: string | Array<any>
|
|
29
30
|
require?: boolean
|
|
30
31
|
required?: boolean
|
|
@@ -124,7 +125,7 @@ declare interface IFetch<T> {
|
|
|
124
125
|
* 表格项
|
|
125
126
|
*/
|
|
126
127
|
declare interface IColumnItem {
|
|
127
|
-
label: string
|
|
128
|
+
label: string | ((data?: any) => string)
|
|
128
129
|
prop?: string
|
|
129
130
|
type?: string | Array<string>
|
|
130
131
|
width?: string
|
|
@@ -148,6 +149,8 @@ declare interface IColumnItem {
|
|
|
148
149
|
vshow?: boolean | 0 | 1 | Function
|
|
149
150
|
scShow?: boolean
|
|
150
151
|
showOverflowTooltip?: boolean
|
|
152
|
+
content?: any
|
|
153
|
+
hstyle?: any
|
|
151
154
|
}
|
|
152
155
|
|
|
153
156
|
/**
|
|
@@ -155,13 +158,17 @@ declare interface IColumnItem {
|
|
|
155
158
|
*/
|
|
156
159
|
declare interface IExportConfig {
|
|
157
160
|
// 导出的URL接口地址
|
|
158
|
-
url
|
|
161
|
+
url?: string
|
|
162
|
+
// 查询导出URL的fetch
|
|
163
|
+
fetch?: IFetch<string>
|
|
159
164
|
// 请求夹带的数据
|
|
160
165
|
data?: Object
|
|
161
166
|
// 文件名
|
|
162
167
|
name?: string
|
|
163
168
|
// 是否增加token权限
|
|
164
169
|
isAuth?: Boolean
|
|
170
|
+
// 是否需要拼接查询条件
|
|
171
|
+
noQuery?: Boolean
|
|
165
172
|
}
|
|
166
173
|
|
|
167
174
|
/**
|
|
@@ -245,7 +252,10 @@ declare interface ISummaryConf {
|
|
|
245
252
|
// 格式化
|
|
246
253
|
format?: string
|
|
247
254
|
// 尾行合计的合并方法
|
|
248
|
-
sumFn?: (tableData: any[]) => string
|
|
255
|
+
sumFn?: (tableData: any[], allSelectRowList?: any[]) => string
|
|
256
|
+
//尾行合计的样式
|
|
257
|
+
hstyle?: any
|
|
258
|
+
vif?: boolean | ((data?: any) => boolean)
|
|
249
259
|
}
|
|
250
260
|
|
|
251
261
|
/**
|
|
@@ -363,3 +373,34 @@ declare interface IDownFile {
|
|
|
363
373
|
// 上传进度
|
|
364
374
|
percent?: number
|
|
365
375
|
}
|
|
376
|
+
|
|
377
|
+
declare interface ICRUDConfig {
|
|
378
|
+
debug: boolean
|
|
379
|
+
size?: 'default' | 'small' | 'large'
|
|
380
|
+
storagePrefix?: string
|
|
381
|
+
form?: {
|
|
382
|
+
leng: {
|
|
383
|
+
input: number
|
|
384
|
+
textare: number
|
|
385
|
+
nbinput: {
|
|
386
|
+
min: number
|
|
387
|
+
max: number
|
|
388
|
+
precision: number
|
|
389
|
+
controlsPosition: 'right' | ''
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
upload?: {
|
|
394
|
+
type: 'minio' | 'quniu'
|
|
395
|
+
action: string | ((data?: any) => string)
|
|
396
|
+
maxISize: number
|
|
397
|
+
maxFSize: number
|
|
398
|
+
minio?: {
|
|
399
|
+
action: string | ((data?: any) => string)
|
|
400
|
+
getUploadUrl: (fileName?: string) => Promise<any>
|
|
401
|
+
doElUpload: (fileName?: string) => Promise<any>
|
|
402
|
+
getObjectAuthUrl: (fileName?: string) => Promise<any>
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
token?: string | ((data?: any) => string)
|
|
406
|
+
}
|
package/vite.config.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import vue from '@vitejs/plugin-vue'
|
|
2
2
|
import { resolve } from 'path'
|
|
3
3
|
import { defineConfig } from 'vite'
|
|
4
|
+
import dts from 'vite-plugin-dts'
|
|
4
5
|
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
|
|
5
6
|
|
|
6
7
|
const pathResolve = (dir: string) => {
|
|
@@ -13,7 +14,16 @@ const alias: Record<string, string> = {
|
|
|
13
14
|
|
|
14
15
|
const viteConfig = defineConfig(() => {
|
|
15
16
|
return {
|
|
16
|
-
plugins: [
|
|
17
|
+
plugins: [
|
|
18
|
+
vue(),
|
|
19
|
+
vueSetupExtend(),
|
|
20
|
+
dts({
|
|
21
|
+
entryRoot: './lib',
|
|
22
|
+
outDir: ['./dist'],
|
|
23
|
+
//指定使用的tsconfig.json为我们整个项目根目录下,如果不配置,你也可以在components下新建tsconfig.json
|
|
24
|
+
tsconfigPath: './tsconfig.json'
|
|
25
|
+
})
|
|
26
|
+
],
|
|
17
27
|
root: process.cwd(),
|
|
18
28
|
resolve: { alias },
|
|
19
29
|
base: './',
|
|
@@ -30,7 +40,7 @@ const viteConfig = defineConfig(() => {
|
|
|
30
40
|
lib: {
|
|
31
41
|
entry: 'lib/index.ts',
|
|
32
42
|
name: 'el-plus-crud',
|
|
33
|
-
formats: ['umd']
|
|
43
|
+
formats: ['umd', 'es']
|
|
34
44
|
},
|
|
35
45
|
rollupOptions: {
|
|
36
46
|
external: ['vue', 'element-plus'],
|