@smallwei/avue 3.8.2 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +206 -86
- package/dist/avue.js +37301 -0
- package/dist/avue.js.map +1 -0
- package/dist/avue.min.js +6 -0
- package/dist/avue.min.mjs +2 -0
- package/dist/avue.mjs +2 -0
- package/dist/index.css +1 -0
- package/es/avue.min.mjs +2 -0
- package/es/avue.min.ts +2 -0
- package/es/avue.mjs +2 -0
- package/es/avue.ts +2 -0
- package/es/core/create.mjs +8 -0
- package/es/core/create.ts +16 -0
- package/es/core/dataformat.mjs +184 -0
- package/es/core/dataformat.ts +190 -0
- package/es/core/detail.mjs +74 -0
- package/es/core/detail.ts +81 -0
- package/es/core/dic.mjs +213 -0
- package/es/core/dic.ts +235 -0
- package/es/core/locale.mjs +8 -0
- package/es/core/locale.ts +9 -0
- package/es/core/packages.mjs +61 -0
- package/es/core/packages.ts +62 -0
- package/es/core/slot.mjs +32 -0
- package/es/core/slot.ts +30 -0
- package/es/global/variable.mjs +80 -0
- package/es/global/variable.ts +84 -0
- package/es/icon.mjs +9 -0
- package/es/icon.ts +11 -0
- package/es/index.mjs +127 -0
- package/es/index.ts +177 -0
- package/es/locale/browser/en.mjs +288 -0
- package/es/locale/browser/zh-cn.mjs +288 -0
- package/es/locale/browser/zh.mjs +288 -0
- package/es/locale/index.mjs +141 -0
- package/es/locale/index.ts +196 -0
- package/es/locale/lang/en.mjs +282 -0
- package/es/locale/lang/en.ts +282 -0
- package/es/locale/lang/zh-cn.mjs +282 -0
- package/es/locale/lang/zh-cn.ts +282 -0
- package/es/locale/lang/zh.mjs +282 -0
- package/es/locale/lang/zh.ts +282 -0
- package/es/packages/core/common/event.mjs +58 -0
- package/es/packages/core/common/event.ts +56 -0
- package/es/packages/core/common/init.mjs +134 -0
- package/es/packages/core/common/init.ts +133 -0
- package/es/packages/core/common/props.mjs +239 -0
- package/es/packages/core/common/props.ts +240 -0
- package/es/packages/core/components/dialog-form/index.mjs +29 -0
- package/es/packages/core/components/dialog-form/index.ts +29 -0
- package/es/packages/core/components/dialog-form/index.vue +108 -0
- package/es/packages/core/components/form/custom.mjs +41 -0
- package/es/packages/core/components/form/custom.ts +41 -0
- package/es/packages/core/components/form/index.vue +176 -0
- package/es/packages/core/components/icon/index.vue +37 -0
- package/es/packages/core/components/image-preview/index.mjs +34 -0
- package/es/packages/core/components/image-preview/index.ts +37 -0
- package/es/packages/core/components/image-preview/index.vue +215 -0
- package/es/packages/core/directive/contextmenu.mjs +92 -0
- package/es/packages/core/directive/contextmenu.ts +103 -0
- package/es/packages/core/directive/permission.mjs +19 -0
- package/es/packages/core/directive/permission.ts +18 -0
- package/es/packages/data/box/index.vue +66 -0
- package/es/packages/data/card/index.vue +62 -0
- package/es/packages/data/cardText/index.vue +56 -0
- package/es/packages/data/countdown/index.vue +81 -0
- package/es/packages/data/dashboard/index.vue +72 -0
- package/es/packages/data/display/index.vue +63 -0
- package/es/packages/data/icons/index.vue +68 -0
- package/es/packages/data/imgText/index.vue +72 -0
- package/es/packages/data/list/index.vue +69 -0
- package/es/packages/data/notice/index.vue +63 -0
- package/es/packages/data/operaText/index.vue +62 -0
- package/es/packages/data/panel/index.vue +62 -0
- package/es/packages/data/pay/index.vue +92 -0
- package/es/packages/data/price/index.vue +55 -0
- package/es/packages/data/product/index.vue +106 -0
- package/es/packages/data/profile/index.vue +91 -0
- package/es/packages/data/progress/index.vue +64 -0
- package/es/packages/data/rank/index.vue +92 -0
- package/es/packages/data/rotate/index.vue +69 -0
- package/es/packages/data/statistic/index.vue +71 -0
- package/es/packages/data/tabs/index.vue +64 -0
- package/es/packages/data/task/index.vue +82 -0
- package/es/packages/data/weather/index.vue +103 -0
- package/es/packages/element-plus/array/index.vue +115 -0
- package/es/packages/element-plus/article/index.vue +73 -0
- package/es/packages/element-plus/card/index.vue +103 -0
- package/es/packages/element-plus/cascader/index.vue +132 -0
- package/es/packages/element-plus/chat/index.vue +513 -0
- package/es/packages/element-plus/checkbox/index.vue +84 -0
- package/es/packages/element-plus/comment/index.vue +76 -0
- package/es/packages/element-plus/count-up/index.vue +107 -0
- package/es/packages/element-plus/crud/column/column-default.vue +128 -0
- package/es/packages/element-plus/crud/column/column-dynamic.vue +86 -0
- package/es/packages/element-plus/crud/column/column-menu.vue +267 -0
- package/es/packages/element-plus/crud/column/column-slot.vue +348 -0
- package/es/packages/element-plus/crud/column/column.vue +119 -0
- package/es/packages/element-plus/crud/column/menu.vue +78 -0
- package/es/packages/element-plus/crud/config.mjs +74 -0
- package/es/packages/element-plus/crud/config.ts +74 -0
- package/es/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
- package/es/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
- package/es/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
- package/es/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
- package/es/packages/element-plus/crud/grid/index.vue +271 -0
- package/es/packages/element-plus/crud/grid/item.vue +39 -0
- package/es/packages/element-plus/crud/index.vue +1018 -0
- package/es/packages/element-plus/crud/menu/header-menu.vue +175 -0
- package/es/packages/element-plus/crud/menu/header-search.vue +228 -0
- package/es/packages/element-plus/crud/menu/table-page.vue +108 -0
- package/es/packages/element-plus/date/index.vue +81 -0
- package/es/packages/element-plus/draggable/index.vue +444 -0
- package/es/packages/element-plus/dynamic/index.vue +353 -0
- package/es/packages/element-plus/flow/index.vue +339 -0
- package/es/packages/element-plus/flow/node.vue +84 -0
- package/es/packages/element-plus/form/config.mjs +6 -0
- package/es/packages/element-plus/form/config.ts +6 -0
- package/es/packages/element-plus/form/index.vue +954 -0
- package/es/packages/element-plus/form/menu.vue +63 -0
- package/es/packages/element-plus/group/index.vue +90 -0
- package/es/packages/element-plus/input/index.vue +1264 -0
- package/es/packages/element-plus/input-color/index.vue +70 -0
- package/es/packages/element-plus/input-cron/index.vue +363 -0
- package/es/packages/element-plus/input-icon/index.vue +143 -0
- package/es/packages/element-plus/input-map/index.vue +311 -0
- package/es/packages/element-plus/input-number/index.vue +91 -0
- package/es/packages/element-plus/input-table/index.vue +279 -0
- package/es/packages/element-plus/input-tag/index.vue +79 -0
- package/es/packages/element-plus/input-tree/index.vue +194 -0
- package/es/packages/element-plus/license/index.vue +155 -0
- package/es/packages/element-plus/login/index.vue +203 -0
- package/es/packages/element-plus/mention/index.vue +117 -0
- package/es/packages/element-plus/radio/index.vue +38 -0
- package/es/packages/element-plus/rate/index.vue +51 -0
- package/es/packages/element-plus/search/index.vue +129 -0
- package/es/packages/element-plus/select/index.vue +292 -0
- package/es/packages/element-plus/sign/index.vue +230 -0
- package/es/packages/element-plus/slider/index.vue +66 -0
- package/es/packages/element-plus/switch/index.vue +72 -0
- package/es/packages/element-plus/tabs/index.vue +62 -0
- package/es/packages/element-plus/text-ellipsis/index.vue +104 -0
- package/es/packages/element-plus/time/index.vue +81 -0
- package/es/packages/element-plus/title/index.vue +30 -0
- package/es/packages/element-plus/tree/index.vue +460 -0
- package/es/packages/element-plus/upload/index.vue +728 -0
- package/es/packages/element-plus/verify/index.vue +62 -0
- package/es/packages/element-plus/video/index.vue +90 -0
- package/es/plugin/ali/index.mjs +4 -0
- package/es/plugin/ali/index.ts +6 -0
- package/es/plugin/clipboard/index.mjs +61 -0
- package/es/plugin/clipboard/index.ts +67 -0
- package/es/plugin/export/_blob.mjs +151 -0
- package/es/plugin/export/_blob.ts +176 -0
- package/es/plugin/export/_export2Excel.mjs +141 -0
- package/es/plugin/export/_export2Excel.ts +166 -0
- package/es/plugin/export/index.mjs +263 -0
- package/es/plugin/export/index.ts +274 -0
- package/es/plugin/logs/index.mjs +46 -0
- package/es/plugin/logs/index.ts +66 -0
- package/es/plugin/print/index.mjs +145 -0
- package/es/plugin/print/index.ts +155 -0
- package/es/plugin/qiniu/index.mjs +78 -0
- package/es/plugin/qiniu/index.ts +88 -0
- package/es/plugin/screenshot/index.mjs +8 -0
- package/es/plugin/screenshot/index.ts +9 -0
- package/es/plugin/video/index.mjs +52 -0
- package/es/plugin/video/index.ts +60 -0
- package/es/plugin/watermark/index.mjs +114 -0
- package/es/plugin/watermark/index.ts +127 -0
- package/es/plugin/watermark/watermark.mjs +109 -0
- package/es/plugin/watermark/watermark.ts +121 -0
- package/es/ui/data/index.mjs +49 -0
- package/es/ui/data/index.ts +51 -0
- package/es/ui/element-plus/index.mjs +87 -0
- package/es/ui/element-plus/index.ts +89 -0
- package/es/ui/index.mjs +4 -0
- package/es/ui/index.ts +6 -0
- package/es/utils/bem.mjs +29 -0
- package/es/utils/bem.ts +36 -0
- package/es/utils/mock.mjs +137 -0
- package/es/utils/mock.ts +151 -0
- package/es/utils/util.mjs +370 -0
- package/es/utils/util.ts +392 -0
- package/es/utils/validate.mjs +18 -0
- package/es/utils/validate.ts +23 -0
- package/es/version.mjs +1 -0
- package/es/version.ts +1 -0
- package/lib/avue.js +11 -35880
- package/lib/avue.min.js +11 -6
- package/lib/avue.min.ts +2 -0
- package/lib/avue.ts +2 -0
- package/lib/core/create.js +14 -0
- package/lib/core/create.ts +16 -0
- package/lib/core/dataformat.js +194 -0
- package/lib/core/dataformat.ts +190 -0
- package/lib/core/detail.js +81 -0
- package/lib/core/detail.ts +81 -0
- package/lib/core/dic.js +220 -0
- package/lib/core/dic.ts +235 -0
- package/lib/core/locale.js +10 -0
- package/lib/core/locale.ts +9 -0
- package/lib/core/packages.js +66 -0
- package/lib/core/packages.ts +62 -0
- package/lib/core/slot.js +34 -0
- package/lib/core/slot.ts +30 -0
- package/lib/global/variable.js +83 -0
- package/lib/global/variable.ts +84 -0
- package/lib/icon.js +44 -0
- package/lib/icon.ts +11 -0
- package/lib/index.js +134 -0
- package/lib/index.ts +177 -0
- package/lib/locale/browser/en.js +288 -0
- package/lib/locale/browser/zh-cn.js +288 -0
- package/lib/locale/browser/zh.js +288 -0
- package/lib/locale/index.js +153 -47
- package/lib/locale/index.ts +196 -0
- package/lib/locale/lang/en.js +284 -100
- package/lib/locale/lang/en.ts +282 -0
- package/lib/locale/lang/zh-cn.js +284 -0
- package/lib/locale/lang/zh-cn.ts +282 -0
- package/lib/locale/lang/zh.js +284 -100
- package/lib/locale/lang/zh.ts +282 -0
- package/lib/packages/core/common/event.js +61 -0
- package/lib/packages/core/common/event.ts +56 -0
- package/lib/packages/core/common/init.js +140 -0
- package/lib/packages/core/common/init.ts +133 -0
- package/lib/packages/core/common/props.js +245 -0
- package/lib/packages/core/common/props.ts +240 -0
- package/lib/packages/core/components/dialog-form/index.js +35 -0
- package/lib/packages/core/components/dialog-form/index.ts +29 -0
- package/lib/packages/core/components/dialog-form/index.vue +108 -0
- package/lib/packages/core/components/form/custom.js +43 -0
- package/lib/packages/core/components/form/custom.ts +41 -0
- package/lib/packages/core/components/form/index.vue +176 -0
- package/lib/packages/core/components/icon/index.vue +37 -0
- package/lib/packages/core/components/image-preview/index.js +40 -0
- package/lib/packages/core/components/image-preview/index.ts +37 -0
- package/lib/packages/core/components/image-preview/index.vue +215 -0
- package/lib/packages/core/directive/contextmenu.js +94 -0
- package/lib/packages/core/directive/contextmenu.ts +103 -0
- package/lib/packages/core/directive/permission.js +21 -0
- package/lib/packages/core/directive/permission.ts +18 -0
- package/lib/packages/data/box/index.vue +66 -0
- package/lib/packages/data/card/index.vue +62 -0
- package/lib/packages/data/cardText/index.vue +56 -0
- package/lib/packages/data/countdown/index.vue +81 -0
- package/lib/packages/data/dashboard/index.vue +72 -0
- package/lib/packages/data/display/index.vue +63 -0
- package/lib/packages/data/icons/index.vue +68 -0
- package/lib/packages/data/imgText/index.vue +72 -0
- package/lib/packages/data/list/index.vue +69 -0
- package/lib/packages/data/notice/index.vue +63 -0
- package/lib/packages/data/operaText/index.vue +62 -0
- package/lib/packages/data/panel/index.vue +62 -0
- package/lib/packages/data/pay/index.vue +92 -0
- package/lib/packages/data/price/index.vue +55 -0
- package/lib/packages/data/product/index.vue +106 -0
- package/lib/packages/data/profile/index.vue +91 -0
- package/lib/packages/data/progress/index.vue +64 -0
- package/lib/packages/data/rank/index.vue +92 -0
- package/lib/packages/data/rotate/index.vue +69 -0
- package/lib/packages/data/statistic/index.vue +71 -0
- package/lib/packages/data/tabs/index.vue +64 -0
- package/lib/packages/data/task/index.vue +82 -0
- package/lib/packages/data/weather/index.vue +103 -0
- package/lib/packages/element-plus/array/index.vue +115 -0
- package/lib/packages/element-plus/article/index.vue +73 -0
- package/lib/packages/element-plus/card/index.vue +103 -0
- package/lib/packages/element-plus/cascader/index.vue +132 -0
- package/lib/packages/element-plus/chat/index.vue +513 -0
- package/lib/packages/element-plus/checkbox/index.vue +84 -0
- package/lib/packages/element-plus/comment/index.vue +76 -0
- package/lib/packages/element-plus/count-up/index.vue +107 -0
- package/lib/packages/element-plus/crud/column/column-default.vue +128 -0
- package/lib/packages/element-plus/crud/column/column-dynamic.vue +86 -0
- package/lib/packages/element-plus/crud/column/column-menu.vue +267 -0
- package/lib/packages/element-plus/crud/column/column-slot.vue +348 -0
- package/lib/packages/element-plus/crud/column/column.vue +119 -0
- package/lib/packages/element-plus/crud/column/menu.vue +78 -0
- package/lib/packages/element-plus/crud/config.js +76 -0
- package/lib/packages/element-plus/crud/config.ts +74 -0
- package/lib/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
- package/lib/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
- package/lib/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
- package/lib/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
- package/lib/packages/element-plus/crud/grid/index.vue +271 -0
- package/lib/packages/element-plus/crud/grid/item.vue +39 -0
- package/lib/packages/element-plus/crud/index.vue +1018 -0
- package/lib/packages/element-plus/crud/menu/header-menu.vue +175 -0
- package/lib/packages/element-plus/crud/menu/header-search.vue +228 -0
- package/lib/packages/element-plus/crud/menu/table-page.vue +108 -0
- package/lib/packages/element-plus/date/index.vue +81 -0
- package/lib/packages/element-plus/draggable/index.vue +444 -0
- package/lib/packages/element-plus/dynamic/index.vue +353 -0
- package/lib/packages/element-plus/flow/index.vue +339 -0
- package/lib/packages/element-plus/flow/node.vue +84 -0
- package/lib/packages/element-plus/form/config.js +8 -0
- package/lib/packages/element-plus/form/config.ts +6 -0
- package/lib/packages/element-plus/form/index.vue +954 -0
- package/lib/packages/element-plus/form/menu.vue +63 -0
- package/lib/packages/element-plus/group/index.vue +90 -0
- package/lib/packages/element-plus/input/index.vue +1264 -0
- package/lib/packages/element-plus/input-color/index.vue +70 -0
- package/lib/packages/element-plus/input-cron/index.vue +363 -0
- package/lib/packages/element-plus/input-icon/index.vue +143 -0
- package/lib/packages/element-plus/input-map/index.vue +311 -0
- package/lib/packages/element-plus/input-number/index.vue +91 -0
- package/lib/packages/element-plus/input-table/index.vue +279 -0
- package/lib/packages/element-plus/input-tag/index.vue +79 -0
- package/lib/packages/element-plus/input-tree/index.vue +194 -0
- package/lib/packages/element-plus/license/index.vue +155 -0
- package/lib/packages/element-plus/login/index.vue +203 -0
- package/lib/packages/element-plus/mention/index.vue +117 -0
- package/lib/packages/element-plus/radio/index.vue +38 -0
- package/lib/packages/element-plus/rate/index.vue +51 -0
- package/lib/packages/element-plus/search/index.vue +129 -0
- package/lib/packages/element-plus/select/index.vue +292 -0
- package/lib/packages/element-plus/sign/index.vue +230 -0
- package/lib/packages/element-plus/slider/index.vue +66 -0
- package/lib/packages/element-plus/switch/index.vue +72 -0
- package/lib/packages/element-plus/tabs/index.vue +62 -0
- package/lib/packages/element-plus/text-ellipsis/index.vue +104 -0
- package/lib/packages/element-plus/time/index.vue +81 -0
- package/lib/packages/element-plus/title/index.vue +30 -0
- package/lib/packages/element-plus/tree/index.vue +460 -0
- package/lib/packages/element-plus/upload/index.vue +728 -0
- package/lib/packages/element-plus/verify/index.vue +62 -0
- package/lib/packages/element-plus/video/index.vue +90 -0
- package/lib/plugin/ali/index.js +8 -0
- package/lib/plugin/ali/index.ts +6 -0
- package/lib/plugin/clipboard/index.js +64 -0
- package/lib/plugin/clipboard/index.ts +67 -0
- package/lib/plugin/export/_blob.js +151 -0
- package/lib/plugin/export/_blob.ts +176 -0
- package/lib/plugin/export/_export2Excel.js +145 -0
- package/lib/plugin/export/_export2Excel.ts +166 -0
- package/lib/plugin/export/index.js +268 -0
- package/lib/plugin/export/index.ts +274 -0
- package/lib/plugin/logs/index.js +48 -0
- package/lib/plugin/logs/index.ts +66 -0
- package/lib/plugin/print/index.js +147 -0
- package/lib/plugin/print/index.ts +155 -0
- package/lib/plugin/qiniu/index.js +82 -0
- package/lib/plugin/qiniu/index.ts +88 -0
- package/lib/plugin/screenshot/index.js +14 -0
- package/lib/plugin/screenshot/index.ts +9 -0
- package/lib/plugin/video/index.js +55 -0
- package/lib/plugin/video/index.ts +60 -0
- package/lib/plugin/watermark/index.js +121 -0
- package/lib/plugin/watermark/index.ts +127 -0
- package/lib/plugin/watermark/watermark.js +111 -0
- package/lib/plugin/watermark/watermark.ts +121 -0
- package/lib/ui/data/index.js +54 -0
- package/lib/ui/data/index.ts +51 -0
- package/lib/ui/element-plus/index.js +92 -0
- package/lib/ui/element-plus/index.ts +89 -0
- package/lib/ui/index.js +9 -0
- package/lib/ui/index.ts +6 -0
- package/lib/utils/bem.js +31 -0
- package/lib/utils/bem.ts +36 -0
- package/lib/utils/mock.js +142 -0
- package/lib/utils/mock.ts +151 -0
- package/lib/utils/util.js +403 -0
- package/lib/utils/util.ts +392 -0
- package/lib/utils/validate.js +21 -0
- package/lib/utils/validate.ts +23 -0
- package/lib/version.js +4 -0
- package/lib/version.ts +1 -0
- package/package.json +20 -10
- package/types/index.d.ts +139 -47
- package/types/shims-aliases.d.ts +4 -0
- package/lib/avue.js.map +0 -1
- package/lib/locale/format.js +0 -44
package/lib/avue.min.ts
ADDED
package/lib/avue.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = create;
|
|
7
|
+
const bem_js_1 = __importDefault(require("../utils/bem.js"));
|
|
8
|
+
const variable_js_1 = require("../global/variable.js");
|
|
9
|
+
function create(sfc) {
|
|
10
|
+
sfc.name = variable_js_1.KEY_COMPONENT_NAME + sfc.name;
|
|
11
|
+
sfc.mixins = sfc.mixins || [];
|
|
12
|
+
sfc.mixins.push(bem_js_1.default);
|
|
13
|
+
return sfc;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import bem from '../utils/bem';
|
|
2
|
+
import { KEY_COMPONENT_NAME } from '../global/variable';
|
|
3
|
+
|
|
4
|
+
type SfcComponent = {
|
|
5
|
+
name: string;
|
|
6
|
+
mixins?: any[];
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default function create<S extends SfcComponent>(sfc: S): S {
|
|
11
|
+
sfc.name = KEY_COMPONENT_NAME + sfc.name;
|
|
12
|
+
sfc.mixins = sfc.mixins || [];
|
|
13
|
+
sfc.mixins.push(bem);
|
|
14
|
+
|
|
15
|
+
return sfc;
|
|
16
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPlaceholder = exports.formInitVal = exports.getComponent = exports.getSearchType = exports.initVal = exports.calcCount = exports.calcCascader = void 0;
|
|
4
|
+
const validate_js_1 = require("../utils/validate.js");
|
|
5
|
+
const variable_js_1 = require("../global/variable.js");
|
|
6
|
+
const util_js_1 = require("../utils/util.js");
|
|
7
|
+
const index_js_1 = require("../locale/index.js");
|
|
8
|
+
let count = 0;
|
|
9
|
+
const calcCascader = (list = []) => {
|
|
10
|
+
list.forEach((ele) => {
|
|
11
|
+
const cascader = ele.cascader;
|
|
12
|
+
if (!(0, validate_js_1.validatenull)(cascader)) {
|
|
13
|
+
const parentProp = ele.prop;
|
|
14
|
+
cascader.forEach((citem) => {
|
|
15
|
+
const column = (0, util_js_1.findObject)(list, citem);
|
|
16
|
+
if (column)
|
|
17
|
+
column.parentProp = parentProp;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return list;
|
|
22
|
+
};
|
|
23
|
+
exports.calcCascader = calcCascader;
|
|
24
|
+
const calcCount = (ele, spanDefault = 12, init = false) => {
|
|
25
|
+
const spanAll = 24;
|
|
26
|
+
if (init)
|
|
27
|
+
count = 0;
|
|
28
|
+
const currentSpan = (ele.span || spanDefault) + (ele.offset || 0);
|
|
29
|
+
count += currentSpan;
|
|
30
|
+
if (ele.row && count < spanAll) {
|
|
31
|
+
ele.count = spanAll - count;
|
|
32
|
+
count = 0;
|
|
33
|
+
}
|
|
34
|
+
else if (count >= spanAll) {
|
|
35
|
+
count = 0;
|
|
36
|
+
}
|
|
37
|
+
return ele;
|
|
38
|
+
};
|
|
39
|
+
exports.calcCount = calcCount;
|
|
40
|
+
const initVal = (value, safe) => {
|
|
41
|
+
let { type, multiple, dataType, separator = variable_js_1.DIC_SPLIT, alone, emitPath, range } = safe;
|
|
42
|
+
let list = value;
|
|
43
|
+
if ((variable_js_1.MULTIPLE_LIST.includes(type) && multiple == true) ||
|
|
44
|
+
(variable_js_1.ARRAY_VALUE_LIST.includes(type) && emitPath !== false) ||
|
|
45
|
+
(variable_js_1.RANGE_LIST.includes(type) && range == true)) {
|
|
46
|
+
if (!Array.isArray(list)) {
|
|
47
|
+
if ((0, validate_js_1.validatenull)(list)) {
|
|
48
|
+
list = [];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
if (dataType == 'json') {
|
|
52
|
+
list = JSON.parse(list);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
list = (list + '').split(separator) || [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
list.forEach((ele, index) => {
|
|
60
|
+
list[index] = (0, util_js_1.detailDataType)(ele, dataType);
|
|
61
|
+
});
|
|
62
|
+
if (variable_js_1.ARRAY_LIST.includes(type) && (0, validate_js_1.validatenull)(list) && alone)
|
|
63
|
+
list = [''];
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
list = (0, util_js_1.detailDataType)(list, dataType);
|
|
67
|
+
}
|
|
68
|
+
return list;
|
|
69
|
+
};
|
|
70
|
+
exports.initVal = initVal;
|
|
71
|
+
const getSearchType = (column) => {
|
|
72
|
+
const type = column.type;
|
|
73
|
+
const range = column.searchRange;
|
|
74
|
+
let result = type;
|
|
75
|
+
if (column.searchType)
|
|
76
|
+
return column.searchType;
|
|
77
|
+
if (['radio', 'checkbox', 'switch'].includes(type)) {
|
|
78
|
+
result = 'select';
|
|
79
|
+
}
|
|
80
|
+
else if (variable_js_1.DATE_LIST.includes(type)) {
|
|
81
|
+
const rangeKey = 'range';
|
|
82
|
+
if (range) {
|
|
83
|
+
if (!type.includes(rangeKey)) {
|
|
84
|
+
result = type + rangeKey;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
result = type;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
result = type.replace(rangeKey, '');
|
|
92
|
+
}
|
|
93
|
+
else if (['textarea'].includes(type)) {
|
|
94
|
+
result = 'input';
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
};
|
|
98
|
+
exports.getSearchType = getSearchType;
|
|
99
|
+
const getComponent = (type, component) => {
|
|
100
|
+
let result = type || 'input';
|
|
101
|
+
if (!(0, validate_js_1.validatenull)(component)) {
|
|
102
|
+
return component;
|
|
103
|
+
}
|
|
104
|
+
else if (variable_js_1.ARRAY_LIST.includes(type || '')) {
|
|
105
|
+
result = 'array';
|
|
106
|
+
}
|
|
107
|
+
else if (['time', 'timerange'].includes(type || '')) {
|
|
108
|
+
result = 'time';
|
|
109
|
+
}
|
|
110
|
+
else if (variable_js_1.DATE_LIST.includes(type || '')) {
|
|
111
|
+
result = 'date';
|
|
112
|
+
}
|
|
113
|
+
else if ([
|
|
114
|
+
'password',
|
|
115
|
+
'textarea',
|
|
116
|
+
'search',
|
|
117
|
+
'phone',
|
|
118
|
+
'currency',
|
|
119
|
+
'bankCard',
|
|
120
|
+
'bank-card',
|
|
121
|
+
'idCard',
|
|
122
|
+
'id-card',
|
|
123
|
+
'email',
|
|
124
|
+
'code',
|
|
125
|
+
'plate',
|
|
126
|
+
'ip',
|
|
127
|
+
'mac',
|
|
128
|
+
'uscc',
|
|
129
|
+
].includes(type || '')) {
|
|
130
|
+
result = 'input';
|
|
131
|
+
}
|
|
132
|
+
else if (type === 'cron') {
|
|
133
|
+
result = 'input-cron';
|
|
134
|
+
}
|
|
135
|
+
else if (variable_js_1.INPUT_LIST.includes(type || '')) {
|
|
136
|
+
result = 'input-' + type;
|
|
137
|
+
}
|
|
138
|
+
return variable_js_1.KEY_COMPONENT_NAME + result;
|
|
139
|
+
};
|
|
140
|
+
exports.getComponent = getComponent;
|
|
141
|
+
const formInitVal = (list = []) => {
|
|
142
|
+
let tableForm = {};
|
|
143
|
+
list.forEach((ele) => {
|
|
144
|
+
if (['rate', 'slider', 'number'].includes(ele.type) ||
|
|
145
|
+
ele.dataType === 'number' ||
|
|
146
|
+
(ele.type == 'select' && ele.virtualize == true)) {
|
|
147
|
+
tableForm[ele.prop] = undefined;
|
|
148
|
+
}
|
|
149
|
+
else if ((variable_js_1.ARRAY_VALUE_LIST.includes(ele.type) &&
|
|
150
|
+
ele.emitPath !== false &&
|
|
151
|
+
ele.dataType != 'json') ||
|
|
152
|
+
(variable_js_1.MULTIPLE_LIST.includes(ele.type) && ele.multiple) ||
|
|
153
|
+
ele.dataType === 'array') {
|
|
154
|
+
tableForm[ele.prop] = [];
|
|
155
|
+
}
|
|
156
|
+
else if (variable_js_1.RANGE_LIST.includes(ele.type) && ele.range == true) {
|
|
157
|
+
tableForm[ele.prop] = [0, 0];
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
tableForm[ele.prop] = '';
|
|
161
|
+
}
|
|
162
|
+
if (ele.bind) {
|
|
163
|
+
tableForm = (0, util_js_1.createObj)(tableForm, ele.bind);
|
|
164
|
+
}
|
|
165
|
+
if (!(0, validate_js_1.validatenull)(ele.value)) {
|
|
166
|
+
tableForm[ele.prop] = ele.value;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return tableForm;
|
|
170
|
+
};
|
|
171
|
+
exports.formInitVal = formInitVal;
|
|
172
|
+
const getPlaceholder = function (column, type) {
|
|
173
|
+
const placeholder = column.placeholder;
|
|
174
|
+
const label = column.label;
|
|
175
|
+
if (type === 'search') {
|
|
176
|
+
const searchPlaceholder = column.searchPlaceholder;
|
|
177
|
+
if (!(0, validate_js_1.validatenull)(searchPlaceholder)) {
|
|
178
|
+
return searchPlaceholder;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
return label;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else if ((0, validate_js_1.validatenull)(placeholder)) {
|
|
185
|
+
if (variable_js_1.SELECT_LIST.includes(column.type)) {
|
|
186
|
+
return `${(0, index_js_1.t)('tip.select')} ${label}`;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
return `${(0, index_js_1.t)('tip.input')} ${label}`;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return placeholder;
|
|
193
|
+
};
|
|
194
|
+
exports.getPlaceholder = getPlaceholder;
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { validatenull } from '../utils/validate';
|
|
2
|
+
import {
|
|
3
|
+
KEY_COMPONENT_NAME,
|
|
4
|
+
DIC_SPLIT,
|
|
5
|
+
ARRAY_LIST,
|
|
6
|
+
DATE_LIST,
|
|
7
|
+
INPUT_LIST,
|
|
8
|
+
ARRAY_VALUE_LIST,
|
|
9
|
+
MULTIPLE_LIST,
|
|
10
|
+
SELECT_LIST,
|
|
11
|
+
RANGE_LIST,
|
|
12
|
+
} from '../global/variable';
|
|
13
|
+
import { detailDataType, findObject, createObj } from '../utils/util';
|
|
14
|
+
import { t } from '../locale/index';
|
|
15
|
+
|
|
16
|
+
let count = 0;
|
|
17
|
+
|
|
18
|
+
export const calcCascader = (list: Record<string, any>[] = []) => {
|
|
19
|
+
list.forEach((ele) => {
|
|
20
|
+
const cascader = ele.cascader;
|
|
21
|
+
if (!validatenull(cascader)) {
|
|
22
|
+
const parentProp = ele.prop;
|
|
23
|
+
cascader.forEach((citem: string) => {
|
|
24
|
+
const column = findObject(list, citem);
|
|
25
|
+
if (column) column.parentProp = parentProp;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return list;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const calcCount = (
|
|
33
|
+
ele: Record<string, any>,
|
|
34
|
+
spanDefault = 12,
|
|
35
|
+
init = false
|
|
36
|
+
) => {
|
|
37
|
+
const spanAll = 24;
|
|
38
|
+
if (init) count = 0;
|
|
39
|
+
const currentSpan = (ele.span || spanDefault) + (ele.offset || 0);
|
|
40
|
+
count += currentSpan;
|
|
41
|
+
if (ele.row && count < spanAll) {
|
|
42
|
+
ele.count = spanAll - count;
|
|
43
|
+
count = 0;
|
|
44
|
+
} else if (count >= spanAll) {
|
|
45
|
+
count = 0;
|
|
46
|
+
}
|
|
47
|
+
return ele;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const initVal = (value: any, safe: Record<string, any>) => {
|
|
51
|
+
let { type, multiple, dataType, separator = DIC_SPLIT, alone, emitPath, range } = safe;
|
|
52
|
+
let list = value;
|
|
53
|
+
if (
|
|
54
|
+
(MULTIPLE_LIST.includes(type) && multiple == true) ||
|
|
55
|
+
(ARRAY_VALUE_LIST.includes(type) && emitPath !== false) ||
|
|
56
|
+
(RANGE_LIST.includes(type) && range == true)
|
|
57
|
+
) {
|
|
58
|
+
if (!Array.isArray(list)) {
|
|
59
|
+
if (validatenull(list)) {
|
|
60
|
+
list = [];
|
|
61
|
+
} else {
|
|
62
|
+
if (dataType == 'json') {
|
|
63
|
+
list = JSON.parse(list);
|
|
64
|
+
} else {
|
|
65
|
+
list = (list + '').split(separator) || [];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
list.forEach((ele: any, index: number) => {
|
|
70
|
+
list[index] = detailDataType(ele, dataType);
|
|
71
|
+
});
|
|
72
|
+
if (ARRAY_LIST.includes(type) && validatenull(list) && alone) list = [''];
|
|
73
|
+
} else {
|
|
74
|
+
list = detailDataType(list, dataType);
|
|
75
|
+
}
|
|
76
|
+
return list;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const getSearchType = (column: Record<string, any>) => {
|
|
80
|
+
const type = column.type;
|
|
81
|
+
const range = column.searchRange;
|
|
82
|
+
let result = type;
|
|
83
|
+
if (column.searchType) return column.searchType;
|
|
84
|
+
if (['radio', 'checkbox', 'switch'].includes(type)) {
|
|
85
|
+
result = 'select';
|
|
86
|
+
} else if (DATE_LIST.includes(type)) {
|
|
87
|
+
const rangeKey = 'range';
|
|
88
|
+
if (range) {
|
|
89
|
+
if (!type.includes(rangeKey)) {
|
|
90
|
+
result = type + rangeKey;
|
|
91
|
+
} else {
|
|
92
|
+
result = type;
|
|
93
|
+
}
|
|
94
|
+
} else result = type.replace(rangeKey, '');
|
|
95
|
+
} else if (['textarea'].includes(type)) {
|
|
96
|
+
result = 'input';
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export const getComponent = (type?: string, component?: string) => {
|
|
102
|
+
let result = type || 'input';
|
|
103
|
+
if (!validatenull(component)) {
|
|
104
|
+
return component;
|
|
105
|
+
} else if (ARRAY_LIST.includes(type || '')) {
|
|
106
|
+
result = 'array';
|
|
107
|
+
} else if (['time', 'timerange'].includes(type || '')) {
|
|
108
|
+
result = 'time';
|
|
109
|
+
} else if (DATE_LIST.includes(type || '')) {
|
|
110
|
+
result = 'date';
|
|
111
|
+
} else if (
|
|
112
|
+
[
|
|
113
|
+
'password',
|
|
114
|
+
'textarea',
|
|
115
|
+
'search',
|
|
116
|
+
'phone',
|
|
117
|
+
'currency',
|
|
118
|
+
'bankCard',
|
|
119
|
+
'bank-card',
|
|
120
|
+
'idCard',
|
|
121
|
+
'id-card',
|
|
122
|
+
'email',
|
|
123
|
+
'code',
|
|
124
|
+
'plate',
|
|
125
|
+
'ip',
|
|
126
|
+
'mac',
|
|
127
|
+
'uscc',
|
|
128
|
+
].includes(type || '')
|
|
129
|
+
) {
|
|
130
|
+
result = 'input';
|
|
131
|
+
} else if (type === 'cron') {
|
|
132
|
+
result = 'input-cron';
|
|
133
|
+
} else if (INPUT_LIST.includes(type || '')) {
|
|
134
|
+
result = 'input-' + type;
|
|
135
|
+
}
|
|
136
|
+
return KEY_COMPONENT_NAME + result;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export const formInitVal = (list: Record<string, any>[] = []) => {
|
|
140
|
+
let tableForm: Record<string, any> = {};
|
|
141
|
+
list.forEach((ele) => {
|
|
142
|
+
if (
|
|
143
|
+
['rate', 'slider', 'number'].includes(ele.type) ||
|
|
144
|
+
ele.dataType === 'number' ||
|
|
145
|
+
(ele.type == 'select' && ele.virtualize == true)
|
|
146
|
+
) {
|
|
147
|
+
tableForm[ele.prop] = undefined;
|
|
148
|
+
} else if (
|
|
149
|
+
(ARRAY_VALUE_LIST.includes(ele.type) &&
|
|
150
|
+
ele.emitPath !== false &&
|
|
151
|
+
ele.dataType != 'json') ||
|
|
152
|
+
(MULTIPLE_LIST.includes(ele.type) && ele.multiple) ||
|
|
153
|
+
ele.dataType === 'array'
|
|
154
|
+
) {
|
|
155
|
+
tableForm[ele.prop] = [];
|
|
156
|
+
} else if (RANGE_LIST.includes(ele.type) && ele.range == true) {
|
|
157
|
+
tableForm[ele.prop] = [0, 0];
|
|
158
|
+
} else {
|
|
159
|
+
tableForm[ele.prop] = '';
|
|
160
|
+
}
|
|
161
|
+
if (ele.bind) {
|
|
162
|
+
tableForm = createObj(tableForm, ele.bind);
|
|
163
|
+
}
|
|
164
|
+
if (!validatenull(ele.value)) {
|
|
165
|
+
tableForm[ele.prop] = ele.value;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
return tableForm;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export const getPlaceholder = function (column: Record<string, any>, type?: string) {
|
|
172
|
+
const placeholder = column.placeholder;
|
|
173
|
+
const label = column.label;
|
|
174
|
+
if (type === 'search') {
|
|
175
|
+
const searchPlaceholder = column.searchPlaceholder;
|
|
176
|
+
if (!validatenull(searchPlaceholder)) {
|
|
177
|
+
return searchPlaceholder;
|
|
178
|
+
} else {
|
|
179
|
+
return label;
|
|
180
|
+
}
|
|
181
|
+
} else if (validatenull(placeholder)) {
|
|
182
|
+
if (SELECT_LIST.includes(column.type)) {
|
|
183
|
+
return `${t('tip.select')} ${label}`;
|
|
184
|
+
} else {
|
|
185
|
+
return `${t('tip.input')} ${label}`;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return placeholder;
|
|
190
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.detail = void 0;
|
|
7
|
+
const validate_js_1 = require("../utils/validate.js");
|
|
8
|
+
const util_js_1 = require("../utils/util.js");
|
|
9
|
+
const variable_js_1 = require("../global/variable.js");
|
|
10
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
11
|
+
const detail = (row = {}, column = {}, option = {}, dic = []) => {
|
|
12
|
+
let result = row[column.prop];
|
|
13
|
+
const type = column.type;
|
|
14
|
+
const separator = column.separator;
|
|
15
|
+
if (column.bind)
|
|
16
|
+
result = (0, util_js_1.getAsVal)(row, column.bind);
|
|
17
|
+
if (!(0, validate_js_1.validatenull)(result)) {
|
|
18
|
+
const selectFlag = variable_js_1.MULTIPLE_LIST.includes(column.type) && column.multiple;
|
|
19
|
+
const arrayFlag = variable_js_1.ARRAY_VALUE_LIST.includes(column.type) && column.emitPath !== false;
|
|
20
|
+
if ((selectFlag || arrayFlag) && !Array.isArray(result) && !column.dataType)
|
|
21
|
+
column.dataType = 'string';
|
|
22
|
+
if (column.dataType) {
|
|
23
|
+
if (selectFlag || arrayFlag) {
|
|
24
|
+
if (!Array.isArray(result)) {
|
|
25
|
+
if (column.dataType == 'json') {
|
|
26
|
+
result = JSON.parse(result);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
result = result.split(separator || variable_js_1.DIC_SPLIT);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
result.forEach((ele, index) => {
|
|
33
|
+
result[index] = (0, util_js_1.detailDataType)(ele, column.dataType);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
result = (0, util_js_1.detailDataType)(result, column.dataType);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (type === 'password') {
|
|
41
|
+
result = (0, util_js_1.getPasswordChar)(result, '*');
|
|
42
|
+
}
|
|
43
|
+
else if (variable_js_1.DATE_LIST.includes(type) && column.format) {
|
|
44
|
+
const format = column.format;
|
|
45
|
+
const formatValue = (0, dayjs_1.default)().format('YYYY-MM-DD');
|
|
46
|
+
if (['dates', 'years', 'months'].includes(type)) {
|
|
47
|
+
if (typeof result === 'string') {
|
|
48
|
+
result = result.split(',');
|
|
49
|
+
}
|
|
50
|
+
if (Array.isArray(result)) {
|
|
51
|
+
result = result.map((date) => (0, dayjs_1.default)(date).format(format)).join(column.separator || ',');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else if (type.indexOf('range') !== -1) {
|
|
55
|
+
let [date1 = '', date2 = ''] = result;
|
|
56
|
+
if (type === 'timerange') {
|
|
57
|
+
date1 = `${formatValue} ${date1}`;
|
|
58
|
+
date2 = `${formatValue} ${date2}`;
|
|
59
|
+
}
|
|
60
|
+
result = [(0, dayjs_1.default)(date1).format(format), (0, dayjs_1.default)(date2).format(format)].join(column.separator || '~');
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
if (type === 'time') {
|
|
64
|
+
result = `${formatValue} ${result}`;
|
|
65
|
+
}
|
|
66
|
+
result = (0, dayjs_1.default)(result).format(format);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!(0, validate_js_1.validatenull)(dic)) {
|
|
71
|
+
result = (0, util_js_1.getDicValue)(dic, result, column.props || option.props);
|
|
72
|
+
}
|
|
73
|
+
if (typeof column.formatter === 'function') {
|
|
74
|
+
result = column.formatter(row, row[column.prop], result, column);
|
|
75
|
+
}
|
|
76
|
+
else if (Array.isArray(result) && !(0, validate_js_1.validatenull)(dic)) {
|
|
77
|
+
result = result.join(separator || variable_js_1.DIC_SHOW_SPLIT);
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
};
|
|
81
|
+
exports.detail = detail;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { validatenull } from '../utils/validate';
|
|
2
|
+
import { getPasswordChar, getDicValue, getAsVal, detailDataType } from '../utils/util';
|
|
3
|
+
import {
|
|
4
|
+
DIC_SPLIT,
|
|
5
|
+
DIC_SHOW_SPLIT,
|
|
6
|
+
DATE_LIST,
|
|
7
|
+
MULTIPLE_LIST,
|
|
8
|
+
ARRAY_VALUE_LIST,
|
|
9
|
+
} from '../global/variable';
|
|
10
|
+
import dayjs from 'dayjs';
|
|
11
|
+
|
|
12
|
+
export const detail = (
|
|
13
|
+
row: Record<string, any> = {},
|
|
14
|
+
column: Record<string, any> = {},
|
|
15
|
+
option: Record<string, any> = {},
|
|
16
|
+
dic: any[] = []
|
|
17
|
+
) => {
|
|
18
|
+
let result = row[column.prop];
|
|
19
|
+
const type = column.type;
|
|
20
|
+
const separator = column.separator;
|
|
21
|
+
if (column.bind) result = getAsVal(row, column.bind);
|
|
22
|
+
if (!validatenull(result)) {
|
|
23
|
+
const selectFlag = MULTIPLE_LIST.includes(column.type) && column.multiple;
|
|
24
|
+
const arrayFlag = ARRAY_VALUE_LIST.includes(column.type) && column.emitPath !== false;
|
|
25
|
+
if ((selectFlag || arrayFlag) && !Array.isArray(result) && !column.dataType) column.dataType = 'string';
|
|
26
|
+
if (column.dataType) {
|
|
27
|
+
if (selectFlag || arrayFlag) {
|
|
28
|
+
if (!Array.isArray(result)) {
|
|
29
|
+
if (column.dataType == 'json') {
|
|
30
|
+
result = JSON.parse(result);
|
|
31
|
+
} else {
|
|
32
|
+
result = result.split(separator || DIC_SPLIT);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
result.forEach((ele: any, index: number) => {
|
|
36
|
+
result[index] = detailDataType(ele, column.dataType);
|
|
37
|
+
});
|
|
38
|
+
} else {
|
|
39
|
+
result = detailDataType(result, column.dataType);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (type === 'password') {
|
|
43
|
+
result = getPasswordChar(result, '*');
|
|
44
|
+
} else if (DATE_LIST.includes(type) && column.format) {
|
|
45
|
+
const format = column.format;
|
|
46
|
+
const formatValue = dayjs().format('YYYY-MM-DD');
|
|
47
|
+
|
|
48
|
+
if (['dates', 'years', 'months'].includes(type)) {
|
|
49
|
+
if (typeof result === 'string') {
|
|
50
|
+
result = result.split(',');
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(result)) {
|
|
53
|
+
result = result.map((date) => dayjs(date).format(format)).join(column.separator || ',');
|
|
54
|
+
}
|
|
55
|
+
} else if (type.indexOf('range') !== -1) {
|
|
56
|
+
let [date1 = '', date2 = ''] = result;
|
|
57
|
+
if (type === 'timerange') {
|
|
58
|
+
date1 = `${formatValue} ${date1}`;
|
|
59
|
+
date2 = `${formatValue} ${date2}`;
|
|
60
|
+
}
|
|
61
|
+
result = [dayjs(date1).format(format), dayjs(date2).format(format)].join(
|
|
62
|
+
column.separator || '~'
|
|
63
|
+
);
|
|
64
|
+
} else {
|
|
65
|
+
if (type === 'time') {
|
|
66
|
+
result = `${formatValue} ${result}`;
|
|
67
|
+
}
|
|
68
|
+
result = dayjs(result).format(format);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!validatenull(dic)) {
|
|
73
|
+
result = getDicValue(dic, result, column.props || option.props);
|
|
74
|
+
}
|
|
75
|
+
if (typeof column.formatter === 'function') {
|
|
76
|
+
result = column.formatter(row, row[column.prop], result, column);
|
|
77
|
+
} else if (Array.isArray(result) && !validatenull(dic)) {
|
|
78
|
+
result = result.join(separator || DIC_SHOW_SPLIT);
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
};
|