cnhis-design-vue 0.3.5-beta → 0.3.8-beta
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/es/big-table/index.css +3 -2
- package/es/big-table/index.js +282 -51
- package/es/button-print/index.css +3 -2
- package/es/drag-layout/index.css +3 -2
- package/es/grid/index.css +4 -3
- package/es/index.css +3 -2
- package/es/index.js +282 -51
- package/package.json +2 -1
- package/packages/big-table/src/BigTable.vue +364 -37
- package/packages/big-table/src/assets/style/table-base.less +6 -0
- package/packages/big-table/src/assets/style/table-global.less +9 -1
- package/packages/big-table/src/bigTableProps.ts +1 -1
- package/packages/big-table/src/bigTableState.ts +1 -0
- package/packages/big-table/src/components/edit-form/edit-input.vue +19 -0
- package/packages/big-table/src/components/edit-form/edit-select-table.vue +127 -0
- package/packages/big-table/src/components/edit-form/edit-select.vue +36 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/EditForm.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-date-picker/edit-date-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-digital/edit-digital.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input/edit-input.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input-password/edit-input-password.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-month-picker/edit-month-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search/edit-search.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search-more/edit-search-more.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select/edit-select.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-textarea/edit-textarea.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-time-picker/edit-time-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/editFormProps.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/register-com.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useConfigData.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useDateType.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useFormCommon.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useItemDefault.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useSearch.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useValidateRules.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/interface.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/types.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/utils.ts +0 -0
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
:scroll-x="{ enabled: false }"
|
|
88
88
|
:scroll-y="{ gt: 50 }"
|
|
89
89
|
:row-style="getRowStyle"
|
|
90
|
-
:edit-config="
|
|
90
|
+
:edit-config="state.editConfig"
|
|
91
91
|
:expand-config="{
|
|
92
92
|
lazy: true,
|
|
93
93
|
accordion: columnConfig && columnConfig.accordion,
|
|
@@ -162,7 +162,7 @@ export default create({
|
|
|
162
162
|
</script>
|
|
163
163
|
|
|
164
164
|
<script lang="tsx" setup>
|
|
165
|
-
import { computed, nextTick, onMounted, reactive, ref, useAttrs, watch,
|
|
165
|
+
import { computed, nextTick, onMounted, reactive, ref, useAttrs, watch, isReactive, shallowReactive, onActivated, onUnmounted } from "vue";
|
|
166
166
|
import { useRoute } from 'vue-router';
|
|
167
167
|
import bigTableState from "./bigTableState";
|
|
168
168
|
import bigTableProps from "./bigTableProps";
|
|
@@ -177,6 +177,9 @@ import TextOverTooltip from "./components/TextOverTooltip.vue";
|
|
|
177
177
|
// import SvgIcon from '@/component/svg/index.vue';
|
|
178
178
|
import SvgIcon from "./components/SvgIcon.vue";
|
|
179
179
|
// import EditForm from './components/edit-form/EditForm.vue';
|
|
180
|
+
import EditSelectTable from './components/edit-form/edit-select-table.vue'
|
|
181
|
+
import EditInput from './components/edit-form/edit-input.vue'
|
|
182
|
+
import EditSelect from './components/edit-form/edit-select.vue'
|
|
180
183
|
import {
|
|
181
184
|
NButton,
|
|
182
185
|
NCheckbox,
|
|
@@ -191,7 +194,10 @@ import {
|
|
|
191
194
|
NSwitch,
|
|
192
195
|
NPopover,
|
|
193
196
|
NDropdown,
|
|
194
|
-
NPopconfirm
|
|
197
|
+
NPopconfirm,
|
|
198
|
+
NSelect,
|
|
199
|
+
NPagination,
|
|
200
|
+
NEmpty
|
|
195
201
|
} from "naive-ui";
|
|
196
202
|
import { useMessage } from 'naive-ui'
|
|
197
203
|
import CGrid from '~/grid';
|
|
@@ -351,6 +357,7 @@ const treeConfig = computed(() => {
|
|
|
351
357
|
}
|
|
352
358
|
return result;
|
|
353
359
|
});
|
|
360
|
+
|
|
354
361
|
const hideAllWrap = (e: any) => {
|
|
355
362
|
const path = e.path || (e.composedPath && e.composedPath());
|
|
356
363
|
const noWrap = (className: string) => {
|
|
@@ -373,7 +380,8 @@ const unBindDocumentClick = () => {
|
|
|
373
380
|
}
|
|
374
381
|
onMounted(() => {
|
|
375
382
|
bindDocumentClick();
|
|
376
|
-
state.tableHeight = handleTableHeight(state, props);
|
|
383
|
+
// state.tableHeight = handleTableHeight(state, props);
|
|
384
|
+
state.tableHeight = '520px'
|
|
377
385
|
|
|
378
386
|
// // 子列表在mounted后初始化 直接watch无法触发
|
|
379
387
|
if (!props.isNestTable) return;
|
|
@@ -411,7 +419,6 @@ const loadColumn = (config: any) => {
|
|
|
411
419
|
// this.hasOnlyIcon = config.hasOnlyIcon;
|
|
412
420
|
let columns = formatColumns(config);
|
|
413
421
|
columns = handleGroupColums(columns, props);
|
|
414
|
-
console.log("columns--------------", columns);
|
|
415
422
|
xGrid.value && xGrid.value.reloadColumn(columns);
|
|
416
423
|
|
|
417
424
|
setGroupTreeExpand();
|
|
@@ -422,7 +429,7 @@ const loadData = async (data: any) => {
|
|
|
422
429
|
state.isShowEmpty = !data?.length;
|
|
423
430
|
|
|
424
431
|
const list = JSON.parse(JSON.stringify(data));
|
|
425
|
-
console.log("list--------------", list);
|
|
432
|
+
// console.log("list--------------", list);
|
|
426
433
|
let table = xGrid.value;
|
|
427
434
|
if (!table) return;
|
|
428
435
|
let formatList = setChecklist(list);
|
|
@@ -437,6 +444,14 @@ const loadData = async (data: any) => {
|
|
|
437
444
|
await handleFormTheUniqueKey();
|
|
438
445
|
}
|
|
439
446
|
|
|
447
|
+
formatList = formatList.map((v: any) => {
|
|
448
|
+
return {
|
|
449
|
+
...v,
|
|
450
|
+
selectTableShow: false,
|
|
451
|
+
selectTableDisable: false
|
|
452
|
+
}
|
|
453
|
+
})
|
|
454
|
+
|
|
440
455
|
// reloadData 替换 loadData 保存setting之后需要表格重新reload
|
|
441
456
|
// loadData 加载数据
|
|
442
457
|
// reloadData 加载数据并清除所有状态
|
|
@@ -504,7 +519,13 @@ const formatColumns = (map: any) => {
|
|
|
504
519
|
*/
|
|
505
520
|
// 配置列表
|
|
506
521
|
let { selectType } = getOtherConfigInit() || {};
|
|
507
|
-
let { isBatchSelect, fieldList, showButtonTop, isScanMultiTable } = map;
|
|
522
|
+
let { isBatchSelect, fieldList, showButtonTop, isScanMultiTable, isEdit = false, editConfig = {} } = map;
|
|
523
|
+
if (isEdit) {
|
|
524
|
+
state.editConfig = Object.assign(state.editConfig, editConfig, {
|
|
525
|
+
mode: 'cell',
|
|
526
|
+
autoClear: true
|
|
527
|
+
})
|
|
528
|
+
}
|
|
508
529
|
if (selectType) {
|
|
509
530
|
// 有设置 selectType 强制可选。
|
|
510
531
|
isBatchSelect = 1;
|
|
@@ -537,11 +558,9 @@ const formatColumns = (map: any) => {
|
|
|
537
558
|
fixed: "left",
|
|
538
559
|
align: "center",
|
|
539
560
|
visible: isScanMultiTable || false,
|
|
540
|
-
width: "
|
|
561
|
+
width: "60",
|
|
541
562
|
slots: {
|
|
542
|
-
header: () =>
|
|
543
|
-
return "操作";
|
|
544
|
-
},
|
|
563
|
+
header: () => "操作",
|
|
545
564
|
default: scanMultiOperate,
|
|
546
565
|
},
|
|
547
566
|
},
|
|
@@ -567,14 +586,14 @@ const formatColumns = (map: any) => {
|
|
|
567
586
|
visible: checkVisible,
|
|
568
587
|
resizable: false,
|
|
569
588
|
width: checkMinWidth,
|
|
570
|
-
|
|
589
|
+
slots: selectType === 'checkbox' ? checkboxSlot : null,
|
|
571
590
|
// 修复 vxe-table升级3.x版本 原自定义checkbox样式失效
|
|
572
|
-
slots:
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
591
|
+
// slots:
|
|
592
|
+
// selectType === "checkbox"
|
|
593
|
+
// ? {
|
|
594
|
+
// checkbox: "tooltip_checkbox",
|
|
595
|
+
// }
|
|
596
|
+
// : null,
|
|
578
597
|
showOverflow: true,
|
|
579
598
|
},
|
|
580
599
|
];
|
|
@@ -625,12 +644,17 @@ const formatColumns = (map: any) => {
|
|
|
625
644
|
showOverflow: "title",
|
|
626
645
|
treeNode: treeNode,
|
|
627
646
|
type: type,
|
|
628
|
-
slots: {
|
|
629
|
-
|
|
630
|
-
|
|
647
|
+
// slots: {
|
|
648
|
+
// default: (params: any) => {
|
|
649
|
+
// return formatter(params, item);
|
|
650
|
+
// },
|
|
651
|
+
// },
|
|
652
|
+
slots: isEdit ? {
|
|
653
|
+
edit: (params: any) => formatterEdit(params, item)
|
|
654
|
+
} : {
|
|
655
|
+
default: (params: any) => formatter(params, item)
|
|
631
656
|
},
|
|
632
|
-
}
|
|
633
|
-
editRender: generateEditRender(item),
|
|
657
|
+
editRender: isEdit ? {} : generateEditRender(item)
|
|
634
658
|
});
|
|
635
659
|
|
|
636
660
|
if (filterField && !props.isNestTable && !isScanMultiTable) {
|
|
@@ -671,6 +695,27 @@ const formatColumns = (map: any) => {
|
|
|
671
695
|
state.columnLen = currentColumns.filter((item: any) => item.visible).length;
|
|
672
696
|
return columns;
|
|
673
697
|
};
|
|
698
|
+
const formatterEdit = (params: any, col: any) => {
|
|
699
|
+
let { row, column, $rowIndex, rowIndex } = params
|
|
700
|
+
let formType = column.formType || col.formType
|
|
701
|
+
if (formType === 'selectTable') {
|
|
702
|
+
const propsData = {
|
|
703
|
+
row,
|
|
704
|
+
col
|
|
705
|
+
}
|
|
706
|
+
return <EditSelectTable {...propsData} v-model={[row[col.columnName], 'value']} />
|
|
707
|
+
}
|
|
708
|
+
if (formType === 'input') {
|
|
709
|
+
return <EditInput v-model={[row[col.columnName], 'value']} />
|
|
710
|
+
}
|
|
711
|
+
if (formType === 'select') {
|
|
712
|
+
const propsData = {
|
|
713
|
+
col
|
|
714
|
+
}
|
|
715
|
+
return <EditSelect {...propsData} v-model={[row[col.columnName], 'value']} />
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
|
|
674
719
|
// 表格渲染逻辑
|
|
675
720
|
const formatter = (params: any, col: any) => {
|
|
676
721
|
let { row, column, $rowIndex } = params;
|
|
@@ -763,7 +808,7 @@ const formatter = (params: any, col: any) => {
|
|
|
763
808
|
{tileBtnList}
|
|
764
809
|
{foldBtnList}
|
|
765
810
|
{inlineBtnList}
|
|
766
|
-
</span
|
|
811
|
+
</span>
|
|
767
812
|
];
|
|
768
813
|
}
|
|
769
814
|
|
|
@@ -1410,13 +1455,27 @@ const setCheckedMehod = (setChecked: any, row: any) => {
|
|
|
1410
1455
|
}
|
|
1411
1456
|
updateAddCheckedRows(row);
|
|
1412
1457
|
}
|
|
1458
|
+
//
|
|
1459
|
+
const getFormType = (field: string) => {
|
|
1460
|
+
const obj = props.columnConfig.fieldList.find((v: any) => v.columnName === field)
|
|
1461
|
+
return obj ? obj.formType || '' : ''
|
|
1462
|
+
}
|
|
1413
1463
|
//行点击
|
|
1414
1464
|
const handlerClickRow = (data: any) => {
|
|
1415
|
-
console.log("data");
|
|
1465
|
+
console.log("data.", data);
|
|
1416
1466
|
if (isScanMultiTable.value || props.isInlineOperating) return false;
|
|
1417
1467
|
if (vexutils.has(data?.row, GROUP_TITLE_KEY)) return false;
|
|
1418
1468
|
if (state.isTriggerSelectionChange && state.isTree == 0) return false;
|
|
1419
1469
|
let table = xGrid.value;
|
|
1470
|
+
|
|
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
|
+
|
|
1420
1479
|
// 嵌套表与主表click切换时需要清除上次的选中
|
|
1421
1480
|
isAboutNestTable.value && emit('resetNestLastClickTable', table);
|
|
1422
1481
|
|
|
@@ -1957,7 +2016,7 @@ const generateInlineBtnList = (row: any, index: any) => {
|
|
|
1957
2016
|
size="small"
|
|
1958
2017
|
text
|
|
1959
2018
|
>
|
|
1960
|
-
保存
|
|
2019
|
+
{{default: () => '保存'}}
|
|
1961
2020
|
</NButton>
|
|
1962
2021
|
<NButton
|
|
1963
2022
|
style={{ display: row.__isInlineEditing ? "inline-block" : "none" }}
|
|
@@ -1970,13 +2029,13 @@ const generateInlineBtnList = (row: any, index: any) => {
|
|
|
1970
2029
|
size="small"
|
|
1971
2030
|
text
|
|
1972
2031
|
>
|
|
1973
|
-
取消
|
|
2032
|
+
{{default: () => '取消'}}
|
|
1974
2033
|
</NButton>
|
|
1975
2034
|
</span>,
|
|
1976
2035
|
];
|
|
1977
2036
|
};
|
|
1978
2037
|
// 按钮 jsx
|
|
1979
|
-
const getTileBtnList = (row: any, index:
|
|
2038
|
+
const getTileBtnList = (row: any, index: number) => {
|
|
1980
2039
|
return [
|
|
1981
2040
|
(row.tileBtnList?.length &&
|
|
1982
2041
|
row.tileBtnList.map((btn: any, j: any) => {
|
|
@@ -2003,8 +2062,7 @@ const getTileBtnList = (row: any, index: any) => {
|
|
|
2003
2062
|
// {getBtnIcon(btn)}
|
|
2004
2063
|
// {btn.showStyle === "only_icon" ? "" : handleName(btn)}
|
|
2005
2064
|
>
|
|
2006
|
-
{getBtnIcon(btn)}
|
|
2007
|
-
{btn.showStyle === 'only_icon' ? '' : handleName(btn)}
|
|
2065
|
+
{{default: () => [getBtnIcon(btn), btn.showStyle === 'only_icon' ? '' : handleName(btn)]}}
|
|
2008
2066
|
</NButton>
|
|
2009
2067
|
)
|
|
2010
2068
|
);
|
|
@@ -2013,7 +2071,7 @@ const getTileBtnList = (row: any, index: any) => {
|
|
|
2013
2071
|
];
|
|
2014
2072
|
};
|
|
2015
2073
|
// 按钮事件
|
|
2016
|
-
const clickBtn = (row: any, btn: any, index:
|
|
2074
|
+
const clickBtn = (row: any, btn: any, index: number, e: any, j: any) => {
|
|
2017
2075
|
e.preventDefault();
|
|
2018
2076
|
e.stopPropagation();
|
|
2019
2077
|
recordClickBtnInfo(row, index);
|
|
@@ -2052,7 +2110,7 @@ const getBtnIcon = (btn: any, mr = "8px") => {
|
|
|
2052
2110
|
return [icon];
|
|
2053
2111
|
};
|
|
2054
2112
|
// 按钮 jsx
|
|
2055
|
-
const getFoldBtnList = (row: any, index:
|
|
2113
|
+
const getFoldBtnList = (row: any, index: number) => {
|
|
2056
2114
|
const getOptions = () => {
|
|
2057
2115
|
return row.foldBtnList.map((b: any, j: any) => {
|
|
2058
2116
|
return {
|
|
@@ -2074,7 +2132,7 @@ const getFoldBtnList = (row: any, index: any) => {
|
|
|
2074
2132
|
options={getOptions()}
|
|
2075
2133
|
>
|
|
2076
2134
|
<NButton size="small" style="margin-left: 8px">
|
|
2077
|
-
更多 ...
|
|
2135
|
+
{{default: () => '更多 ...'}}
|
|
2078
2136
|
</NButton>
|
|
2079
2137
|
</NDropdown>
|
|
2080
2138
|
)) ||
|
|
@@ -2501,14 +2559,283 @@ defineExpose({
|
|
|
2501
2559
|
clearChecked,
|
|
2502
2560
|
setCurrentRow,
|
|
2503
2561
|
loadColumn,
|
|
2504
|
-
removeInsert
|
|
2562
|
+
removeInsert,
|
|
2563
|
+
xGrid
|
|
2505
2564
|
})
|
|
2506
2565
|
|
|
2507
2566
|
</script>
|
|
2508
2567
|
<style lang="less" scoped>
|
|
2509
|
-
|
|
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
|
+
}
|
|
2510
2838
|
</style>
|
|
2511
2839
|
|
|
2512
|
-
<style lang="less">
|
|
2513
|
-
@import "./assets/style/table-global.less";
|
|
2840
|
+
<style lang="less" src="./assets/style/table-global.less">
|
|
2514
2841
|
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script lang="tsx">
|
|
2
|
+
import { defineComponent, ref, reactive } from 'vue'
|
|
3
|
+
import { NInput } from 'naive-ui'
|
|
4
|
+
|
|
5
|
+
export default defineComponent({
|
|
6
|
+
name: 'EditInput',
|
|
7
|
+
inheritAttrs: false,
|
|
8
|
+
components: {
|
|
9
|
+
NInput
|
|
10
|
+
},
|
|
11
|
+
setup (props, { attrs, slots, emit }) {
|
|
12
|
+
|
|
13
|
+
return () => [
|
|
14
|
+
<NInput {...attrs} />
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
</script>
|
|
19
|
+
<style lang="less" scoped></style>
|