datalist.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-page">
  5. {eq name="is_area" value="0"}
  6. <div class="gg-form-bar border" style="padding-bottom:12px;">
  7. <span class="red">全国城市数据还未导入,请点击按钮导入</span> <button class="layui-btn layui-btn-sm import-area">导入省市区数据</button>
  8. </div>
  9. {else/}
  10. <div class="gg-form-bar border-t border-x" style="padding-bottom:0;">
  11. <div class="layui-input-inline" style="width: 120px;"><h3>全国省市区</h3></div>
  12. <div class="layui-input-inline" style="width: 360px;">
  13. <div class="layui-btn-group" >
  14. <a href="/home/api/areaJson?type=province" class="layui-btn layui-bg-blue" target="_blank">导出省</a>
  15. <a href="/home/api/areaJson?type=city" class="layui-btn layui-bg-blue" target="_blank">导出市</a>
  16. <a href="/home/api/areaJson?type=district" class="layui-btn layui-bg-blue" target="_blank">导出区</a>
  17. <a href="/home/api/areaJson?type=all" class="layui-btn layui-bg-blue" target="_blank">导出树形省市区</a>
  18. </div>
  19. </div>
  20. <div class="layui-input-inline layui-form" id="areaSelect" style="margin:0">
  21. <div class="layui-input-inline" style="width: 200px;">
  22. <select name="province" class="province-select" data-value="440000" lay-filter="province-1">
  23. <option value="">请选择省</option>
  24. </select>
  25. </div>
  26. <div class="layui-input-inline" style="width: 200px;">
  27. <select name="city" class="city-select" data-value="440100" lay-filter="city-1">
  28. <option value="">请选择市</option>
  29. </select>
  30. </div>
  31. <div class="layui-input-inline" style="width: 200px;">
  32. <select name="district" class="district-select" data-value="440106" lay-filter="county-1">
  33. <option value="">请选择区</option>
  34. </select>
  35. </div>
  36. </div>
  37. </div>
  38. <div>
  39. <table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
  40. </div>
  41. {/eq}
  42. </div>
  43. {/block}
  44. <!-- /主体 -->
  45. <!-- 脚本 -->
  46. {block name="script"}
  47. <script>
  48. const moduleInit = ['tool','areaSelect'];
  49. function gouguInit() {
  50. var treeTable = layui.treeTable, tool = layui.tool,areaSelect = layui.areaSelect;
  51. areaSelect.render({
  52. elem: '#areaSelect',
  53. change: function (res) {
  54. //选择结果
  55. console.log(res);
  56. }
  57. });
  58. layui.trees = treeTable.render({
  59. elem: '#treeTable'
  60. ,url: "/home/area/datalist"
  61. ,tree: { // treeTable 特定属性集
  62. customName: {name:'name'},
  63. data: {},
  64. view: {showIcon:false},
  65. async: {},
  66. callback: {}
  67. }
  68. , cellMinWidth: 80
  69. , cols: [[
  70. { field: 'id', width: 80, title: 'ID号', align: 'center' }
  71. , { field: 'sort', width: 60, title: '排序', align: 'center' }
  72. , { field: 'name', width: 200, title: '名称' }
  73. , { field: 'pid', title: '父ID', width: 80, align: 'center' }
  74. , { field: 'shortname', width: 100, title: '简称' }
  75. , { field: 'longitude', title: '经度' }
  76. , { field: 'latitude', title: '纬度' }
  77. , { field: 'level', title: '级别', width: 80, align: 'center'}
  78. , {
  79. field: 'status', width: 100, title: '是否开启', align: 'center', templet: function (d) {
  80. var html = '<span style="color:#fbbc05">禁用</span>';
  81. if (d.status == '1') {
  82. html = '<span style="color:#12bb37">开启</span>';
  83. }
  84. return html;
  85. }
  86. }
  87. , {
  88. width: 188, title: '操作', align: 'center'
  89. , templet: function (d) {
  90. var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="add">添加子城市</button><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</button>';
  91. if(d.status==0){
  92. html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="add">添加子城市</button><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-xs" lay-event="recovery">启用</button>';
  93. }
  94. return html;
  95. }
  96. }
  97. ]]
  98. , page: false
  99. });
  100. //表头工具栏事件
  101. $('.add-area').on('click', function () {
  102. tool.side("/home/area/add");
  103. return;
  104. });
  105. //操作按钮
  106. treeTable.on('tool(treeTable)', function (obj) {
  107. console.log(obj);
  108. if (obj.event === 'add') {
  109. tool.side('/home/area/add?pid=' + obj.data.id);
  110. return;
  111. }
  112. if (obj.event === 'edit') {
  113. tool.side('/home/area/add?id=' + obj.data.id);
  114. return;
  115. }
  116. if (obj.event === 'disable') {
  117. layer.confirm('确定要禁用吗?', { icon: 3, title: '提示' }, function (index) {
  118. let callback = function (e) {
  119. layer.msg(e.msg);
  120. if (e.code == 0) {
  121. location.reload();
  122. }
  123. }
  124. tool.delete("/home/area/set", { id: obj.data.id,status:0}, callback);
  125. layer.close(index);
  126. });
  127. }
  128. if (obj.event === 'recovery') {
  129. layer.confirm('确定要禁用吗?', { icon: 3, title: '提示' }, function (index) {
  130. let callback = function (e) {
  131. layer.msg(e.msg);
  132. if (e.code == 0) {
  133. location.reload();
  134. }
  135. }
  136. tool.delete("/home/area/set", { id: obj.data.id,status:1}, callback);
  137. layer.close(index);
  138. });
  139. }
  140. });
  141. $('.import-area').on('click', function () {
  142. let callback = function (e) {
  143. layer.msg(e.msg);
  144. if (e.code == 0) {
  145. //location.reload();
  146. }
  147. }
  148. tool.post("/home/area/set", {id:0}, callback);
  149. return;
  150. });
  151. }
  152. </script>
  153. {/block}
  154. <!-- /脚本 -->