wuxw
2020-01-14 69e2baf5518079bfc16cfadc2fb29842fb3de85d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
(function (vc) {
 
    vc.extends({
        data: {
            addCommunityInfo: {
                name: '',
                address: '',
                areaAddress:'',
                nearbyLandmarks: '',
                cityCode: '0971',
                mapX: '101.33',
                mapY: '101.33',
 
            },
            areas: [],
            provs: [],
            citys: [],
            selectProv: '',
            selectCity: '',
            selectArea: '',
            allCity: []
        },
        _initMethod: function () {
            vc.component._initArea('101', '0');
        },
        _initEvent: function () {
            vc.on('addCommunity', 'openAddCommunityModal', function () {
                $('#addCommunityModel').modal('show');
            });
        },
        methods: {
            addCommunityValidate() {
                return vc.validate.validate({
                    addCommunityInfo: vc.component.addCommunityInfo
                }, {
                    'addCommunityInfo.name': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "小区名称不能为空"
                        },
                        {
                            limit: "maxin",
                            param: "4,20",
                            errInfo: "小区名称必须在10至20字符之间"
                        },
                    ],
                    'addCommunityInfo.address': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "小区地址不能为空"
                        },
                        {
                            limit: "maxLength",
                            param: "200",
                            errInfo: "小区地址不能大于200个字符"
                        },
                    ],
                    'addCommunityInfo.nearbyLandmarks': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "附近地标不能为空"
                        },
                        {
                            limit: "maxLength",
                            param: "50",
                            errInfo: "小区附近地标不能大于50个字符"
                        },
                    ],
                    'addCommunityInfo.cityCode': [
                        {
                            limit: "maxLength",
                            param: "12",
                            errInfo: "小区城市编码不能大于4个字符"
                        },
                    ],
                    'addCommunityInfo.mapX': [
                        {
                            limit: "maxLength",
                            param: "20",
                            errInfo: "小区城市编码不能大于4个字符"
                        },
                    ],
                    'addCommunityInfo.mapY': [
                        {
                            limit: "maxLength",
                            param: "20",
                            errInfo: "小区城市编码不能大于4个字符"
                        },
                    ],
 
 
                });
            },
            saveCommunityInfo: function () {
                if (!vc.component.addCommunityValidate()) {
                    vc.toast(vc.validate.errInfo);
 
                    return;
                }
 
                //vc.component.addCommunityInfo.communityId = vc.getCurrentCommunity().communityId;
 
                vc.component.addCommunityInfo.address = vc.component.addCommunityInfo.areaAddress+ vc.component.addCommunityInfo.address;
 
 
                vc.http.post(
                    'addCommunity',
                    'save',
                    JSON.stringify(vc.component.addCommunityInfo),
                    {
                        emulateJSON: true
                    },
                    function (json, res) {
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        if (res.status == 200) {
                            //关闭model
                            $('#addCommunityModel').modal('hide');
                            vc.component.clearAddCommunityInfo();
                            vc.emit('communityManage', 'listCommunity', {});
 
                            return;
                        }
                        vc.message(json);
 
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
 
                        vc.message(errInfo);
 
                    });
            },
            clearAddCommunityInfo: function () {
                vc.component.addCommunityInfo = {
                    name: '',
                    address: '',
                    nearbyLandmarks: '',
                    cityCode: '0971',
                    mapX: '101.33',
                    mapY: '101.33',
 
                };
            },
            getProv: function (_prov) {
                vc.component._initArea('202', _prov);
            },
            getCity: function (_city) {
                vc.component._initArea('303',_city);
            },
            getArea:function(_area){
              vc.component.addCommunityInfo.cityCode = _area;
 
                vc.component.addCommunityInfo.areaAddress = '';
                if (vc.component.provs == null || vc.component.provs == undefined) {
                    return;
                }
                vc.component.provs.forEach(function (_param) {
                    if (_param.areaCode == vc.component.selectProv) {
                        vc.component.addCommunityInfo.areaAddress = _param.areaName;
                    }
                });
 
                vc.component.citys.forEach(function (_param) {
                    if (_param.areaCode == vc.component.selectCity) {
                        vc.component.addCommunityInfo.areaAddress += _param.areaName;
                    }
                });
 
                vc.component.areas.forEach(function (_param) {
                    if (_param.areaCode == vc.component.selectArea) {
                        vc.component.addCommunityInfo.areaAddress += _param.areaName;
                    }
                });
            },
            _initArea: function (_areaLevel, _parentAreaCode) { //加载区域
                var _param = {
                    params: {
                        areaLevel: _areaLevel,
                        parentAreaCode: _parentAreaCode
                    }
                };
                vc.http.get('addCommunity', 'getAreas',
                    _param,
                    function (json, res) {
                        if (res.status == 200) {
                            var _tmpAreas = JSON.parse(json);
                            if (_areaLevel == '101') {
                                vc.component.provs = _tmpAreas;
                            } else if (_areaLevel == '202') {
                                vc.component.citys = _tmpAreas;
                            } else {
                                vc.component.areas = _tmpAreas;
                            }
                            return;
                        }
                        //vc.component.$emit('errorInfoEvent',json);
                    }, function (errInfo, error) {
                        console.log('请求失败处理', errInfo, error);
                        vc.toast("查询地区失败");
                    });
            },
        }
    });
 
})(window.vc);