吴学文
2019-07-17 71bc98161c605c585fb9fd62ae84a735a3650e8b
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
209
210
211
212
/**
    入驻小区
**/
(function(vc){
    vc.extends({
        data:{
            hireParkingSpace:{
                ownerId:'',
                carNum:'',
                carBrand:'',
                carType:'',
                carColor:'',
                carRemark:"",
                cycles:"",
                psId:'',
                typeCd:'',
                additionalAmount:'0.00',
                receivableAmount: "0.00",
                receivedAmount:"0.00",
                sellOrHire:"H",
                ownerInfo:{
                    ownerId:"",
                    name:"",
                    age:"",
                    sex:"",
                    userName:"",
                    remark:"",
                    link:"",
                },
            }
        },
        _initMethod:function(){
 
        },
        watch:{
                    "hireParkingSpace.cycles":{//深度监听,可监听到对象、数组的变化
                        handler(val, oldVal){
                            vc.component.computeReceivableAmount(val);
                        },
                        deep:true
                    }
        },
        _initEvent:function(){
            vc.on('hireParkingSpace','notify',function(_param){
                  vc.copyObject(_param,vc.component.hireParkingSpace);
                  vc.copyObject(_param,vc.component.hireParkingSpace.ownerInfo);
 
 
                  if(_param.hasOwnProperty("typeCd")){
                        vc.component._loadFireParkingSpaceFee();
                  }
 
            });
        },
        methods:{
            sellCarValidate:function(){
                        return vc.validate.validate({
                            hireParkingSpace:vc.component.hireParkingSpace
                        },{
                            'hireParkingSpace.ownerId':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"未选择业主"
                                }
                            ],
                            'hireParkingSpace.psId':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"未选择停车位"
                                }
                            ],
                            'hireParkingSpace.carNum':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"车牌号不能为空"
                                },
                                {
                                    limit:"maxin",
                                    param:"2,12",
                                    errInfo:"车牌号不正确"
                                }
                            ],
                            'hireParkingSpace.carBrand':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"车品牌不能为空"
                                },
                                {
                                    limit:"maxLength",
                                    param:"50",
                                    errInfo:"车品牌超出限制"
                                }
                            ],
                            'hireParkingSpace.carType':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"车类型不能为空"
                                }
                            ],
                            'hireParkingSpace.carColor':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"车颜色不能为空"
                                },
                                {
                                    limit:"maxLength",
                                    param:"12",
                                    errInfo:"车颜色超出限制"
                                }
                            ],
                            'hireParkingSpace.cycles':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"缴费周期不能为空"
                                }
                            ],
                            'hireParkingSpace.receivedAmount':[
                                {
                                    limit:"required",
                                    param:"",
                                    errInfo:"实收金额不能为空"
                                },
                                {
                                    limit:"money",
                                    param:"",
                                    errInfo:"实收金额格式错误,如3.00"
                                }
                            ]
                        });
             },
 
            doHireParkingSpace:function(){
                //
                if(!vc.component.sellCarValidate()){
                    vc.message(vc.validate.errInfo);
                    return ;
                }
                //改remark
                vc.component.hireParkingSpace.remark = vc.component.hireParkingSpace.carRemark;
 
                vc.component.hireParkingSpace.communityId=vc.getCurrentCommunity().communityId;
            vc.http.post(
                    'hireParkingSpace',
                    'sell',
                    JSON.stringify(vc.component.hireParkingSpace),
                    {
                        emulateJSON:true
                     },
                     function(json,res){
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        if(res.status == 200){
                            //关闭model
                            vc.jumpToPage("/flow/ownerParkingSpaceFlow?" + vc.objToGetParam(vc.component.hireParkingSpace.ownerInfo));
                            return ;
                        }
                        vc.message(json);
                     },
                     function(errInfo,error){
                        console.log('请求失败处理');
 
                        vc.message(errInfo);
                     });
 
            },
            _loadFireParkingSpaceFee:function(){
                //
                var param = {
                        params:{
                            communityId:vc.getCurrentCommunity().communityId,
                            typeCd:vc.component.hireParkingSpace.typeCd
                        }
                    };
                    vc.http.get(
                        'hireParkingSpace',
                        'loadSellParkingSpaceConfigData',
                         param,
                         function(json,res){
                            //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                            if(res.status == 200){
                                //关闭model
                                var configFee = JSON.parse(json);
                                vc.component.hireParkingSpace.additionalAmount = configFee.additionalAmount;
                                //重新算费
                                vc.component.computeReceivableAmount(vc.component.hireParkingSpace.cycles);
                                return ;
                            }
                            vc.message(json);
                         },
                         function(errInfo,error){
                            console.log('请求失败处理');
 
                            vc.message(errInfo);
                         });
 
            },
            computeReceivableAmount:function(_cycles){
                        if(_cycles == null || _cycles == "" || _cycles == undefined){
                            _cycles = "0.00";
                        }
                        vc.component.hireParkingSpace.receivableAmount = (parseFloat(vc.component.hireParkingSpace.additionalAmount) * parseFloat(_cycles)).toFixed(2);
                        vc.component.hireParkingSpace.receivedAmount = vc.component.hireParkingSpace.receivableAmount;
            }
        }
    });
})(window.vc);