地址管理初始化
							parent
							
								
									737ec32bea
								
							
						
					
					
						commit
						bc0d349093
					
				|  | @ -0,0 +1,39 @@ | ||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | namespace app\controller\manager; | ||||||
|  | 
 | ||||||
|  | use app\repository\CmsRepository; | ||||||
|  | 
 | ||||||
|  | use app\model\Area as AreaModel; | ||||||
|  | 
 | ||||||
|  | use think\response\Json; | ||||||
|  | use think\response\View; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 地域管理 | ||||||
|  |  * | ||||||
|  |  * Class Menu | ||||||
|  |  * @package app\controller\manager | ||||||
|  |  */ | ||||||
|  | class Area extends Base | ||||||
|  | { | ||||||
|  |     /** | ||||||
|  |      * 列表 | ||||||
|  |      * | ||||||
|  |      * @return View|Json | ||||||
|  |      */ | ||||||
|  |     public function index() | ||||||
|  |     { | ||||||
|  |         if ($this->request->isPost()) { | ||||||
|  |             $menus = AreaModel::getAllList(); | ||||||
|  |             $res = [ | ||||||
|  |                 'code'  => 0, | ||||||
|  |                 'msg'   => 'success', | ||||||
|  |                 'count' => $menus->count(), | ||||||
|  |                 'data'  => $menus->toArray(), | ||||||
|  |             ]; | ||||||
|  |             return json($res); | ||||||
|  |         } | ||||||
|  |         return $this->view(); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -3,6 +3,8 @@ | ||||||
| namespace app\model; | namespace app\model; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | use think\Collection; | ||||||
|  | 
 | ||||||
| class Area extends Base | class Area extends Base | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
|  | @ -17,9 +19,16 @@ class Area extends Base | ||||||
|      */ |      */ | ||||||
|     public static function getByPCode($PCode,bool $filter = false) |     public static function getByPCode($PCode,bool $filter = false) | ||||||
|     { |     { | ||||||
|         return self::where("pcode",$PCode ) ->when($filter,function ($q){ |         return self::where("pcode",$PCode) ->when($filter,function ($q){ | ||||||
|             $q->where("status",self::COMMON_ON); |             $q->where("status",self::COMMON_ON); | ||||||
|         })->order("id asc")->select(); |         })->order("id asc")->select(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     // 获取列表
 | ||||||
|  |     public static function getAllList(): Collection | ||||||
|  |     { | ||||||
|  |         return self::order('id', 'asc') | ||||||
|  |             ->select(); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,110 @@ | ||||||
|  | layui.use(['laytpl', 'treeTable', 'jquery', 'iconPickerFa', 'form', 'miniTab', 'xmSelect'], function () { | ||||||
|  |     let $ = layui.jquery, | ||||||
|  |         form = layui.form, | ||||||
|  |         treeTable = layui.treeTable, | ||||||
|  |         iconPickerFa = layui.iconPickerFa, | ||||||
|  |         layer = layui.layer, | ||||||
|  |         miniTab = layui.miniTab, | ||||||
|  |         xmSelect = layui.xmSelect; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     /**** index begin ***/ | ||||||
|  |     //index页面
 | ||||||
|  |     if ($('.location-index-page').length > 0) { | ||||||
|  |         miniTab.listen(); | ||||||
|  | 
 | ||||||
|  |         // 渲染表格
 | ||||||
|  |         let listUrl = $('#menu-table').data('url'); | ||||||
|  |         let insTb = treeTable.render({ | ||||||
|  |             elem: '#menu-table', | ||||||
|  |             toolbar: '#toolbar-tpl', | ||||||
|  |             defaultToolbar: [], | ||||||
|  |             method: 'POST', | ||||||
|  |             url: listUrl, | ||||||
|  |             page: false, | ||||||
|  |             tree: { | ||||||
|  |                 iconIndex: 1,           // 折叠图标显示在第几列
 | ||||||
|  |                 isPidData: true,        // 是否是id、pid形式数据
 | ||||||
|  |                 idName: 'code',  // id字段名称
 | ||||||
|  |                 pidName: 'pcode',    // pid字段名称
 | ||||||
|  |                 Spid: '86'     // pid字段名称
 | ||||||
|  |             }, | ||||||
|  |             cols: [[ | ||||||
|  |                 {type: 'checkbox'}, | ||||||
|  |                 {field: 'title', title: '菜单名称', minWidth: 150, singleLine: true}, | ||||||
|  |                 {title: '图标', width: 50, templet: '<div><i class="fa {{ d.icon }}"></i></div>',align: 'center'}, | ||||||
|  |                 {field: 'name', title: '路由标识'}, | ||||||
|  | 
 | ||||||
|  |                 {templet: '#menu-operate', minWidth: 250, fixed: 'right', align: 'center', title: '操作'} | ||||||
|  |             ]], | ||||||
|  |             done: function () { | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         //监听工具条 注意区别toolbar和tool  toolbar是表头上的工具条 tool是行中的工具条
 | ||||||
|  |         treeTable.on('toolbar(menu-table)', function (obj) { | ||||||
|  |             let layEvent = obj.event; | ||||||
|  | 
 | ||||||
|  |             //全部展开
 | ||||||
|  |             if (layEvent === 'expand') { | ||||||
|  |                 insTb.expandAll(); | ||||||
|  |                 return false; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             //全部折叠
 | ||||||
|  |             if (layEvent === 'fold') { | ||||||
|  |                 insTb.foldAll(); | ||||||
|  |                 return false; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             //删除
 | ||||||
|  |             if (layEvent === 'del') { | ||||||
|  |                 let selected = insTb.checkStatus(false); | ||||||
|  |                 let ids = []; | ||||||
|  |                 let url = $(obj.elem.context).data('href') | ||||||
|  |                 $.each(selected, function (index, val) { | ||||||
|  |                     ids.push(val.id); | ||||||
|  |                 }) | ||||||
|  | 
 | ||||||
|  |                 del(url, ids); | ||||||
|  |                 return false; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         //刷新
 | ||||||
|  |         $('body').on('click', '[data-table-refresh]', function () { | ||||||
|  |             insTb.refresh(); | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |     /*** index end ***/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     iconPickerFa.render({ | ||||||
|  |         // 选择器,推荐使用input
 | ||||||
|  |         elem: '.iconPicker', | ||||||
|  |         // fa 图标接口
 | ||||||
|  |         url: "/static/layuimini/lib/font-awesome-4.7.0/less/variables.less", | ||||||
|  |         // 是否开启搜索:true/false,默认true
 | ||||||
|  |         search: true, | ||||||
|  |         // 是否开启分页:true/false,默认true
 | ||||||
|  |         page: true, | ||||||
|  |         // 每页显示数量,默认12
 | ||||||
|  |         limit: 12, | ||||||
|  |         // 点击回调
 | ||||||
|  |         click: function (data) { | ||||||
|  |             // console.log(data);
 | ||||||
|  |         }, | ||||||
|  |         // 渲染成功后的回调
 | ||||||
|  |         success: function (d) { | ||||||
|  |             // console.log(d);
 | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | {layout name="manager/layout" /} | ||||||
|  | 
 | ||||||
|  | <div class="layuimini-container location-index-page"> | ||||||
|  |     <div class="layuimini-main"> | ||||||
|  |         <div> | ||||||
|  |             <table id="menu-table" class="layui-table" data-url="/manager/area" lay-filter="menu-table"></table> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <!-- 操作列 --> | ||||||
|  | <script type="text/html" id="menu-operate"> | ||||||
|  | 
 | ||||||
|  |     <a class="layui-btn layui-btn-danger layui-btn-xs" data-href="/manager/menu/status.html" lay-event="status">关闭</a> | ||||||
|  |     <a class="layui-btn layui-btn-danger layui-btn-xs" data-href="/manager/menu/status.html" lay-event="status">开启</a> | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <!-- toolbar --> | ||||||
|  | <script type="text/html" id="toolbar-tpl"> | ||||||
|  |     <a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh><i class="fa fa-refresh"></i></a> | ||||||
|  |     <a class="layui-btn layui-btn-warm layui-btn-sm" lay-event="expand">全部展开</a> | ||||||
|  |     <a class="layui-btn layui-btn-info layui-btn-sm" lay-event="fold">全部折叠</a> | ||||||
|  | </script> | ||||||
|  | <script src="__MANAGER__/js/area.js?v={:mt_rand()}"></script> | ||||||
		Loading…
	
		Reference in New Issue