br-dionysus 1.17.2 → 1.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -956,472 +956,144 @@ const options: Option[] = [{
956
956
 
957
957
  <template>
958
958
  <div class="g-box">
959
- <h3>普通表格</h3>
960
- <MTable
961
- :data="tableData1"
962
- border
963
- :filtersValue="filtersValue"
964
- scrollbarAlwaysOn
965
- v-model:tableConfig="tableConfig"
966
- @selectionChange="handleSelectionChange"
967
- >
968
- <el-table-column
969
- fixed="left"
970
- type="selection"
971
- />
972
- <MTableColumn
973
- v-for="item in tableTitle"
974
- :key="item.prop"
975
- :prop="item.prop"
976
- :label="item.label"
977
- :align="item.align"
978
- :minWidth="item.minWidth"
979
- :className="item.className"
980
- :filters="item.filters"
981
- :headerAlign="item.headerAlign"
982
- :fixed="item.fixed"
983
- v-model:filtersValue="filtersValue"
984
- showOverflowTooltip
985
- ></MTableColumn>
986
- </MTable>
959
+ <!--<DemoTest1></DemoTest1>-->
960
+ <!--<el-divider />-->
987
961
 
988
- <h3>展开列</h3>
989
- <p @click="zzzz">{{ tableConfig }}</p>
990
- <MTable
991
- :data="tableData"
992
- border
993
- @headerDragend="headerDragend"
994
- :filtersValue="filtersValue"
995
- scrollbarAlwaysOn
996
- v-model:tableConfig="tableConfig"
997
- rowKey="id"
998
- tableConfigKey="tableConfigKey"
999
- expandProp="sn"
1000
- @privateExpandChange="privateExpandChange"
1001
- >
1002
- <el-table-column
1003
- fixed="left"
1004
- type="selection"
1005
- />
1006
- <MTableColumn
1007
- type="expand"
1008
- width="1"
1009
- >
1010
- <template #default="props">
1011
- <h1>index{{ props.index }}</h1>
1012
- <h1>$index{{ props.$index }}</h1>
1013
- <h1>测试</h1>
1014
- </template>
1015
- </MTableColumn>
1016
- <el-table-column
1017
- prop="name"
1018
- label="名称"
1019
- >
1020
- <el-table-column
1021
- prop="date"
1022
- label="时间"
1023
- ></el-table-column>
1024
- <el-table-column
1025
- prop="address"
1026
- label="地址"
1027
- ></el-table-column>
1028
- </el-table-column>
1029
- <MTableColumn
1030
- v-for="item in tableTitle"
1031
- :key="item.prop"
1032
- :prop="item.prop"
1033
- :label="item.label"
1034
- :align="item.align"
1035
- :minWidth="item.minWidth"
1036
- :className="item.className"
1037
- :filters="item.filters"
1038
- :headerAlign="item.headerAlign"
1039
- :fixed="item.fixed"
1040
- v-model:filtersValue="filtersValue"
1041
- showOverflowTooltip
1042
- >
1043
- </MTableColumn>
1044
- </MTable>
962
+ <!--<DemoTest2></DemoTest2>-->
963
+ <!--<el-divider />-->
1045
964
 
1046
- <h3>树状表格</h3>
1047
- <MTable
1048
- :data="tableData"
1049
- border
1050
- @headerDragend="headerDragend"
1051
- :filtersValue="filtersValue"
1052
- scrollbarAlwaysOn
1053
- v-model:tableConfig="tableConfig"
1054
- rowKey="id"
1055
- tableConfigKey="tableConfigKey"
1056
- @expandChange="privateExpandChange"
1057
- >
965
+ <!--<DemoTest3></DemoTest3>-->
966
+ <!--<el-divider />-->
967
+
968
+ <!--<DemoTest4></DemoTest4>-->
969
+ <!--<el-divider />-->
970
+
971
+ <DemoTest5></DemoTest5>
972
+ <el-divider />
973
+ </div>
974
+ </template>
975
+
976
+ <script setup lang="ts">
977
+ // import DemoTest1 from 'packages/MTable/docs/DemoTest1.vue'
978
+ // import DemoTest2 from 'packages/MTable/docs/DemoTest2.vue'
979
+ // import DemoTest3 from 'packages/MTable/docs/DemoTest3.vue'
980
+ // import DemoTest4 from 'packages/MTable/docs/DemoTest4.vue'
981
+ import DemoTest5 from 'packages/MTable/docs/DemoTest5.vue'
982
+ </script>
983
+
984
+ <style lang="scss" scoped>
985
+ .g-box {
986
+ max-width: 1000px;
987
+ }
988
+ </style>
989
+
990
+
991
+ ```
992
+
993
+ ### 2) Attributes
994
+
995
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
996
+ |-------------------------|-----------------------------|-----------------------|-----|-----------------------------------------------------|
997
+ | data | 表格的数据 | Record<string, any>[] | - | [ ] |
998
+ | sole | 行的唯一值 | String , number | - | key |
999
+ | filtersValue | 表格内容筛选(当为null时,不显示筛选图标) | Function \| null | - | null |
1000
+ | expandProp | 展开图标列(如使用这个属性则必须存在rowKey属性) | string | - | '' |
1001
+ | tableConfigKey | 表格配置key | string | - | '' |
1002
+ | showSelectionCellStatus | 显示单元格选中状态 | boolean | - | false |
1003
+ | selectionCell | 选中列(必须showSelection为true) | string | - | '' |
1004
+ | 其余参数 | 参考el官网的table | any | - | https://element-plus.org/zh-CN/component/table.html |
1005
+
1006
+ ## 要求
1007
+
1008
+ ```
1009
+ sole 必须传递在表格数据内为唯一的值 如id key 等不会发生重复的关键字
1010
+ ```
1011
+
1012
+ ### 3) Events
1013
+
1014
+ | 方法名 | 说明 | 回调参数 |
1015
+ |----------------------|--------------------------------------|-----------------------------------------------------|
1016
+ | pasteData | 表格粘贴方法 | 共有2个参数,依次为粘贴动作的数据PasteAction ,表格原始数据tableData |
1017
+ | update:tableConfig | 表格配置更新 | \[tableConfig: TableConfig] |
1018
+ | privateExpandChange | expandProp模式下 当用户对某一行展开或者关闭的时候会触发该事件 | [row: any, expandedRows: any[]] |
1019
+ | update:selectionCell | 选中单元格更新 | \[string] |
1020
+ | 其余方法 | 参考el官网的table | https://element-plus.org/zh-CN/component/table.html |
1021
+
1022
+ ### 4) Exposes
1023
+
1024
+ | 方法名 | 说明 | 回调参数 |
1025
+ |---------------|--------------|-----------------------------------------------------|
1026
+ | getTableTitle | 获取表格头信息 | tableTitle: TableTitle[] |
1027
+ | 其余方法 | 参考el官网的table | https://element-plus.org/zh-CN/component/table.html |
1028
+
1029
+ ### 5) PasteAction
1030
+
1031
+ | 参数 | 说明 | 类型 |
1032
+ |------------|----------------------------------------|--------|
1033
+ | editRow | 返回粘贴的对应行的原始数据 | Object |
1034
+ | editColumn | 返回粘贴时鼠标所在列的 表格prop值 | String |
1035
+ | arr | 返回粘贴时候处理之后的 数组信息 | Array |
1036
+ | rowIndex | 根据sole的值 去data内查找 当前操作的 粘贴行在data内的序号 | number |
1037
+
1038
+ ### 5) MBatchEdit(批量编辑组件)
1039
+
1040
+ #### 1) Attributes
1041
+
1042
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
1043
+ |----------------|-------------------------------------------|---------------------------------------------------------------|--------------------------|------|
1044
+ | selectionCell | 选中列 | string | - | '' |
1045
+ | size | 组件大小 | string | 'small' \| 'large' \| '' | '' |
1046
+ | tableData | 表格数据 | Record<string, any>[] | - | [] |
1047
+ | tableTitle | 表格列配置 | TableTitle[] \| null | - | null |
1048
+ | relevancyTable | 关联表格(与tableTitle属性互斥,同时存在时只有tableTitle生效) | InstanceType<typeof import('packages/MTable').MTable> \| null | - | null |
1049
+
1050
+ #### 2) Events
1051
+
1052
+ | 方法名 | 说明 | 回调参数 |
1053
+ |------------------|--------|---------------------------------|
1054
+ | update:tableData | 表格数据更新 | \[data: Record<string, any>[]] |
1055
+
1056
+
1057
+
1058
+
1059
+ 表格列组件
1060
+ =================
1061
+
1062
+ ### 1) 基础用法
1063
+
1064
+
1065
+
1066
+ ```html
1067
+
1068
+ <template>
1069
+ <div class="g-box">
1070
+ <el-table :data="tableData">
1058
1071
  <MTableColumn
1059
1072
  v-for="item in tableTitle"
1060
1073
  :key="item.prop"
1061
1074
  :prop="item.prop"
1062
1075
  :label="item.label"
1063
- :align="item.align"
1064
1076
  :minWidth="item.minWidth"
1065
- :className="item.className"
1066
- :filters="item.filters"
1067
- :headerAlign="item.headerAlign"
1068
- :fixed="item.fixed"
1069
1077
  v-model:filtersValue="filtersValue"
1070
1078
  showOverflowTooltip
1079
+ :children="item.children || []"
1071
1080
  >
1072
1081
  </MTableColumn>
1073
- </MTable>
1074
-
1075
- <h3>批改</h3>
1076
- <MBatchEdit
1077
- size="small"
1078
- v-model:tableData="tableData1"
1079
- :selectionCell="selectionCell"
1080
- :relevancyTable="mTableRef"
1081
- ></MBatchEdit>
1082
- <MTable
1083
- ref="mTableRef"
1084
- :data="tableData1"
1085
- border
1086
- scrollbarAlwaysOn
1087
- showSelectionCellStatus
1088
- v-model:selectionCell="selectionCell"
1089
- >
1090
- <MTableColumn
1091
- v-for="item in tableTitle"
1092
- :key="item.prop"
1093
- :prop="item.prop"
1094
- :label="item.label"
1095
- :align="item.align"
1096
- :minWidth="item.minWidth"
1097
- :className="item.className"
1098
- :filters="item.filters"
1099
- :headerAlign="item.headerAlign"
1100
- :fixed="item.fixed"
1101
- :isBatchEdit="item.isBatchEdit"
1102
- v-model:filtersValue="filtersValue"
1103
- showOverflowTooltip
1104
- ></MTableColumn>
1105
- <MTableColumn
1106
- prop="prop"
1107
- label="label"
1108
- showOverflowTooltip
1109
- ></MTableColumn>
1110
- </MTable>
1111
- <p>选中的单元格:{{ selectionCell }}</p>
1082
+ </el-table>
1112
1083
  </div>
1113
1084
  </template>
1114
1085
 
1115
1086
  <script setup lang="ts">
1116
1087
  import { ref } from 'vue'
1117
- import { useTableConfig } from './../../index'
1118
- import { MTableColumn } from './../../MTableColumn'
1119
- import MBatchEdit from './../src/MBatchEdit.vue'
1120
-
1121
- const privateExpandChange = (row: any, expandedRows: any[]) => {
1122
- console.log('row', row)
1123
- console.log('expandedRows', expandedRows)
1088
+ interface FilterValue {
1089
+ [key: string]: Array<string | number>
1124
1090
  }
1125
-
1126
- const tableData = ref<any[]>([])
1127
- const { tableTitle, headerDragend, tableConfig, filtersValue } = useTableConfig('MTableDemo', [{
1128
- label: '序号',
1129
- prop: 'sn',
1130
- minWidth: 200,
1131
- fixed: 'left',
1132
- isBatchEdit: false
1133
- }, {
1134
- label: '时间',
1135
- prop: 'date',
1136
- minWidth: 200,
1137
- isBatchEdit: true
1138
- }, {
1139
- label: '地址',
1140
- prop: 'address',
1141
- minWidth: 200,
1142
- isBatchEdit: true
1143
- }, {
1144
- label: '名称',
1145
- prop: 'name',
1146
- minWidth: 200,
1147
- isBatchEdit: true
1148
- }, {
1149
- label: '数量',
1150
- prop: 'qty',
1151
- minWidth: 200,
1152
- isBatchEdit: true
1153
- }], tableData)
1154
-
1155
- // const childTableTitle: TableTitle[] = [{
1156
- // label: '序号',
1157
- // prop: 'sn',
1158
- // minWidth: 200,
1159
- // fixed: 'left'
1160
- // }, {
1161
- // label: '时间',
1162
- // prop: 'date',
1163
- // minWidth: 200
1164
- // }, {
1165
- // label: '地址',
1166
- // prop: 'address',
1167
- // minWidth: 200
1168
- // }, {
1169
- // label: '名称',
1170
- // prop: 'name',
1171
- // minWidth: 200
1172
- // }]
1173
- const zzzz = () => {
1174
- filtersValue.value = {}
1175
- }
1176
- tableData.value = [{
1177
- id: 1,
1178
- sn: 1,
1179
- date: '2016-05-03',
1180
- name: 'Tom1',
1181
- address: 'No. 189, Grove St, Los Angeles',
1182
- tag: 'Home',
1183
- pid: 0
1184
- }, {
1185
- id: 2,
1186
- sn: 2,
1187
- date: '2016-05-02',
1188
- name: 'Tom2',
1189
- address: 'No. 189, Grove St, Los Angeles',
1190
- tag: 'Office',
1191
- pid: 0,
1192
- children: [{
1193
- id: 21,
1194
- sn: 1,
1195
- date: '2016-05-02',
1196
- name: 'Tom21',
1197
- address: 'No. 189, Grove St, Los Angeles',
1198
- tag: 'Office'
1199
- }, {
1200
- id: 22,
1201
- sn: 2,
1202
- date: '2016-05-02',
1203
- name: 'Tom22',
1204
- address: 'No. 189, Grove St, Los Angeles',
1205
- tag: 'Office'
1206
- }]
1207
- }, {
1208
- id: 3,
1209
- sn: 3,
1210
- date: '2016-05-04',
1211
- name: 'Tom3',
1212
- address: 'No. 189, Grove St, Los Angeles',
1213
- tag: 'Home',
1214
- pid: 0
1215
- }, {
1216
- id: 4,
1217
- sn: 4,
1218
- date: '2016-05-01',
1219
- name: 'Tom4',
1220
- address: 'No. 189, Grove St, Los Angeles',
1221
- tag: 'Office',
1222
- pid: 0
1223
- }, {
1224
- id: 5,
1225
- sn: 5,
1226
- date: '2016-05-05',
1227
- name: 'Tom4',
1228
- address: 'No. 189, Grove St, Los Angeles',
1229
- tag: 'Office',
1230
- pid: 0
1231
- }, {
1232
- id: 6,
1233
- sn: 6,
1234
- date: '2016-06-01',
1235
- name: 'Tom4',
1236
- address: 'No. 189, Grove St, Los Angeles',
1237
- tag: 'Office',
1238
- pid: 0
1239
- }]
1240
-
1241
- const tableData1 = ref<any[]>([])
1242
- tableData1.value = [{
1243
- id: 1,
1244
- sn: 1,
1245
- date: '2016-05-03',
1246
- name: 'Tom1',
1247
- address: 'No. 189, Grove St, Los Angeles',
1248
- tag: 'Home',
1249
- pid: 0,
1250
- qty: 10
1251
- }, {
1252
- id: 2,
1253
- sn: 2,
1254
- date: '2016-05-02',
1255
- name: 'Tom2',
1256
- address: 'No. 189, Grove St, Los Angeles',
1257
- tag: 'Office',
1258
- pid: 0,
1259
- qty: 101
1260
- }, {
1261
- id: 3,
1262
- sn: 3,
1263
- date: '2016-05-04',
1264
- name: 'Tom3',
1265
- address: 'No. 189, Grove St, Los Angeles',
1266
- tag: 'Home',
1267
- pid: 0,
1268
- qty: 102
1269
- }, {
1270
- id: 4,
1271
- sn: 4,
1272
- date: '2016-05-01',
1273
- name: 'Tom4',
1274
- address: 'No. 189, Grove St, Los Angeles',
1275
- tag: 'Office',
1276
- pid: 0,
1277
- qty: 103
1278
- }, {
1279
- id: 5,
1280
- sn: 5,
1281
- date: '2016-05-05',
1282
- name: 'Tom4',
1283
- address: 'No. 189, Grove St, Los Angeles',
1284
- tag: 'Office',
1285
- pid: 0,
1286
- qty: 104
1287
- }, {
1288
- id: 6,
1289
- sn: 6,
1290
- date: '2016-06-01',
1291
- name: 'Tom4',
1292
- address: 'No. 189, Grove St, Los Angeles',
1293
- tag: 'Office',
1294
- pid: 0,
1295
- qty: 105
1296
- }]
1297
-
1298
- // 选中项
1299
- const multipleSelection = ref<number[]>([])
1300
- const handleSelectionChange = (val: any[]) => {
1301
- multipleSelection.value = val.map(item => item.sn)
1302
- tableData1.value[0].name = tableData1.value[0].name + 'd'
1303
- }
1304
-
1305
- /**
1306
- * 批量修改
1307
- * */
1308
- const selectionCell = ref<string>('')
1309
- const mTableRef = ref<any | null>(null)
1310
- </script>
1311
-
1312
- <style lang="scss" scoped>
1313
- .g-box {
1314
- max-width: 1000px;
1315
- }
1316
- </style>
1317
-
1318
-
1319
- ```
1320
-
1321
- ### 2) Attributes
1322
-
1323
- | 参数 | 说明 | 类型 | 可选值 | 默认值 |
1324
- |-------------------------|-----------------------------|-----------------------|-----|-----------------------------------------------------|
1325
- | data | 表格的数据 | Record<string, any>[] | - | [ ] |
1326
- | sole | 行的唯一值 | String , number | - | key |
1327
- | filtersValue | 表格内容筛选(当为null时,不显示筛选图标) | Function \| null | - | null |
1328
- | expandProp | 展开图标列(如使用这个属性则必须存在rowKey属性) | string | - | '' |
1329
- | tableConfigKey | 表格配置key | string | - | '' |
1330
- | showSelectionCellStatus | 显示单元格选中状态 | boolean | - | false |
1331
- | selectionCell | 选中列(必须showSelection为true) | string | - | '' |
1332
- | 其余参数 | 参考el官网的table | any | - | https://element-plus.org/zh-CN/component/table.html |
1333
-
1334
- ## 要求
1335
-
1336
- ```
1337
- sole 必须传递在表格数据内为唯一的值 如id key 等不会发生重复的关键字
1338
- ```
1339
-
1340
- ### 3) Events
1341
-
1342
- | 方法名 | 说明 | 回调参数 |
1343
- |----------------------|--------------------------------------|-----------------------------------------------------|
1344
- | pasteData | 表格粘贴方法 | 共有2个参数,依次为粘贴动作的数据PasteAction ,表格原始数据tableData |
1345
- | update:tableConfig | 表格配置更新 | \[tableConfig: TableConfig] |
1346
- | privateExpandChange | expandProp模式下 当用户对某一行展开或者关闭的时候会触发该事件 | [row: any, expandedRows: any[]] |
1347
- | update:selectionCell | 选中单元格更新 | \[string] |
1348
- | 其余方法 | 参考el官网的table | https://element-plus.org/zh-CN/component/table.html |
1349
-
1350
- ### 4) Exposes
1351
-
1352
- | 方法名 | 说明 | 回调参数 |
1353
- |---------------|--------------|-----------------------------------------------------|
1354
- | getTableTitle | 获取表格头信息 | tableTitle: TableTitle[] |
1355
- | 其余方法 | 参考el官网的table | https://element-plus.org/zh-CN/component/table.html |
1356
-
1357
- ### 5) PasteAction
1358
-
1359
- | 参数 | 说明 | 类型 |
1360
- |------------|----------------------------------------|--------|
1361
- | editRow | 返回粘贴的对应行的原始数据 | Object |
1362
- | editColumn | 返回粘贴时鼠标所在列的 表格prop值 | String |
1363
- | arr | 返回粘贴时候处理之后的 数组信息 | Array |
1364
- | rowIndex | 根据sole的值 去data内查找 当前操作的 粘贴行在data内的序号 | number |
1365
-
1366
- ### 5) MBatchEdit(批量编辑组件)
1367
-
1368
- #### 1) Attributes
1369
-
1370
- | 参数 | 说明 | 类型 | 可选值 | 默认值 |
1371
- |----------------|-------------------------------------------|---------------------------------------------------------------|--------------------------|------|
1372
- | selectionCell | 选中列 | string | - | '' |
1373
- | size | 组件大小 | string | 'small' \| 'large' \| '' | '' |
1374
- | tableData | 表格数据 | Record<string, any>[] | - | [] |
1375
- | tableTitle | 表格列配置 | TableTitle[] \| null | - | null |
1376
- | relevancyTable | 关联表格(与tableTitle属性互斥,同时存在时只有tableTitle生效) | InstanceType<typeof import('packages/MTable').MTable> \| null | - | null |
1377
-
1378
- #### 2) Events
1379
-
1380
- | 方法名 | 说明 | 回调参数 |
1381
- |------------------|--------|---------------------------------|
1382
- | update:tableData | 表格数据更新 | \[data: Record<string, any>[]] |
1383
-
1384
-
1385
-
1386
-
1387
- 表格列组件
1388
- =================
1389
-
1390
- ### 1) 基础用法
1391
-
1392
-
1393
-
1394
- ```html
1395
-
1396
- <template>
1397
- <div class="g-box">
1398
- <el-table :data="tableData">
1399
- <MTableColumn
1400
- v-for="item in tableTitle"
1401
- :key="item.prop"
1402
- :prop="item.prop"
1403
- :label="item.label"
1404
- :minWidth="item.minWidth"
1405
- v-model:filtersValue="filtersValue"
1406
- showOverflowTooltip
1407
- :children="item.children || []"
1408
- >
1409
- </MTableColumn>
1410
- </el-table>
1411
- </div>
1412
- </template>
1413
-
1414
- <script setup lang="ts">
1415
- import { ref } from 'vue'
1416
- interface FilterValue {
1417
- [key: string]: Array<string | number>
1418
- }
1419
- const filtersValue = ref<FilterValue>({})
1420
- interface User {
1421
- date: string;
1422
- name: string;
1423
- address: string;
1424
- tag: string;
1091
+ const filtersValue = ref<FilterValue>({})
1092
+ interface User {
1093
+ date: string;
1094
+ name: string;
1095
+ address: string;
1096
+ tag: string;
1425
1097
  }
1426
1098
  const tableData = ref<User[]>([
1427
1099
  {
@@ -3942,357 +3614,29 @@ const options: Option[] = [{
3942
3614
 
3943
3615
  <template>
3944
3616
  <div class="g-box">
3945
- <h3>普通表格</h3>
3946
- <MTable
3947
- :data="tableData1"
3948
- border
3949
- :filtersValue="filtersValue"
3950
- scrollbarAlwaysOn
3951
- v-model:tableConfig="tableConfig"
3952
- @selectionChange="handleSelectionChange"
3953
- >
3954
- <el-table-column
3955
- fixed="left"
3956
- type="selection"
3957
- />
3958
- <MTableColumn
3959
- v-for="item in tableTitle"
3960
- :key="item.prop"
3961
- :prop="item.prop"
3962
- :label="item.label"
3963
- :align="item.align"
3964
- :minWidth="item.minWidth"
3965
- :className="item.className"
3966
- :filters="item.filters"
3967
- :headerAlign="item.headerAlign"
3968
- :fixed="item.fixed"
3969
- v-model:filtersValue="filtersValue"
3970
- showOverflowTooltip
3971
- ></MTableColumn>
3972
- </MTable>
3617
+ <!--<DemoTest1></DemoTest1>-->
3618
+ <!--<el-divider />-->
3973
3619
 
3974
- <h3>展开列</h3>
3975
- <p @click="zzzz">{{ tableConfig }}</p>
3976
- <MTable
3977
- :data="tableData"
3978
- border
3979
- @headerDragend="headerDragend"
3980
- :filtersValue="filtersValue"
3981
- scrollbarAlwaysOn
3982
- v-model:tableConfig="tableConfig"
3983
- rowKey="id"
3984
- tableConfigKey="tableConfigKey"
3985
- expandProp="sn"
3986
- @privateExpandChange="privateExpandChange"
3987
- >
3988
- <el-table-column
3989
- fixed="left"
3990
- type="selection"
3991
- />
3992
- <MTableColumn
3993
- type="expand"
3994
- width="1"
3995
- >
3996
- <template #default="props">
3997
- <h1>index{{ props.index }}</h1>
3998
- <h1>$index{{ props.$index }}</h1>
3999
- <h1>测试</h1>
4000
- </template>
4001
- </MTableColumn>
4002
- <el-table-column
4003
- prop="name"
4004
- label="名称"
4005
- >
4006
- <el-table-column
4007
- prop="date"
4008
- label="时间"
4009
- ></el-table-column>
4010
- <el-table-column
4011
- prop="address"
4012
- label="地址"
4013
- ></el-table-column>
4014
- </el-table-column>
4015
- <MTableColumn
4016
- v-for="item in tableTitle"
4017
- :key="item.prop"
4018
- :prop="item.prop"
4019
- :label="item.label"
4020
- :align="item.align"
4021
- :minWidth="item.minWidth"
4022
- :className="item.className"
4023
- :filters="item.filters"
4024
- :headerAlign="item.headerAlign"
4025
- :fixed="item.fixed"
4026
- v-model:filtersValue="filtersValue"
4027
- showOverflowTooltip
4028
- >
4029
- </MTableColumn>
4030
- </MTable>
3620
+ <!--<DemoTest2></DemoTest2>-->
3621
+ <!--<el-divider />-->
4031
3622
 
4032
- <h3>树状表格</h3>
4033
- <MTable
4034
- :data="tableData"
4035
- border
4036
- @headerDragend="headerDragend"
4037
- :filtersValue="filtersValue"
4038
- scrollbarAlwaysOn
4039
- v-model:tableConfig="tableConfig"
4040
- rowKey="id"
4041
- tableConfigKey="tableConfigKey"
4042
- @expandChange="privateExpandChange"
4043
- >
4044
- <MTableColumn
4045
- v-for="item in tableTitle"
4046
- :key="item.prop"
4047
- :prop="item.prop"
4048
- :label="item.label"
4049
- :align="item.align"
4050
- :minWidth="item.minWidth"
4051
- :className="item.className"
4052
- :filters="item.filters"
4053
- :headerAlign="item.headerAlign"
4054
- :fixed="item.fixed"
4055
- v-model:filtersValue="filtersValue"
4056
- showOverflowTooltip
4057
- >
4058
- </MTableColumn>
4059
- </MTable>
3623
+ <!--<DemoTest3></DemoTest3>-->
3624
+ <!--<el-divider />-->
4060
3625
 
4061
- <h3>批改</h3>
4062
- <MBatchEdit
4063
- size="small"
4064
- v-model:tableData="tableData1"
4065
- :selectionCell="selectionCell"
4066
- :relevancyTable="mTableRef"
4067
- ></MBatchEdit>
4068
- <MTable
4069
- ref="mTableRef"
4070
- :data="tableData1"
4071
- border
4072
- scrollbarAlwaysOn
4073
- showSelectionCellStatus
4074
- v-model:selectionCell="selectionCell"
4075
- >
4076
- <MTableColumn
4077
- v-for="item in tableTitle"
4078
- :key="item.prop"
4079
- :prop="item.prop"
4080
- :label="item.label"
4081
- :align="item.align"
4082
- :minWidth="item.minWidth"
4083
- :className="item.className"
4084
- :filters="item.filters"
4085
- :headerAlign="item.headerAlign"
4086
- :fixed="item.fixed"
4087
- :isBatchEdit="item.isBatchEdit"
4088
- v-model:filtersValue="filtersValue"
4089
- showOverflowTooltip
4090
- ></MTableColumn>
4091
- <MTableColumn
4092
- prop="prop"
4093
- label="label"
4094
- showOverflowTooltip
4095
- ></MTableColumn>
4096
- </MTable>
4097
- <p>选中的单元格:{{ selectionCell }}</p>
3626
+ <!--<DemoTest4></DemoTest4>-->
3627
+ <!--<el-divider />-->
3628
+
3629
+ <DemoTest5></DemoTest5>
3630
+ <el-divider />
4098
3631
  </div>
4099
3632
  </template>
4100
3633
 
4101
3634
  <script setup lang="ts">
4102
- import { ref } from 'vue'
4103
- import { useTableConfig } from './../../index'
4104
- import { MTableColumn } from './../../MTableColumn'
4105
- import MBatchEdit from './../src/MBatchEdit.vue'
4106
-
4107
- const privateExpandChange = (row: any, expandedRows: any[]) => {
4108
- console.log('row', row)
4109
- console.log('expandedRows', expandedRows)
4110
- }
4111
-
4112
- const tableData = ref<any[]>([])
4113
- const { tableTitle, headerDragend, tableConfig, filtersValue } = useTableConfig('MTableDemo', [{
4114
- label: '序号',
4115
- prop: 'sn',
4116
- minWidth: 200,
4117
- fixed: 'left',
4118
- isBatchEdit: false
4119
- }, {
4120
- label: '时间',
4121
- prop: 'date',
4122
- minWidth: 200,
4123
- isBatchEdit: true
4124
- }, {
4125
- label: '地址',
4126
- prop: 'address',
4127
- minWidth: 200,
4128
- isBatchEdit: true
4129
- }, {
4130
- label: '名称',
4131
- prop: 'name',
4132
- minWidth: 200,
4133
- isBatchEdit: true
4134
- }, {
4135
- label: '数量',
4136
- prop: 'qty',
4137
- minWidth: 200,
4138
- isBatchEdit: true
4139
- }], tableData)
4140
-
4141
- // const childTableTitle: TableTitle[] = [{
4142
- // label: '序号',
4143
- // prop: 'sn',
4144
- // minWidth: 200,
4145
- // fixed: 'left'
4146
- // }, {
4147
- // label: '时间',
4148
- // prop: 'date',
4149
- // minWidth: 200
4150
- // }, {
4151
- // label: '地址',
4152
- // prop: 'address',
4153
- // minWidth: 200
4154
- // }, {
4155
- // label: '名称',
4156
- // prop: 'name',
4157
- // minWidth: 200
4158
- // }]
4159
- const zzzz = () => {
4160
- filtersValue.value = {}
4161
- }
4162
- tableData.value = [{
4163
- id: 1,
4164
- sn: 1,
4165
- date: '2016-05-03',
4166
- name: 'Tom1',
4167
- address: 'No. 189, Grove St, Los Angeles',
4168
- tag: 'Home',
4169
- pid: 0
4170
- }, {
4171
- id: 2,
4172
- sn: 2,
4173
- date: '2016-05-02',
4174
- name: 'Tom2',
4175
- address: 'No. 189, Grove St, Los Angeles',
4176
- tag: 'Office',
4177
- pid: 0,
4178
- children: [{
4179
- id: 21,
4180
- sn: 1,
4181
- date: '2016-05-02',
4182
- name: 'Tom21',
4183
- address: 'No. 189, Grove St, Los Angeles',
4184
- tag: 'Office'
4185
- }, {
4186
- id: 22,
4187
- sn: 2,
4188
- date: '2016-05-02',
4189
- name: 'Tom22',
4190
- address: 'No. 189, Grove St, Los Angeles',
4191
- tag: 'Office'
4192
- }]
4193
- }, {
4194
- id: 3,
4195
- sn: 3,
4196
- date: '2016-05-04',
4197
- name: 'Tom3',
4198
- address: 'No. 189, Grove St, Los Angeles',
4199
- tag: 'Home',
4200
- pid: 0
4201
- }, {
4202
- id: 4,
4203
- sn: 4,
4204
- date: '2016-05-01',
4205
- name: 'Tom4',
4206
- address: 'No. 189, Grove St, Los Angeles',
4207
- tag: 'Office',
4208
- pid: 0
4209
- }, {
4210
- id: 5,
4211
- sn: 5,
4212
- date: '2016-05-05',
4213
- name: 'Tom4',
4214
- address: 'No. 189, Grove St, Los Angeles',
4215
- tag: 'Office',
4216
- pid: 0
4217
- }, {
4218
- id: 6,
4219
- sn: 6,
4220
- date: '2016-06-01',
4221
- name: 'Tom4',
4222
- address: 'No. 189, Grove St, Los Angeles',
4223
- tag: 'Office',
4224
- pid: 0
4225
- }]
4226
-
4227
- const tableData1 = ref<any[]>([])
4228
- tableData1.value = [{
4229
- id: 1,
4230
- sn: 1,
4231
- date: '2016-05-03',
4232
- name: 'Tom1',
4233
- address: 'No. 189, Grove St, Los Angeles',
4234
- tag: 'Home',
4235
- pid: 0,
4236
- qty: 10
4237
- }, {
4238
- id: 2,
4239
- sn: 2,
4240
- date: '2016-05-02',
4241
- name: 'Tom2',
4242
- address: 'No. 189, Grove St, Los Angeles',
4243
- tag: 'Office',
4244
- pid: 0,
4245
- qty: 101
4246
- }, {
4247
- id: 3,
4248
- sn: 3,
4249
- date: '2016-05-04',
4250
- name: 'Tom3',
4251
- address: 'No. 189, Grove St, Los Angeles',
4252
- tag: 'Home',
4253
- pid: 0,
4254
- qty: 102
4255
- }, {
4256
- id: 4,
4257
- sn: 4,
4258
- date: '2016-05-01',
4259
- name: 'Tom4',
4260
- address: 'No. 189, Grove St, Los Angeles',
4261
- tag: 'Office',
4262
- pid: 0,
4263
- qty: 103
4264
- }, {
4265
- id: 5,
4266
- sn: 5,
4267
- date: '2016-05-05',
4268
- name: 'Tom4',
4269
- address: 'No. 189, Grove St, Los Angeles',
4270
- tag: 'Office',
4271
- pid: 0,
4272
- qty: 104
4273
- }, {
4274
- id: 6,
4275
- sn: 6,
4276
- date: '2016-06-01',
4277
- name: 'Tom4',
4278
- address: 'No. 189, Grove St, Los Angeles',
4279
- tag: 'Office',
4280
- pid: 0,
4281
- qty: 105
4282
- }]
4283
-
4284
- // 选中项
4285
- const multipleSelection = ref<number[]>([])
4286
- const handleSelectionChange = (val: any[]) => {
4287
- multipleSelection.value = val.map(item => item.sn)
4288
- tableData1.value[0].name = tableData1.value[0].name + 'd'
4289
- }
4290
-
4291
- /**
4292
- * 批量修改
4293
- * */
4294
- const selectionCell = ref<string>('')
4295
- const mTableRef = ref<any | null>(null)
3635
+ // import DemoTest1 from 'packages/MTable/docs/DemoTest1.vue'
3636
+ // import DemoTest2 from 'packages/MTable/docs/DemoTest2.vue'
3637
+ // import DemoTest3 from 'packages/MTable/docs/DemoTest3.vue'
3638
+ // import DemoTest4 from 'packages/MTable/docs/DemoTest4.vue'
3639
+ import DemoTest5 from 'packages/MTable/docs/DemoTest5.vue'
4296
3640
  </script>
4297
3641
 
4298
3642
  <style lang="scss" scoped>