修改区域管理

This commit is contained in:
Anyon 2020-09-17 18:40:48 +08:00
parent be73c6a7d6
commit 064dbf1e1b
2 changed files with 31 additions and 12 deletions

View File

@ -34,7 +34,7 @@ class TruckService extends Service
public function region($level = 3) public function region($level = 3)
{ {
$items = $this->app->db->name('ShopTruckRegion')->where('level', '<=', $level)->column('id,pid,name', 'id'); $items = $this->app->db->name('ShopTruckRegion')->where('level', '<=', $level)->column('id,pid,name,status', 'id');
return DataExtend::arr2tree($items, 'id', 'pid', 'subs'); return DataExtend::arr2tree($items, 'id', 'pid', 'subs');
} }

View File

@ -5,26 +5,29 @@
<div class="padding-40"> <div class="padding-40">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header">配送区域</div> <div class="layui-card-header">配送区域</div>
<div class="layui-card-body layui-clear"> <div class="layui-card-body">
<a ng-repeat="x in items" ng-bind="x.name" ng-click="SetActiveProvince(x)" <div ng-repeat="x in items" ng-class="{false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
class="layui-btn layui-btn-radius layui-btn-normal margin-left-0 margin-right-5 margin-bottom-5" <label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" type="checkbox" ng-model="x.status"></label>
></a> <span ng-bind="x.name" ng-click="SetActiveProvince(x)"></span>
</div>
</div> </div>
</div> </div>
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><b class="color-green">{{province.name}}</b> 可选区域</div> <div class="layui-card-header"><b class="color-green">{{province.name}}</b> 可选区域</div>
<div class="layui-card-body"> <div class="layui-card-body">
<a ng-repeat="x in province.subs" ng-bind="x.name" ng-click="SetActiveCity(x)" <div ng-repeat="x in province.subs" ng-class="{false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
class="layui-btn layui-btn-radius layui-btn-normal margin-left-0 margin-right-5 margin-bottom-5" <label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" type="checkbox" ng-model="x.status"></label>
></a> <span ng-bind="x.name" ng-click="SetActiveCity(x)"></span>
</div>
</div> </div>
</div> </div>
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><b class="color-green">{{city.name}}</b> 可选区域</div> <div class="layui-card-header"><b class="color-green">{{city.name}}</b> 可选区域</div>
<div class="layui-card-body"> <div class="layui-card-body">
<a ng-repeat="x in city.subs" ng-bind="x.name" <div ng-repeat="x in city.subs" ng-class="{false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
class="layui-btn layui-btn-radius layui-btn-normal margin-left-0 margin-right-5 margin-bottom-5" <label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" type="checkbox" ng-model="x.status"></label>
></a> <span ng-bind="x.name" ng-click="SetActiveCity(x)"></span>
</div>
</div> </div>
</div> </div>
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
@ -41,13 +44,29 @@
require(['angular'], function () { require(['angular'], function () {
var app = angular.module("TruckForm", []).run(callback); var app = angular.module("TruckForm", []).run(callback);
var _data = document.getElementById('RegionData').value || '[]'; var _data = document.getElementById('RegionData').value || '[]';
console.log(_data)
angular.bootstrap(document.getElementById(app.name), [app.name]); angular.bootstrap(document.getElementById(app.name), [app.name]);
function callback($rootScope) { function callback($rootScope) {
$rootScope.items = angular.fromJson(_data); $rootScope.items = angular.fromJson(_data);
$rootScope.items.forEach(function (province) {
province.status = !!province.status;
if (province.subs) province.subs.forEach(function (city) {
city.status = !!city.status;
if (city.subs) city.subs.forEach(function (area) {
area.status = !!area.status;
});
});
});
$rootScope.province = $rootScope.items[0]; $rootScope.province = $rootScope.items[0];
$rootScope.city = $rootScope.province.subs[0]; $rootScope.city = $rootScope.province.subs[0];
$rootScope.SetChangeCity = function (item, status) {
if (item.subs) item.subs.forEach(function (item) {
item.status = status;
if (item.subs) item.subs.forEach(function (item) {
item.status = status;
})
});
};
$rootScope.SetActiveProvince = function (province) { $rootScope.SetActiveProvince = function (province) {
$rootScope.city = province.subs[0]; $rootScope.city = province.subs[0];
$rootScope.province = province; $rootScope.province = province;