Procházet zdrojové kódy

物业费 停车费缴费 优化完成

wuxw před 6 roky
rodič
revize
aa69bde332

+ 17 - 1
WebService/src/main/java/com/java110/web/components/owner/ListOwnerComponent.java

@@ -3,6 +3,7 @@ package com.java110.web.components.owner;
 import com.java110.core.context.IPageData;
 import com.java110.web.smo.IFeeServiceSMO;
 import com.java110.web.smo.IOwnerServiceSMO;
+import com.java110.web.smo.IParkingSpaceServiceSMO;
 import com.java110.web.smo.IRoomServiceSMO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -20,6 +21,9 @@ public class ListOwnerComponent {
     @Autowired
     private IRoomServiceSMO roomServiceSMOImpl;
 
+    @Autowired
+    private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl;
+
     /**
      * 查询小区楼信息
      *
@@ -31,10 +35,14 @@ public class ListOwnerComponent {
         return ownerServiceSMOImpl.listOwner(pd);
     }
 
-    public ResponseEntity<String> getRooms(IPageData pd){
+    public ResponseEntity<String> getRooms(IPageData pd) {
         return roomServiceSMOImpl.listRoomByOwner(pd);
     }
 
+    public ResponseEntity<String> getParkingSpace(IPageData pd) {
+        return parkingSpaceServiceSMOImpl.listParkingSpaceByOwner(pd);
+    }
+
 
     public IOwnerServiceSMO getOwnerServiceSMOImpl() {
         return ownerServiceSMOImpl;
@@ -51,4 +59,12 @@ public class ListOwnerComponent {
     public void setRoomServiceSMOImpl(IRoomServiceSMO roomServiceSMOImpl) {
         this.roomServiceSMOImpl = roomServiceSMOImpl;
     }
+
+    public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() {
+        return parkingSpaceServiceSMOImpl;
+    }
+
+    public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) {
+        this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl;
+    }
 }

+ 10 - 26
WebService/src/main/resources/components/feePackage/view-main-parkingSpace-fee/viewMainParkingSpaceFee.html

@@ -4,12 +4,16 @@
             <div class="ibox-title">
                 <h5>{{mainParkingSpaceFeeInfo.feeName}}信息</h5>
                 <div class="ibox-tools" style="top:10px;">
-                    <button type="button" class="btn btn-primary btn-sm" v-on:click="openSearchParkingSpaceModel()">
-                        <i class="glyphicon glyphicon-search"></i> 选择停车位</button>
+                    <!--<button type="button" class="btn btn-primary btn-sm" v-on:click="openSearchParkingSpaceModel()">
+                        <i class="glyphicon glyphicon-search"></i> 选择停车位</button>-->
                     <button type="button" class="btn btn-primary btn-sm"
                             v-if="mainParkingSpaceFeeInfo.feeId != null && mainParkingSpaceFeeInfo.feeId != '' &&  mainParkingSpaceFeeInfo.amount == '-1.00'"
-                            style="margin-left:10px" v-on:click="openPayModel()">
+                             v-on:click="openPayModel()">
                         <i class="glyphicon glyphicon-plus" ></i> 缴费</button>
+
+                    <button type="button" class="btn btn-primary btn-sm"
+                            style="margin-left:10px" v-on:click="_openCallBackOwner()">
+                        返回</button>
                 </div>
             </div>
             <div class="ibox-content">
@@ -26,33 +30,13 @@
                             <label class="">{{mainParkingSpaceFeeInfo.num}}</label>
                         </div>
                     </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-form-label" >车位类型:</label>
-                            <label class="">{{mainParkingSpaceFeeInfo.typeCd}}</label>
-                        </div>
-                    </div>
-
-                </div>
-                <div class="row">
                     <div class="col-sm-4">
                         <div class="form-group">
                             <label class="col-form-label" >车牌号:</label>
                             <label class="">{{mainParkingSpaceFeeInfo.carNum}}</label>
                         </div>
                     </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-form-label" >车品牌:</label>
-                            <label class="">{{mainParkingSpaceFeeInfo.carBrand}}</label>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-form-label">车类型:</label>
-                            <label class="">{{mainParkingSpaceFeeInfo.carType}}</label>
-                        </div>
-                    </div>
+
                 </div>
                 <div class="row">
                     <div class="col-sm-4">
@@ -78,11 +62,11 @@
             </div>
         </div>
     </div>
-    <vc:create name="searchParkingSpace"
+   <!-- <vc:create name="searchParkingSpace"
                emitChooseParkingSpace="viewMainParkingSpaceFee"
                emitLoadData="propertyFee"
                parkingSpaceFlag="SH"
-    ></vc:create>
+    ></vc:create>-->
     <vc:create name="propertyPay"
                emitReloadFee="viewMainParkingSpaceFee">
 

+ 13 - 0
WebService/src/main/resources/components/feePackage/view-main-parkingSpace-fee/viewMainParkingSpaceFee.js

@@ -25,6 +25,16 @@
             }
         },
         _initMethod:function(){
+             //加载 业主信息
+            var _ownerId = vc.getParam('ownerId')
+            var _psId = vc.getParam('psId')
+
+            if(vc.notNull(_psId)){
+                vc.component.loadMainParkingSpaceFeeInfo({
+                    psId:_psId,
+                    ownerId:_ownerId,
+                });
+            }
 
         },
         _initEvent:function(){
@@ -76,6 +86,9 @@
                                 console.log('请求失败处理');
                              }
                            );
+            },
+            _openCallBackOwner:function(){
+                  vc.jumpToPage("/flow/ownerFlow");
             }
 
         }

+ 10 - 3
WebService/src/main/resources/components/ownerPackage/list-owner/listOwner.html

@@ -100,7 +100,7 @@
                                 </div>-->
                                 <div class="btn-group">
                                     <button class="btn-white btn btn-xs dropdown-toggle" data-toggle="dropdown"
-                                            aria-haspopup="true" aria-expanded="false">变更业主
+                                            aria-haspopup="true" aria-expanded="false">变更
                                     </button>
 
 
@@ -128,10 +128,10 @@
                                         </p>
                                         <p style="margin:10px 0;">
                                             <a  href="#"
-                                                v-on:click="_openPayPropertyFee(owner)">物业费</a>
+                                                v-on:click="_openPayPropertyFee(owner)">物业费</a>
                                             <span >|</span>
                                             <a  href="#"
-                                                v-on:click="_openSellParkingSpace(owner)">缴停车费</a>
+                                                v-on:click="_openPayParkingSpaceFee(owner)">停车费用</a>
                                         </p>
                                     </div>
                                 </div>
@@ -180,4 +180,11 @@
         showSearchCondition="false"
         ></vc:create>
 
+    <vc:create name="searchParkingSpace"
+               emitChooseParkingSpace="listOwner"
+               emitLoadData="listOwner"
+               parkingSpaceFlag="SH"
+               showSearchCondition="false"
+    ></vc:create>
+
 </div>

+ 33 - 0
WebService/src/main/resources/components/ownerPackage/list-owner/listOwner.js

@@ -36,6 +36,10 @@
             vc.on('listOwner','chooseRoom',function(_room){
                  vc.jumpToPage("/flow/propertyFeeFlow?ownerId="+vc.component.listOwnerInfo._currentOwnerId+"&roomId="+_room.roomId);
             });
+
+            vc.on('listOwner','chooseParkingSpace',function(_parkingSpace){
+                 vc.jumpToPage("/flow/parkingSpaceFeeFlow?ownerId="+vc.component.listOwnerInfo._currentOwnerId+"&psId="+_parkingSpace.psId);
+            });
         },
         methods:{
             _listOwnerData:function(_page,_row){
@@ -124,6 +128,35 @@
                                 console.log('请求失败处理');
                              }
                            );
+            },
+            _openPayParkingSpaceFee:function(_owner){
+                //查看 业主是否有多套停车位,如果有多套停车位,则提示对话框选择,只有一套停车位则直接跳转至交费页面缴费
+
+                vc.component.listOwnerInfo._currentOwnerId = _owner.ownerId; // 暂存如果有多个停车位是回调回来时 ownerId 会丢掉
+                var param = {
+                    params:{
+                        communityId:vc.getCurrentCommunity().communityId,
+                        ownerId:_owner.ownerId
+                    }
+                }
+               vc.http.get('listOwner',
+                            'getParkingSpace',
+                             param,
+                             function(json,res){
+                                var listParkingSpaceData =JSON.parse(json);
+                                var parkingSpaces = listParkingSpaceData.parkingSpaces;
+                                if(parkingSpaces.length == 1){
+                                      vc.jumpToPage("/flow/parkingSpaceFeeFlow?ownerId="+_owner.ownerId+"&psId="+parkingSpaces[0].psId);
+                                }else if(parkingSpaces.length == 0){
+                                    vc.message("当前业主未查询到车位信息");
+                                }else{
+
+                                    vc.emit('searchParkingSpace','showOwnerParkingSpaces',parkingSpaces);
+                                }
+                             },function(errInfo,error){
+                                console.log('请求失败处理');
+                             }
+                           );
             }
         }
     })

+ 1 - 1
WebService/src/main/resources/components/parkingSpacePackage/search-parkingSpace/searchParkingSpace.html

@@ -11,7 +11,7 @@
                 <div class=" row">
                     <div class="col-lg-12">
                         <div class="ibox ">
-                            <div class="row">
+                            <div class="row" v-if="searchParkingSpaceInfo.showSearchCondition == 'true'">
 
                                 <div class="col-sm-6 m-b-xs">
                                     <div class="input-group" v-if="searchParkingSpaceInfo.psFlag == 'SH'">

+ 9 - 2
WebService/src/main/resources/components/parkingSpacePackage/search-parkingSpace/searchParkingSpace.js

@@ -3,7 +3,8 @@
         propTypes: {
            emitChooseParkingSpace:vc.propTypes.string,
            emitLoadData:vc.propTypes.string,
-           parkingSpaceFlag:vc.propTypes.string // 如果 S 表示查询售卖停车位 H 出租停车位 SH 查询出租和出售车位 F 表示查询未售卖未出租停车位
+           parkingSpaceFlag:vc.propTypes.string, // 如果 S 表示查询售卖停车位 H 出租停车位 SH 查询出租和出售车位 F 表示查询未售卖未出租停车位
+           showSearchCondition:vc.propTypes.string='true'
         },
         data:{
             searchParkingSpaceInfo:{
@@ -12,7 +13,8 @@
                 records:1,
                 num:'',
                 carNum:'',
-                psFlag:$props.parkingSpaceFlag
+                psFlag:$props.parkingSpaceFlag,
+                showSearchCondition:$props.showSearchCondition
             }
         },
         _initMethod:function(){
@@ -25,6 +27,11 @@
                 vc.component._refreshSearchParkingSpaceData();
                 vc.component._loadAllParkingSpaceInfo(1,10);
             });
+
+            vc.on('searchParkingSpace','showOwnerParkingSpaces',function(_parkingSpaces){
+                $('#searchParkingSpaceModel').modal('show');
+                vc.component.searchParkingSpaceInfo.parkingSpaces=_parkingSpaces;
+            });
         },
         methods:{
             _loadAllParkingSpaceInfo:function(_page,_row){

+ 2 - 2
WebService/src/main/resources/components/propertyPackage/view-main-fee/viewMainFee.html

@@ -9,11 +9,11 @@
                         <i class="glyphicon glyphicon-search"></i> 选择房屋</button>-->
                     <button type="button" class="btn btn-primary btn-sm"
                             v-if="mainFeeInfo.feeId != null && mainFeeInfo.feeId != ''"
-                            style="margin-left:10px" v-on:click="openPayModel()">
+                            v-on:click="openPayModel()">
                         <i class="glyphicon glyphicon-plus" ></i> 缴费</button>
 
                     <button type="button" class="btn btn-primary btn-sm"
-                            v-on:click="_openCallBackOwner()">
+                            style="margin-left:10px" v-on:click="_openCallBackOwner()">
                         返回</button>
                 </div>
             </div>

+ 1 - 1
WebService/src/main/resources/views/parkingSpaceFeeFlow.html

@@ -5,7 +5,7 @@
       xmlns:vc="http://www.thymeleaf.org">
 <head>
     <meta charset="UTF-8"/>
-    <title>物业费 |java110</title>
+    <title>停车费|java110</title>
     <vc:create name="commonTop"></vc:create>
     <link rel="stylesheet" href="/css/bootstrap/bootstrap-datetimepicker.min.css"/>
 </head>

+ 39 - 25
java110-bean/src/main/java/com/java110/dto/ParkingSpaceDto.java

@@ -14,18 +14,17 @@ import java.util.Date;
 public class ParkingSpaceDto extends PageDto implements Serializable {
 
     private String area;
-private String typeCd;
-private String num;
-private String psId;
-private String remark;
-private String state;
-private String communityId;
-private String userId;
+    private String typeCd;
+    private String num;
+    private String psId;
+    private String remark;
+    private String state;
+    private String communityId;
+    private String userId;
 
-private String[] psIds;
-
-private String[] states;
+    private String[] psIds;
 
+    private String[] states;
 
 
     private Date createTime;
@@ -36,49 +35,64 @@ private String[] states;
     public String getArea() {
         return area;
     }
-public void setArea(String area) {
+
+    public void setArea(String area) {
         this.area = area;
     }
-public String getTypeCd() {
+
+    public String getTypeCd() {
         return typeCd;
     }
-public void setTypeCd(String typeCd) {
+
+    public void setTypeCd(String typeCd) {
         this.typeCd = typeCd;
     }
-public String getNum() {
+
+    public String getNum() {
         return num;
     }
-public void setNum(String num) {
+
+    public void setNum(String num) {
         this.num = num;
     }
-public String getPsId() {
+
+    public String getPsId() {
         return psId;
     }
-public void setPsId(String psId) {
+
+    public void setPsId(String psId) {
         this.psId = psId;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
-public String getUserId() {
+
+    public String getUserId() {
         return userId;
     }
-public void setUserId(String userId) {
+
+    public void setUserId(String userId) {
         this.userId = userId;
     }