@ecan-bi/datav 1.0.88 → 1.0.89
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/dist/index.es.js +115 -38
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +114 -37
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +12 -12
- package/es/container/modal/Modal.js +1 -4
- package/es/container/modal/Modal.js.map +1 -1
- package/es/container/modal/index.js.map +1 -1
- package/es/container/modal/props.js +1 -1
- package/es/container/modal/props.js.map +1 -1
- package/es/graph/bar/Bar.js +33 -2
- package/es/graph/bar/Bar.js.map +1 -1
- package/es/graph/bar/index.js.map +1 -1
- package/es/graph/bar/props.js +1 -2
- package/es/graph/bar/props.js.map +1 -1
- package/es/graph/combo-graph/ComboGraph.js +44 -12
- package/es/graph/combo-graph/ComboGraph.js.map +1 -1
- package/es/graph/combo-graph/props.js +1 -1
- package/es/graph/combo-graph/props.js.map +1 -1
- package/es/graph/line/Line.js +37 -3
- package/es/graph/line/Line.js.map +1 -1
- package/es/graph/line/props.js +7 -6
- package/es/graph/line/props.js.map +1 -1
- package/es/graph/pie/Pie.js +22 -1
- package/es/graph/pie/Pie.js.map +1 -1
- package/es/graph/pie/props.js +1 -1
- package/es/graph/pie/props.js.map +1 -1
- package/es/graph/scatter/Scatter.js +10 -1
- package/es/graph/scatter/Scatter.js.map +1 -1
- package/es/graph/scatter/props.js +1 -1
- package/es/graph/scatter/props.js.map +1 -1
- package/es/hooks/useRequestData.js +1 -1
- package/es/hooks/useRequestData.js.map +1 -1
- package/es/hooks/useValueFormatter.js +2 -1
- package/es/hooks/useValueFormatter.js.map +1 -1
- package/es/hooks/useVariablesInText.js +33 -11
- package/es/hooks/useVariablesInText.js.map +1 -1
- package/es/setting/provider-config/ProviderConfig.js +3 -1
- package/es/setting/provider-config/ProviderConfig.js.map +1 -1
- package/es/table/table/Table.js +87 -28
- package/es/table/table/Table.js.map +1 -1
- package/es/table/table/index.js.map +1 -1
- package/es/table/table/props.js +1 -0
- package/es/table/table/props.js.map +1 -1
- package/es/text/text/Text.js +21 -1
- package/es/text/text/Text.js.map +1 -1
- package/es/text/text/props.js +4 -1
- package/es/text/text/props.js.map +1 -1
- package/lib/container/modal/Modal.js +1 -4
- package/lib/container/modal/Modal.js.map +1 -1
- package/lib/container/modal/index.js.map +1 -1
- package/lib/container/modal/props.js +1 -1
- package/lib/container/modal/props.js.map +1 -1
- package/lib/graph/bar/Bar.js +33 -2
- package/lib/graph/bar/Bar.js.map +1 -1
- package/lib/graph/bar/index.js.map +1 -1
- package/lib/graph/bar/props.js +1 -2
- package/lib/graph/bar/props.js.map +1 -1
- package/lib/graph/combo-graph/ComboGraph.js +44 -12
- package/lib/graph/combo-graph/ComboGraph.js.map +1 -1
- package/lib/graph/combo-graph/props.js +1 -1
- package/lib/graph/combo-graph/props.js.map +1 -1
- package/lib/graph/line/Line.js +37 -3
- package/lib/graph/line/Line.js.map +1 -1
- package/lib/graph/line/props.js +7 -6
- package/lib/graph/line/props.js.map +1 -1
- package/lib/graph/pie/Pie.js +22 -1
- package/lib/graph/pie/Pie.js.map +1 -1
- package/lib/graph/pie/props.js +1 -1
- package/lib/graph/pie/props.js.map +1 -1
- package/lib/graph/scatter/Scatter.js +10 -1
- package/lib/graph/scatter/Scatter.js.map +1 -1
- package/lib/graph/scatter/props.js +1 -1
- package/lib/graph/scatter/props.js.map +1 -1
- package/lib/hooks/useRequestData.js +1 -1
- package/lib/hooks/useRequestData.js.map +1 -1
- package/lib/hooks/useValueFormatter.js +2 -1
- package/lib/hooks/useValueFormatter.js.map +1 -1
- package/lib/hooks/useVariablesInText.js +33 -11
- package/lib/hooks/useVariablesInText.js.map +1 -1
- package/lib/setting/provider-config/ProviderConfig.js +3 -1
- package/lib/setting/provider-config/ProviderConfig.js.map +1 -1
- package/lib/style.css +6503 -6503
- package/lib/table/table/Table.js +87 -28
- package/lib/table/table/Table.js.map +1 -1
- package/lib/table/table/index.js.map +1 -1
- package/lib/table/table/props.js +1 -0
- package/lib/table/table/props.js.map +1 -1
- package/lib/text/text/Text.js +21 -1
- package/lib/text/text/Text.js.map +1 -1
- package/lib/text/text/props.js +4 -1
- package/lib/text/text/props.js.map +1 -1
- package/package.json +1 -1
- package/types/container/modal/index.d.ts +1 -1
- package/types/table/table/Table.vue.d.ts +44 -5
- package/types/table/table/index.d.ts +45 -6
- package/types/table/table/props.d.ts +21 -0
- package/types/text/text/Text.vue.d.ts +66 -0
- package/types/text/text/index.d.ts +66 -0
- package/types/text/text/props.d.ts +36 -0
- package/types/hooks/usePickEchartsData.d.ts +0 -2
- package/types/hooks/useTooltipFormatter.d.ts +0 -4
package/lib/table/table/Table.js
CHANGED
|
@@ -18,7 +18,7 @@ require("../../node_modules/ant-design-vue/es/tree/style/index.js");
|
|
|
18
18
|
const usePickComponentStyle = require("../../hooks/usePickComponentStyle.js");
|
|
19
19
|
const useOnEvent = require("../../hooks/useOnEvent.js");
|
|
20
20
|
const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
21
|
-
require("lodash-es");
|
|
21
|
+
const lodashEs = require("lodash-es");
|
|
22
22
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
23
23
|
const constant = require("../../utils/constant.js");
|
|
24
24
|
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
@@ -67,27 +67,34 @@ const _sfc_main = vue.defineComponent({
|
|
|
67
67
|
});
|
|
68
68
|
const x = vue.computed(() => props2.scrollX);
|
|
69
69
|
const y = vue.computed(() => parseFloat(props2.height) - vue.unref(splitY));
|
|
70
|
-
const myColumns = vue.
|
|
71
|
-
|
|
70
|
+
const myColumns = vue.ref([]);
|
|
71
|
+
const myDataSource = vue.ref(props2.data);
|
|
72
|
+
const tableColumns = vue.ref([]);
|
|
73
|
+
const tableDataSource = vue.ref([]);
|
|
74
|
+
const total = vue.ref(0);
|
|
75
|
+
const pageNum = vue.ref(1);
|
|
76
|
+
const pageSize = vue.computed(() => props2.paginationPageSize);
|
|
77
|
+
const handleColumns = (columns = []) => {
|
|
78
|
+
let _columns = [];
|
|
72
79
|
const isUseSeq = props2.isUseSeq;
|
|
73
80
|
if (isUseSeq) {
|
|
74
|
-
|
|
81
|
+
_columns.push({
|
|
75
82
|
title: "\u5E8F\u53F7",
|
|
76
83
|
dataIndex: "SEQ"
|
|
77
84
|
});
|
|
78
85
|
}
|
|
79
|
-
|
|
86
|
+
_columns = _columns.concat(lodashEs.cloneDeep(columns));
|
|
80
87
|
if (props2.isUseAction) {
|
|
81
|
-
|
|
88
|
+
_columns.push({
|
|
82
89
|
title: "\u64CD\u4F5C",
|
|
83
90
|
dataIndex: "ACTION",
|
|
84
91
|
width: props2.actionColumnWidth
|
|
85
92
|
});
|
|
86
93
|
}
|
|
87
|
-
const len =
|
|
94
|
+
const len = _columns.length;
|
|
88
95
|
const columnsFixedNum = props2.columnsFixedNum;
|
|
89
96
|
for (let i = 0; i < len; i++) {
|
|
90
|
-
const column =
|
|
97
|
+
const column = _columns[i];
|
|
91
98
|
if (i < columnsFixedNum) {
|
|
92
99
|
column.fixed = "left";
|
|
93
100
|
} else {
|
|
@@ -116,16 +123,71 @@ const _sfc_main = vue.defineComponent({
|
|
|
116
123
|
}
|
|
117
124
|
});
|
|
118
125
|
}
|
|
119
|
-
|
|
126
|
+
myColumns.value = _columns;
|
|
127
|
+
};
|
|
128
|
+
vue.watch(() => [
|
|
129
|
+
props2.columns,
|
|
130
|
+
props2.isUseSeq,
|
|
131
|
+
props2.isUseAction,
|
|
132
|
+
props2.columnsFixedNum,
|
|
133
|
+
props2.actionColumnWidth,
|
|
134
|
+
props2.headerCellBackgroundColor,
|
|
135
|
+
props2.cellBackgroundColor,
|
|
136
|
+
props2.borderColor
|
|
137
|
+
], () => {
|
|
138
|
+
handleColumns(props2.columns);
|
|
139
|
+
}, {
|
|
140
|
+
immediate: true,
|
|
141
|
+
deep: true
|
|
120
142
|
});
|
|
121
|
-
const total = vue.ref(0);
|
|
122
|
-
const pageNum = vue.ref(1);
|
|
123
|
-
const pageSize = vue.computed(() => props2.paginationPageSize);
|
|
124
|
-
const dataSource = vue.ref(props2.data);
|
|
125
143
|
vue.watch(() => [props2.data, props2.dataType], ([data, dataType]) => {
|
|
126
144
|
if (dataType !== "static")
|
|
127
145
|
return;
|
|
128
|
-
|
|
146
|
+
myDataSource.value = data;
|
|
147
|
+
});
|
|
148
|
+
const handleReverseTable = (columns, dataSource) => {
|
|
149
|
+
const firstColumns = columns[0];
|
|
150
|
+
const _columns = [{
|
|
151
|
+
title: firstColumns.title,
|
|
152
|
+
dataIndex: "col0",
|
|
153
|
+
key: "col0"
|
|
154
|
+
}];
|
|
155
|
+
for (let i = 0; i < dataSource.length; i++) {
|
|
156
|
+
const data = dataSource[i];
|
|
157
|
+
const dataIndex = "col" + (i + 1);
|
|
158
|
+
_columns.push({
|
|
159
|
+
title: data[firstColumns.dataIndex],
|
|
160
|
+
dataIndex,
|
|
161
|
+
key: dataIndex
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
const _dataSource = [];
|
|
165
|
+
for (let i = 1; i < columns.length; i++) {
|
|
166
|
+
const column = columns[i];
|
|
167
|
+
const _data = { col0: column.title };
|
|
168
|
+
for (let j = 0; j < dataSource.length; j++) {
|
|
169
|
+
const data = dataSource[j];
|
|
170
|
+
_data[`col${j + 1}`] = data[column.dataIndex];
|
|
171
|
+
}
|
|
172
|
+
_dataSource.push(_data);
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
columns: _columns,
|
|
176
|
+
dataSource: _dataSource
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
vue.watch(() => [props2.isReverse, myColumns.value, myDataSource.value], () => {
|
|
180
|
+
if (props2.isReverse) {
|
|
181
|
+
const { columns, dataSource } = handleReverseTable(vue.unref(myColumns), vue.unref(myDataSource));
|
|
182
|
+
tableColumns.value = columns;
|
|
183
|
+
tableDataSource.value = dataSource;
|
|
184
|
+
} else {
|
|
185
|
+
tableColumns.value = vue.unref(myColumns);
|
|
186
|
+
tableDataSource.value = vue.unref(myDataSource);
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
deep: true,
|
|
190
|
+
immediate: true
|
|
129
191
|
});
|
|
130
192
|
const orderCondition = vue.ref(void 0);
|
|
131
193
|
const requestData = useRequestData.useRequestData(props2);
|
|
@@ -149,7 +211,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
149
211
|
const res = await requestData(params);
|
|
150
212
|
const { rows = [], total: tableTotal = 0 } = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) || {};
|
|
151
213
|
total.value = tableTotal;
|
|
152
|
-
|
|
214
|
+
myDataSource.value = rows;
|
|
153
215
|
} catch (e) {
|
|
154
216
|
console.error(e);
|
|
155
217
|
} finally {
|
|
@@ -222,12 +284,10 @@ const _sfc_main = vue.defineComponent({
|
|
|
222
284
|
getGlobalModel: (key) => void 0,
|
|
223
285
|
setGlobalModel: (key, value) => void 0
|
|
224
286
|
});
|
|
225
|
-
const dataColumns =
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
});
|
|
230
|
-
dataSource.value = rows;
|
|
287
|
+
const handleIndicatorDataset = (dataColumns = [], dataRows = []) => {
|
|
288
|
+
const _columns = dataColumns.map((column) => ({ title: column, dataIndex: column, key: column }));
|
|
289
|
+
handleColumns(_columns);
|
|
290
|
+
myDataSource.value = dataRows;
|
|
231
291
|
};
|
|
232
292
|
const indicatorData = useIndicatorData.useIndicatorData(props2);
|
|
233
293
|
const handleIndicatorData = async () => {
|
|
@@ -288,7 +348,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
288
348
|
return [];
|
|
289
349
|
const start = (vue.unref(pageNum) - 1) * vue.unref(pageSize);
|
|
290
350
|
const end = start + vue.unref(pageSize);
|
|
291
|
-
const records = vue.unref(
|
|
351
|
+
const records = vue.unref(myDataSource).slice(start, end);
|
|
292
352
|
for (let i = 0; i < records.length; i++) {
|
|
293
353
|
const record = records[i];
|
|
294
354
|
for (let j = 0; j < summaryList2.length; j++) {
|
|
@@ -334,15 +394,14 @@ const _sfc_main = vue.defineComponent({
|
|
|
334
394
|
return {
|
|
335
395
|
x,
|
|
336
396
|
y,
|
|
337
|
-
myColumns,
|
|
338
397
|
style,
|
|
339
398
|
customRow,
|
|
340
399
|
pagination,
|
|
341
400
|
formatFn,
|
|
342
401
|
contrastClass,
|
|
343
402
|
tableChange,
|
|
344
|
-
|
|
345
|
-
|
|
403
|
+
tableDataSource,
|
|
404
|
+
tableColumns,
|
|
346
405
|
summaryList,
|
|
347
406
|
loading,
|
|
348
407
|
onTouchHrefEvent,
|
|
@@ -373,8 +432,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
373
432
|
style: {
|
|
374
433
|
height: "100%"
|
|
375
434
|
},
|
|
376
|
-
columns: _ctx.
|
|
377
|
-
"data-source": _ctx.
|
|
435
|
+
columns: _ctx.tableColumns,
|
|
436
|
+
"data-source": _ctx.tableDataSource,
|
|
378
437
|
bordered: _ctx.bordered,
|
|
379
438
|
size: _ctx.size,
|
|
380
439
|
customRow: _ctx.customRow,
|
|
@@ -454,6 +513,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
454
513
|
}, 8, ["loading"])
|
|
455
514
|
], 4);
|
|
456
515
|
}
|
|
457
|
-
const Table = /* @__PURE__ */ pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
516
|
+
const Table = /* @__PURE__ */ pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-48569fe8"]]);
|
|
458
517
|
exports.default = Table;
|
|
459
518
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"dataColumns.length > 0 ? dataColumns : myColumns\"\n :data-source=\"dataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template v-slot:bodyCell=\"{ column, index, text, record }\">\n <!-- 序列配置 -->\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ index + 1 }}\n </span>\n </template>\n <!-- 操作列配置 -->\n <template v-else-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(text, column.format) }}\n </div>\n </template>\n </template>\n <template v-slot:summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"summary.dataIndex + index\"\n :index=\"summary.index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor\n }\"\n >\n <div :class=\"[contrastClass(summary.total, summary.format)]\">\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject } from 'vue'\nimport {\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\n\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = computed(() => {\n // 复制表头数据\n let columns = [] as { [key: string]: any } []\n const isUseSeq = props.isUseSeq as boolean\n if (isUseSeq) {\n // 添加序号\n columns.push({\n title: '序号',\n dataIndex: 'SEQ'\n })\n }\n columns = columns.concat(props.columns as { [key: string]: any } [])\n // 添加操作列\n if (props.isUseAction) {\n columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n const len = columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n headerCellAlign = 'center',\n headerCellColor,\n cellAlign = 'center',\n cellColor\n } = column\n // 通用配置\n column.customHeaderCell = () => ({\n style: {\n textAlign: headerCellAlign,\n color: headerCellColor,\n backgroundColor: props.headerCellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n column.customCell = () => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n }\n return columns\n })\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const dataSource = ref(props.data as { [key: string]: any } [])\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n dataSource.value = data as { [key: string]: any } []\n })\n const orderCondition = ref<string | undefined>(undefined)\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {\n orderCondition: unref(orderCondition)\n } as { [key:string]: any }\n // 分页\n if (props.paginationShow) {\n params = {\n ...params,\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1'\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n dataSource.value = rows\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const dataColumns = ref([])\n const handleIndicatorDataset = (colmuns: any = [], rows: any = []) => {\n dataColumns.value = colmuns.map((it: string) => {\n return { title: it, dataIndex: it, key: it }\n })\n dataSource.value = rows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const customRow = (record) => ({\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n useOnEvent(props, {\n refreshData\n })\n const summaryList = computed(() => {\n const columns = props.columns as { [key: string]: any } []\n const summaryList = (props.isUseSeq ? [{ total: '小计' }] : []) as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(dataSource).slice(start, end)\n for (let i = 0; i < records.length; i++) {\n const record = records[i]\n for (let j = 0; j < summaryList.length; j++) {\n const summary = summaryList[j]\n const { dataIndex, total } = summary\n const num = +record[dataIndex]\n if (!Number.isNaN(num) && total != null) {\n summary.total = num + total\n }\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n return {\n x,\n y,\n myColumns,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n dataColumns,\n dataSource,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table {\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: rgba(0, 0, 0, .65) !important;\n }\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","tableComponentProps","props","usePickComponentStyle","computed","unref","ref","watch","useRequestData","formatMoney","formatPercentage","useEmitEvent","inject","GLOBAL_CONFIG","GLOBAL_MODEL","useIndicatorData","useOnEvent","summaryList","total","REQUEST_MODEL","useVariablesInText","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_toDisplayString","_Fragment","_renderList","index","_createElementVNode","_normalizeClass","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"tableColumns\"\n :data-source=\"tableDataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template v-slot:bodyCell=\"{ column, index, text, record }\">\n <!-- 序列配置 -->\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ index + 1 }}\n </span>\n </template>\n <!-- 操作列配置 -->\n <template v-else-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(text, column.format) }}\n </div>\n </template>\n </template>\n <template v-slot:summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"summary.dataIndex + index\"\n :index=\"summary.index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor\n }\"\n >\n <div :class=\"[contrastClass(summary.total, summary.format)]\">\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject } from 'vue'\nimport {\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport { cloneDeep } from 'lodash-es'\n\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = ref([] as { [key: string]: any } [])\n const myDataSource = ref(props.data as { [key: string]: any } [])\n const tableColumns = ref([] as { [key: string]: any } [])\n const tableDataSource = ref([] as { [key: string]: any } [])\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const handleColumns = (columns: { [key: string]: any } [] = []) => {\n // 复制表头数据\n let _columns = [] as { [key: string]: any } []\n const isUseSeq = props.isUseSeq as boolean\n if (isUseSeq) {\n // 添加序号\n _columns.push({\n title: '序号',\n dataIndex: 'SEQ'\n })\n }\n _columns = _columns.concat(cloneDeep((columns)))\n // 添加操作列\n if (props.isUseAction) {\n _columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n const len = _columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = _columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n headerCellAlign = 'center',\n headerCellColor,\n cellAlign = 'center',\n cellColor\n } = column\n // 通用配置\n column.customHeaderCell = () => ({\n style: {\n textAlign: headerCellAlign,\n color: headerCellColor,\n backgroundColor: props.headerCellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n column.customCell = () => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n }\n myColumns.value = _columns\n }\n watch(() => [\n props.columns,\n props.isUseSeq,\n props.isUseAction,\n props.columnsFixedNum,\n props.actionColumnWidth,\n props.headerCellBackgroundColor,\n props.cellBackgroundColor,\n props.borderColor\n ], () => {\n handleColumns(props.columns as any [])\n }, {\n immediate: true,\n deep: true\n })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n myDataSource.value = data as { [key: string]: any } []\n })\n const handleReverseTable = (columns: { [key:string]: any} [], dataSource: { [key:string]: any} []) => {\n const firstColumns = columns[0]\n const _columns = [{\n title: firstColumns.title,\n dataIndex: 'col0',\n key: 'col0'\n }] as { [key:string]: any } []\n for (let i = 0; i < dataSource.length; i++) {\n const data = dataSource[i]\n const dataIndex = 'col' + (i + 1)\n _columns.push({\n title: data[firstColumns.dataIndex],\n dataIndex,\n key: dataIndex\n })\n }\n const _dataSource = [] as { [key:string]: any } []\n for (let i = 1; i < columns.length; i++) {\n const column = columns[i]\n const _data = { col0: column.title }\n for (let j = 0; j < dataSource.length; j++) {\n const data = dataSource[j]\n _data[`col${j + 1}`] = data[column.dataIndex]\n }\n _dataSource.push(_data)\n }\n return {\n columns: _columns,\n dataSource: _dataSource\n }\n }\n watch(() => [props.isReverse, myColumns.value, myDataSource.value], () => {\n if (props.isReverse) {\n const { columns, dataSource } = handleReverseTable(unref(myColumns), unref(myDataSource))\n tableColumns.value = columns\n tableDataSource.value = dataSource\n } else {\n tableColumns.value = unref(myColumns)\n tableDataSource.value = unref(myDataSource)\n }\n }, {\n deep: true,\n immediate: true\n })\n const orderCondition = ref<string | undefined>(undefined)\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {\n orderCondition: unref(orderCondition)\n } as { [key:string]: any }\n // 分页\n if (props.paginationShow) {\n params = {\n ...params,\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1'\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n myDataSource.value = rows\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const handleIndicatorDataset = (dataColumns: any [] = [], dataRows: { [key:string]: any }[] = []) => {\n const _columns = dataColumns.map((column: string) => ({ title: column, dataIndex: column, key: column }))\n handleColumns(_columns)\n myDataSource.value = dataRows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const customRow = (record) => ({\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n useOnEvent(props, {\n refreshData\n })\n const summaryList = computed(() => {\n const columns = props.columns as { [key: string]: any } []\n const summaryList = (props.isUseSeq ? [{ total: '小计' }] : []) as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(myDataSource).slice(start, end)\n for (let i = 0; i < records.length; i++) {\n const record = records[i]\n for (let j = 0; j < summaryList.length; j++) {\n const summary = summaryList[j]\n const { dataIndex, total } = summary\n const num = +record[dataIndex]\n if (!Number.isNaN(num) && total != null) {\n summary.total = num + total\n }\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n return {\n x,\n y,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n tableDataSource,\n tableColumns,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table {\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: rgba(0, 0, 0, .65) !important;\n }\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","tableComponentProps","props","usePickComponentStyle","computed","unref","ref","cloneDeep","watch","useRequestData","formatMoney","formatPercentage","useEmitEvent","inject","GLOBAL_CONFIG","GLOBAL_MODEL","useIndicatorData","useOnEvent","summaryList","total","REQUEST_MODEL","useVariablesInText","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_toDisplayString","_Fragment","_renderList","index","_createElementVNode","_normalizeClass","_createBlock"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Table from './Table.vue'\nexport const EcanTable = withInstall(Table)\nexport default EcanTable\nexport * from './props'\n"],"names":["withInstall","Table"],"mappings":";;;;;AAEa,MAAA,YAAYA,wBAAYC,MAAK,OAAA;;;;;;"}
|
package/lib/table/table/props.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/table/table/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface TableProps extends Props {\n columns: { [key: string]: any } []\n data: { [key: string]: any } []\n bordered: boolean\n size: 'default' | 'middle' | 'small'\n isUseSeq: boolean\n columnsFixedNum: number\n scrollX: number\n paginationShow: boolean\n paginationPosition: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight'\n simple: boolean\n headerCellBackgroundColor: string\n cellBackgroundColor: string\n borderColor: string\n paginationPageSize: number\n isUseAction: boolean // 添加操作列\n actionColumnWidth: number\n actionList: { [key: string]: any } []\n fontSize: string\n fontWeight: number\n graphicConfig: {\n [key:string]: any,\n // 全部属性, 为了属性可拓展,所以在设计器中自由添加\n // classification: { [key:string]: any }\n // series: { [key:string]: any }\n // indicatorList: { [key:string]: any } []\n // sqlConditions: { [key:string]: any } []\n // idxLibMode: string\n // source: string\n // dataViewId: string\n chartType: 'table' // 图表类型,后台接口\n plugin: '1' // 插件类型,后台接口\n layer: '1' // 表格类型, 后台接口\n }\n}\n\nexport const tableProps: TableProps = {\n ...props,\n zIndex: 2,\n name: '表格',\n keyName: '表格',\n type: 'ecanTable',\n width: '400px',\n height: '240px',\n bordered: false,\n fontSize: '14px',\n isUseSeq: false,\n size: 'default',\n fontWeight: 400,\n columnsFixedNum: 0,\n scrollX: 0,\n paginationShow: true,\n simple: false,\n headerCellBackgroundColor: '',\n cellBackgroundColor: '',\n borderColor: '',\n paginationPosition: 'bottomRight',\n paginationPageSize: 10,\n isUseAction: false,\n actionList: [{\n title: '',\n href: '',\n target: '',\n color: ''\n }],\n actionColumnWidth: 100,\n columns: [\n {\n title: '姓名',\n dataIndex: 'name'\n },\n {\n title: '年龄',\n dataIndex: 'age'\n },\n {\n title: '住址',\n dataIndex: 'address'\n }\n ],\n data: [\n {\n name: '小明',\n age: 32,\n address: '福州软件园'\n },\n {\n name: '小红',\n age: 25,\n address: '福州软件园'\n }\n ],\n graphicConfig: {\n chartType: 'table', // 图表类型,后台接口\n plugin: '1', // 插件类型,后台接口\n layer: '1' // 图类型, 后台接口\n }\n}\n\n// 转化默认属性\nexport const tableComponentProps = transformToComponentProps(tableProps)\n\nexport const tableEvents = ['click', 'refreshData']\n"],"names":["props","transformToComponentProps"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/table/table/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface TableProps extends Props {\n columns: { [key: string]: any } []\n data: { [key: string]: any } []\n bordered: boolean\n size: 'default' | 'middle' | 'small'\n isUseSeq: boolean\n columnsFixedNum: number\n scrollX: number\n paginationShow: boolean\n paginationPosition: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight'\n simple: boolean\n headerCellBackgroundColor: string\n cellBackgroundColor: string\n borderColor: string\n paginationPageSize: number\n isUseAction: boolean // 添加操作列\n actionColumnWidth: number\n actionList: { [key: string]: any } []\n fontSize: string\n fontWeight: number\n isReverse: boolean\n graphicConfig: {\n [key:string]: any,\n // 全部属性, 为了属性可拓展,所以在设计器中自由添加\n // classification: { [key:string]: any }\n // series: { [key:string]: any }\n // indicatorList: { [key:string]: any } []\n // sqlConditions: { [key:string]: any } []\n // idxLibMode: string\n // source: string\n // dataViewId: string\n chartType: 'table' // 图表类型,后台接口\n plugin: '1' // 插件类型,后台接口\n layer: '1' // 表格类型, 后台接口\n }\n}\n\nexport const tableProps: TableProps = {\n ...props,\n zIndex: 2,\n name: '表格',\n keyName: '表格',\n type: 'ecanTable',\n width: '400px',\n height: '240px',\n bordered: false,\n fontSize: '14px',\n isUseSeq: false,\n size: 'default',\n fontWeight: 400,\n columnsFixedNum: 0,\n scrollX: 0,\n paginationShow: true,\n isReverse: false,\n simple: false,\n headerCellBackgroundColor: '',\n cellBackgroundColor: '',\n borderColor: '',\n paginationPosition: 'bottomRight',\n paginationPageSize: 10,\n isUseAction: false,\n actionList: [{\n title: '',\n href: '',\n target: '',\n color: ''\n }],\n actionColumnWidth: 100,\n columns: [\n {\n title: '姓名',\n dataIndex: 'name'\n },\n {\n title: '年龄',\n dataIndex: 'age'\n },\n {\n title: '住址',\n dataIndex: 'address'\n }\n ],\n data: [\n {\n name: '小明',\n age: 32,\n address: '福州软件园'\n },\n {\n name: '小红',\n age: 25,\n address: '福州软件园'\n }\n ],\n graphicConfig: {\n chartType: 'table', // 图表类型,后台接口\n plugin: '1', // 插件类型,后台接口\n layer: '1' // 图类型, 后台接口\n }\n}\n\n// 转化默认属性\nexport const tableComponentProps = transformToComponentProps(tableProps)\n\nexport const tableEvents = ['click', 'refreshData']\n"],"names":["props","transformToComponentProps"],"mappings":";;;AA2CO,MAAM,aAAyB;AAAA,EACpC,GAAGA,MAAA;AAAA,EACH,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,YAAY,CAAC;AAAA,IACX,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA,CACR;AAAA,EACD,mBAAmB;AAAA,EACnB,SAAS;AAAA,IACP;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AACF;AAGa,MAAA,sBAAsBC,gCAA0B,UAAU;AAE1D,MAAA,cAAc,CAAC,SAAS,aAAa;;;;"}
|
package/lib/text/text/Text.js
CHANGED
|
@@ -8,6 +8,8 @@ const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
|
8
8
|
require("lodash-es");
|
|
9
9
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
10
10
|
const constant = require("../../utils/constant.js");
|
|
11
|
+
const usePageUrl = require("../../hooks/usePageUrl.js");
|
|
12
|
+
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
11
13
|
require("../../utils/request.js");
|
|
12
14
|
require("ant-design-vue");
|
|
13
15
|
const Skeleton = require("../../common/skeleton/Skeleton.js");
|
|
@@ -108,6 +110,24 @@ const _sfc_main = vue.defineComponent({
|
|
|
108
110
|
});
|
|
109
111
|
const emitEvent = useEmitEvent.useEmitEvent(props2);
|
|
110
112
|
const click = emitEvent("click", () => {
|
|
113
|
+
if (!props2.linkPage && !props2.href)
|
|
114
|
+
return;
|
|
115
|
+
const linkPage = props2.linkPage || "";
|
|
116
|
+
const pageUrl = usePageUrl.usePageUrl(vue.unref(pageMode), linkPage);
|
|
117
|
+
const href = props2.href;
|
|
118
|
+
let url = href || pageUrl;
|
|
119
|
+
url = useVariablesInText.useVariablesInText(url);
|
|
120
|
+
const target = props2.target;
|
|
121
|
+
if (target == null || target === "")
|
|
122
|
+
return;
|
|
123
|
+
if (target !== "event") {
|
|
124
|
+
window.open(url, "_" + target);
|
|
125
|
+
} else {
|
|
126
|
+
window.parent.postMessage({
|
|
127
|
+
type: "openPage",
|
|
128
|
+
url: href
|
|
129
|
+
}, "*");
|
|
130
|
+
}
|
|
111
131
|
});
|
|
112
132
|
return {
|
|
113
133
|
style,
|
|
@@ -134,6 +154,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
134
154
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
|
|
135
155
|
}, null, 12, _hoisted_1));
|
|
136
156
|
}
|
|
137
|
-
const Text = /* @__PURE__ */ pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
157
|
+
const Text = /* @__PURE__ */ pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-604c9a14"]]);
|
|
138
158
|
exports.default = Text;
|
|
139
159
|
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../../src/text/text/Text.vue"],"sourcesContent":["<template>\n <div class=\"skeleton-wrapper\" :style=\"style\" v-if=\"loading\">\n <skeleton :loading=\"loading\"/>\n </div>\n <div class=\"ecan-text\" :style=\"style\" v-html=\"myText\" @click=\"click\" v-else/>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { textComponentProps } from './props'\nimport {
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../src/text/text/Text.vue"],"sourcesContent":["<template>\n <div class=\"skeleton-wrapper\" :style=\"style\" v-if=\"loading\">\n <skeleton :loading=\"loading\"/>\n </div>\n <div class=\"ecan-text\" :style=\"style\" v-html=\"myText\" @click=\"click\" v-else/>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { textComponentProps } from './props'\nimport {\n usePickComponentStyle,\n useRequestData,\n useOnEvent,\n useEmitEvent,\n usePageUrl,\n useVariablesInText\n} from '@/hooks'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport goUp from '@/assets/go-up.png'\nimport goDown from '@/assets/go-down.png'\nexport default defineComponent({\n name: 'EcanText',\n components: { Skeleton },\n props: {\n ...textComponentProps\n },\n setup (props) {\n const style = usePickComponentStyle(props)\n const myData = ref({} as { [key:string]:any })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType === 'static') {\n myData.value = data as { [key: string]: any }\n }\n }, {\n immediate: true\n })\n const myText = computed(() => {\n const data = unref(myData)\n let text = props.text as string\n text = text?.replace(/\\n|\\\\n/g, '<br/>')\n text = text?.replace(/\\s/g, ' ')\n const variables = (text).match(/\\{\\s*[\\w\\u4e00-\\u9fa5]*\\s*\\}/g)\n if (variables == null || variables.length === 0) return text\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n const v = variable?.slice(1, variable.length - 1)?.trim()\n let usedVariable = data[v]\n // 能取到变量值\n if (usedVariable != null) {\n // 百分比格式化\n if (props.format === 'percentage') {\n // 判断是数字类型\n usedVariable = +usedVariable\n if (!isNaN(usedVariable)) {\n usedVariable = (usedVariable * 100).toFixed(2)\n // 如果大于等于 0\n if (usedVariable >= 0) {\n text = text.replace(variable, `<span style=\"color:#ED6643;font-size:${props.variableFontSize}\"><img style=\"width: ${props.variableFontSize}\" src=\"${goUp}\"/>${usedVariable}%</span>`)\n } else {\n // 如果小于 0\n text = text.replace(variable, `<span style=\"color: #6ACB97;font-size:${props.variableFontSize}\"><img style=\"width: ${props.variableFontSize}\" src=\"${goDown}\"/>${Math.abs(usedVariable)}%</span>`)\n }\n } else {\n // 判断不是数字类型\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${0.00}%</span>`)\n }\n } else if (props.format === 'money') {\n // 金额格式化\n usedVariable = +usedVariable\n if (!isNaN(usedVariable)) {\n usedVariable = (usedVariable).toFixed(2).toLocaleString()\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${usedVariable}</span>`)\n }\n } else {\n /// 没有使用百分格式化\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${usedVariable}</span>`)\n }\n } else {\n // 不能取到变量值\n text = text.replace(variable, props.variableDefaultValue as string)\n }\n }\n return `<span>${text}</span>`\n })\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async () => {\n if (unref(pageMode) === 'design') return\n try {\n loading.value = true\n const res = await requestData()\n myData.value = res?.data?.data || {}\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const refreshData = () => {\n if (props.dataType === 'static') return\n handleRequestData()\n }\n\n useOnEvent(props, {\n refreshData\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n useOnEvent(props, {\n refreshData\n })\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {\n // 空链接、空页面直接 return\n if (!props.linkPage && !props.href) return\n const linkPage = (props.linkPage || '') as string\n const pageUrl = usePageUrl(unref(pageMode), linkPage)\n // 优先使用外部链接,再使用url\n const href = props.href as string\n let url = href || pageUrl\n url = useVariablesInText(url)\n const target = props.target\n if (target == null || target === '') return\n if (target !== 'event') {\n window.open(url, '_' + (target as string))\n } else {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n })\n\n return {\n style,\n myText,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.skeleton-wrapper {\n overflow: hidden;\n}\n\n.ecan-text {\n overflow: hidden;\n display: flex;\n}\n</style>\n"],"names":["defineComponent","Skeleton","textComponentProps","props","usePickComponentStyle","ref","watch","computed","unref","goUp","goDown","inject","GLOBAL_CONFIG","useRequestData","useOnEvent","REQUEST_MODEL","useEmitEvent","usePageUrl","useVariablesInText","_openBlock","_createElementBlock","_normalizeStyle","_createVNode"],"mappings":"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"}
|
package/lib/text/text/props.js
CHANGED
|
@@ -20,7 +20,10 @@ const textProps = {
|
|
|
20
20
|
variableFontSize: "14px",
|
|
21
21
|
data: {},
|
|
22
22
|
variableDefaultValue: "0",
|
|
23
|
-
format: ""
|
|
23
|
+
format: "",
|
|
24
|
+
target: "self",
|
|
25
|
+
href: "",
|
|
26
|
+
linkPage: ""
|
|
24
27
|
};
|
|
25
28
|
const textComponentProps = props.transformToComponentProps(textProps);
|
|
26
29
|
const textEvents = ["refreshData", "click"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/text/text/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface TextProps extends Props {\n text: string // 文本内容\n color: string // 颜色\n fontSize: string // 字体大小\n fontFamily: string // 字体\n fontWeight: number // 字体的粗细程度\n justifyContent: 'flex-start' | 'center' | 'end' // 水平位置\n alignItems: 'flex-start' | 'center' | 'end' // 垂直位置\n textShadow: string // 文字阴影\n data: { [key:string]: any }\n variableColor: string\n variableFontSize: string\n variableDefaultValue: string\n format: '' | 'percentage'\n}\nexport const textProps:TextProps = {\n ...props,\n name: '文本',\n keyName: '文本',\n type: 'ecanText',\n width: '100px',\n height: '40px',\n text: '文字',\n color: '#333',\n variableColor: '#f00',\n fontSize: '14px',\n fontFamily: '',\n fontWeight: 400,\n textShadow: '',\n justifyContent: 'center',\n alignItems: 'center',\n variableFontSize: '14px',\n data: {},\n variableDefaultValue: '0',\n format: ''\n}\n\n// 转化默认属性\nexport const textComponentProps = transformToComponentProps(textProps)\n\nexport const textEvents = ['refreshData', 'click']\n"],"names":["props","transformToComponentProps"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/text/text/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface TextProps extends Props {\n text: string // 文本内容\n color: string // 颜色\n fontSize: string // 字体大小\n fontFamily: string // 字体\n fontWeight: number // 字体的粗细程度\n justifyContent: 'flex-start' | 'center' | 'end' // 水平位置\n alignItems: 'flex-start' | 'center' | 'end' // 垂直位置\n textShadow: string // 文字阴影\n data: { [key:string]: any }\n variableColor: string\n variableFontSize: string\n variableDefaultValue: string\n format: '' | 'percentage'\n href: string\n target: 'self' | 'blank' | 'event' // 打开方式\n linkPage: string // 传入pageId\n}\nexport const textProps:TextProps = {\n ...props,\n name: '文本',\n keyName: '文本',\n type: 'ecanText',\n width: '100px',\n height: '40px',\n text: '文字',\n color: '#333',\n variableColor: '#f00',\n fontSize: '14px',\n fontFamily: '',\n fontWeight: 400,\n textShadow: '',\n justifyContent: 'center',\n alignItems: 'center',\n variableFontSize: '14px',\n data: {},\n variableDefaultValue: '0',\n format: '',\n target: 'self',\n href: '',\n linkPage: ''\n}\n\n// 转化默认属性\nexport const textComponentProps = transformToComponentProps(textProps)\n\nexport const textEvents = ['refreshData', 'click']\n"],"names":["props","transformToComponentProps"],"mappings":";;;AAwBO,MAAM,YAAsB;AAAA,EACjC,GAAGA,MAAA;AAAA,EACH,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,MAAM,CAAC;AAAA,EACP,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AACZ;AAGa,MAAA,qBAAqBC,gCAA0B,SAAS;AAExD,MAAA,aAAa,CAAC,eAAe,OAAO;;;;"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const EcanModal: import(
|
|
1
|
+
export declare const EcanModal: import('../../utils/withInstall').SFCWithInstall<import("vue").DefineComponent<{
|
|
2
2
|
id: {
|
|
3
3
|
type?: undefined;
|
|
4
4
|
default?: undefined;
|
|
@@ -379,6 +379,26 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
379
379
|
[key: string]: any;
|
|
380
380
|
}[];
|
|
381
381
|
};
|
|
382
|
+
isReverse: {
|
|
383
|
+
type?: undefined;
|
|
384
|
+
default?: undefined;
|
|
385
|
+
} | {
|
|
386
|
+
type: any;
|
|
387
|
+
default: string | number | boolean | import("../../utils/props").Events | {
|
|
388
|
+
[key: string]: any;
|
|
389
|
+
} | import("../../utils/props").RequestParams | {
|
|
390
|
+
[key: string]: any;
|
|
391
|
+
}[] | {
|
|
392
|
+
[key: string]: any;
|
|
393
|
+
chartType: "table";
|
|
394
|
+
plugin: "1";
|
|
395
|
+
layer: "1";
|
|
396
|
+
} | {
|
|
397
|
+
[key: string]: any;
|
|
398
|
+
}[] | {
|
|
399
|
+
[key: string]: any;
|
|
400
|
+
}[];
|
|
401
|
+
};
|
|
382
402
|
graphicConfig: {
|
|
383
403
|
type?: undefined;
|
|
384
404
|
default?: undefined;
|
|
@@ -844,9 +864,6 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
844
864
|
[key: string]: any;
|
|
845
865
|
}>;
|
|
846
866
|
y: import("vue").ComputedRef<number>;
|
|
847
|
-
myColumns: import("vue").ComputedRef<{
|
|
848
|
-
[key: string]: any;
|
|
849
|
-
}[]>;
|
|
850
867
|
style: import("vue").ComputedRef<import("vue").HTMLAttributes>;
|
|
851
868
|
customRow: (record: any) => {
|
|
852
869
|
onClick: () => void;
|
|
@@ -868,8 +885,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
868
885
|
tableChange: ({ current }: {
|
|
869
886
|
current: number;
|
|
870
887
|
}, _filters: any, sorter: any) => void;
|
|
871
|
-
|
|
872
|
-
|
|
888
|
+
tableDataSource: import("vue").Ref<{
|
|
889
|
+
[x: string]: any;
|
|
890
|
+
}[]>;
|
|
891
|
+
tableColumns: import("vue").Ref<{
|
|
873
892
|
[x: string]: any;
|
|
874
893
|
}[]>;
|
|
875
894
|
summaryList: import("vue").ComputedRef<{
|
|
@@ -1262,6 +1281,26 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
1262
1281
|
[key: string]: any;
|
|
1263
1282
|
}[];
|
|
1264
1283
|
};
|
|
1284
|
+
isReverse: {
|
|
1285
|
+
type?: undefined;
|
|
1286
|
+
default?: undefined;
|
|
1287
|
+
} | {
|
|
1288
|
+
type: any;
|
|
1289
|
+
default: string | number | boolean | import("../../utils/props").Events | {
|
|
1290
|
+
[key: string]: any;
|
|
1291
|
+
} | import("../../utils/props").RequestParams | {
|
|
1292
|
+
[key: string]: any;
|
|
1293
|
+
}[] | {
|
|
1294
|
+
[key: string]: any;
|
|
1295
|
+
chartType: "table";
|
|
1296
|
+
plugin: "1";
|
|
1297
|
+
layer: "1";
|
|
1298
|
+
} | {
|
|
1299
|
+
[key: string]: any;
|
|
1300
|
+
}[] | {
|
|
1301
|
+
[key: string]: any;
|
|
1302
|
+
}[];
|
|
1303
|
+
};
|
|
1265
1304
|
graphicConfig: {
|
|
1266
1305
|
type?: undefined;
|
|
1267
1306
|
default?: undefined;
|