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
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<title>PPT图标</title>
|
|
4
|
-
<g id="供应商管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
-
<g id="供应商管理-供应商列表详情-20条附件" transform="translate(-383.000000, -891.000000)" fill="#F85207" fill-rule="nonzero">
|
|
6
|
-
<g id="编组-21备份-5" transform="translate(375.000000, 885.000000)">
|
|
7
|
-
<g id="PPT图标" transform="translate(8.000000, 6.000000)">
|
|
8
|
-
<path d="M3,6 L13,6 C13.176811,6 13.3463803,6.07023789 13.4714045,6.19526215 C13.5964288,6.3202864 13.6666667,6.48985568 13.6666667,6.66666667 L13.6666667,12.3333333 C13.6666667,12.7015232 13.3681898,13 13,13 L3,13 L3,14.6666667 C3,14.7550722 3.03511895,14.8398568 3.09763107,14.9023689 C3.1601432,14.9648811 3.24492783,15 3.33333333,15 L14.6666667,15 C14.8507616,15 15,14.8507616 15,14.6666667 L15,4.82533333 L14.8423333,4.66666667 L12.8653333,4.66666667 C12.0192331,4.66666667 11.3333333,3.98076691 11.3333333,3.13466667 L11.3333333,1.13533333 L11.1986667,1 L3.33333333,1 C3.24492783,1 3.1601432,1.03511895 3.09763107,1.09763107 C3.03511895,1.1601432 3,1.24492783 3,1.33333333 L3,6 Z M2,13 L0.666666672,13 C0.298476836,13 0,12.7015232 0,12.3333333 L0,6.66666667 C0,6.48985568 0.0702378941,6.3202864 0.195262147,6.19526215 C0.320286401,6.07023789 0.489855677,6 0.666666672,6 L2,6 L2,1.33333333 C2,0.596953665 2.59695366,0 3.33333333,0 L11.615,0 L16,4.41333333 L16,14.6666667 C16,15.4030463 15.4030463,16 14.6666667,16 L3.33333333,16 C2.59695366,16 2,15.4030463 2,14.6666667 L2,13 L2,13 Z M1.47833333,7.38266667 L1.47833333,11.6666667 L2.18033333,11.6666667 L2.18033333,10.0226667 L3.24233333,10.0226667 C4.28633333,10.0226667 4.80833333,9.57866667 4.80833333,8.69666667 C4.80833333,7.82066667 4.28633333,7.38266667 3.25433333,7.38266667 L1.47833333,7.38266667 Z M2.18033333,7.98266667 L3.20033333,7.98266667 C3.50633333,7.98266667 3.73433333,8.03666667 3.87833333,8.15066667 C4.02233333,8.25866667 4.10033333,8.43866667 4.10033333,8.69666667 C4.10033333,8.95466667 4.02833333,9.14066667 3.88433333,9.25466667 C3.74033333,9.36266667 3.51233333,9.42266667 3.20033333,9.42266667 L2.18033333,9.42266667 L2.18033333,7.98266667 L2.18033333,7.98266667 Z M5.40833333,7.38266667 L5.40833333,11.6666667 L6.11033333,11.6666667 L6.11033333,10.0226667 L7.17233333,10.0226667 C8.21633333,10.0226667 8.73833333,9.57866667 8.73833333,8.69666667 C8.73833333,7.82066667 8.21633333,7.38266667 7.18433333,7.38266667 L5.40833333,7.38266667 Z M6.11033333,7.98266667 L7.13033333,7.98266667 C7.43633333,7.98266667 7.66433333,8.03666667 7.80833333,8.15066667 C7.95233333,8.25866667 8.03033333,8.43866667 8.03033333,8.69666667 C8.03033333,8.95466667 7.95833333,9.14066667 7.81433333,9.25466667 C7.67033333,9.36266667 7.44233333,9.42266667 7.13033333,9.42266667 L6.11033333,9.42266667 L6.11033333,7.98266667 L6.11033333,7.98266667 Z M9.00833333,7.38266667 L9.00833333,7.98266667 L10.4123333,7.98266667 L10.4123333,11.6666667 L11.1143333,11.6666667 L11.1143333,7.98266667 L12.5183333,7.98266667 L12.5183333,7.38266667 L9.00833333,7.38266667 Z" id="形状"></path>
|
|
9
|
-
</g>
|
|
10
|
-
</g>
|
|
11
|
-
</g>
|
|
12
|
-
</g>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>PPT图标</title>
|
|
4
|
+
<g id="供应商管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="供应商管理-供应商列表详情-20条附件" transform="translate(-383.000000, -891.000000)" fill="#F85207" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-21备份-5" transform="translate(375.000000, 885.000000)">
|
|
7
|
+
<g id="PPT图标" transform="translate(8.000000, 6.000000)">
|
|
8
|
+
<path d="M3,6 L13,6 C13.176811,6 13.3463803,6.07023789 13.4714045,6.19526215 C13.5964288,6.3202864 13.6666667,6.48985568 13.6666667,6.66666667 L13.6666667,12.3333333 C13.6666667,12.7015232 13.3681898,13 13,13 L3,13 L3,14.6666667 C3,14.7550722 3.03511895,14.8398568 3.09763107,14.9023689 C3.1601432,14.9648811 3.24492783,15 3.33333333,15 L14.6666667,15 C14.8507616,15 15,14.8507616 15,14.6666667 L15,4.82533333 L14.8423333,4.66666667 L12.8653333,4.66666667 C12.0192331,4.66666667 11.3333333,3.98076691 11.3333333,3.13466667 L11.3333333,1.13533333 L11.1986667,1 L3.33333333,1 C3.24492783,1 3.1601432,1.03511895 3.09763107,1.09763107 C3.03511895,1.1601432 3,1.24492783 3,1.33333333 L3,6 Z M2,13 L0.666666672,13 C0.298476836,13 0,12.7015232 0,12.3333333 L0,6.66666667 C0,6.48985568 0.0702378941,6.3202864 0.195262147,6.19526215 C0.320286401,6.07023789 0.489855677,6 0.666666672,6 L2,6 L2,1.33333333 C2,0.596953665 2.59695366,0 3.33333333,0 L11.615,0 L16,4.41333333 L16,14.6666667 C16,15.4030463 15.4030463,16 14.6666667,16 L3.33333333,16 C2.59695366,16 2,15.4030463 2,14.6666667 L2,13 L2,13 Z M1.47833333,7.38266667 L1.47833333,11.6666667 L2.18033333,11.6666667 L2.18033333,10.0226667 L3.24233333,10.0226667 C4.28633333,10.0226667 4.80833333,9.57866667 4.80833333,8.69666667 C4.80833333,7.82066667 4.28633333,7.38266667 3.25433333,7.38266667 L1.47833333,7.38266667 Z M2.18033333,7.98266667 L3.20033333,7.98266667 C3.50633333,7.98266667 3.73433333,8.03666667 3.87833333,8.15066667 C4.02233333,8.25866667 4.10033333,8.43866667 4.10033333,8.69666667 C4.10033333,8.95466667 4.02833333,9.14066667 3.88433333,9.25466667 C3.74033333,9.36266667 3.51233333,9.42266667 3.20033333,9.42266667 L2.18033333,9.42266667 L2.18033333,7.98266667 L2.18033333,7.98266667 Z M5.40833333,7.38266667 L5.40833333,11.6666667 L6.11033333,11.6666667 L6.11033333,10.0226667 L7.17233333,10.0226667 C8.21633333,10.0226667 8.73833333,9.57866667 8.73833333,8.69666667 C8.73833333,7.82066667 8.21633333,7.38266667 7.18433333,7.38266667 L5.40833333,7.38266667 Z M6.11033333,7.98266667 L7.13033333,7.98266667 C7.43633333,7.98266667 7.66433333,8.03666667 7.80833333,8.15066667 C7.95233333,8.25866667 8.03033333,8.43866667 8.03033333,8.69666667 C8.03033333,8.95466667 7.95833333,9.14066667 7.81433333,9.25466667 C7.67033333,9.36266667 7.44233333,9.42266667 7.13033333,9.42266667 L6.11033333,9.42266667 L6.11033333,7.98266667 L6.11033333,7.98266667 Z M9.00833333,7.38266667 L9.00833333,7.98266667 L10.4123333,7.98266667 L10.4123333,11.6666667 L11.1143333,11.6666667 L11.1143333,7.98266667 L12.5183333,7.98266667 L12.5183333,7.38266667 L9.00833333,7.38266667 Z" id="形状"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
13
|
</svg>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<title>XLS图标</title>
|
|
4
|
-
<g id="供应商管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
-
<g id="供应商管理-供应商列表详情-20条附件" transform="translate(-383.000000, -771.000000)" fill="#77D425" fill-rule="nonzero">
|
|
6
|
-
<g id="编组-21备份-2" transform="translate(375.000000, 765.000000)">
|
|
7
|
-
<g id="XLS图标" transform="translate(8.000000, 6.000000)">
|
|
8
|
-
<path d="M11.615,0 L16,4.41333333 L16,14.6666667 C16,15.4030463 15.4030463,16 14.6666667,16 L3.33333333,16 C2.59695366,16 2,15.4030463 2,14.6666667 L2,13 L0.666666672,13 C0.298476836,13 0,12.7015232 0,12.3333333 L0,6.66666667 C0,6.48985568 0.0702378941,6.3202864 0.195262147,6.19526215 C0.320286401,6.07023789 0.489855677,6 0.666666672,6 L2,6 L2,1.33333333 C2,0.596953665 2.59695366,0 3.33333333,0 L11.615,0 Z M11.1986667,1 L3.33333333,1 C3.24492783,1 3.1601432,1.03511895 3.09763107,1.09763107 C3.03511895,1.1601432 3,1.24492783 3,1.33333333 L3,6 L13,6 C13.176811,6 13.3463803,6.07023789 13.4714045,6.19526215 C13.5964288,6.3202864 13.6666667,6.48985568 13.6666667,6.66666667 L13.6666667,12.3333333 C13.6666667,12.7015232 13.3681898,13 13,13 L3,13 L3,14.6666667 C3,14.7550722 3.03511895,14.8398568 3.09763107,14.9023689 C3.1601432,14.9648811 3.24492783,15 3.33333333,15 L14.6666667,15 C14.8507616,15 15,14.8507616 15,14.6666667 L15,4.82533333 L14.8423333,4.66666667 L12.8653333,4.66666667 C12.0192331,4.66666667 11.3333333,3.98076691 11.3333333,3.13466667 L11.3333333,1.13566667 L11.1986667,1 Z M10.3616667,7.29866667 C9.89966667,7.29866667 9.52166667,7.40066667 9.22166667,7.61066667 C8.89766667,7.82666667 8.74166667,8.12666667 8.74166667,8.50466667 C8.74166667,8.88266667 8.90366667,9.17066667 9.23366667,9.36866667 C9.35966667,9.44066667 9.68966667,9.56066667 10.2176667,9.72866667 C10.6916667,9.87266667 10.9676667,9.96866667 11.0516667,10.0106667 C11.3156667,10.1426667 11.4536667,10.3226667 11.4536667,10.5506667 C11.4536667,10.7306667 11.3576667,10.8686667 11.1776667,10.9766667 C10.9976667,11.0786667 10.7456667,11.1326667 10.4336667,11.1326667 C10.0796667,11.1326667 9.82166667,11.0666667 9.65366667,10.9466667 C9.46766667,10.8086667 9.35366667,10.5746667 9.30566667,10.2506667 L8.60966667,10.2506667 C8.63966667,10.7966667 8.83766667,11.1926667 9.19766667,11.4446667 C9.49166667,11.6486667 9.90566667,11.7506667 10.4336667,11.7506667 C10.9796667,11.7506667 11.4056667,11.6366667 11.7056667,11.4206667 C12.0056667,11.1986667 12.1556667,10.8926667 12.1556667,10.5086667 C12.1556667,10.1126667 11.9696667,9.80666667 11.5976667,9.58466667 C11.4296667,9.48866667 11.0576667,9.34466667 10.4756667,9.16466667 C10.0796667,9.03866667 9.83366667,8.94866667 9.74366667,8.90066667 C9.53966667,8.79266667 9.44366667,8.64266667 9.44366667,8.46266667 C9.44366667,8.25866667 9.52766667,8.10866667 9.70766667,8.01866667 C9.85166667,7.94066667 10.0556667,7.90466667 10.3256667,7.90466667 C10.6376667,7.90466667 10.8776667,7.95866667 11.0336667,8.07866667 C11.1896667,8.19266667 11.3036667,8.38466667 11.3636667,8.64866667 L12.0596667,8.64866667 C12.0176667,8.18066667 11.8436667,7.83266667 11.5436667,7.61066667 C11.2616667,7.40066667 10.8656667,7.29866667 10.3616667,7.29866667 L10.3616667,7.29866667 Z M2.42966667,7.38266667 L1.57166667,7.38266667 L3.00566667,9.45266667 L1.47566667,11.6666667 L2.33366667,11.6666667 L3.43766667,10.0106667 L4.54166667,11.6666667 L5.39966667,11.6666667 L3.85766667,9.45266667 L5.30366667,7.38266667 L4.44566667,7.38266667 L3.43766667,8.89466667 L2.42966667,7.38266667 L2.42966667,7.38266667 Z M6.45166667,7.38266667 L5.75566667,7.38266667 L5.75566667,11.6666667 L8.43433333,11.6666667 L8.43433333,11.0666667 L6.45166667,11.0666667 L6.45166667,7.38266667 Z" id="形状"></path>
|
|
9
|
-
</g>
|
|
10
|
-
</g>
|
|
11
|
-
</g>
|
|
12
|
-
</g>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>XLS图标</title>
|
|
4
|
+
<g id="供应商管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="供应商管理-供应商列表详情-20条附件" transform="translate(-383.000000, -771.000000)" fill="#77D425" fill-rule="nonzero">
|
|
6
|
+
<g id="编组-21备份-2" transform="translate(375.000000, 765.000000)">
|
|
7
|
+
<g id="XLS图标" transform="translate(8.000000, 6.000000)">
|
|
8
|
+
<path d="M11.615,0 L16,4.41333333 L16,14.6666667 C16,15.4030463 15.4030463,16 14.6666667,16 L3.33333333,16 C2.59695366,16 2,15.4030463 2,14.6666667 L2,13 L0.666666672,13 C0.298476836,13 0,12.7015232 0,12.3333333 L0,6.66666667 C0,6.48985568 0.0702378941,6.3202864 0.195262147,6.19526215 C0.320286401,6.07023789 0.489855677,6 0.666666672,6 L2,6 L2,1.33333333 C2,0.596953665 2.59695366,0 3.33333333,0 L11.615,0 Z M11.1986667,1 L3.33333333,1 C3.24492783,1 3.1601432,1.03511895 3.09763107,1.09763107 C3.03511895,1.1601432 3,1.24492783 3,1.33333333 L3,6 L13,6 C13.176811,6 13.3463803,6.07023789 13.4714045,6.19526215 C13.5964288,6.3202864 13.6666667,6.48985568 13.6666667,6.66666667 L13.6666667,12.3333333 C13.6666667,12.7015232 13.3681898,13 13,13 L3,13 L3,14.6666667 C3,14.7550722 3.03511895,14.8398568 3.09763107,14.9023689 C3.1601432,14.9648811 3.24492783,15 3.33333333,15 L14.6666667,15 C14.8507616,15 15,14.8507616 15,14.6666667 L15,4.82533333 L14.8423333,4.66666667 L12.8653333,4.66666667 C12.0192331,4.66666667 11.3333333,3.98076691 11.3333333,3.13466667 L11.3333333,1.13566667 L11.1986667,1 Z M10.3616667,7.29866667 C9.89966667,7.29866667 9.52166667,7.40066667 9.22166667,7.61066667 C8.89766667,7.82666667 8.74166667,8.12666667 8.74166667,8.50466667 C8.74166667,8.88266667 8.90366667,9.17066667 9.23366667,9.36866667 C9.35966667,9.44066667 9.68966667,9.56066667 10.2176667,9.72866667 C10.6916667,9.87266667 10.9676667,9.96866667 11.0516667,10.0106667 C11.3156667,10.1426667 11.4536667,10.3226667 11.4536667,10.5506667 C11.4536667,10.7306667 11.3576667,10.8686667 11.1776667,10.9766667 C10.9976667,11.0786667 10.7456667,11.1326667 10.4336667,11.1326667 C10.0796667,11.1326667 9.82166667,11.0666667 9.65366667,10.9466667 C9.46766667,10.8086667 9.35366667,10.5746667 9.30566667,10.2506667 L8.60966667,10.2506667 C8.63966667,10.7966667 8.83766667,11.1926667 9.19766667,11.4446667 C9.49166667,11.6486667 9.90566667,11.7506667 10.4336667,11.7506667 C10.9796667,11.7506667 11.4056667,11.6366667 11.7056667,11.4206667 C12.0056667,11.1986667 12.1556667,10.8926667 12.1556667,10.5086667 C12.1556667,10.1126667 11.9696667,9.80666667 11.5976667,9.58466667 C11.4296667,9.48866667 11.0576667,9.34466667 10.4756667,9.16466667 C10.0796667,9.03866667 9.83366667,8.94866667 9.74366667,8.90066667 C9.53966667,8.79266667 9.44366667,8.64266667 9.44366667,8.46266667 C9.44366667,8.25866667 9.52766667,8.10866667 9.70766667,8.01866667 C9.85166667,7.94066667 10.0556667,7.90466667 10.3256667,7.90466667 C10.6376667,7.90466667 10.8776667,7.95866667 11.0336667,8.07866667 C11.1896667,8.19266667 11.3036667,8.38466667 11.3636667,8.64866667 L12.0596667,8.64866667 C12.0176667,8.18066667 11.8436667,7.83266667 11.5436667,7.61066667 C11.2616667,7.40066667 10.8656667,7.29866667 10.3616667,7.29866667 L10.3616667,7.29866667 Z M2.42966667,7.38266667 L1.57166667,7.38266667 L3.00566667,9.45266667 L1.47566667,11.6666667 L2.33366667,11.6666667 L3.43766667,10.0106667 L4.54166667,11.6666667 L5.39966667,11.6666667 L3.85766667,9.45266667 L5.30366667,7.38266667 L4.44566667,7.38266667 L3.43766667,8.89466667 L2.42966667,7.38266667 L2.42966667,7.38266667 Z M6.45166667,7.38266667 L5.75566667,7.38266667 L5.75566667,11.6666667 L8.43433333,11.6666667 L8.43433333,11.0666667 L6.45166667,11.0666667 L6.45166667,7.38266667 Z" id="形状"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
13
|
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 这里加载当前文件夹下的所有Vue组件
|
|
3
|
+
*/
|
|
4
|
+
const modulesFiles = import.meta.globEager('./*.vue')
|
|
5
|
+
|
|
6
|
+
const components = []
|
|
7
|
+
const typeList = []
|
|
8
|
+
|
|
9
|
+
// 递归
|
|
10
|
+
for (const file in modulesFiles) {
|
|
11
|
+
const tempComponent = modulesFiles[file].default
|
|
12
|
+
components.push(tempComponent)
|
|
13
|
+
if (tempComponent.typeName) {
|
|
14
|
+
typeList.push(tempComponent.typeName)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export { components, typeList }
|
|
@@ -222,15 +222,6 @@ export function arrayToStr(val: any) {
|
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
// 默认起止时间
|
|
226
|
-
const maxMinTime = new Date('2010-01-01 00:00:00')
|
|
227
|
-
const maxMaxTime = new Date('2040-01-01 00:00:00')
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* 获取可用的时间
|
|
231
|
-
*/
|
|
232
|
-
export const getEnabledDate = (date: Date, startTime: number, endTime: number) => {}
|
|
233
|
-
|
|
234
225
|
/**
|
|
235
226
|
* 裁剪长度
|
|
236
227
|
* @param str
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
</template>
|
|
31
31
|
<!-- 这里开始是表格内容 -->
|
|
32
32
|
<el-table ref="elPlusTableRef" v-else style="width: 100%" height="100%" :maxHeight="tableConfig.maxHeight || 'auto'" v-bind="tableConfig.tableAttr" :data="tableData" :row-key="rowKey" lazy :load="loadExpandData" :size="size" :row-class-name="initRowClassName" @select="handelTableSelect" @select-all="handelTableSelectAll" @expand-change="handelTableExpandChange" :treeProps="treeProps">
|
|
33
|
-
<!-- 下标 -->
|
|
34
|
-
<el-table-column v-if="isIndex" type="index" width="60" label="序号" />
|
|
35
33
|
<!-- 复选框 -->
|
|
36
34
|
<el-table-column v-if="type === 'selection'" type="selection" width="55px" :selectable="(row: any, index: number) => tableConfig?.tableAttr?.selectable(row, index) ?? true" header-align="center" align="center" />
|
|
35
|
+
<!-- 下标 -->
|
|
36
|
+
<el-table-column v-if="isIndex" type="index" width="60" label="序号" />
|
|
37
37
|
<!-- 首列 -->
|
|
38
38
|
<template v-if="useSlots().firstColumn">
|
|
39
39
|
<slot name="firstColumn" />
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<template v-else>
|
|
62
62
|
<el-table-column v-if="columnShowList[i]" :prop="item.prop" v-bind="item">
|
|
63
63
|
<template #header="{ column }: any">
|
|
64
|
-
<div :class="{ 'th-required': item.required }">
|
|
64
|
+
<div :class="{ 'th-required': item.required }" :style="item.hstyle">
|
|
65
65
|
{{ column.label }}
|
|
66
66
|
</div>
|
|
67
67
|
</template>
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
</template>
|
|
78
78
|
<!-- 合计行 -->
|
|
79
79
|
<template v-if="tableConfig.summaryConf?.prop" #append>
|
|
80
|
-
<div class="summary-row" v-if="summaryList && summaryList.length > 0">
|
|
80
|
+
<div :style="tableConfig.summaryConf?.hstyle" class="summary-row" v-if="summaryList && summaryList.length > 0">
|
|
81
81
|
<div class="summary-item" v-for="(item, i) in summaryList" :key="i">
|
|
82
82
|
<span>{{ item.label || '合计' }}:</span>
|
|
83
83
|
<p>{{ item.value || 0 }}</p>
|
|
@@ -107,6 +107,7 @@ import { handelListColumn } from './util'
|
|
|
107
107
|
import { cloneDeep } from 'lodash'
|
|
108
108
|
import { Loading } from '@element-plus/icons-vue'
|
|
109
109
|
|
|
110
|
+
const defaultConf = inject('defaultConf') as ICRUDConfig
|
|
110
111
|
const format = inject('format') as any
|
|
111
112
|
|
|
112
113
|
const emits = defineEmits(['getUrlConsumerIds', 'selection', 'select', 'selectAll', 'update:modelValue', 'tabChange', 'expandChange'])
|
|
@@ -153,7 +154,7 @@ const props = withDefaults(
|
|
|
153
154
|
isEmptyImg: true,
|
|
154
155
|
isDIYMain: false,
|
|
155
156
|
selectList: () => [],
|
|
156
|
-
colMinWidth: '
|
|
157
|
+
colMinWidth: 'auto'
|
|
157
158
|
}
|
|
158
159
|
)
|
|
159
160
|
|
|
@@ -166,7 +167,7 @@ const getTabLabel = computed(() => (item: ITableTabItem) => {
|
|
|
166
167
|
if (item.key) {
|
|
167
168
|
return tabStatic.value[item.key] || 0
|
|
168
169
|
}
|
|
169
|
-
return
|
|
170
|
+
return ''
|
|
170
171
|
})
|
|
171
172
|
|
|
172
173
|
const tableHeaderRef = ref()
|
|
@@ -175,13 +176,13 @@ const tableHeaderRef = ref()
|
|
|
175
176
|
const loading = ref(false)
|
|
176
177
|
const loadingTab = ref(!!props.tableConfig.tabConf?.fetch)
|
|
177
178
|
const listLoading = ref(false)
|
|
178
|
-
const size = 'small'
|
|
179
|
+
const size = defaultConf.size || 'small'
|
|
179
180
|
|
|
180
181
|
// 顶部查询条件数据缓存
|
|
181
182
|
const topQueryData = ref({} as any)
|
|
182
183
|
|
|
183
184
|
// 数据
|
|
184
|
-
let toolFormData = reactive(
|
|
185
|
+
let toolFormData = reactive({} as any)
|
|
185
186
|
const tableData = reactive((props.modelValue || []) as any[])
|
|
186
187
|
const haveClassRowList = reactive([])
|
|
187
188
|
|
|
@@ -229,6 +230,17 @@ const columnShowList = computed(() => {
|
|
|
229
230
|
// 合计行数据
|
|
230
231
|
const summaryList = computed(() => {
|
|
231
232
|
const tempList = [] as any[]
|
|
233
|
+
if (props.tableConfig.summaryConf?.vif) {
|
|
234
|
+
if (typeof props.tableConfig.summaryConf?.vif === 'boolean') {
|
|
235
|
+
if (!props.tableConfig.summaryConf?.vif) {
|
|
236
|
+
return tempList
|
|
237
|
+
}
|
|
238
|
+
} else {
|
|
239
|
+
if (!props.tableConfig.summaryConf?.vif()) {
|
|
240
|
+
return tempList
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
232
244
|
if (props.tableConfig.summaryConf?.prop) {
|
|
233
245
|
const propList = props.tableConfig.summaryConf.prop.split(',')
|
|
234
246
|
const labelList = props.tableConfig.summaryConf?.label?.split(',') || []
|
|
@@ -236,7 +248,7 @@ const summaryList = computed(() => {
|
|
|
236
248
|
propList.map((prop, i: number) => {
|
|
237
249
|
let value = ''
|
|
238
250
|
if (props.tableConfig.summaryConf?.sumFn) {
|
|
239
|
-
value = props.tableConfig.summaryConf?.sumFn(tableData)
|
|
251
|
+
value = props.tableConfig.summaryConf?.sumFn(tableData, allSelectRowList)
|
|
240
252
|
} else {
|
|
241
253
|
value = format.yuan(tableData.reduce((total: number, current) => (total += current[prop]), 0))
|
|
242
254
|
}
|
|
@@ -365,13 +377,13 @@ function resetSelect() {
|
|
|
365
377
|
/**
|
|
366
378
|
* 封装分页查询条件
|
|
367
379
|
*/
|
|
368
|
-
function getListQueryData() {
|
|
380
|
+
async function getListQueryData() {
|
|
369
381
|
let queryMap = {
|
|
370
382
|
// 封装查询条件
|
|
371
383
|
// ...route.query,
|
|
372
384
|
// ...tableHeaderRef.value.getData(),
|
|
373
385
|
...topQueryData.value,
|
|
374
|
-
...props.tableConfig.queryMap,
|
|
386
|
+
...(typeof props.tableConfig.queryMap === 'function' ? await props.tableConfig.queryMap() : props.tableConfig.queryMap),
|
|
375
387
|
t_: new Date().getTime()
|
|
376
388
|
} as any
|
|
377
389
|
if (props.isPager) {
|
|
@@ -386,6 +398,7 @@ function getListQueryData() {
|
|
|
386
398
|
|
|
387
399
|
queryMap = handelQueryData(queryMap)
|
|
388
400
|
if (!props.isDialog) {
|
|
401
|
+
// setQuery(route.path, queryMap)
|
|
389
402
|
}
|
|
390
403
|
// 这里是导出的权限判定-增加登陆信息
|
|
391
404
|
if (props.tableConfig?.toolbar?.export?.isAuth) {
|
|
@@ -495,7 +508,7 @@ async function loadData(isInit: Boolean) {
|
|
|
495
508
|
if (isInit) {
|
|
496
509
|
pageInfo.current = 1
|
|
497
510
|
}
|
|
498
|
-
let postData = getListQueryData()
|
|
511
|
+
let postData = await getListQueryData()
|
|
499
512
|
// 这里处理一下外部数据格式化
|
|
500
513
|
if (props.tableConfig?.toolbar?.formConfig?.beforeRequest) {
|
|
501
514
|
postData = props.tableConfig?.toolbar?.formConfig?.beforeRequest(JSON.parse(JSON.stringify(postData))) || postData
|
|
@@ -524,7 +537,8 @@ async function loadData(isInit: Boolean) {
|
|
|
524
537
|
refreshTableSelect()
|
|
525
538
|
})
|
|
526
539
|
} catch (e) {
|
|
527
|
-
// console
|
|
540
|
+
// eslint-disable-next-line no-console
|
|
541
|
+
console.log('error: ', e)
|
|
528
542
|
}
|
|
529
543
|
loadingStatus.value = 2
|
|
530
544
|
loading.value = false
|
|
@@ -551,7 +565,7 @@ async function reload(isTab: boolean = false) {
|
|
|
551
565
|
await loadData(true)
|
|
552
566
|
// 这里判断一下Tab
|
|
553
567
|
if (!isTab && props.tableConfig.tabConf && props.tableConfig.tabConf.fetch) {
|
|
554
|
-
tabStatic.value = await props.tableConfig.tabConf.fetch(Object.assign({}, getListQueryData(), props.tableConfig.tabConf.queryMap))
|
|
568
|
+
tabStatic.value = await props.tableConfig.tabConf.fetch(Object.assign({}, await getListQueryData(), props.tableConfig.tabConf.queryMap))
|
|
555
569
|
loadingTab.value = false
|
|
556
570
|
}
|
|
557
571
|
return tableData
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="el-plus-table-column-item" :class="[desc.inline ? 'el-plus-table-column-row' : 'el-plus-table-column-column']">
|
|
3
3
|
<template v-for="(item, i) in cells" :key="i + (item.options && item.options.length > 0 ? item.options[0].value || item.options[0].v : '0')">
|
|
4
|
-
<
|
|
4
|
+
<el-popover v-if="desc.content && popoverContent" placement="left" :width="200" trigger="hover" effect="dark" :content="popoverContent">
|
|
5
|
+
<template #reference>
|
|
6
|
+
<el-icon style="color: #f56c6c; font-size: 26px; padding: 0px 8px 0 0"><WarningFilled /></el-icon>
|
|
7
|
+
</template>
|
|
8
|
+
</el-popover>
|
|
9
|
+
<div>
|
|
10
|
+
<component v-if="item.vshow === undefined || item.vshow" v-bind="item" :isTable="true" :formData="props.scope?.row" :size="item.size || size" :rowIndex="rowIndex" v-model="props.scope.row[item.field]" :is="'el-plus-form-' + item.desc.type"> </component>
|
|
11
|
+
</div>
|
|
5
12
|
</template>
|
|
6
13
|
</div>
|
|
7
14
|
</template>
|
|
8
15
|
<script lang="ts" setup>
|
|
9
16
|
import { ref, onMounted, computed } from 'vue'
|
|
17
|
+
import { WarningFilled } from '@element-plus/icons-vue'
|
|
10
18
|
|
|
11
19
|
const props = defineProps<{
|
|
20
|
+
modelValue?: any
|
|
12
21
|
field?: string
|
|
13
22
|
desc: IColumnItem
|
|
14
23
|
scope: { [key: string]: any }
|
|
@@ -37,6 +46,16 @@ const cells = computed(() => {
|
|
|
37
46
|
return _cells
|
|
38
47
|
})
|
|
39
48
|
|
|
49
|
+
// 鼠标悬浮
|
|
50
|
+
const popoverContent = computed(() => {
|
|
51
|
+
if (typeof props.desc.content === 'function') {
|
|
52
|
+
// 如果有方法类型的判断,则需要启用动态监测
|
|
53
|
+
return props.desc.content(props.modelValue, props.scope?.row, props.field)
|
|
54
|
+
} else {
|
|
55
|
+
return props.desc.content || ''
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
|
|
40
59
|
const handelItem = (prop: string, item: any, i: number) => {
|
|
41
60
|
const tempCell = {
|
|
42
61
|
field: prop,
|
|
@@ -151,8 +170,8 @@ onMounted(() => {})
|
|
|
151
170
|
.el-plus-table-column-item {
|
|
152
171
|
width: 100%;
|
|
153
172
|
display: flex;
|
|
154
|
-
|
|
155
173
|
:deep(.ele-form-text) {
|
|
174
|
+
display: inline-block;
|
|
156
175
|
text-overflow: ellipsis;
|
|
157
176
|
overflow: hidden;
|
|
158
177
|
white-space: nowrap;
|
|
@@ -172,7 +191,7 @@ onMounted(() => {})
|
|
|
172
191
|
}
|
|
173
192
|
|
|
174
193
|
.el-plus-table-column-column {
|
|
175
|
-
flex-direction:
|
|
194
|
+
flex-direction: row;
|
|
176
195
|
|
|
177
196
|
& > div {
|
|
178
197
|
margin-bottom: 10px;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div v-if="props.toolbar.formConfig" class="el-plus-table-form-items">
|
|
5
5
|
<ElPlusForm ref="elPlusFormRef" v-bind="formConfig" v-model="props.modelValue" labelWidth="1" :requestFn="handelQueryData" :showBtns="false" :isTable="true">
|
|
6
6
|
<template #row>
|
|
7
|
-
<div
|
|
7
|
+
<div class="table-header-form-btns">
|
|
8
8
|
<ElPlusFormBtn type="primary" icon="ele-Search" :loading="loading" :desc="{ label: '查询', on: { click: handelSearch }, size }" />
|
|
9
9
|
<ElPlusFormBtn :desc="{ label: '重置', on: { click: handelReset }, size }" />
|
|
10
10
|
<ElPlusFormBtn type="primary" v-if="props.toolbar.export" :desc="{ label: '导出Excel', size, mask: true, on: { click: handelDownload } }" />
|
|
@@ -23,10 +23,12 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
</template>
|
|
25
25
|
<script lang="ts" setup>
|
|
26
|
-
import { ref, computed, onMounted, nextTick } from 'vue'
|
|
26
|
+
import { ref, computed, onMounted, nextTick, inject } from 'vue'
|
|
27
27
|
import ElPlusTableSettingColumn from './settingColumn.vue'
|
|
28
28
|
import ElPlusFormBtn from '../../el-plus-form/components/ElPlusFormBtn.vue'
|
|
29
|
-
import { isMobile, handelBtnType } from '../util'
|
|
29
|
+
import { isMobile, handelBtnType, mapToUrlStr } from '../util'
|
|
30
|
+
|
|
31
|
+
const defaultConf = inject('defaultConf') as ICRUDConfig
|
|
30
32
|
|
|
31
33
|
const emits = defineEmits(['query'])
|
|
32
34
|
const props = withDefaults(
|
|
@@ -82,39 +84,49 @@ function handelQueryData() {
|
|
|
82
84
|
* 下载
|
|
83
85
|
* @param data
|
|
84
86
|
*/
|
|
85
|
-
function handelDownload({ callBack }: IBtnBack) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
87
|
+
async function handelDownload({ callBack }: IBtnBack) {
|
|
88
|
+
if (props.toolbar?.export) {
|
|
89
|
+
// 创建请求
|
|
90
|
+
const xhr = new XMLHttpRequest()
|
|
91
|
+
let url = props.toolbar.export.url || ''
|
|
92
|
+
if (props.toolbar.export.fetch) {
|
|
93
|
+
url = (await props.toolbar.export.fetch(Object.assign({}, elPlusFormRef.value?.getData(), props.toolbar.export?.data || {}))) as string
|
|
94
|
+
} else {
|
|
95
|
+
if (!props.toolbar.export.noQuery) {
|
|
96
|
+
url += (url.indexOf('?') >= 0 ? '&' : '?') + mapToUrlStr(Object.assign({}, elPlusFormRef.value?.getData(), props.toolbar.export?.data || {}))
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
xhr.open('get', url, true)
|
|
100
|
+
// 转换流
|
|
101
|
+
xhr.responseType = 'blob'
|
|
102
|
+
// 是否授权
|
|
103
|
+
if (props.toolbar.export.isAuth !== false && defaultConf.token) {
|
|
104
|
+
let token = defaultConf.token
|
|
105
|
+
if (typeof defaultConf.token === 'function') {
|
|
106
|
+
token = defaultConf.token()
|
|
107
|
+
}
|
|
108
|
+
xhr.setRequestHeader('Authorization', 'Bearer ' + token)
|
|
109
|
+
}
|
|
110
|
+
xhr.onload = function () {
|
|
111
|
+
if (this.status == 200) {
|
|
112
|
+
const aLink = document.createElement('a')
|
|
113
|
+
aLink.href = window.URL.createObjectURL(this.response)
|
|
114
|
+
// 自定义文件名
|
|
115
|
+
aLink.download = (props.toolbar?.export?.name || new Date().getTime()) + '.xls'
|
|
116
|
+
aLink.click()
|
|
117
|
+
window.URL.revokeObjectURL(url)
|
|
118
|
+
setTimeout(() => {
|
|
119
|
+
callBack && callBack()
|
|
120
|
+
}, 1000)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
xhr.onerror = function () {
|
|
124
|
+
setTimeout(() => {
|
|
125
|
+
callBack && callBack()
|
|
126
|
+
}, 1000)
|
|
127
|
+
}
|
|
128
|
+
xhr.send()
|
|
129
|
+
}
|
|
118
130
|
}
|
|
119
131
|
|
|
120
132
|
/**
|
|
@@ -156,11 +168,19 @@ defineExpose({ getData: () => elPlusFormRef.value?.getData() })
|
|
|
156
168
|
width: auto !important;
|
|
157
169
|
}
|
|
158
170
|
}
|
|
159
|
-
|
|
160
171
|
.waterfall-panel {
|
|
161
172
|
width: auto !important;
|
|
162
173
|
align-items: center;
|
|
163
174
|
}
|
|
175
|
+
.table-header-form-btns {
|
|
176
|
+
white-space: nowrap;
|
|
177
|
+
display: flex;
|
|
178
|
+
flex-wrap: wrap;
|
|
179
|
+
align-items: center;
|
|
180
|
+
& > * {
|
|
181
|
+
margin-bottom: 16px;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
164
184
|
}
|
|
165
185
|
|
|
166
186
|
.el-plus-table-header-btns {
|
|
@@ -25,9 +25,11 @@
|
|
|
25
25
|
</div>
|
|
26
26
|
</template>
|
|
27
27
|
<script lang="ts" setup>
|
|
28
|
-
import { ref, onMounted } from 'vue'
|
|
28
|
+
import { ref, onMounted, inject } from 'vue'
|
|
29
29
|
import { ElMessage } from 'element-plus'
|
|
30
30
|
|
|
31
|
+
const defaultConf = inject('defaultConf') as ICRUDConfig
|
|
32
|
+
|
|
31
33
|
const props = defineProps<{
|
|
32
34
|
column: Array<IColumnItem>
|
|
33
35
|
tbName: string
|
|
@@ -63,10 +65,10 @@ function changeColumnData() {
|
|
|
63
65
|
}
|
|
64
66
|
})
|
|
65
67
|
if (hideList.length > 0) {
|
|
66
|
-
localStorage.setItem('hideColumnsList_' + props.tbName, hideList.join('__'))
|
|
68
|
+
localStorage.setItem(defaultConf.storagePrefix + 'hideColumnsList_' + props.tbName, hideList.join('__'))
|
|
67
69
|
} else {
|
|
68
70
|
// 如果是对象,删除
|
|
69
|
-
localStorage.removeItem('hideColumnsList_' + props.tbName)
|
|
71
|
+
localStorage.removeItem(defaultConf.storagePrefix + 'hideColumnsList_' + props.tbName)
|
|
70
72
|
}
|
|
71
73
|
showSettingColumn.value = false
|
|
72
74
|
// 赋值
|
|
@@ -106,7 +108,7 @@ function changeSelect() {
|
|
|
106
108
|
*/
|
|
107
109
|
function initLocalCheckList(init?: Boolean) {
|
|
108
110
|
// 从本地获取处理过的字段一级顺序
|
|
109
|
-
const tempLocalStr = localStorage.getItem('hideColumnsList_' + props.tbName) as String
|
|
111
|
+
const tempLocalStr = localStorage.getItem(defaultConf.storagePrefix + 'hideColumnsList_' + props.tbName) as String
|
|
110
112
|
let tempList: any[] = []
|
|
111
113
|
|
|
112
114
|
// 判断为空
|
|
@@ -121,3 +121,27 @@ export function handelListColumn(columnList: Array<IColumnItem>, minWidth?: stri
|
|
|
121
121
|
}
|
|
122
122
|
return tempColumnList
|
|
123
123
|
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* map转string
|
|
127
|
+
* @param map
|
|
128
|
+
* @param excludeList
|
|
129
|
+
* @returns {string}
|
|
130
|
+
*/
|
|
131
|
+
export const mapToUrlStr = (map: any, excludeList?: any) => {
|
|
132
|
+
let queryStr = ''
|
|
133
|
+
for (const key in map) {
|
|
134
|
+
if (excludeList && Array.isArray(excludeList) && excludeList.length > 0) {
|
|
135
|
+
if (excludeList.indexOf(key) >= 0) {
|
|
136
|
+
continue
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (map[key] !== undefined && map[key] !== null && map[key] !== '') {
|
|
140
|
+
if (queryStr !== '') {
|
|
141
|
+
queryStr += '&'
|
|
142
|
+
}
|
|
143
|
+
queryStr += key + '=' + map[key]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return queryStr
|
|
147
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import ElPlusFormArea from './components/el-plus-form/components/ElPlusFormArea.vue'
|
|
2
|
+
import ElPlusFormAutocomplete from './components/el-plus-form/components/ElPlusFormAutocomplete.vue'
|
|
3
|
+
import ElPlusFormBtn from './components/el-plus-form/components/ElPlusFormBtn.vue'
|
|
4
|
+
import ElPlusFormBtns from './components/el-plus-form/components/ElPlusFormBtns.vue'
|
|
5
|
+
import ElPlusFormCascader from './components/el-plus-form/components/ElPlusFormCascader.vue'
|
|
6
|
+
import ElPlusFormCascaderPanel from './components/el-plus-form/components/ElPlusFormCascaderPanel.vue'
|
|
7
|
+
import ElPlusFormCheckbox from './components/el-plus-form/components/ElPlusFormCheckbox.vue'
|
|
8
|
+
import ElPlusFormCheckboxButton from './components/el-plus-form/components/ElPlusFormCheckboxButton.vue'
|
|
9
|
+
import ElPlusFormColor from './components/el-plus-form/components/ElPlusFormColor.vue'
|
|
10
|
+
import ElPlusFormDate from './components/el-plus-form/components/ElPlusFormDate.vue'
|
|
11
|
+
import ElPlusFormDaterange from './components/el-plus-form/components/ElPlusFormDaterange.vue'
|
|
12
|
+
import ElPlusFormDatetime from './components/el-plus-form/components/ElPlusFormDatetime.vue'
|
|
13
|
+
import ElPlusFormFile from './components/el-plus-form/components/ElPlusFormFile.vue'
|
|
14
|
+
import ElPlusFormImage from './components/el-plus-form/components/ElPlusFormImage.vue'
|
|
15
|
+
import ElPlusFormInput from './components/el-plus-form/components/ElPlusFormInput.vue'
|
|
16
|
+
import ElPlusFormLink from './components/el-plus-form/components/ElPlusFormLink.vue'
|
|
17
|
+
import ElPlusFormNbinput from './components/el-plus-form/components/ElPlusFormNbinput.vue'
|
|
18
|
+
import ElPlusFormNumber from './components/el-plus-form/components/ElPlusFormNumber.vue'
|
|
19
|
+
import ElPlusFormQuickInput from './components/el-plus-form/components/ElPlusFormQuickInput.vue'
|
|
20
|
+
import ElPlusFormRadio from './components/el-plus-form/components/ElPlusFormRadio.vue'
|
|
21
|
+
import ElPlusFormRate from './components/el-plus-form/components/ElPlusFormRate.vue'
|
|
22
|
+
import ElPlusFormSelect from './components/el-plus-form/components/ElPlusFormSelect.vue'
|
|
23
|
+
import ElPlusFormSlider from './components/el-plus-form/components/ElPlusFormSlider.vue'
|
|
24
|
+
import ElPlusFormStatus from './components/el-plus-form/components/ElPlusFormStatus.vue'
|
|
25
|
+
import ElPlusFormSwitch from './components/el-plus-form/components/ElPlusFormSwitch.vue'
|
|
26
|
+
import ElPlusFormTag from './components/el-plus-form/components/ElPlusFormTag.vue'
|
|
27
|
+
import ElPlusFormText from './components/el-plus-form/components/ElPlusFormText.vue'
|
|
28
|
+
import ElPlusFormTextarea from './components/el-plus-form/components/ElPlusFormTextarea.vue'
|
|
29
|
+
import ElPlusFormTransfer from './components/el-plus-form/components/ElPlusFormTransfer.vue'
|
|
30
|
+
import ElPlusFormTree from './components/el-plus-form/components/ElPlusFormTree.vue'
|
|
31
|
+
import ElPlusFormTreeSelect from './components/el-plus-form/components/ElPlusFormTreeSelect.vue'
|
|
32
|
+
import ElPlusFormUpload from './components/el-plus-form/components/ElPlusFormUpload.vue'
|
|
33
|
+
|
|
34
|
+
export default [
|
|
35
|
+
ElPlusFormArea,
|
|
36
|
+
ElPlusFormAutocomplete,
|
|
37
|
+
ElPlusFormBtn,
|
|
38
|
+
ElPlusFormBtns,
|
|
39
|
+
ElPlusFormCascader,
|
|
40
|
+
ElPlusFormCascaderPanel,
|
|
41
|
+
ElPlusFormCheckbox,
|
|
42
|
+
ElPlusFormCheckboxButton,
|
|
43
|
+
ElPlusFormColor,
|
|
44
|
+
ElPlusFormDate,
|
|
45
|
+
ElPlusFormDaterange,
|
|
46
|
+
ElPlusFormDatetime,
|
|
47
|
+
ElPlusFormFile,
|
|
48
|
+
ElPlusFormImage,
|
|
49
|
+
ElPlusFormInput,
|
|
50
|
+
ElPlusFormLink,
|
|
51
|
+
ElPlusFormNbinput,
|
|
52
|
+
ElPlusFormNumber,
|
|
53
|
+
ElPlusFormQuickInput,
|
|
54
|
+
ElPlusFormRadio,
|
|
55
|
+
ElPlusFormRate,
|
|
56
|
+
ElPlusFormSelect,
|
|
57
|
+
ElPlusFormSlider,
|
|
58
|
+
ElPlusFormStatus,
|
|
59
|
+
ElPlusFormSwitch,
|
|
60
|
+
ElPlusFormTag,
|
|
61
|
+
ElPlusFormText,
|
|
62
|
+
ElPlusFormTextarea,
|
|
63
|
+
ElPlusFormTransfer,
|
|
64
|
+
ElPlusFormTree,
|
|
65
|
+
ElPlusFormTreeSelect,
|
|
66
|
+
ElPlusFormUpload,
|
|
67
|
+
] as any[]
|
package/lib/config/index.ts
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export default {
|
|
2
|
+
debug: false,
|
|
3
|
+
size: 'default',
|
|
4
|
+
storagePrefix: 'el-plus-crud_',
|
|
5
|
+
form: {
|
|
6
|
+
leng: {
|
|
7
|
+
input: 20,
|
|
8
|
+
textare: 500,
|
|
9
|
+
nbinput: {
|
|
10
|
+
min: 0,
|
|
11
|
+
max: 999999999,
|
|
12
|
+
precision: 0,
|
|
13
|
+
controlsPosition: 'right'
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
upload: {
|
|
18
|
+
type: 'minio',
|
|
19
|
+
action: '',
|
|
20
|
+
maxISize: 1024 * 1024 * 20,
|
|
21
|
+
maxFSize: 1024 * 1024 * 20,
|
|
22
|
+
minio: {
|
|
23
|
+
action: '',
|
|
24
|
+
getUploadUrl: () => {},
|
|
25
|
+
doElUpload: () => {},
|
|
26
|
+
getObjectAuthUrl: () => {}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
} as ICRUDConfig
|
package/lib/default.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
install: (app: import('vue').App<any>, config: { [key: string]: Function }, format?: { [key: string]: Function }, globalData?: { [key: string]: Function }) => void
|
|
3
|
-
}
|
|
4
|
-
export default _default
|
|
1
|
+
declare const _default: {
|
|
2
|
+
install: (app: import('vue').App<any>, config: { [key: string]: Function }, format?: { [key: string]: Function }, globalData?: { [key: string]: Function }) => void
|
|
3
|
+
}
|
|
4
|
+
export default _default
|