cnhis-design-vue 0.3.8-beta → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/README.md +22 -22
- package/env.d.ts +22 -22
- package/es/big-table/index.css +785 -7
- package/es/big-table/index.js +1862 -1450
- package/es/button-print/index.css +811 -9
- package/es/button-print/index.js +705 -774
- package/es/drag-layout/index.css +1044 -12
- package/es/drag-layout/index.js +705 -774
- package/es/grid/index.css +1045 -12
- package/es/grid/index.js +32 -40
- package/es/index.css +1044 -12
- package/es/index.js +1869 -1455
- package/package.json +8 -3
- package/packages/big-table/index.ts +8 -3
- package/packages/big-table/src/BigTable.vue +55 -312
- package/packages/big-table/src/FieldSet.vue +477 -0
- package/packages/big-table/src/assets/style/table-base.less +77 -81
- package/packages/big-table/src/assets/style/table-global.less +0 -8
- package/packages/big-table/src/components/TextOverTooltip.vue +1 -1
- package/packages/big-table/src/components/edit-form/edit-select-table.vue +13 -7
- package/packages/big-table/src/components/edit-form/edit-select.vue +24 -3
- package/packages/big-table/src/hooks/useEdit.ts +73 -0
- package/packages/big-table/src/hooks/useFormat.ts +1 -1
- package/packages/big-table/src/hooks/useNestTable.ts +1 -1
- package/packages/big-table/src/hooks/useTableParse.ts +3 -3
- package/packages/big-table/src/utils.ts +1 -1
- package/packages/button-print/index.ts +3 -3
- package/packages/button-print/src/ButtonPrint.vue +2 -2
- package/packages/button-print/src/components/IdentityVerification.vue +1 -1
- package/packages/drag-layout/index.ts +3 -3
- package/packages/drag-layout/src/DragLayout.vue +2 -2
- package/packages/grid/index.ts +3 -3
- package/packages/grid/src/Grid.tsx +1 -1
- package/src/core/{create.ts → create.js} +1 -1
- package/src/utils/{vexutils.ts → vexutils.js} +44 -44
- package/tsconfig.node.json +8 -8
- package/packages/big-table/src/components/SvgIcon.vue +0 -49
- package/packages/button-print/src/utils/crypto.js +0 -25
package/package.json
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnhis-design-vue",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"main": "es/index.js",
|
|
6
|
+
"module": "es/index.js",
|
|
6
7
|
"scripts": {
|
|
7
8
|
"dev": "vite --host --port 3200",
|
|
8
9
|
"build:docs": "vite build",
|
|
9
10
|
"build:es": "npm run build:packges",
|
|
10
11
|
"build:packges": "rollup -c build/config.component.ts",
|
|
11
12
|
"build:packges:dts": "rollup -c build/config.component.dts.ts",
|
|
12
|
-
"preview": "vite preview"
|
|
13
|
+
"preview": "vite preview",
|
|
14
|
+
"release": "standard-version"
|
|
13
15
|
},
|
|
14
16
|
"peerDependencies": {
|
|
15
|
-
"naive-ui": "^2.28.1",
|
|
16
17
|
"@vicons/ionicons5": "^0.12.0",
|
|
17
18
|
"axios": "^0.26.1",
|
|
19
|
+
"naive-ui": "^2.28.1",
|
|
18
20
|
"qs": "^6.10.3"
|
|
19
21
|
},
|
|
20
22
|
"dependencies": {
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
"xe-utils": "^3.5.4"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
36
|
+
"@rollup/plugin-alias": "^3.1.9",
|
|
34
37
|
"@rollup/plugin-commonjs": "^21.0.3",
|
|
35
38
|
"@rollup/plugin-image": "^2.1.1",
|
|
36
39
|
"@rollup/plugin-node-resolve": "^13.1.3",
|
|
@@ -44,6 +47,7 @@
|
|
|
44
47
|
"eslint-plugin-vue": "^8.5.0",
|
|
45
48
|
"less": "^4.1.2",
|
|
46
49
|
"rollup": "^2.70.0",
|
|
50
|
+
"rollup-plugin-delete": "^2.0.0",
|
|
47
51
|
"rollup-plugin-esbuild": "^4.9.1",
|
|
48
52
|
"rollup-plugin-external-globals": "^0.6.1",
|
|
49
53
|
"rollup-plugin-jsx": "^1.0.3",
|
|
@@ -52,6 +56,7 @@
|
|
|
52
56
|
"rollup-plugin-typescript2": "^0.31.2",
|
|
53
57
|
"rollup-plugin-vue": "^6.0.0",
|
|
54
58
|
"rollup-plugin-vue-jsx-compat": "0.0.6",
|
|
59
|
+
"standard-version": "^9.3.2",
|
|
55
60
|
"typescript": "^4.5.4",
|
|
56
61
|
"vite": "^2.8.0",
|
|
57
62
|
"vue-tsc": "^0.29.8"
|
|
@@ -2,16 +2,21 @@ import type { App } from "vue";
|
|
|
2
2
|
// import XEUtils from "xe-utils";
|
|
3
3
|
// 导入组件
|
|
4
4
|
import BigTable from "./src/BigTable.vue"
|
|
5
|
+
import FieldSet from './src/FieldSet.vue'
|
|
5
6
|
|
|
6
|
-
type SFCWithInstall<T> = T & { install(app: App): void }; // vue 安装
|
|
7
|
+
// type SFCWithInstall<T> = T & { install(app: App): void }; // vue 安装
|
|
7
8
|
|
|
8
9
|
// 为组件提供 install 安装方法,供按需引入
|
|
9
10
|
BigTable.install = function(app: App) {
|
|
10
11
|
app.component(BigTable.name, BigTable);
|
|
12
|
+
app.component(FieldSet.name, FieldSet)
|
|
11
13
|
// app.config.globalProperties.$utils = XEUtils;
|
|
12
14
|
};
|
|
13
15
|
|
|
14
|
-
const CBigTable: SFCWithInstall<typeof BigTable> = BigTable; // 增加类型
|
|
16
|
+
// const CBigTable: SFCWithInstall<typeof BigTable> = BigTable; // 增加类型
|
|
15
17
|
|
|
18
|
+
Object.assign(BigTable, {
|
|
19
|
+
FieldSet
|
|
20
|
+
});
|
|
16
21
|
// 默认导出组件
|
|
17
|
-
export default
|
|
22
|
+
export default BigTable;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="big-table"
|
|
3
|
+
class="big-table custom-big-table"
|
|
4
4
|
:class="{
|
|
5
5
|
mt: state.visibleCheckAllWrap || state.visibleTreeCheck || state.hasRefresh,
|
|
6
6
|
'expand-padding': !props.isNestTable,
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
</template>
|
|
156
156
|
|
|
157
157
|
<script lang="tsx">
|
|
158
|
-
import create from '@/core/create';
|
|
158
|
+
import create from '@/core/create.js';
|
|
159
159
|
export default create({
|
|
160
160
|
name: "BigTable"
|
|
161
161
|
})
|
|
@@ -171,11 +171,12 @@ import { useFormat } from "./hooks/useFormat";
|
|
|
171
171
|
import { useTableParse } from "./hooks/useTableParse";
|
|
172
172
|
import { useBatchEditing } from "./hooks/useBatchEditing";
|
|
173
173
|
import { useNestTable } from "./hooks/useNestTable";
|
|
174
|
+
import { useEdit } from './hooks/useEdit';
|
|
174
175
|
import { SettingsSharp, SyncOutline, CopyOutline, CaretDown, CaretForward } from "@vicons/ionicons5";
|
|
175
176
|
import NoData from "./components/NoData.vue";
|
|
176
177
|
import TextOverTooltip from "./components/TextOverTooltip.vue";
|
|
177
|
-
|
|
178
|
-
import SvgIcon from "./components/SvgIcon.vue";
|
|
178
|
+
import SvgIcon from '@/component/svg/index.vue';
|
|
179
|
+
// import SvgIcon from "./components/SvgIcon.vue";
|
|
179
180
|
// import EditForm from './components/edit-form/EditForm.vue';
|
|
180
181
|
import EditSelectTable from './components/edit-form/edit-select-table.vue'
|
|
181
182
|
import EditInput from './components/edit-form/edit-input.vue'
|
|
@@ -200,8 +201,8 @@ import {
|
|
|
200
201
|
NEmpty
|
|
201
202
|
} from "naive-ui";
|
|
202
203
|
import { useMessage } from 'naive-ui'
|
|
203
|
-
import CGrid from '~/grid';
|
|
204
|
-
import vexutils from '@/utils/vexutils';
|
|
204
|
+
import CGrid from '~/grid/index.ts';
|
|
205
|
+
import vexutils from '@/utils/vexutils.js';
|
|
205
206
|
import {
|
|
206
207
|
getEvaluate,
|
|
207
208
|
getMapVal,
|
|
@@ -275,6 +276,7 @@ const {
|
|
|
275
276
|
recordClickBtnInfo,
|
|
276
277
|
getInlineOpreateRow
|
|
277
278
|
}: any = useBatchEditing(props, state, emit, xGrid);
|
|
279
|
+
const { initEditTable, activeMethod, deleteRow, onClickSelectTable } = useEdit(props, state, emit, xGrid)
|
|
278
280
|
|
|
279
281
|
const {
|
|
280
282
|
isAboutNestTable,
|
|
@@ -436,7 +438,6 @@ const loadData = async (data: any) => {
|
|
|
436
438
|
state.originFormatList = formatList;
|
|
437
439
|
|
|
438
440
|
setGroupTitleToFristColumnFieldData(formatList);
|
|
439
|
-
console.log("formatList--------------", formatList);
|
|
440
441
|
state.curAbleCheckedLen = list.filter((item: any) => checkMethod({ row: item })).length;
|
|
441
442
|
|
|
442
443
|
// 非子列表触发
|
|
@@ -458,8 +459,9 @@ const loadData = async (data: any) => {
|
|
|
458
459
|
// 暂时 不知道是否影响其它????
|
|
459
460
|
// 还是用loadData较好,树表展开需要在更新数据后保留上一次的状态
|
|
460
461
|
// table.clearSort(); // <-- table.loadData 不会清空sort选项,导致sortChange重复触发
|
|
461
|
-
console.log("table--------------", formatList);
|
|
462
462
|
await table.loadData(formatList);
|
|
463
|
+
initEditTable()
|
|
464
|
+
|
|
463
465
|
|
|
464
466
|
table.setCurrentRow({});
|
|
465
467
|
setCurrentPageRowChecked();
|
|
@@ -523,7 +525,8 @@ const formatColumns = (map: any) => {
|
|
|
523
525
|
if (isEdit) {
|
|
524
526
|
state.editConfig = Object.assign(state.editConfig, editConfig, {
|
|
525
527
|
mode: 'cell',
|
|
526
|
-
autoClear: true
|
|
528
|
+
autoClear: true,
|
|
529
|
+
activeMethod
|
|
527
530
|
})
|
|
528
531
|
}
|
|
529
532
|
if (selectType) {
|
|
@@ -574,7 +577,7 @@ const formatColumns = (map: any) => {
|
|
|
574
577
|
slots: {
|
|
575
578
|
header: () => {
|
|
576
579
|
return [
|
|
577
|
-
tableNoSetting.value ? null : <NIcon size="14" color="#
|
|
580
|
+
tableNoSetting.value ? null : <NIcon size="14" color="#777" component={SettingsSharp} onClick={() => showDrawer()} />
|
|
578
581
|
];
|
|
579
582
|
},
|
|
580
583
|
},
|
|
@@ -649,11 +652,22 @@ const formatColumns = (map: any) => {
|
|
|
649
652
|
// return formatter(params, item);
|
|
650
653
|
// },
|
|
651
654
|
// },
|
|
652
|
-
slots:
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
655
|
+
slots: {
|
|
656
|
+
edit: (params: any) => {
|
|
657
|
+
if (isEdit && item.isEdit && item.columnName !== 'operatorColumn') {
|
|
658
|
+
return formatterEdit(params, item)
|
|
659
|
+
} else {
|
|
660
|
+
return <span>{params.row[item.columnName]}</span>
|
|
661
|
+
}
|
|
656
662
|
},
|
|
663
|
+
default: (params: any) => {
|
|
664
|
+
if(!isEdit || item.columnName === 'operatorColumn' || !item.isEdit) {
|
|
665
|
+
return formatter(params, item)
|
|
666
|
+
} else {
|
|
667
|
+
return <span>{params.row[item.columnName]}</span>
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
},
|
|
657
671
|
editRender: isEdit ? {} : generateEditRender(item)
|
|
658
672
|
});
|
|
659
673
|
|
|
@@ -703,19 +717,35 @@ const formatterEdit = (params: any, col: any) => {
|
|
|
703
717
|
row,
|
|
704
718
|
col
|
|
705
719
|
}
|
|
706
|
-
return <EditSelectTable {...propsData} v-model={[row[col.columnName], 'value']} />
|
|
720
|
+
return <EditSelectTable {...propsData} v-model={[row[col.columnName], 'value']} onClickSelectTable={onClickSelectTable} />
|
|
707
721
|
}
|
|
708
722
|
if (formType === 'input') {
|
|
709
723
|
return <EditInput v-model={[row[col.columnName], 'value']} />
|
|
710
724
|
}
|
|
711
725
|
if (formType === 'select') {
|
|
712
726
|
const propsData = {
|
|
713
|
-
col
|
|
727
|
+
col,
|
|
728
|
+
row
|
|
714
729
|
}
|
|
715
|
-
return <EditSelect {...propsData} v-model={[row[col.columnName], 'value']} />
|
|
730
|
+
return <EditSelect {...propsData} v-model={[row[col.columnName], 'value']} onSetOptions={(options: any[]) => row[`${col.columnName}_options`] = options} />
|
|
716
731
|
}
|
|
717
732
|
}
|
|
718
|
-
|
|
733
|
+
const getEditBtn = (row: any, col: any) => {
|
|
734
|
+
return col.tileBtnList.map((btn: any) => {
|
|
735
|
+
if (btn.settingObj[0].trigger_type === 'DELETE') {
|
|
736
|
+
return <NPopconfirm
|
|
737
|
+
onPositiveClick={() => deleteRow(row)}
|
|
738
|
+
>
|
|
739
|
+
{{
|
|
740
|
+
trigger: () => <NButton color={btn.settingObj[0].color || '#999'} text>{btn.name}</NButton>,
|
|
741
|
+
default: () => '是否确认删除?'
|
|
742
|
+
}}
|
|
743
|
+
</NPopconfirm>
|
|
744
|
+
} else {
|
|
745
|
+
return null
|
|
746
|
+
}
|
|
747
|
+
})
|
|
748
|
+
}
|
|
719
749
|
// 表格渲染逻辑
|
|
720
750
|
const formatter = (params: any, col: any) => {
|
|
721
751
|
let { row, column, $rowIndex } = params;
|
|
@@ -797,8 +827,11 @@ const formatter = (params: any, col: any) => {
|
|
|
797
827
|
if (attrType === "QR_CODE") {
|
|
798
828
|
return getOrCode(row, own, attrType);
|
|
799
829
|
}
|
|
800
|
-
|
|
801
830
|
if (column.property === "operatorColumn") {
|
|
831
|
+
if (props.columnConfig.isEdit && !row.initRow) {
|
|
832
|
+
return getEditBtn(row, col)
|
|
833
|
+
}
|
|
834
|
+
|
|
802
835
|
if (state.showButtonTop != 0 || props.isBatchEditing) return;
|
|
803
836
|
const inlineBtnList = generateInlineBtnList(row, $rowIndex);
|
|
804
837
|
const tileBtnList = getTileBtnList(row, $rowIndex);
|
|
@@ -1455,27 +1488,14 @@ const setCheckedMehod = (setChecked: any, row: any) => {
|
|
|
1455
1488
|
}
|
|
1456
1489
|
updateAddCheckedRows(row);
|
|
1457
1490
|
}
|
|
1458
|
-
//
|
|
1459
|
-
const getFormType = (field: string) => {
|
|
1460
|
-
const obj = props.columnConfig.fieldList.find((v: any) => v.columnName === field)
|
|
1461
|
-
return obj ? obj.formType || '' : ''
|
|
1462
|
-
}
|
|
1463
1491
|
//行点击
|
|
1464
1492
|
const handlerClickRow = (data: any) => {
|
|
1465
|
-
console.log("data.", data);
|
|
1493
|
+
// console.log("data.", data);
|
|
1466
1494
|
if (isScanMultiTable.value || props.isInlineOperating) return false;
|
|
1467
1495
|
if (vexutils.has(data?.row, GROUP_TITLE_KEY)) return false;
|
|
1468
1496
|
if (state.isTriggerSelectionChange && state.isTree == 0) return false;
|
|
1469
1497
|
let table = xGrid.value;
|
|
1470
1498
|
|
|
1471
|
-
const formType = getFormType(data.column.field)
|
|
1472
|
-
console.log('formType---', formType)
|
|
1473
|
-
if (formType === 'selectTable') {
|
|
1474
|
-
// table.clearActived().then(() => {
|
|
1475
|
-
table.setActiveCell(data.row, data.column.field)
|
|
1476
|
-
// })
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
1499
|
// 嵌套表与主表click切换时需要清除上次的选中
|
|
1480
1500
|
isAboutNestTable.value && emit('resetNestLastClickTable', table);
|
|
1481
1501
|
|
|
@@ -2554,288 +2574,11 @@ const clearChecked = () => {
|
|
|
2554
2574
|
state.treeTableLength = 0;
|
|
2555
2575
|
}
|
|
2556
2576
|
defineExpose({
|
|
2557
|
-
|
|
2558
|
-
getCheckboxRecords,
|
|
2559
|
-
clearChecked,
|
|
2560
|
-
setCurrentRow,
|
|
2561
|
-
loadColumn,
|
|
2562
|
-
removeInsert,
|
|
2577
|
+
formatData,
|
|
2563
2578
|
xGrid
|
|
2564
2579
|
})
|
|
2565
2580
|
|
|
2566
2581
|
</script>
|
|
2567
|
-
<style lang="less"
|
|
2568
|
-
.big-table {
|
|
2569
|
-
position: relative;
|
|
2570
|
-
|
|
2571
|
-
&:deep(.img-wrap) {
|
|
2572
|
-
padding: 2px 0;
|
|
2573
|
-
line-height: 1;
|
|
2574
|
-
height: 100%;
|
|
2575
|
-
display: flex;
|
|
2576
|
-
align-items: center;
|
|
2577
|
-
|
|
2578
|
-
img {
|
|
2579
|
-
max-height: 100%;
|
|
2580
|
-
object-fit: contain;
|
|
2581
|
-
cursor: pointer;
|
|
2582
|
-
}
|
|
2583
|
-
&.img-circle {
|
|
2584
|
-
img {
|
|
2585
|
-
width: 28px;
|
|
2586
|
-
border-radius: 50%;
|
|
2587
|
-
object-fit: contain;
|
|
2588
|
-
}
|
|
2589
|
-
}
|
|
2590
|
-
}
|
|
2591
|
-
.bigTable-qr-span {
|
|
2592
|
-
position: relative;
|
|
2593
|
-
display: inline-block;
|
|
2594
|
-
height: 100%;
|
|
2595
|
-
.bigTable-qr-img {
|
|
2596
|
-
max-height: 96%;
|
|
2597
|
-
}
|
|
2598
|
-
> span {
|
|
2599
|
-
position: absolute;
|
|
2600
|
-
top: 0;
|
|
2601
|
-
left: 0;
|
|
2602
|
-
justify-content: center;
|
|
2603
|
-
align-items: center;
|
|
2604
|
-
width: 100%;
|
|
2605
|
-
height: 100%;
|
|
2606
|
-
background: rgba(0, 0, 0, 0.7);
|
|
2607
|
-
color: #fff;
|
|
2608
|
-
display: none;
|
|
2609
|
-
cursor: pointer;
|
|
2610
|
-
}
|
|
2611
|
-
&:hover {
|
|
2612
|
-
> span {
|
|
2613
|
-
display: inline-flex;
|
|
2614
|
-
}
|
|
2615
|
-
}
|
|
2616
|
-
}
|
|
2617
|
-
|
|
2618
|
-
/* 行内表单样式 */
|
|
2619
|
-
&:deep(.base-form) {
|
|
2620
|
-
overflow: hidden !important;
|
|
2621
|
-
display: flex;
|
|
2622
|
-
align-items: center;
|
|
2623
|
-
width: 100%;
|
|
2624
|
-
}
|
|
2625
|
-
&:deep(.base-form-content) {
|
|
2626
|
-
width: 100%;
|
|
2627
|
-
}
|
|
2628
|
-
&:deep(textarea) {
|
|
2629
|
-
height: 32px;
|
|
2630
|
-
margin-bottom: 0;
|
|
2631
|
-
resize: none;
|
|
2632
|
-
}
|
|
2633
|
-
&:deep(.formItem-select-multiple) {
|
|
2634
|
-
display: flex;
|
|
2635
|
-
align-items: center;
|
|
2636
|
-
width: 100%;
|
|
2637
|
-
line-height: 40px;
|
|
2638
|
-
}
|
|
2639
|
-
/* 行内表单样式 */
|
|
2640
|
-
|
|
2641
|
-
&.mt {
|
|
2642
|
-
margin-top: 26px;
|
|
2643
|
-
height: calc(100% - 78px) !important;
|
|
2644
|
-
}
|
|
2645
|
-
|
|
2646
|
-
&.expand-padding {
|
|
2647
|
-
&:deep(.vxe-table .vxe-body--expanded-cell) {
|
|
2648
|
-
padding-left: 66px !important;
|
|
2649
|
-
padding-right: 66px !important;
|
|
2650
|
-
}
|
|
2651
|
-
}
|
|
2652
|
-
|
|
2653
|
-
th.vxe-header--column {
|
|
2654
|
-
cursor: pointer;
|
|
2655
|
-
}
|
|
2656
|
-
.row-btn {
|
|
2657
|
-
margin-right: 10px;
|
|
2658
|
-
}
|
|
2659
|
-
&:deep(.vxe-table) {
|
|
2660
|
-
transform: translateZ(0);
|
|
2661
|
-
.vxe-table--empty-content {
|
|
2662
|
-
width: 100%;
|
|
2663
|
-
height: 100%;
|
|
2664
|
-
> div {
|
|
2665
|
-
width: 100%;
|
|
2666
|
-
height: 100%;
|
|
2667
|
-
.no-data-tip {
|
|
2668
|
-
display: inline-flex;
|
|
2669
|
-
}
|
|
2670
|
-
}
|
|
2671
|
-
}
|
|
2672
|
-
.col--checkbox,
|
|
2673
|
-
.col--seq {
|
|
2674
|
-
.vxe-cell {
|
|
2675
|
-
padding: 0;
|
|
2676
|
-
.vxe-checkbox--label {
|
|
2677
|
-
padding-left: 0;
|
|
2678
|
-
}
|
|
2679
|
-
}
|
|
2680
|
-
}
|
|
2681
|
-
.vxe-cell .vxe-tree-cell {
|
|
2682
|
-
height: 100%;
|
|
2683
|
-
}
|
|
2684
|
-
|
|
2685
|
-
.scan-multi-delete {
|
|
2686
|
-
color: #F06F64;
|
|
2687
|
-
}
|
|
2688
|
-
|
|
2689
|
-
.vxe-table--header {
|
|
2690
|
-
background-color: #f2f2f2;
|
|
2691
|
-
.vxe-header--column .vxe-cell--title {
|
|
2692
|
-
height: 100%;
|
|
2693
|
-
line-height: unset;
|
|
2694
|
-
width: 100%;
|
|
2695
|
-
}
|
|
2696
|
-
}
|
|
2697
|
-
.vxe-table--footer-wrapper.body--wrapper,
|
|
2698
|
-
.vxe-table--body-wrapper {
|
|
2699
|
-
&::-webkit-scrollbar {
|
|
2700
|
-
width: 10px;
|
|
2701
|
-
height: 10px;
|
|
2702
|
-
background-color: #f2f2f2;
|
|
2703
|
-
}
|
|
2704
|
-
&::-webkit-scrollbar-thumb:hover {
|
|
2705
|
-
background-color: #b2b2b2;
|
|
2706
|
-
}
|
|
2707
|
-
}
|
|
2708
|
-
.vxe-footer--row .vxe-footer--column {
|
|
2709
|
-
> .vxe-cell .vxe-cell--item {
|
|
2710
|
-
height: 30px;
|
|
2711
|
-
line-height: 30px;
|
|
2712
|
-
}
|
|
2713
|
-
}
|
|
2714
|
-
.vxe-cell--checkbox.is--disabled {
|
|
2715
|
-
.vxe-checkbox--icon {
|
|
2716
|
-
display: none;
|
|
2717
|
-
}
|
|
2718
|
-
}
|
|
2719
|
-
}
|
|
2720
|
-
&:deep(.filter-box) {
|
|
2721
|
-
display: flex;
|
|
2722
|
-
align-items: center;
|
|
2723
|
-
width: 100%;
|
|
2724
|
-
.text-over-tooltip-components {
|
|
2725
|
-
max-width: calc(100% - 20px);
|
|
2726
|
-
}
|
|
2727
|
-
.vxe-filter--btn {
|
|
2728
|
-
border-top-color: #c0c4cc;
|
|
2729
|
-
border-right-color: #c0c4cc;
|
|
2730
|
-
}
|
|
2731
|
-
.vxe-filter--btn.active {
|
|
2732
|
-
border-top-color: #35393c;
|
|
2733
|
-
border-right-color: #35393c;
|
|
2734
|
-
}
|
|
2735
|
-
.vxe-filter--btn.checked {
|
|
2736
|
-
border-top-color: #5585f5;
|
|
2737
|
-
border-right-color: #5585f5;
|
|
2738
|
-
}
|
|
2739
|
-
}
|
|
2740
|
-
&:deep(.disabled-checked-tips) {
|
|
2741
|
-
position: absolute;
|
|
2742
|
-
left: 6px;
|
|
2743
|
-
top: 50%;
|
|
2744
|
-
bottom: 0;
|
|
2745
|
-
right: 0;
|
|
2746
|
-
box-sizing: border-box;
|
|
2747
|
-
width: 16px;
|
|
2748
|
-
height: 16px;
|
|
2749
|
-
margin-top: -8px;
|
|
2750
|
-
overflow: hidden;
|
|
2751
|
-
border-radius: 50%;
|
|
2752
|
-
border: 2px solid #ff1818;
|
|
2753
|
-
background: #fff;
|
|
2754
|
-
&::after {
|
|
2755
|
-
position: absolute;
|
|
2756
|
-
content: '';
|
|
2757
|
-
width: 16px;
|
|
2758
|
-
height: 2px;
|
|
2759
|
-
background-color: #ff1818;
|
|
2760
|
-
transform: rotate(45deg);
|
|
2761
|
-
transform-origin: 0 2px;
|
|
2762
|
-
left: 0;
|
|
2763
|
-
top: 0;
|
|
2764
|
-
}
|
|
2765
|
-
}
|
|
2766
|
-
}
|
|
2767
|
-
|
|
2768
|
-
.refresh {
|
|
2769
|
-
display: flex;
|
|
2770
|
-
align-items: center;
|
|
2771
|
-
background-color: #fff;
|
|
2772
|
-
box-shadow: 0px 2px 4px 0px rgba(108, 108, 108, 0.13);
|
|
2773
|
-
color: #5585f5;
|
|
2774
|
-
font-size: 12px;
|
|
2775
|
-
height: 27px;
|
|
2776
|
-
|
|
2777
|
-
position: absolute;
|
|
2778
|
-
right: 0;
|
|
2779
|
-
top: 6px;
|
|
2780
|
-
z-index: 1;
|
|
2781
|
-
|
|
2782
|
-
padding-left: 14px;
|
|
2783
|
-
padding-right: 14px;
|
|
2784
|
-
border-top-left-radius: 14px;
|
|
2785
|
-
border-bottom-left-radius: 14px;
|
|
2786
|
-
|
|
2787
|
-
cursor: pointer;
|
|
2788
|
-
}
|
|
2789
|
-
.refresh-row {
|
|
2790
|
-
margin-left: 3px;
|
|
2791
|
-
margin-bottom: 0;
|
|
2792
|
-
}
|
|
2793
|
-
|
|
2794
|
-
.check-wrap {
|
|
2795
|
-
background: #ffffe9;
|
|
2796
|
-
display: block;
|
|
2797
|
-
width: 100%;
|
|
2798
|
-
line-height: 26px;
|
|
2799
|
-
display: flex;
|
|
2800
|
-
justify-content: center;
|
|
2801
|
-
|
|
2802
|
-
position: absolute;
|
|
2803
|
-
margin-top: -26px;
|
|
2804
|
-
|
|
2805
|
-
.check-wrap-title,
|
|
2806
|
-
.check-wrap-btn {
|
|
2807
|
-
color: #000000;
|
|
2808
|
-
font-size: 12px;
|
|
2809
|
-
margin-bottom: 0px;
|
|
2810
|
-
cursor: pointer;
|
|
2811
|
-
}
|
|
2812
|
-
|
|
2813
|
-
.check-wrap-btn {
|
|
2814
|
-
color: #5585f5;
|
|
2815
|
-
}
|
|
2816
|
-
}
|
|
2817
|
-
|
|
2818
|
-
.percent-wrap {
|
|
2819
|
-
display: flex;
|
|
2820
|
-
flex-direction: column;
|
|
2821
|
-
justify-content: center;
|
|
2822
|
-
align-items: center;
|
|
2823
|
-
text-align: center;
|
|
2824
|
-
.percent-value {
|
|
2825
|
-
line-height: 1;
|
|
2826
|
-
margin-bottom: -4px;
|
|
2827
|
-
margin-top: 4px;
|
|
2828
|
-
}
|
|
2829
|
-
}
|
|
2830
|
-
.domPropsInnerHTML-span {
|
|
2831
|
-
height: 100%;
|
|
2832
|
-
&:deep(img) {
|
|
2833
|
-
display: inline-block;
|
|
2834
|
-
height: var(--tableImageHeight);
|
|
2835
|
-
width: var(--tableImageWidth);
|
|
2836
|
-
}
|
|
2837
|
-
}
|
|
2838
|
-
</style>
|
|
2839
|
-
|
|
2582
|
+
<style lang="less" src="./assets/style/table-base.less"></style>
|
|
2840
2583
|
<style lang="less" src="./assets/style/table-global.less">
|
|
2841
2584
|
</style>
|