截流自动化的商城平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>树形组件</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
  11. </head>
  12. <body>
  13. <div class="layui-card layadmin-header">
  14. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  15. <a lay-href="">主页</a>
  16. <a><cite>组件</cite></a>
  17. <a><cite>树形组件</cite></a>
  18. </div>
  19. </div>
  20. <div class="layui-fluid">
  21. <div class="layui-row layui-col-space15">
  22. <div class="layui-col-md12">
  23. <div class="layui-card">
  24. <div class="layui-card-header">基本演示</div>
  25. <div class="layui-card-body">
  26. <div class="layui-btn-container">
  27. <button type="button" class="layui-btn layui-btn-sm" lay-demo="getChecked">获取选中节点数据</button>
  28. <button type="button" class="layui-btn layui-btn-sm" lay-demo="setChecked">勾选指定节点</button>
  29. <button type="button" class="layui-btn layui-btn-sm" lay-demo="reload">重载实例</button>
  30. </div>
  31. <div id="test-tree-demo1"></div>
  32. </div>
  33. </div>
  34. <div class="layui-card">
  35. <div class="layui-card-header">常规用法</div>
  36. <div class="layui-card-body">
  37. <div id="test-tree-demo2"></div>
  38. </div>
  39. </div>
  40. <div class="layui-card">
  41. <div class="layui-card-header">无连接线风格</div>
  42. <div class="layui-card-body">
  43. <div id="test-tree-demo3"></div>
  44. </div>
  45. </div>
  46. <div class="layui-card">
  47. <div class="layui-card-header">仅节点左侧图标控制收缩</div>
  48. <div class="layui-card-body">
  49. <div id="test-tree-demo4"></div>
  50. </div>
  51. </div>
  52. <div class="layui-card">
  53. <div class="layui-card-header">手风琴模式</div>
  54. <div class="layui-card-body">
  55. <div id="test-tree-demo5"></div>
  56. </div>
  57. </div>
  58. <div class="layui-card">
  59. <div class="layui-card-header">点击节点新窗口跳转</div>
  60. <div class="layui-card-body">
  61. <div id="test-tree-demo6"></div>
  62. </div>
  63. </div>
  64. <div class="layui-card">
  65. <div class="layui-card-header">开启复选框</div>
  66. <div class="layui-card-body">
  67. <div id="test-tree-demo7"></div>
  68. </div>
  69. </div>
  70. <div class="layui-card">
  71. <div class="layui-card-header">开启节点操作图标</div>
  72. <div class="layui-card-body">
  73. <div id="test-tree-demo8"></div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <script src="../../../layuiadmin/layui/layui.js"></script>
  80. <script>
  81. layui.config({
  82. base: '../../../layuiadmin/' //静态资源所在路径
  83. }).extend({
  84. index: 'lib/index' //主入口模块
  85. }).use(['index', 'tree', 'util'], function(){
  86. var tree = layui.tree
  87. ,layer = layui.layer
  88. ,util = layui.util
  89. //模拟数据
  90. ,data = [{
  91. title: '一级1'
  92. ,id: 1
  93. ,field: 'name1'
  94. ,checked: true
  95. ,spread: true
  96. ,children: [{
  97. title: '二级1-1 可允许跳转'
  98. ,id: 3
  99. ,field: 'name11'
  100. ,href: 'https://www.layui.com/'
  101. ,children: [{
  102. title: '三级1-1-3'
  103. ,id: 23
  104. ,field: ''
  105. ,children: [{
  106. title: '四级1-1-3-1'
  107. ,id: 24
  108. ,field: ''
  109. ,children: [{
  110. title: '五级1-1-3-1-1'
  111. ,id: 30
  112. ,field: ''
  113. },{
  114. title: '五级1-1-3-1-2'
  115. ,id: 31
  116. ,field: ''
  117. }]
  118. }]
  119. },{
  120. title: '三级1-1-1'
  121. ,id: 7
  122. ,field: ''
  123. ,children: [{
  124. title: '四级1-1-1-1 可允许跳转'
  125. ,id: 15
  126. ,field: ''
  127. ,href: 'https://www.layui.com/doc/'
  128. }]
  129. },{
  130. title: '三级1-1-2'
  131. ,id: 8
  132. ,field: ''
  133. ,children: [{
  134. title: '四级1-1-2-1'
  135. ,id: 32
  136. ,field: ''
  137. }]
  138. }]
  139. },{
  140. title: '二级1-2'
  141. ,id: 4
  142. ,spread: true
  143. ,children: [{
  144. title: '三级1-2-1'
  145. ,id: 9
  146. ,field: ''
  147. ,disabled: true
  148. },{
  149. title: '三级1-2-2'
  150. ,id: 10
  151. ,field: ''
  152. }]
  153. },{
  154. title: '二级1-3'
  155. ,id: 20
  156. ,field: ''
  157. ,children: [{
  158. title: '三级1-3-1'
  159. ,id: 21
  160. ,field: ''
  161. },{
  162. title: '三级1-3-2'
  163. ,id: 22
  164. ,field: ''
  165. }]
  166. }]
  167. },{
  168. title: '一级2'
  169. ,id: 2
  170. ,field: ''
  171. ,spread: true
  172. ,children: [{
  173. title: '二级2-1'
  174. ,id: 5
  175. ,field: ''
  176. ,spread: true
  177. ,children: [{
  178. title: '三级2-1-1'
  179. ,id: 11
  180. ,field: ''
  181. },{
  182. title: '三级2-1-2'
  183. ,id: 12
  184. ,field: ''
  185. }]
  186. },{
  187. title: '二级2-2'
  188. ,id: 6
  189. ,field: ''
  190. ,children: [{
  191. title: '三级2-2-1'
  192. ,id: 13
  193. ,field: ''
  194. },{
  195. title: '三级2-2-2'
  196. ,id: 14
  197. ,field: ''
  198. ,disabled: true
  199. }]
  200. }]
  201. },{
  202. title: '一级3'
  203. ,id: 16
  204. ,field: ''
  205. ,children: [{
  206. title: '二级3-1'
  207. ,id: 17
  208. ,field: ''
  209. ,fixed: true
  210. ,children: [{
  211. title: '三级3-1-1'
  212. ,id: 18
  213. ,field: ''
  214. },{
  215. title: '三级3-1-2'
  216. ,id: 19
  217. ,field: ''
  218. }]
  219. },{
  220. title: '二级3-2'
  221. ,id: 27
  222. ,field: ''
  223. ,children: [{
  224. title: '三级3-2-1'
  225. ,id: 28
  226. ,field: ''
  227. },{
  228. title: '三级3-2-2'
  229. ,id: 29
  230. ,field: ''
  231. }]
  232. }]
  233. }]
  234. //模拟数据1
  235. ,data1 = [{
  236. title: '江西'
  237. ,id: 1
  238. ,children: [{
  239. title: '南昌'
  240. ,id: 1000
  241. ,children: [{
  242. title: '青山湖区'
  243. ,id: 10001
  244. },{
  245. title: '高新区'
  246. ,id: 10002
  247. }]
  248. },{
  249. title: '九江'
  250. ,id: 1001
  251. },{
  252. title: '赣州'
  253. ,id: 1002
  254. }]
  255. },{
  256. title: '广西'
  257. ,id: 2
  258. ,children: [{
  259. title: '南宁'
  260. ,id: 2000
  261. },{
  262. title: '桂林'
  263. ,id: 2001
  264. }]
  265. },{
  266. title: '陕西'
  267. ,id: 3
  268. ,children: [{
  269. title: '西安'
  270. ,id: 3000
  271. },{
  272. title: '延安'
  273. ,id: 3001
  274. }]
  275. }]
  276. //模拟数据2
  277. ,data2 = [{
  278. title: '早餐'
  279. ,id: 1
  280. ,children: [{
  281. title: '油条'
  282. ,id: 5
  283. },{
  284. title: '包子'
  285. ,id: 6
  286. },{
  287. title: '豆浆'
  288. ,id: 7
  289. }]
  290. },{
  291. title: '午餐'
  292. ,id: 2
  293. ,checked: true
  294. ,children: [{
  295. title: '藜蒿炒腊肉'
  296. ,id: 8
  297. },{
  298. title: '西湖醋鱼'
  299. ,id: 9
  300. },{
  301. title: '小白菜'
  302. ,id: 10
  303. },{
  304. title: '海带排骨汤'
  305. ,id: 11
  306. }]
  307. },{
  308. title: '晚餐'
  309. ,id: 3
  310. ,children: [{
  311. title: '红烧肉'
  312. ,id: 12
  313. ,fixed: true
  314. },{
  315. title: '番茄炒蛋'
  316. ,id: 13
  317. }]
  318. },{
  319. title: '夜宵'
  320. ,id: 4
  321. ,children: [{
  322. title: '小龙虾'
  323. ,id: 14
  324. ,checked: true
  325. },{
  326. title: '香辣蟹'
  327. ,id: 15
  328. ,disabled: true
  329. },{
  330. title: '烤鱿鱼'
  331. ,id: 16
  332. }]
  333. }];
  334. //基本演示
  335. tree.render({
  336. elem: '#test-tree-demo1'
  337. ,data: data
  338. ,showCheckbox: true //是否显示复选框
  339. ,id: 'test-tree-demoId1'
  340. ,isJump: true //是否允许点击节点时弹出新窗口跳转
  341. ,click: function(obj){
  342. var data = obj.data; //获取当前点击的节点数据
  343. layer.msg('状态:'+ obj.state + '<br>节点数据:' + JSON.stringify(data));
  344. }
  345. });
  346. //按钮事件
  347. util.event('lay-demo', {
  348. getChecked: function(othis){
  349. var checkedData = tree.getChecked('test-tree-demoId1'); //获取选中节点的数据
  350. layer.alert(JSON.stringify(checkedData), {shade:0});
  351. console.log(checkedData);
  352. }
  353. ,setChecked: function(){
  354. tree.setChecked('test-tree-demoId1', [12, 16]); //勾选指定节点
  355. }
  356. ,reload: function(){
  357. //重载实例
  358. tree.reload('test-tree-demoId1', {
  359. });
  360. }
  361. });
  362. //常规用法
  363. tree.render({
  364. elem: '#test-tree-demo2' //默认是点击节点可进行收缩
  365. ,data: data1
  366. });
  367. //无连接线风格
  368. tree.render({
  369. elem: '#test-tree-demo3'
  370. ,data: data1
  371. ,showLine: false //是否开启连接线
  372. });
  373. //仅节点左侧图标控制收缩
  374. tree.render({
  375. elem: '#test-tree-demo4'
  376. ,data: data1
  377. ,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
  378. ,click: function(obj){
  379. layer.msg(JSON.stringify(obj.data));
  380. }
  381. });
  382. //手风琴模式
  383. tree.render({
  384. elem: '#test-tree-demo5'
  385. ,data: [{
  386. title: '优秀'
  387. ,children: [{
  388. title: '80 ~ 90'
  389. },{
  390. title: '90 ~ 100'
  391. }]
  392. },{
  393. title: '良好'
  394. ,children: [{
  395. title: '70 ~ 80'
  396. },{
  397. title: '60 ~ 70'
  398. }]
  399. },{
  400. title: '要努力奥'
  401. ,children: [{
  402. title: '0 ~ 60'
  403. }]
  404. }]
  405. ,accordion: true
  406. });
  407. //点击节点新窗口跳转
  408. tree.render({
  409. elem: '#test-tree-demo6'
  410. ,data: data
  411. ,isJump: true //link 为参数匹配
  412. });
  413. //开启复选框
  414. tree.render({
  415. elem: '#test-tree-demo7'
  416. ,data: data2
  417. ,showCheckbox: true
  418. });
  419. //开启节点操作图标
  420. tree.render({
  421. elem: '#test-tree-demo8'
  422. ,data: data1
  423. ,edit: ['add', 'update', 'del'] //操作节点的图标
  424. ,click: function(obj){
  425. layer.msg(JSON.stringify(obj.data));
  426. }
  427. });
  428. });
  429. </script>
  430. </body>
  431. </html>