cnhis-design-vue 3.1.2 → 3.1.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/CHANGELOG.md +17 -0
- package/env.d.ts +8 -4
- package/es/packages/big-table/index.d.ts +2038 -0
- package/es/packages/big-table/index.mjs +1 -0
- package/es/packages/big-table/index2.mjs +10 -0
- package/es/packages/big-table/src/BigTable.mjs +2 -0
- package/es/packages/big-table/src/BigTable.vue.d.ts +2052 -0
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.mjs +2315 -0
- package/es/packages/big-table/src/BigTable2.mjs +4 -0
- package/es/packages/big-table/src/bigTableEmits.d.ts +2 -0
- package/es/packages/big-table/src/bigTableEmits.mjs +1 -0
- package/{packages/big-table/src/bigTableEmits.ts → es/packages/big-table/src/bigTableEmits2.mjs} +48 -48
- package/es/packages/big-table/src/bigTableProps.d.ts +194 -0
- package/es/packages/big-table/src/bigTableProps.mjs +1 -0
- package/{packages/big-table/src/bigTableProps.ts → es/packages/big-table/src/bigTableProps2.mjs} +116 -125
- package/es/packages/big-table/src/bigTableState.d.ts +55 -0
- package/es/packages/big-table/src/bigTableState.mjs +1 -0
- package/es/packages/big-table/src/bigTableState2.mjs +51 -0
- package/es/packages/big-table/src/components/NoData.mjs +2 -0
- package/es/packages/big-table/src/components/NoData.vue.d.ts +51 -0
- package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.mjs +72 -0
- package/es/packages/big-table/src/components/NoData2.mjs +4 -0
- package/es/packages/big-table/src/components/SvgIcon.mjs +2 -0
- package/es/packages/big-table/src/components/SvgIcon.vue.d.ts +43 -0
- package/es/packages/big-table/src/components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs +34 -0
- package/es/packages/big-table/src/components/SvgIcon2.mjs +4 -0
- package/es/packages/big-table/src/components/TextOverTooltip.mjs +2 -0
- package/es/packages/big-table/src/components/TextOverTooltip.vue.d.ts +560 -0
- package/es/packages/big-table/src/components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs +74 -0
- package/es/packages/big-table/src/components/TextOverTooltip2.mjs +4 -0
- package/es/packages/big-table/src/components/edit-form/edit-date.d.ts +34 -0
- package/es/packages/big-table/src/components/edit-form/edit-date.mjs +88 -0
- package/es/packages/big-table/src/components/edit-form/edit-input.d.ts +43 -0
- package/es/packages/big-table/src/components/edit-form/edit-input.mjs +51 -0
- package/es/packages/big-table/src/components/edit-form/edit-select-table.d.ts +35 -0
- package/es/packages/big-table/src/components/edit-form/edit-select.d.ts +35 -0
- package/es/packages/big-table/src/components/edit-form/edit-select.mjs +89 -0
- package/es/packages/big-table/src/hooks/useBatchEditing.d.ts +17 -0
- package/es/packages/big-table/src/hooks/useBatchEditing.mjs +1 -0
- package/es/packages/big-table/src/hooks/useBatchEditing2.mjs +284 -0
- package/es/packages/big-table/src/hooks/useEdit.d.ts +171 -0
- package/es/packages/big-table/src/hooks/useEdit.mjs +1 -0
- package/es/packages/big-table/src/hooks/useEdit2.mjs +108 -0
- package/es/packages/big-table/src/hooks/useFormat.d.ts +29 -0
- package/es/packages/big-table/src/hooks/useFormat.mjs +1 -0
- package/{packages/big-table/src/hooks/useFormat.ts → es/packages/big-table/src/hooks/useFormat2.mjs} +480 -612
- package/es/packages/big-table/src/hooks/useNestTable.d.ts +8 -0
- package/es/packages/big-table/src/hooks/useNestTable.mjs +1 -0
- package/{packages/big-table/src/hooks/useNestTable.ts → es/packages/big-table/src/hooks/useNestTable2.mjs} +84 -109
- package/es/packages/big-table/src/hooks/useTableParse.d.ts +6 -0
- package/es/packages/big-table/src/hooks/useTableParse.mjs +1 -0
- package/es/packages/big-table/src/hooks/useTableParse2.mjs +135 -0
- package/es/packages/big-table/src/utils.d.ts +54 -0
- package/es/packages/big-table/src/utils.mjs +1 -0
- package/{packages/big-table/src/utils.ts → es/packages/big-table/src/utils2.mjs} +597 -705
- package/es/packages/big-table/style/index.css +448 -0
- package/{packages/big-table/src/assets/style/table-base.less → es/packages/big-table/style/index.less} +292 -10
- package/es/packages/button-print/index.d.ts +7402 -0
- package/es/packages/button-print/index.mjs +1 -0
- package/es/packages/button-print/index2.mjs +10 -0
- package/es/packages/button-print/src/ButtonPrint.mjs +2 -0
- package/es/packages/button-print/src/ButtonPrint.vue.d.ts +7401 -0
- package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.mjs +462 -0
- package/es/packages/button-print/src/ButtonPrint2.mjs +4 -0
- package/es/packages/button-print/src/components/IdentityVerification.mjs +2 -0
- package/es/packages/button-print/src/components/IdentityVerification.vue.d.ts +4782 -0
- package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.mjs +126 -0
- package/es/packages/button-print/src/components/IdentityVerification2.mjs +4 -0
- package/es/packages/button-print/src/interfaces.d.ts +19 -0
- package/es/packages/button-print/src/interfaces.mjs +1 -0
- package/es/packages/button-print/src/utils/print.es.min.d.ts +2 -0
- package/es/packages/button-print/src/utils/print.es.min.mjs +1 -0
- package/es/packages/button-print/src/utils/print.es.min2.mjs +2080 -0
- package/es/packages/button-print/style/index.css +26 -0
- package/es/packages/button-print/style/index.less +32 -0
- package/es/packages/drag-layout/index.d.ts +20061 -0
- package/es/packages/drag-layout/index.mjs +1 -0
- package/es/packages/drag-layout/index2.mjs +10 -0
- package/es/packages/drag-layout/src/DragFormLeftItem.mjs +2 -0
- package/es/packages/drag-layout/src/DragFormLeftItem.vue.d.ts +7959 -0
- package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.mjs +122 -0
- package/es/packages/drag-layout/src/DragFormLeftItem2.mjs +4 -0
- package/es/packages/drag-layout/src/DragFormRightItem.mjs +2 -0
- package/es/packages/drag-layout/src/DragFormRightItem.vue.d.ts +3213 -0
- package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.mjs +267 -0
- package/es/packages/drag-layout/src/DragFormRightItem2.mjs +4 -0
- package/es/packages/drag-layout/src/DragLayout.mjs +2 -0
- package/es/packages/drag-layout/src/DragLayout.vue.d.ts +20069 -0
- package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.mjs +657 -0
- package/es/packages/drag-layout/src/DragLayout2.mjs +4 -0
- package/es/packages/drag-layout/style/index.css +175 -0
- package/es/packages/drag-layout/style/index.less +208 -0
- package/es/packages/field-set/index.d.ts +2647 -0
- package/es/packages/field-set/index.mjs +1 -0
- package/es/packages/field-set/index2.mjs +10 -0
- package/es/packages/field-set/src/FieldSet.mjs +2 -0
- package/es/packages/field-set/src/FieldSet.vue.d.ts +2599 -0
- package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.mjs +330 -0
- package/es/packages/field-set/src/FieldSet2.mjs +4 -0
- package/es/packages/field-set/style/index.css +162 -0
- package/es/packages/field-set/style/index.less +172 -0
- package/es/packages/grid/index.d.ts +5 -0
- package/es/packages/grid/index.mjs +1 -0
- package/es/packages/grid/index2.mjs +13 -0
- package/es/packages/grid/src/Grid.d.ts +2 -0
- package/es/packages/grid/src/Grid.mjs +28 -0
- package/es/packages/grid/src/hooks.d.ts +1 -0
- package/es/packages/grid/src/hooks.mjs +1 -0
- package/es/packages/grid/src/hooks2.mjs +165 -0
- package/es/packages/index.css +1004 -0
- package/es/packages/index.d.ts +35651 -0
- package/es/packages/index.less +1207 -0
- package/es/packages/index.mjs +7 -0
- package/es/packages/index2.mjs +37 -0
- package/es/packages/select-person/index.d.ts +3500 -0
- package/es/packages/select-person/index.mjs +1 -0
- package/es/packages/select-person/index2.mjs +10 -0
- package/es/packages/select-person/src/SearchTree.mjs +2 -0
- package/es/packages/select-person/src/SearchTree.vue.d.ts +344 -0
- package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.mjs +231 -0
- package/es/packages/select-person/src/SearchTree2.mjs +4 -0
- package/es/packages/select-person/src/SelectPerson.mjs +2 -0
- package/es/packages/select-person/src/SelectPerson.vue.d.ts +3501 -0
- package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.mjs +892 -0
- package/es/packages/select-person/src/SelectPerson2.mjs +4 -0
- package/es/packages/select-person/src/utils/index.d.ts +12 -0
- package/es/packages/select-person/src/utils/index.mjs +1 -0
- package/{packages/select-person/src/utils/index.js → es/packages/select-person/src/utils/index2.mjs} +57 -66
- package/es/packages/select-person/style/index.css +193 -0
- package/es/packages/select-person/style/index.less +231 -0
- package/{packages/big-table → es}/src/assets/iconfont/iconfont.ttf +0 -0
- package/{packages/big-table → es}/src/assets/img/failure.png +0 -0
- package/{packages/big-table → es}/src/assets/img/icon-asc.png +0 -0
- package/{packages/big-table → es}/src/assets/img/icon-desc.png +0 -0
- package/{packages/big-table → es}/src/assets/img/no-permission.png +0 -0
- package/{packages/big-table → es}/src/assets/img/nodata.png +0 -0
- package/{packages/big-table → es}/src/assets/img/notfound.png +0 -0
- package/{packages/big-table → es}/src/assets/img/qr.png +0 -0
- package/{packages/big-table → es}/src/assets/img/video_default_cover.png +0 -0
- package/{packages/big-table → es}/src/assets/img/xb_big.png +0 -0
- package/{packages/big-table → es}/src/assets/img/xb_small.png +0 -0
- package/es/src/core/create.d.ts +1 -0
- package/es/src/core/create.mjs +1 -0
- package/es/src/core/create2.mjs +8 -0
- package/es/src/global/variable.d.ts +2 -0
- package/es/src/global/variable.mjs +1 -0
- package/es/src/global/variable2.mjs +4 -0
- package/es/src/types/index.d.ts +4 -0
- package/es/src/types/index.mjs +1 -0
- package/es/src/utils/clickoutside.d.ts +18 -0
- package/es/src/utils/clickoutside.mjs +1 -0
- package/es/src/utils/clickoutside2.mjs +48 -0
- package/es/src/utils/crypto.d.ts +7 -0
- package/es/src/utils/crypto.mjs +1 -0
- package/{src/utils/crypto.js → es/src/utils/crypto2.mjs} +25 -25
- package/es/src/utils/vexutils.d.ts +5 -0
- package/es/src/utils/vexutils.mjs +3 -0
- package/es/src/utils/vexutils2.mjs +729 -0
- package/global.d.ts +8 -0
- package/package.json +54 -21
- package/yarn-error.log +122 -0
- package/es/big-table/index.css +0 -587
- package/es/big-table/index.js +0 -41709
- package/es/button-print/index.css +0 -617
- package/es/button-print/index.js +0 -8356
- package/es/drag-layout/index.css +0 -850
- package/es/drag-layout/index.js +0 -13104
- package/es/field-set/index.css +0 -1048
- package/es/field-set/index.js +0 -351
- package/es/grid/index.css +0 -1049
- package/es/grid/index.js +0 -30819
- package/es/index.css +0 -1323
- package/es/index.js +0 -46937
- package/es/select-person/index.css +0 -1323
- package/es/select-person/index.js +0 -13191
- package/packages/big-table/index.ts +0 -17
- package/packages/big-table/src/BigTable.vue +0 -2599
- package/packages/big-table/src/assets/iconfont/iconfont.less +0 -22
- package/packages/big-table/src/assets/style/table-global.less +0 -171
- package/packages/big-table/src/bigTableState.ts +0 -63
- package/packages/big-table/src/components/NoData.vue +0 -90
- package/packages/big-table/src/components/TextOverTooltip.vue +0 -110
- package/packages/big-table/src/components/edit-form/edit-date.vue +0 -75
- package/packages/big-table/src/components/edit-form/edit-input.vue +0 -39
- package/packages/big-table/src/components/edit-form/edit-select-table.vue +0 -133
- package/packages/big-table/src/components/edit-form/edit-select.vue +0 -95
- package/packages/big-table/src/hooks/useBatchEditing.ts +0 -574
- package/packages/big-table/src/hooks/useEdit.ts +0 -130
- package/packages/big-table/src/hooks/useTableParse.ts +0 -169
- package/packages/button-print/index.ts +0 -15
- package/packages/button-print/src/ButtonPrint.vue +0 -481
- package/packages/button-print/src/components/IdentityVerification.vue +0 -121
- package/packages/button-print/src/interfaces.ts +0 -19
- package/packages/button-print/src/utils/print.es.min.js +0 -1
- package/packages/drag-layout/index.ts +0 -15
- package/packages/drag-layout/src/DragFormLeftItem.vue +0 -131
- package/packages/drag-layout/src/DragFormRightItem.vue +0 -277
- package/packages/drag-layout/src/DragLayout.vue +0 -712
- package/packages/field-set/index.ts +0 -15
- package/packages/field-set/src/FieldSet.vue +0 -471
- package/packages/grid/index.ts +0 -20
- package/packages/grid/src/Grid.tsx +0 -18
- package/packages/grid/src/hooks.ts +0 -167
- package/packages/index.ts +0 -41
- package/packages/select-person/index.ts +0 -11
- package/packages/select-person/src/SelectPerson.vue +0 -1104
- package/packages/select-person/src/search-tree.vue +0 -326
- package/src/component/svg/index.vue +0 -49
- package/src/core/create.js +0 -5
- package/src/global/variable.ts +0 -2
- package/src/utils/clickoutside.ts +0 -80
- package/src/utils/vexutils.js +0 -811
- package/tsconfig.node.json +0 -8
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
@font-face {
|
|
3
|
-
font-family: "iconfont";
|
|
4
|
-
src: url('iconfont.ttf?t=1631151904509') format('truetype');
|
|
5
|
-
}*/
|
|
6
|
-
|
|
7
|
-
.iconfont {
|
|
8
|
-
font-family: "iconfont" !important;
|
|
9
|
-
font-size: 16px;
|
|
10
|
-
font-style: normal;
|
|
11
|
-
-webkit-font-smoothing: antialiased;
|
|
12
|
-
-moz-osx-font-smoothing: grayscale;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.icon-a-xitongtubiaotianjia:before {
|
|
16
|
-
content: "\e9c3";
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.icon-a-xitongtubiaozhediejian:before {
|
|
20
|
-
content: "\e9c4";
|
|
21
|
-
}
|
|
22
|
-
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
@import '../iconfont/iconfont.less';
|
|
2
|
-
|
|
3
|
-
.big-table-filter-wrap {
|
|
4
|
-
position: fixed;
|
|
5
|
-
z-index: 99998;
|
|
6
|
-
transform: translateX(-2%);
|
|
7
|
-
margin-top: -6px;
|
|
8
|
-
|
|
9
|
-
min-width: 280px;
|
|
10
|
-
border-radius: 4px;
|
|
11
|
-
background-color: #fff;
|
|
12
|
-
-webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
13
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
14
|
-
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-wrap: wrap;
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
overflow: hidden;
|
|
19
|
-
transition: width 2s;
|
|
20
|
-
|
|
21
|
-
.sort-list {
|
|
22
|
-
margin-top: 6px;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.sort-item {
|
|
26
|
-
line-height: 32px;
|
|
27
|
-
padding: 0 13px;
|
|
28
|
-
display: flex;
|
|
29
|
-
align-items: center;
|
|
30
|
-
|
|
31
|
-
&:hover,
|
|
32
|
-
&.active {
|
|
33
|
-
background: #f2f2f2;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.sort-icon {
|
|
38
|
-
width: 16px;
|
|
39
|
-
height: 16px;
|
|
40
|
-
background-size: contain;
|
|
41
|
-
display: inline-block;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/*
|
|
45
|
-
.sort-icon-asc {
|
|
46
|
-
background-image: url('../img/icon-asc.png');
|
|
47
|
-
}
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
.sort-text {
|
|
51
|
-
margin-left: 11px;
|
|
52
|
-
font-size: 14px;
|
|
53
|
-
line-height: 32px;
|
|
54
|
-
color: rgba(0, 0, 0, 0.8);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/*
|
|
58
|
-
.sort-icon-desc {
|
|
59
|
-
background-image: url('../img/icon-desc.png');
|
|
60
|
-
}
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
.filter-header {
|
|
64
|
-
padding: 0 13px;
|
|
65
|
-
cursor: initial;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.filter-header-icon {
|
|
69
|
-
border-top-color: #333;
|
|
70
|
-
border-right-color: #333;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.filter-header-text {
|
|
74
|
-
margin-left: 11px;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.check-search-wrap {
|
|
78
|
-
padding: 8px 0;
|
|
79
|
-
width: 100%;
|
|
80
|
-
background: #f7f7f7;
|
|
81
|
-
display: flex;
|
|
82
|
-
justify-content: center;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.check-seach-input {
|
|
86
|
-
line-height: 32px;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.checkbox-box {
|
|
90
|
-
padding-right: 3px;
|
|
91
|
-
width: 100%;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.checkbox-wrap {
|
|
95
|
-
padding-left: 13px;
|
|
96
|
-
padding-right: 3px;
|
|
97
|
-
background: #fff;
|
|
98
|
-
display: flex;
|
|
99
|
-
flex-direction: column;
|
|
100
|
-
overflow-y: auto;
|
|
101
|
-
|
|
102
|
-
&::-webkit-scrollbar {
|
|
103
|
-
width: 4px;
|
|
104
|
-
height: 4px;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
&::-webkit-scrollbar-thumb {
|
|
108
|
-
background-color: #d5d5d5;
|
|
109
|
-
border-radius: 4px;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
&::-webkit-scrollbar-track {
|
|
113
|
-
background-color: #fff;
|
|
114
|
-
border-radius: 4px;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&::-webkit-scrollbar-corner {
|
|
118
|
-
background-color: #000;
|
|
119
|
-
border-radius: 4px;
|
|
120
|
-
width: 4px;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.checkbox-wrap--search {
|
|
125
|
-
padding-right: 10px;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.checkbox-btn-wrap {
|
|
129
|
-
display: flex;
|
|
130
|
-
padding: 9px 10px 19px 14px;
|
|
131
|
-
|
|
132
|
-
.checkbox-btn {
|
|
133
|
-
width: 56px;
|
|
134
|
-
padding: 0;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.checkbox-btn+.checkbox-btn {
|
|
138
|
-
margin-left: 8px;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.checkbox-btn-status {
|
|
142
|
-
.checkbox-btn {
|
|
143
|
-
border: 0;
|
|
144
|
-
border-radius: 0;
|
|
145
|
-
width: initial;
|
|
146
|
-
margin: 0 13px;
|
|
147
|
-
position: relative;
|
|
148
|
-
|
|
149
|
-
&:hover::after {
|
|
150
|
-
display: block;
|
|
151
|
-
content: '';
|
|
152
|
-
position: absolute;
|
|
153
|
-
bottom: 5px;
|
|
154
|
-
width: 100%;
|
|
155
|
-
height: 1px;
|
|
156
|
-
background-color: #5585f5;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.arrows-icon {
|
|
163
|
-
position: absolute;
|
|
164
|
-
bottom: -1px;
|
|
165
|
-
right: -1px;
|
|
166
|
-
font-size: 15px;
|
|
167
|
-
cursor: nw-resize;
|
|
168
|
-
width: 25px;
|
|
169
|
-
height: 20px;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
const bigTableState = {
|
|
2
|
-
curAbleCheckedLen: 0, // 当前页能够多选的选项个数
|
|
3
|
-
showButtonTop: 0,
|
|
4
|
-
// hasOnlyIcon: false,
|
|
5
|
-
isTree: 0, // 0非数表 1全加载数表 2懒加载数表 3分组表
|
|
6
|
-
isShowEmpty: false,
|
|
7
|
-
/* 全选相关 */
|
|
8
|
-
currentPageSelectedLength: 0,
|
|
9
|
-
visibleCheckAllWrap: false,
|
|
10
|
-
visibleCheckAllWrapMore: false,
|
|
11
|
-
// 已勾选的表格row数据
|
|
12
|
-
checkedRows: [],
|
|
13
|
-
// 存储所有当前可筛选的表头
|
|
14
|
-
filterFields: {},
|
|
15
|
-
/* 树状已选 */
|
|
16
|
-
visibleTreeCheck: false,
|
|
17
|
-
treeTableLength: 0,
|
|
18
|
-
checkWidth: {
|
|
19
|
-
"table-simple": "30",
|
|
20
|
-
"table-classics": "24",
|
|
21
|
-
},
|
|
22
|
-
lastPageIndex: 1,
|
|
23
|
-
selectType: "",
|
|
24
|
-
levelLazyLoadSetting: null, // 数表懒加载配置
|
|
25
|
-
openOnly: 0, // 手风琴模式
|
|
26
|
-
filterWidth: 280, // 筛选框宽度
|
|
27
|
-
filterHeight: 120, // 筛选框高度
|
|
28
|
-
startX: 0, // 起始距离
|
|
29
|
-
distance: 0, // 移动距离
|
|
30
|
-
mask: "", // 拖拽遮罩层
|
|
31
|
-
groupText: [], // 分组统计 text
|
|
32
|
-
|
|
33
|
-
/* 行内编辑相关 */
|
|
34
|
-
currentClickBtnInfo: null,
|
|
35
|
-
/* */
|
|
36
|
-
|
|
37
|
-
columnLen: 0, // column 长度
|
|
38
|
-
hasRefresh: false, // 当前列表是否有新的更新
|
|
39
|
-
isExpand: 0, // isTree == 1 是否全部展开
|
|
40
|
-
btnIcons: {
|
|
41
|
-
// 按钮icon 映射
|
|
42
|
-
copy: "copy",
|
|
43
|
-
pencil: "edit",
|
|
44
|
-
delete: "delete",
|
|
45
|
-
add: "plus-circle",
|
|
46
|
-
download: "download",
|
|
47
|
-
label: "tag",
|
|
48
|
-
queding: "check",
|
|
49
|
-
del: "close",
|
|
50
|
-
},
|
|
51
|
-
tableHeight: "100%",
|
|
52
|
-
//来自batchEditting
|
|
53
|
-
cacheUniqueKey: {},
|
|
54
|
-
theUniqueKeyListObj: {},
|
|
55
|
-
// batchFieldList: [],
|
|
56
|
-
editColumnMap: {},
|
|
57
|
-
fieldLength: 0,
|
|
58
|
-
originFormatList: [],
|
|
59
|
-
isSaveForm: false,
|
|
60
|
-
editConfig: { trigger: 'manual', mode: 'cell', autoClear: false, showIcon: false }
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export default bigTableState;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="no-data-tip NoData-page">
|
|
3
|
-
<img v-if="showImg" :src="imgStr" alt="" />
|
|
4
|
-
<p>{{ noDataTip }}</p>
|
|
5
|
-
<span v-if="handleDesc">{{ handleDesc }}</span>
|
|
6
|
-
</div>
|
|
7
|
-
</template>
|
|
8
|
-
<script lang="ts" setup>
|
|
9
|
-
import { computed } from "vue";
|
|
10
|
-
|
|
11
|
-
import noData from "../assets/img/nodata.png";
|
|
12
|
-
import noPermission from "../assets/img/no-permission.png";
|
|
13
|
-
import failure from "../assets/img/failure.png";
|
|
14
|
-
import notfound from "../assets/img/notfound.png";
|
|
15
|
-
|
|
16
|
-
const imgStr = computed(() => {
|
|
17
|
-
let str = null;
|
|
18
|
-
switch (props.noDataImg) {
|
|
19
|
-
case "no-permission":
|
|
20
|
-
str = noPermission;
|
|
21
|
-
break;
|
|
22
|
-
case "failure":
|
|
23
|
-
str = failure;
|
|
24
|
-
break;
|
|
25
|
-
case "nodata":
|
|
26
|
-
str = noData;
|
|
27
|
-
break;
|
|
28
|
-
default:
|
|
29
|
-
str = notfound;
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
return str;
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
const props = defineProps({
|
|
36
|
-
noDataTip: {
|
|
37
|
-
type: String,
|
|
38
|
-
default: "暂无数据",
|
|
39
|
-
},
|
|
40
|
-
noDataImg: {
|
|
41
|
-
type: String,
|
|
42
|
-
default: "nodata",
|
|
43
|
-
},
|
|
44
|
-
showImg: {
|
|
45
|
-
type: Boolean,
|
|
46
|
-
default: true,
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
const handleDesc = computed(() => {
|
|
50
|
-
let res = "";
|
|
51
|
-
switch (props.noDataImg) {
|
|
52
|
-
case "no-permission":
|
|
53
|
-
res = "请联系管理员";
|
|
54
|
-
break;
|
|
55
|
-
case "failure":
|
|
56
|
-
res = "请稍后再试";
|
|
57
|
-
break;
|
|
58
|
-
default:
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
return res;
|
|
62
|
-
});
|
|
63
|
-
</script>
|
|
64
|
-
<style lang="less" scoped>
|
|
65
|
-
.no-data-tip {
|
|
66
|
-
display: flex;
|
|
67
|
-
flex-direction: column;
|
|
68
|
-
justify-content: center;
|
|
69
|
-
align-items: center;
|
|
70
|
-
width: 100%;
|
|
71
|
-
height: 100%;
|
|
72
|
-
color: #333333;
|
|
73
|
-
font-size: 22px;
|
|
74
|
-
> img {
|
|
75
|
-
max-width: 70%;
|
|
76
|
-
width: 260px;
|
|
77
|
-
}
|
|
78
|
-
> p {
|
|
79
|
-
margin-top: 12px;
|
|
80
|
-
margin-bottom: 0;
|
|
81
|
-
font-size: 16px;
|
|
82
|
-
color: rgba(0, 0, 0, 0.8);
|
|
83
|
-
}
|
|
84
|
-
> span {
|
|
85
|
-
font-size: 14px;
|
|
86
|
-
color: rgba(0, 0, 0, 0.4);
|
|
87
|
-
margin-top: 6px;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
</style>
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
export default {
|
|
3
|
-
name: "TextOverTooltip"
|
|
4
|
-
}
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<script setup lang="ts">
|
|
8
|
-
import { ref, computed } from 'vue'
|
|
9
|
-
import { NTooltip } from 'naive-ui'
|
|
10
|
-
import vexutils from '@/utils/vexutils.js';
|
|
11
|
-
|
|
12
|
-
const props = withDefaults(defineProps<{
|
|
13
|
-
content?: string | number
|
|
14
|
-
className?: string
|
|
15
|
-
refName?: string
|
|
16
|
-
effect?: string
|
|
17
|
-
placement?: 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end'
|
|
18
|
-
tooltipTitle?: string | number
|
|
19
|
-
isAlias?: boolean
|
|
20
|
-
}>(), {
|
|
21
|
-
effect: 'dark',
|
|
22
|
-
placement: 'top',
|
|
23
|
-
tooltipTitle: ''
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
let isDisabledTooltip = ref(false) // 是否需要禁止提示
|
|
27
|
-
|
|
28
|
-
const curContent = computed(() => {
|
|
29
|
-
let res = props.tooltipTitle || props.content || "";
|
|
30
|
-
if (vexutils.isNumber(res)) {
|
|
31
|
-
return res.toString();
|
|
32
|
-
}
|
|
33
|
-
return res;
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
const $refName: any = ref(null)
|
|
37
|
-
// 移入事件: 判断内容的宽度contentWidth是否大于父级的宽度
|
|
38
|
-
const onMouseOver = (str: any) => {
|
|
39
|
-
if (props.isAlias) {
|
|
40
|
-
isDisabledTooltip.value = true;
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
let parentWidth = $refName.value.parentNode.offsetWidth;
|
|
44
|
-
let contentWidth = $refName.value.offsetWidth;
|
|
45
|
-
// 判断是否禁用tooltip功能
|
|
46
|
-
isDisabledTooltip.value = contentWidth > parentWidth;
|
|
47
|
-
}
|
|
48
|
-
const onMouseOut = () => {
|
|
49
|
-
isDisabledTooltip.value = false;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
</script>
|
|
53
|
-
|
|
54
|
-
<template>
|
|
55
|
-
<div class="text-over-tooltip-components">
|
|
56
|
-
<NTooltip
|
|
57
|
-
:effect="effect"
|
|
58
|
-
:show="isDisabledTooltip"
|
|
59
|
-
:placement="placement"
|
|
60
|
-
>
|
|
61
|
-
<template #trigger>
|
|
62
|
-
<div
|
|
63
|
-
class="ellipsis"
|
|
64
|
-
:class="className"
|
|
65
|
-
@mouseover="onMouseOver(refName)"
|
|
66
|
-
@mouseout="onMouseOut"
|
|
67
|
-
>
|
|
68
|
-
<i :ref="el => { if (el) $refName = el }">
|
|
69
|
-
<slot></slot>
|
|
70
|
-
<i>{{ content }}</i>
|
|
71
|
-
</i>
|
|
72
|
-
</div>
|
|
73
|
-
</template>
|
|
74
|
-
{{curContent}}
|
|
75
|
-
</NTooltip>
|
|
76
|
-
</div>
|
|
77
|
-
</template>
|
|
78
|
-
|
|
79
|
-
<style lang="less" scoped>
|
|
80
|
-
.text-over-tooltip-components {
|
|
81
|
-
display: inline-block;
|
|
82
|
-
max-width: 98%;
|
|
83
|
-
/* 文字超出宽度显示省略号 单行 */
|
|
84
|
-
.ellipsis {
|
|
85
|
-
font-size: 14px;
|
|
86
|
-
color: #35393c;
|
|
87
|
-
overflow: hidden;
|
|
88
|
-
text-overflow: ellipsis;
|
|
89
|
-
white-space: nowrap;
|
|
90
|
-
i {
|
|
91
|
-
font-style: normal;
|
|
92
|
-
word-break: keep-all;
|
|
93
|
-
white-space: nowrap;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/* 自定义样式 */
|
|
97
|
-
.fs20 {
|
|
98
|
-
font-size: 20px;
|
|
99
|
-
font-weight: 600;
|
|
100
|
-
color: green;
|
|
101
|
-
line-height: 22px;
|
|
102
|
-
}
|
|
103
|
-
.fs12 {
|
|
104
|
-
font-size: 12px;
|
|
105
|
-
font-weight: 400;
|
|
106
|
-
color: orange;
|
|
107
|
-
line-height: 14px;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
</style>
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<script lang="tsx">
|
|
2
|
-
import { defineComponent, ref, reactive, resolveComponent } from 'vue'
|
|
3
|
-
import { NDatePicker } from 'naive-ui'
|
|
4
|
-
|
|
5
|
-
export default defineComponent({
|
|
6
|
-
name: 'EditDate',
|
|
7
|
-
inheritAttrs: false,
|
|
8
|
-
components: {
|
|
9
|
-
NDatePicker
|
|
10
|
-
},
|
|
11
|
-
props: {
|
|
12
|
-
col: {
|
|
13
|
-
type: Object,
|
|
14
|
-
default: () => ({})
|
|
15
|
-
},
|
|
16
|
-
row: {
|
|
17
|
-
type: Object,
|
|
18
|
-
default: () => ({})
|
|
19
|
-
},
|
|
20
|
-
index: {
|
|
21
|
-
type: [Number, Object],
|
|
22
|
-
default: 0
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
emits: ['formChange'],
|
|
26
|
-
setup (props, { attrs, slots, emit }) {
|
|
27
|
-
const onConfirm = (value: any) => {
|
|
28
|
-
emit('formChange', { value, row: props.row, column: props.col, index: props.index })
|
|
29
|
-
}
|
|
30
|
-
const { isStartDate = false, isEndDate = false, connectField } = props.col
|
|
31
|
-
const setDateDisabled = (cur: number, date: number) => {
|
|
32
|
-
if (isStartDate && connectField) {
|
|
33
|
-
return cur > date
|
|
34
|
-
}
|
|
35
|
-
if(isEndDate && connectField) {
|
|
36
|
-
return cur < date
|
|
37
|
-
}
|
|
38
|
-
return false
|
|
39
|
-
}
|
|
40
|
-
const isDateDisabled = (ts: number) => {
|
|
41
|
-
return setDateDisabled(ts, new Date(props.row[connectField]).getTime())
|
|
42
|
-
}
|
|
43
|
-
const isTimeDisabled = (ts: number) => {
|
|
44
|
-
const date = new Date(props.row[connectField] || ts)
|
|
45
|
-
const h = date.getHours()
|
|
46
|
-
const m = date.getMinutes()
|
|
47
|
-
const s = date.getSeconds()
|
|
48
|
-
return {
|
|
49
|
-
isHourDisabled: (hour: number) => {
|
|
50
|
-
return setDateDisabled(hour, h)
|
|
51
|
-
},
|
|
52
|
-
isMinuteDisabled: (minute: number) => {
|
|
53
|
-
return setDateDisabled(minute, m)
|
|
54
|
-
},
|
|
55
|
-
isSecondDisabled: (second: number) => {
|
|
56
|
-
return setDateDisabled(second, s)
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const config: any = {
|
|
61
|
-
type: props.col.type || 'datetime',
|
|
62
|
-
clearable: props.col.clearable || true,
|
|
63
|
-
disabled: props.col.disabled || false,
|
|
64
|
-
valueFormat: props.col.valueFormat || 'yyyy-MM-dd HH:mm:ss',
|
|
65
|
-
// to: false,
|
|
66
|
-
isDateDisabled: props.col.isDateDisabled || isDateDisabled
|
|
67
|
-
}
|
|
68
|
-
if (config.type.includes('time')) {
|
|
69
|
-
config.isTimeDisabled = props.col.isTimeDisabled || isTimeDisabled
|
|
70
|
-
}
|
|
71
|
-
return () => <NDatePicker {...attrs} {...config} onUpdateFormattedValue={onConfirm} />
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
</script>
|
|
75
|
-
<style lang="less" scoped></style>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="tsx">
|
|
2
|
-
import { defineComponent, ref, reactive, resolveComponent } from 'vue'
|
|
3
|
-
import { NInput, NInputNumber } from 'naive-ui'
|
|
4
|
-
|
|
5
|
-
export default defineComponent({
|
|
6
|
-
name: 'EditInput',
|
|
7
|
-
inheritAttrs: false,
|
|
8
|
-
components: {
|
|
9
|
-
NInput,
|
|
10
|
-
NInputNumber
|
|
11
|
-
},
|
|
12
|
-
props: {
|
|
13
|
-
type: {
|
|
14
|
-
type: String,
|
|
15
|
-
default: 'input'
|
|
16
|
-
},
|
|
17
|
-
col: {
|
|
18
|
-
type: Object,
|
|
19
|
-
default: () => ({})
|
|
20
|
-
},
|
|
21
|
-
row: {
|
|
22
|
-
type: Object,
|
|
23
|
-
default: () => ({})
|
|
24
|
-
},
|
|
25
|
-
index: {
|
|
26
|
-
type: [Number, Object],
|
|
27
|
-
default: 0
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
emits: ['formChange'],
|
|
31
|
-
setup (props, { attrs, slots, emit }) {
|
|
32
|
-
const onUpdateValue = (value: number | string | null) => {
|
|
33
|
-
emit('formChange', { value, row: props.row, column: props.col, index: props.index })
|
|
34
|
-
}
|
|
35
|
-
return () => props.type === 'input' ? <NInput {...attrs} onUpdateValue={onUpdateValue } /> : <NInputNumber {...attrs} onUpdateValue={onUpdateValue} />
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
</script>
|
|
39
|
-
<style lang="less" scoped></style>
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
<script lang="tsx">
|
|
2
|
-
import { defineComponent, ref, reactive } from 'vue'
|
|
3
|
-
import { NSelect, NPagination, NEmpty, NSpin, NSpace } from 'naive-ui'
|
|
4
|
-
import CGrid from '~/grid'
|
|
5
|
-
import vexutils from '@/utils/vexutils.js'
|
|
6
|
-
|
|
7
|
-
export default defineComponent({
|
|
8
|
-
name: 'EditSelectTable',
|
|
9
|
-
inheritAttrs: false,
|
|
10
|
-
components: {
|
|
11
|
-
NSelect,
|
|
12
|
-
CGrid,
|
|
13
|
-
NPagination,
|
|
14
|
-
NEmpty,
|
|
15
|
-
NSpin,
|
|
16
|
-
NSpace
|
|
17
|
-
},
|
|
18
|
-
props: {
|
|
19
|
-
row: {
|
|
20
|
-
type: Object,
|
|
21
|
-
default: {}
|
|
22
|
-
},
|
|
23
|
-
col: {
|
|
24
|
-
type: Object,
|
|
25
|
-
default: {}
|
|
26
|
-
},
|
|
27
|
-
value: {
|
|
28
|
-
type: String,
|
|
29
|
-
default: ''
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
emits: ['update:value', 'clickSelectTable'],
|
|
33
|
-
setup (props, { attrs, slots, emit }) {
|
|
34
|
-
const state = reactive({
|
|
35
|
-
value: props.value,
|
|
36
|
-
row: JSON.parse(JSON.stringify(props.row)),
|
|
37
|
-
page: 1,
|
|
38
|
-
pageCount: 0,
|
|
39
|
-
keyword: '',
|
|
40
|
-
data: [],
|
|
41
|
-
columns: JSON.parse(JSON.stringify(props.col.tableColumn)),
|
|
42
|
-
loading: false,
|
|
43
|
-
show: true
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
const selectTableFocus = () => {
|
|
47
|
-
state.show = true
|
|
48
|
-
state.page = 1
|
|
49
|
-
state.keyword = ''
|
|
50
|
-
state.pageCount = 0
|
|
51
|
-
querySelectTableList()
|
|
52
|
-
}
|
|
53
|
-
const querySelectTableList = async () => {
|
|
54
|
-
state.loading = true
|
|
55
|
-
const obj = {
|
|
56
|
-
page: state.page,
|
|
57
|
-
keyword: state.keyword
|
|
58
|
-
}
|
|
59
|
-
const { data, pageCount } = await props.col.querySelectTableList(obj)
|
|
60
|
-
state.data = data
|
|
61
|
-
state.pageCount = pageCount
|
|
62
|
-
state.loading = false
|
|
63
|
-
}
|
|
64
|
-
let selectTableSearch = (value: string) => {
|
|
65
|
-
state.keyword = value
|
|
66
|
-
querySelectTableList()
|
|
67
|
-
}
|
|
68
|
-
selectTableSearch = vexutils.debounce(selectTableSearch, 800)
|
|
69
|
-
// 初始化搜索
|
|
70
|
-
selectTableSearch('')
|
|
71
|
-
const getSelectTableGrid = () => {
|
|
72
|
-
const config = {
|
|
73
|
-
border: 'outer',
|
|
74
|
-
resizable: true,
|
|
75
|
-
autoResize: true,
|
|
76
|
-
showOverflow: true,
|
|
77
|
-
showHeaderOverflow: true,
|
|
78
|
-
highlightHoverRow: true,
|
|
79
|
-
highlightCurrentRow: true,
|
|
80
|
-
maxHeight: (props.col.tableHeight || 200),
|
|
81
|
-
align: 'center',
|
|
82
|
-
columns: state.columns,
|
|
83
|
-
data: state.data
|
|
84
|
-
}
|
|
85
|
-
return <CGrid {...config} onCellClick={(data: any) => onCellClick(data)}>{{
|
|
86
|
-
empty: () => <NEmpty description="无数据" />
|
|
87
|
-
}}</CGrid>
|
|
88
|
-
}
|
|
89
|
-
const onCellClick = (data: any) => {
|
|
90
|
-
const { row } = data
|
|
91
|
-
// emit('update:value', data.row?.[props.col.columnName])
|
|
92
|
-
emit('clickSelectTable', row)
|
|
93
|
-
state.show = false
|
|
94
|
-
}
|
|
95
|
-
const getPagination = () => {
|
|
96
|
-
const pagination = () => {
|
|
97
|
-
return <NPagination
|
|
98
|
-
v-model={[state.page, 'page']}
|
|
99
|
-
pageCount={state.pageCount}
|
|
100
|
-
onUpdatePage={(page: number) => querySelectTableList()}
|
|
101
|
-
/>
|
|
102
|
-
}
|
|
103
|
-
return <NSpace justify="space-between" align="center" style="margin-top: 5px">{{
|
|
104
|
-
default: () => [`共${state.pageCount}条`, pagination()]
|
|
105
|
-
}}</NSpace>
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return () => [
|
|
109
|
-
<NSelect
|
|
110
|
-
class="form-select-table"
|
|
111
|
-
placeholder='请选择'
|
|
112
|
-
options={[]}
|
|
113
|
-
consistentMenuWidth={false}
|
|
114
|
-
clearable
|
|
115
|
-
filterable
|
|
116
|
-
to={false}
|
|
117
|
-
show={state.show}
|
|
118
|
-
loading={state.loading}
|
|
119
|
-
onFocus={selectTableFocus}
|
|
120
|
-
onBlur={() => state.show = false}
|
|
121
|
-
onSearch={selectTableSearch}
|
|
122
|
-
>{{
|
|
123
|
-
action: () => state.loading ? <NSpace justify="center">{{ default: () => <NSpin class="spin" size="small" /> }}</NSpace> : [getSelectTableGrid(), state.pageCount ? getPagination() : null]
|
|
124
|
-
}}</NSelect>
|
|
125
|
-
]
|
|
126
|
-
}
|
|
127
|
-
})
|
|
128
|
-
</script>
|
|
129
|
-
<style lang="less" scoped>
|
|
130
|
-
.spin {
|
|
131
|
-
margin: 80px auto;
|
|
132
|
-
}
|
|
133
|
-
</style>
|