treeTable.css 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. /**
  2. * 树形表格 2.x
  3. * date:2019-11-08 License By https://easyweb.vip
  4. */
  5. .ew-tree-table {
  6. margin: 10px 0;
  7. position: relative
  8. }
  9. .ew-tree-table .layui-table {
  10. margin: 0
  11. }
  12. .ew-tree-table .ew-tree-table-border {
  13. position: absolute;
  14. background-color: #e6e6e6
  15. }
  16. .ew-tree-table .ew-tree-table-border.top {
  17. left: 0;
  18. right: 0;
  19. top: 0;
  20. height: 1px
  21. }
  22. .ew-tree-table .ew-tree-table-border.left {
  23. top: 0;
  24. left: 0;
  25. bottom: 0;
  26. width: 1px
  27. }
  28. .ew-tree-table .ew-tree-table-border.right {
  29. top: 0;
  30. right: 0;
  31. bottom: 0;
  32. width: .52px
  33. }
  34. .ew-tree-table .ew-tree-table-border.bottom {
  35. left: 0;
  36. right: 0;
  37. bottom: 0;
  38. height: .52px
  39. }
  40. .ew-tree-table-group {
  41. overflow: auto;
  42. position: relative
  43. }
  44. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box {
  45. overflow: auto;
  46. position: relative;
  47. box-sizing: border-box
  48. }
  49. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-head {
  50. position: relative;
  51. box-sizing: border-box;
  52. background-color: #f2f2f2
  53. }
  54. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box > .layui-table, .ew-tree-table > .ew-tree-table-group > .ew-tree-table-head > .layui-table {
  55. table-layout: fixed
  56. }
  57. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box > .ew-tree-table-loading {
  58. padding: 10px 0;
  59. text-align: center
  60. }
  61. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box > .ew-tree-table-loading > i {
  62. color: #999;
  63. font-size: 30px
  64. }
  65. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box > .ew-tree-table-loading.ew-loading-float {
  66. position: absolute;
  67. left: 0;
  68. right: 0;
  69. top: 0
  70. }
  71. .ew-tree-table > .ew-tree-table-group > .ew-tree-table-box > .ew-tree-table-empty {
  72. color: #666;
  73. font-size: 14px;
  74. text-align: center
  75. }
  76. .ew-tree-table .ew-tree-table-arrow {
  77. margin-right: 5px;
  78. vertical-align: middle
  79. }
  80. .ew-tree-table .ew-tree-table-arrow:before {
  81. content: "\e623"
  82. }
  83. .ew-tree-table .ew-tree-table-open .ew-tree-table-arrow:before {
  84. content: "\e625"
  85. }
  86. .ew-tree-table .ew-tree-table-arrow.arrow2 {
  87. font-size: 13px;
  88. font-weight: 600;
  89. line-height: 16px;
  90. height: 16px;
  91. width: 16px;
  92. display: inline-block;
  93. text-align: center;
  94. color: #888
  95. }
  96. .ew-tree-table .ew-tree-table-arrow.arrow2:before {
  97. content: "\e602"
  98. }
  99. .ew-tree-table .ew-tree-table-open .ew-tree-table-arrow.arrow2:before {
  100. content: "\e61a"
  101. }
  102. .ew-tree-table-arrow.ew-tree-table-arrow-hide {
  103. visibility: hidden
  104. }
  105. .ew-tree-table .ew-tree-table-loading > td > .ew-tree-pack > .ew-tree-table-arrow:before {
  106. content: "\e63d" !important
  107. }
  108. .ew-tree-table .ew-tree-table-loading > td > .ew-tree-pack > .ew-tree-table-arrow {
  109. margin-right: 0
  110. }
  111. .ew-tree-table .ew-tree-table-loading > td > .ew-tree-pack > .ew-tree-table-arrow + * {
  112. margin-left: 5px
  113. }
  114. .ew-tree-table tr.ew-tree-table-loading > * {
  115. pointer-events: none !important
  116. }
  117. .ew-tree-table .ew-tree-pack {
  118. cursor: pointer;
  119. line-height: 16px;
  120. display: inline-block;
  121. vertical-align: middle
  122. }
  123. .ew-tree-table .ew-tree-pack > span {
  124. height: 16px;
  125. line-height: 16px;
  126. display: inline-block;
  127. vertical-align: middle
  128. }
  129. .ew-tree-table .ew-tree-tb-hide {
  130. display: none
  131. }
  132. .ew-tree-table .ew-tree-table-indent {
  133. margin-right: 5px;
  134. padding-left: 16px
  135. }
  136. .ew-tree-table .ew-tree-icon {
  137. margin-right: 5px;
  138. display: inline-block;
  139. vertical-align: middle
  140. }
  141. .ew-tree-table .ew-tree-icon-folder, .ew-tree-table .ew-tree-icon-file {
  142. width: 22px;
  143. height: 16px;
  144. line-height: 16px;
  145. position: relative
  146. }
  147. .ew-tree-table .ew-tree-icon-folder:after, .ew-tree-table .ew-tree-icon-file:after {
  148. content: "";
  149. width: 22px;
  150. height: 22px;
  151. position: absolute;
  152. left: 0;
  153. top: -3px;
  154. background-size: cover;
  155. background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzE3MTQ3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIxNTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTE4MSA4MjNoLTMxLjFjLTI4LjYgMC01MS45LTIzLjItNTEuOS01MS45VjI1Mi40YzAtMjguNiAyMy4yLTUxLjkgNTEuOS01MS45SDQzMGw4MyA3Ny44aDMzMmM0NS42IDAgODMgMzUgODMgNzcuOHYzODkuMWMwIDQyLjgtMzcuMyA3Ny44LTgzIDc3LjhIMTgxeiIgcC1pZD0iMjE1OSIgZmlsbD0iI0ZGQTUwMCI+PC9wYXRoPjwvc3ZnPg==")
  156. }
  157. .ew-tree-table tr.ew-tree-table-open > td > .ew-tree-pack .ew-tree-icon-folder:after {
  158. background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzA5MDQwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE5NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTMyNi40IDQ2MC4xSDkyOGwtODIuMyAzMjRjLTUuOCAyMy0yNi42IDM5LjEtNTAuMyAzOS4xSDE0OS45Yy0yOC42IDAtNTEuOS0yMy4yLTUxLjktNTEuOVYyNTIuNmMwLTI4LjYgMjMuMi01MS45IDUxLjktNTEuOUg0MTNsMTA1IDEwMy43aDI5MS44YzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45djc3LjhoLTUyN0wyMDMuNCA1NjMuOWg1Mi43bDcwLjMtMTAzLjh6IiBwLWlkPSIxOTc4IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
  159. }
  160. .ew-tree-table .ew-tree-icon-file:after {
  161. background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyNTE1MDUxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEzNTE4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ij48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik03NDEuMyAxNjEuNmgtNDIuNGMtMTAuNSAwLTE5LjEgOC42LTE5LjEgMTkuMXM4LjYgMTkuMSAxOS4xIDE5LjFoNDIuNGM0MiAwIDc2LjIgMzQuMiA3Ni4yIDc2LjN2NDc3LjRjMCA0Mi4xLTM0LjMgNzYuMy03Ni40IDc2LjNIMjgyLjljLTQyLjEgMC03Ni4zLTM0LjItNzYuMy03Ni4zVjI3Ni4xYzAtNDIuMSAzNC4yLTc2LjMgNzYuMy03Ni4zaDQ0LjljMTAuNSAwIDE5LjEtOC42IDE5LjEtMTkuMXMtOC42LTE5LjEtMTkuMS0xOS4xaC00NC45Yy02My4xIDAtMTE0LjUgNTEuNC0xMTQuNSAxMTQuNXY0NzcuNGMwIDYzLjEgNTEuNCAxMTQuNSAxMTQuNSAxMTQuNWg0NTguM2M2My4xIDAgMTE0LjUtNTEuNCAxMTQuNS0xMTQuNVYyNzYuMWMtMC4xLTYzLjEtNTEuNC0xMTQuNS0xMTQuNC0xMTQuNXoiIHAtaWQ9IjEzNTE5IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PHBhdGggZD0iTTY4MC42IDUwNS4zSDM0My40Yy0xMi4zIDAtMjIuMyA4LjYtMjIuMyAxOS4xczEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek00MzkuMyAyMTMuM2gxNDQuNmMxOSAwIDM0LjQtMTIuOCAzNC40LTI4LjZzLTE1LjQtMjguNi0zNC40LTI4LjZINDM5LjNjLTE5IDAtMzQuNCAxMi44LTM0LjQgMjguNi0wLjEgMTUuNyAxNS4zIDI4LjYgMzQuNCAyOC42ek02ODAuNiA2NThIMzQzLjRjLTEyLjMgMC0yMi4zIDguNS0yMi4zIDE5LjEgMCAxMC41IDEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek02ODAuNiAzNTIuNUgzNDMuNGMtMTIuMyAwLTIyLjMgOC42LTIyLjMgMTkuMXMxMCAxOS4xIDIyLjMgMTkuMWgzMzcuMmMxMi4zIDAgMjIuMy04LjYgMjIuMy0xOS4xIDAtMTAuNS0xMC0xOS4xLTIyLjMtMTkuMXoiIHAtaWQ9IjEzNTIwIiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
  162. }
  163. .ew-tree-table .layui-form-switch {
  164. margin-top: 0
  165. }
  166. .ew-tree-table .layui-form-radio {
  167. margin: 0
  168. }
  169. .ew-tree-table-checkbox + .layui-form-checkbox {
  170. padding: 0
  171. }
  172. .ew-tree-table-checkbox + .layui-form-checkbox > .layui-icon {
  173. color: transparent;
  174. transition: background-color .1s linear
  175. }
  176. .ew-tree-table-checkbox + .layui-form-checkbox.layui-form-checked > .layui-icon {
  177. color: #fff
  178. }
  179. .ew-tree-table-radio + .layui-form-radio {
  180. padding: 0;
  181. height: 20px;
  182. line-height: 20px
  183. }
  184. .ew-tree-table-radio + .layui-form-radio > i {
  185. margin: 0;
  186. height: 20px;
  187. font-size: 20px;
  188. line-height: 20px
  189. }
  190. .ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon:before {
  191. content: "";
  192. width: 9px;
  193. height: 2px;
  194. display: inline-block;
  195. background-color: #eee;
  196. vertical-align: middle
  197. }
  198. .ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon {
  199. line-height: 14px
  200. }
  201. .ew-tree-table .layui-table td[data-edit] {
  202. cursor: text
  203. }
  204. .ew-tree-table .ew-tree-table-edit {
  205. position: absolute;
  206. left: 0;
  207. top: 0;
  208. width: 100%;
  209. height: 100%;
  210. border-radius: 0;
  211. box-shadow: 1px 1px 20px rgba(0, 0, 0, .15)
  212. }
  213. .ew-tree-table .ew-tree-table-edit:focus {
  214. border-color: #5fb878 !important
  215. }
  216. .ew-tree-table .ew-tree-table-edit.layui-form-danger {
  217. border-color: #ff5722 !important
  218. }
  219. .ew-tree-table td[data-type="numbers"] {
  220. padding-left: 0;
  221. padding-right: 0;
  222. text-align: center
  223. }
  224. .ew-tree-table tr.ew-tree-table-filter-hide {
  225. display: none !important
  226. }