@sy-common/organize-select-help 1.0.0-beta.52 → 1.0.0-beta.53
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/package.json +1 -1
- package/src/index.vue +180 -43
- package/src/organize-tree.vue +6 -2
package/package.json
CHANGED
package/src/index.vue
CHANGED
|
@@ -1578,81 +1578,192 @@ export default {
|
|
|
1578
1578
|
|
|
1579
1579
|
.staff-left-right-layout {
|
|
1580
1580
|
display: flex;
|
|
1581
|
-
height:
|
|
1581
|
+
height: 550px !important;
|
|
1582
1582
|
gap: 15px;
|
|
1583
1583
|
padding: 0 5px;
|
|
1584
1584
|
width: 100%;
|
|
1585
1585
|
box-sizing: border-box;
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
width: 320px;
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1586
|
+
flex-wrap: nowrap !important;
|
|
1587
|
+
|
|
1588
|
+
& > .staff-left-panel {
|
|
1589
|
+
width: 320px !important;
|
|
1590
|
+
min-width: 320px !important;
|
|
1591
|
+
max-width: 320px !important;
|
|
1592
|
+
display: flex !important;
|
|
1593
|
+
flex-direction: column !important;
|
|
1594
|
+
box-sizing: border-box !important;
|
|
1595
|
+
flex-shrink: 0 !important;
|
|
1596
|
+
flex-grow: 0 !important;
|
|
1597
|
+
height: 100% !important;
|
|
1598
|
+
position: relative !important; // 确保子元素 z-index 生效
|
|
1599
|
+
|
|
1600
|
+
::v-deep(.panel-title) {
|
|
1601
|
+
all: unset !important;
|
|
1602
|
+
display: flex !important; // 改为flex,方便对齐竖条和文字
|
|
1603
|
+
align-items: center !important; // 文字垂直居中
|
|
1604
|
+
visibility: visible !important;
|
|
1605
|
+
opacity: 1 !important;
|
|
1606
|
+
height: 20px !important;
|
|
1607
|
+
line-height: 20px !important;
|
|
1608
|
+
font-size: 14px !important;
|
|
1609
|
+
font-weight: 500 !important;
|
|
1610
|
+
color: #333 !important;
|
|
1611
|
+
margin-bottom: 8px !important;
|
|
1612
|
+
background: #fff !important;
|
|
1613
|
+
z-index: 999 !important;
|
|
1614
|
+
padding: 0 !important;
|
|
1615
|
+
box-sizing: border-box !important;
|
|
1616
|
+
position: relative !important;
|
|
1617
|
+
width: 100% !important;
|
|
1618
|
+
// 左侧竖条核心样式
|
|
1619
|
+
&::before {
|
|
1620
|
+
content: '' !important;
|
|
1621
|
+
display: inline-block !important;
|
|
1622
|
+
width: 5px !important; // 竖条宽度
|
|
1623
|
+
height: 16px !important; // 竖条高度(略小于文字行高)
|
|
1624
|
+
background-color: #1890ff !important; // 蓝色竖条(可改颜色)
|
|
1625
|
+
margin-right: 8px !important; // 竖条与文字间距
|
|
1626
|
+
//border-radius: 1.5px !important;
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1597
1629
|
|
|
1598
1630
|
.staff-org-tree {
|
|
1599
|
-
height: calc(100% -
|
|
1631
|
+
height: calc(100% - 28px) !important; /* 28 = 标题高度20 + 间距8 */
|
|
1600
1632
|
border: 1px solid #EAECF0;
|
|
1601
1633
|
border-radius: 4px;
|
|
1602
|
-
padding:
|
|
1634
|
+
padding: 0 !important;
|
|
1603
1635
|
box-sizing: border-box;
|
|
1604
|
-
|
|
1605
|
-
overflow:
|
|
1636
|
+
width: 100% !important;
|
|
1637
|
+
overflow-x: auto !important;
|
|
1638
|
+
overflow-y: auto !important;
|
|
1606
1639
|
position: relative;
|
|
1607
|
-
|
|
1640
|
+
flex-shrink: 1;
|
|
1641
|
+
min-height: 0 !important;
|
|
1608
1642
|
|
|
1609
|
-
/* 新增强制滚动容器样式(关键) */
|
|
1610
|
-
.tree-scroll-force {
|
|
1611
|
-
width: 100%;
|
|
1612
|
-
height: 100%;
|
|
1613
|
-
overflow: auto !important; /* 强制开启滚动 */
|
|
1614
|
-
overflow-x: scroll !important; /* 强制显示横向滚动条 */
|
|
1615
|
-
overflow-y: auto !important;
|
|
1616
|
-
/* 强制最小宽度,确保内容溢出时触发滚动 */
|
|
1617
|
-
min-width: 100%;
|
|
1618
|
-
max-width: none !important;
|
|
1619
|
-
/* 滚动条样式强制显示 */
|
|
1620
1643
|
&::-webkit-scrollbar {
|
|
1621
1644
|
width: 8px !important;
|
|
1622
1645
|
height: 8px !important;
|
|
1623
|
-
display: block !important;
|
|
1624
1646
|
background: #f9f9f9 !important;
|
|
1625
1647
|
}
|
|
1626
1648
|
&::-webkit-scrollbar-thumb {
|
|
1627
1649
|
background: #ccc !important;
|
|
1628
1650
|
border-radius: 4px !important;
|
|
1629
1651
|
}
|
|
1630
|
-
/* 兼容Firefox */
|
|
1631
1652
|
scrollbar-width: thin !important;
|
|
1632
1653
|
scrollbar-color: #ccc #f9f9f9 !important;
|
|
1633
1654
|
}
|
|
1634
1655
|
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1656
|
+
.tree-scroll-force {
|
|
1657
|
+
width: 100% !important;
|
|
1658
|
+
height: 100% !important;
|
|
1659
|
+
margin: 0 !important;
|
|
1660
|
+
padding: 8px !important;
|
|
1661
|
+
box-sizing: border-box;
|
|
1662
|
+
overflow: visible !important;
|
|
1663
|
+
position: relative;
|
|
1641
1664
|
}
|
|
1642
1665
|
}
|
|
1643
1666
|
|
|
1644
1667
|
.staff-right-panel {
|
|
1645
1668
|
flex: 1 !important;
|
|
1646
|
-
min-width:
|
|
1669
|
+
min-width: 0 !important;
|
|
1647
1670
|
width: calc(100% - 335px) !important;
|
|
1648
1671
|
display: flex;
|
|
1649
1672
|
flex-direction: column;
|
|
1650
1673
|
box-sizing: border-box;
|
|
1651
|
-
gap: 8px;
|
|
1674
|
+
gap: 8px; /* 搜索框与列表、列表与底部选择栏的间距统一为8px */
|
|
1652
1675
|
padding: 0 5px;
|
|
1653
|
-
flex-shrink:
|
|
1676
|
+
flex-shrink: 1 !important;
|
|
1677
|
+
|
|
1678
|
+
// 搜索框:固定高度
|
|
1679
|
+
.ivu-input-wrapper {
|
|
1680
|
+
height: 32px;
|
|
1681
|
+
flex-shrink: 0;
|
|
1682
|
+
}
|
|
1654
1683
|
|
|
1655
|
-
//
|
|
1684
|
+
// 右侧人员列表容器:高度 = 父容器高度 - 搜索框高度 - 底部选择栏高度 - 两次间距(8*2)
|
|
1685
|
+
.staff-content {
|
|
1686
|
+
height: calc(100% - 32px - 40px - 16px) !important; /* 40=底部选择栏高度,16=8*2间距 */
|
|
1687
|
+
border: 1px solid #EAECF0;
|
|
1688
|
+
border-radius: 4px;
|
|
1689
|
+
overflow-x: hidden !important;
|
|
1690
|
+
overflow-y: auto !important;
|
|
1691
|
+
flex-shrink: 1;
|
|
1692
|
+
|
|
1693
|
+
&::-webkit-scrollbar {
|
|
1694
|
+
width: 8px !important;
|
|
1695
|
+
height: 8px !important;
|
|
1696
|
+
background: #f9f9f9 !important;
|
|
1697
|
+
}
|
|
1698
|
+
&::-webkit-scrollbar-thumb {
|
|
1699
|
+
background: #ccc !important;
|
|
1700
|
+
border-radius: 4px !important;
|
|
1701
|
+
}
|
|
1702
|
+
scrollbar-width: thin !important;
|
|
1703
|
+
scrollbar-color: #ccc #f9f9f9 !important;
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
// 底部选择栏:固定高度
|
|
1707
|
+
.bottom-select {
|
|
1708
|
+
height: 40px;
|
|
1709
|
+
flex-shrink: 0;
|
|
1710
|
+
display: flex;
|
|
1711
|
+
align-items: center;
|
|
1712
|
+
justify-content: space-between;
|
|
1713
|
+
padding: 8px 0;
|
|
1714
|
+
background: #fff !important;
|
|
1715
|
+
border-top: 1px solid #f0f0f0;
|
|
1716
|
+
|
|
1717
|
+
.num {
|
|
1718
|
+
color: var(--primary-color);
|
|
1719
|
+
}
|
|
1720
|
+
}
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
.tab-content-pro {
|
|
1725
|
+
.tab {
|
|
1726
|
+
.tree {
|
|
1727
|
+
height: 400px !important;
|
|
1728
|
+
max-height: 400px !important;
|
|
1729
|
+
margin-top:20px;
|
|
1730
|
+
overflow-y: auto !important;
|
|
1731
|
+
overflow-x: auto !important;
|
|
1732
|
+
border: 1px solid #EAECF0;
|
|
1733
|
+
border-radius: 4px;
|
|
1734
|
+
box-sizing: border-box;
|
|
1735
|
+
|
|
1736
|
+
&::-webkit-scrollbar {
|
|
1737
|
+
width: 8px !important;
|
|
1738
|
+
height: 8px !important;
|
|
1739
|
+
display: block !important;
|
|
1740
|
+
background: #f9f9f9 !important;
|
|
1741
|
+
}
|
|
1742
|
+
&::-webkit-scrollbar-thumb {
|
|
1743
|
+
background: #ccc !important;
|
|
1744
|
+
border-radius: 4px !important;
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
&.post .right .tree {
|
|
1749
|
+
height: 380px !important;
|
|
1750
|
+
max-height: 380px !important;
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
.bottom-select {
|
|
1754
|
+
display:flex;
|
|
1755
|
+
align-items: center;
|
|
1756
|
+
justify-content: space-between;
|
|
1757
|
+
margin-top:15px !important;
|
|
1758
|
+
padding: 8px 0;
|
|
1759
|
+
background: #fff !important;
|
|
1760
|
+
position: relative;
|
|
1761
|
+
z-index: 10;
|
|
1762
|
+
border-top: 1px solid #f0f0f0;
|
|
1763
|
+
.num{
|
|
1764
|
+
color:var(--primary-color);
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1656
1767
|
}
|
|
1657
1768
|
}
|
|
1658
1769
|
|
|
@@ -1857,9 +1968,30 @@ export default {
|
|
|
1857
1968
|
display:flex;
|
|
1858
1969
|
align-items: center;
|
|
1859
1970
|
}
|
|
1860
|
-
.tree{
|
|
1861
|
-
height:450px
|
|
1971
|
+
.tree {
|
|
1972
|
+
height: 400px !important; // 从450px下调,预留下方复选框空间
|
|
1973
|
+
max-height: 400px !important; // 强制最大高度,禁止超出
|
|
1862
1974
|
margin-top:20px;
|
|
1975
|
+
overflow-y: auto !important; // 纵向溢出时滚动,而非超出
|
|
1976
|
+
overflow-x: auto !important; // 横向溢出时滚动
|
|
1977
|
+
border: 1px solid #EAECF0; // 明确容器边界(可选)
|
|
1978
|
+
border-radius: 4px;
|
|
1979
|
+
box-sizing: border-box; // 包含边框/内边距计算
|
|
1980
|
+
// 滚动条样式统一(与人员Tab保持一致)
|
|
1981
|
+
&::-webkit-scrollbar {
|
|
1982
|
+
width: 8px !important;
|
|
1983
|
+
height: 8px !important;
|
|
1984
|
+
display: block !important;
|
|
1985
|
+
background: #f9f9f9 !important;
|
|
1986
|
+
}
|
|
1987
|
+
&::-webkit-scrollbar-thumb {
|
|
1988
|
+
background: #ccc !important;
|
|
1989
|
+
border-radius: 4px !important;
|
|
1990
|
+
}
|
|
1991
|
+
}
|
|
1992
|
+
&.post .right .tree {
|
|
1993
|
+
height: 380px !important;
|
|
1994
|
+
max-height: 380px !important;
|
|
1863
1995
|
}
|
|
1864
1996
|
.staff-content{
|
|
1865
1997
|
overflow:auto;
|
|
@@ -1868,7 +2000,12 @@ export default {
|
|
|
1868
2000
|
display:flex;
|
|
1869
2001
|
align-items: center;
|
|
1870
2002
|
justify-content: space-between;
|
|
1871
|
-
margin-top:
|
|
2003
|
+
margin-top:15px !important; // 增加间距
|
|
2004
|
+
padding: 8px 0; // 内边距提升可读性
|
|
2005
|
+
background: #fff !important; // 白色背景覆盖树溢出内容
|
|
2006
|
+
position: relative;
|
|
2007
|
+
z-index: 10; // 层级高于树容器
|
|
2008
|
+
border-top: 1px solid #f0f0f0; // 视觉分隔(可选)
|
|
1872
2009
|
.num{
|
|
1873
2010
|
color:var(--primary-color);
|
|
1874
2011
|
}
|
package/src/organize-tree.vue
CHANGED
|
@@ -423,6 +423,7 @@ export default {
|
|
|
423
423
|
min-width: 100% !important;
|
|
424
424
|
height: 100% !important;
|
|
425
425
|
white-space: nowrap !important;
|
|
426
|
+
overflow: visible !important;
|
|
426
427
|
}
|
|
427
428
|
|
|
428
429
|
/deep/ .ivu-tree-node {
|
|
@@ -436,6 +437,7 @@ export default {
|
|
|
436
437
|
cursor: default !important;
|
|
437
438
|
pointer-events: none !important;
|
|
438
439
|
padding-left: 0 !important;
|
|
440
|
+
width: 100% !important; /* 关键:节点内容宽度100% */
|
|
439
441
|
|
|
440
442
|
.ivu-checkbox, .ivu-tree-switcher {
|
|
441
443
|
pointer-events: auto !important;
|
|
@@ -446,11 +448,13 @@ export default {
|
|
|
446
448
|
/deep/ .ivu-tree {
|
|
447
449
|
white-space: nowrap !important;
|
|
448
450
|
display: inline-block !important;
|
|
449
|
-
width: auto !important;
|
|
450
|
-
min-width: 100% !important;
|
|
451
|
+
width: auto !important;
|
|
452
|
+
min-width: 100% !important;
|
|
451
453
|
box-sizing: border-box;
|
|
454
|
+
height: 100% !important; /* 关键:树组件高度100% */
|
|
452
455
|
}
|
|
453
456
|
|
|
457
|
+
|
|
454
458
|
/deep/ .ivu-tree-node,
|
|
455
459
|
/deep/ .ivu-tree-node *,
|
|
456
460
|
/deep/ .ivu-tree-node-content,
|