Explorar el Código

优化打开地址选择器

suntg hace 8 años
padre
commit
01873dc430

+ 31 - 27
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_deliveryRule_add_ctrl.js

@@ -121,8 +121,6 @@ define([ 'app/app' ], function(app) {
 
         };
 
-
-
         $scope.addQtyFare = function (data) {
             var fare = {
                 start : data.end,
@@ -299,17 +297,13 @@ define([ 'app/app' ], function(app) {
         };
 
         $scope.containsArea = function (value) {
-            var k = 1;
+            var k = false;
             angular.forEach($scope.qtyAreaArray, function (item) {
                 if (value == item){
-                    k = 0;
+                    k = true;
                 }
             });
-            if (k == 1){
-                return false;
-            }else {
-                return true;
-            }
+            return k;
         };
 
         /**
@@ -323,8 +317,6 @@ define([ 'app/app' ], function(app) {
                 angular.forEach(item, function (v) {
                     arr.push({
                         label: v
-                        //TODO 给已选的Checked设为true
-                        // checked: $scope.containsArea(v)
                     })
                 })
             } else {
@@ -334,8 +326,6 @@ define([ 'app/app' ], function(app) {
                         items: convert(v),
                         selectedNum : 0,
                         folded: true
-                        //TODO 给已选的Checked设为true
-                        // checked: $scope.containsArea(k)
                     })
                 })
             }
@@ -344,26 +334,40 @@ define([ 'app/app' ], function(app) {
         // 选择地区
         $scope.chooseAddress = function () {
             $scope.chooseBox = true;
-            function getData() {
-                $scope.tree = new TreeData($scope.cityData);
-                // $scope.tree._updateParentsCheck($scope.tree.$data);
-                // $http.get('static/js/prod/data/city.json').success(function (data) {
-                //     // console.log(convert(data));
-                //     $scope.tree = new TreeData(convert(data));
-                // }).error(function (res) {
-                //     console.log(res);
-                // });
-                //TODO 初始化树对象
-                $scope.tree.initTreeData();
-            }
-            getData();
+            $scope.tree || ($scope.tree = new TreeData($scope.cityData));
         }
     }]);
     // 地区选择
     app.register.factory('TreeData', function(){
-        return function (tree) {
+        return function (tree, initData) {
             var me = this;
             me.$data = tree;
+            if(initData) {
+                angular.forEach(initData, function (v) {
+                    var p = {};
+                    for(var i in me.$data) {
+                        var value = me.$data[i];
+                        if(value.label == v.province) p = value; break;
+                    }
+                    p.checked = true;
+                    if(v.city) {
+                        p.semiChecked = true;
+                        var c = {};
+                        for(var i in p.items) {
+                            var value = me.$data[i];
+                            if(value.label == v.city) v = value; break;
+                        }
+                        c.checked = true;
+                        if(v.area) {
+                            c.semiChecked = true;
+                            for(var i in c.items) {
+                                var value = me.$data[i];
+                                if(value == v.area) value.checked = true; break;
+                            }
+                        }
+                    }
+                })
+            }
 
             /**
              * 折叠或展开文件夹