Kaynağa Gözat

优化停车位信息

wuxw 6 yıl önce
ebeveyn
işleme
5a89e575ed
18 değiştirilmiş dosya ile 377 ekleme ve 132 silme
  1. 3 8
      Api/src/main/java/com/java110/api/listener/parkingSpace/EditParkingSpaceListener.java
  2. 1 7
      Api/src/main/java/com/java110/api/listener/parkingSpace/SaveParkingSpaceListener.java
  3. 2 0
      CommunityService/src/main/java/com/java110/community/listener/parkingSpace/AbstractParkingSpaceBusinessServiceDataFlowListener.java
  4. 16 0
      WebService/src/main/java/com/java110/web/components/parkingSpace/AddParkingSpaceComponent.java
  5. 18 0
      WebService/src/main/java/com/java110/web/components/parkingSpace/EditParkingSpaceComponent.java
  6. 32 0
      WebService/src/main/java/com/java110/web/components/parkingSpace/ParkingSpaceSelect2Component.java
  7. 6 6
      WebService/src/main/java/com/java110/web/smo/impl/PackingSpaceServiceSMOImpl.java
  8. 51 52
      WebService/src/main/resources/components/parkingAreaPackage/parkingArea-manage/parkingAreaManage.js
  9. 5 0
      WebService/src/main/resources/components/parkingAreaPackage/parkingArea-select2/parkingAreaSelect2.html
  10. 113 0
      WebService/src/main/resources/components/parkingAreaPackage/parkingArea-select2/parkingAreaSelect2.js
  11. 7 6
      WebService/src/main/resources/components/parkingSpacePackage/add-parking-space/addParkingSpace.html
  12. 22 11
      WebService/src/main/resources/components/parkingSpacePackage/add-parking-space/addParkingSpace.js
  13. 6 5
      WebService/src/main/resources/components/parkingSpacePackage/edit-parking-space/editParkingSpace.html
  14. 15 2
      WebService/src/main/resources/components/parkingSpacePackage/edit-parking-space/editParkingSpace.js
  15. 6 2
      WebService/src/main/resources/components/parkingSpacePackage/list-parking-space/listParkingSpace.html
  16. 18 0
      java110-bean/src/main/java/com/java110/dto/parking/ParkingSpaceDto.java
  17. 18 0
      java110-bean/src/main/java/com/java110/vo/api/ApiParkingSpaceDataVo.java
  18. 38 33
      java110-db/src/main/resources/mapper/community/ParkingSpaceServiceDaoImplMapper.xml

+ 3 - 8
Api/src/main/java/com/java110/api/listener/parkingSpace/EditParkingSpaceListener.java

@@ -95,9 +95,9 @@ public class EditParkingSpaceListener extends AbstractServiceApiDataFlowListener
     private void validate(String paramIn) {
         Assert.jsonObjectHaveKey(paramIn, "communityId", "未包含小区ID");
         Assert.jsonObjectHaveKey(paramIn, "psId", "未包含停车位ID");
-        Assert.jsonObjectHaveKey(paramIn, "num", "请求报文中未包含age");
-        Assert.jsonObjectHaveKey(paramIn, "area", "请求报文中未包含name");
-        Assert.jsonObjectHaveKey(paramIn, "typeCd", "请求报文中未包含link");
+        Assert.jsonObjectHaveKey(paramIn, "paId", "未包含停车场信息");
+        Assert.jsonObjectHaveKey(paramIn, "num", "请求报文中未包含num");
+        Assert.jsonObjectHaveKey(paramIn, "area", "请求报文中未包含area");
 
         JSONObject paramObj = JSONObject.parseObject(paramIn);
 
@@ -106,11 +106,6 @@ public class EditParkingSpaceListener extends AbstractServiceApiDataFlowListener
         if (paramObj.getString("psId").startsWith("-")) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "停车位ID必须为已有ID");
         }
-
-
-        if (!"1001".equals(paramObj.getString("typeCd")) && !"2001".equals(paramObj.getString("typeCd"))) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "传入typeCd 非法");
-        }
     }
 
     /**

+ 1 - 7
Api/src/main/java/com/java110/api/listener/parkingSpace/SaveParkingSpaceListener.java

@@ -124,14 +124,8 @@ public class SaveParkingSpaceListener extends AbstractServiceApiDataFlowListener
         Assert.jsonObjectHaveKey(paramIn, "communityId", "未包含小区ID");
         Assert.jsonObjectHaveKey(paramIn, "num", "请求报文中未包含age");
         Assert.jsonObjectHaveKey(paramIn, "area", "请求报文中未包含name");
-        Assert.jsonObjectHaveKey(paramIn, "typeCd", "请求报文中未包含link");
         Assert.jsonObjectHaveKey(paramIn, "userId", "请求报文中未包含userId");
-
-        JSONObject paramObj = JSONObject.parseObject(paramIn);
-
-        if (!"1001".equals(paramObj.getString("typeCd")) && !"2001".equals(paramObj.getString("typeCd"))) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "传入typeCd 非法");
-        }
+        Assert.jsonObjectHaveKey(paramIn, "paId", "请求报文停车场信息");
     }
 
 

+ 2 - 0
CommunityService/src/main/java/com/java110/community/listener/parkingSpace/AbstractParkingSpaceBusinessServiceDataFlowListener.java

@@ -42,6 +42,7 @@ public abstract class AbstractParkingSpaceBusinessServiceDataFlowListener extend
         businessParkingSpaceInfo.put("typeCd", businessParkingSpaceInfo.get("type_cd"));
         businessParkingSpaceInfo.put("num", businessParkingSpaceInfo.get("num"));
         businessParkingSpaceInfo.put("psId", businessParkingSpaceInfo.get("ps_id"));
+        businessParkingSpaceInfo.put("paId", businessParkingSpaceInfo.get("pa_id"));
         businessParkingSpaceInfo.put("remark", businessParkingSpaceInfo.get("remark"));
         businessParkingSpaceInfo.put("state", businessParkingSpaceInfo.get("state"));
         businessParkingSpaceInfo.put("communityId", businessParkingSpaceInfo.get("community_id"));
@@ -75,6 +76,7 @@ public abstract class AbstractParkingSpaceBusinessServiceDataFlowListener extend
         currentParkingSpaceInfo.put("typeCd", currentParkingSpaceInfo.get("type_cd"));
         currentParkingSpaceInfo.put("num", currentParkingSpaceInfo.get("num"));
         currentParkingSpaceInfo.put("psId", currentParkingSpaceInfo.get("ps_id"));
+        currentParkingSpaceInfo.put("paId", currentParkingSpaceInfo.get("pa_id"));
         currentParkingSpaceInfo.put("remark", currentParkingSpaceInfo.get("remark"));
         currentParkingSpaceInfo.put("state", currentParkingSpaceInfo.get("state"));
         currentParkingSpaceInfo.put("communityId", currentParkingSpaceInfo.get("community_id"));

+ 16 - 0
WebService/src/main/java/com/java110/web/components/parkingSpace/AddParkingSpaceComponent.java

@@ -2,6 +2,7 @@ package com.java110.web.components.parkingSpace;
 
 import com.java110.core.context.IPageData;
 import com.java110.web.smo.IParkingSpaceServiceSMO;
+import com.java110.web.smo.parkingArea.IListParkingAreasSMO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
@@ -15,6 +16,9 @@ public class AddParkingSpaceComponent {
     @Autowired
     private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl;
 
+    @Autowired
+    private IListParkingAreasSMO listParkingAreasSMOImpl;
+
     /**
      * 查询小区楼信息
      * @param pd 页面封装对象 包含页面请求数据
@@ -25,6 +29,10 @@ public class AddParkingSpaceComponent {
         return parkingSpaceServiceSMOImpl.saveParkingSpace(pd);
     }
 
+    public ResponseEntity<String> listParkingArea(IPageData pd){
+        return listParkingAreasSMOImpl.listParkingAreas(pd);
+    }
+
 
     public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() {
         return parkingSpaceServiceSMOImpl;
@@ -33,4 +41,12 @@ public class AddParkingSpaceComponent {
     public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) {
         this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl;
     }
+
+    public IListParkingAreasSMO getListParkingAreasSMOImpl() {
+        return listParkingAreasSMOImpl;
+    }
+
+    public void setListParkingAreasSMOImpl(IListParkingAreasSMO listParkingAreasSMOImpl) {
+        this.listParkingAreasSMOImpl = listParkingAreasSMOImpl;
+    }
 }

+ 18 - 0
WebService/src/main/java/com/java110/web/components/parkingSpace/EditParkingSpaceComponent.java

@@ -2,6 +2,7 @@ package com.java110.web.components.parkingSpace;
 
 import com.java110.core.context.IPageData;
 import com.java110.web.smo.IParkingSpaceServiceSMO;
+import com.java110.web.smo.parkingArea.IListParkingAreasSMO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
@@ -20,6 +21,9 @@ public class EditParkingSpaceComponent {
     @Autowired
     private IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl;
 
+    @Autowired
+    private IListParkingAreasSMO listParkingAreasSMOImpl;
+
     /**
      * 修改小区楼信息
      *
@@ -31,6 +35,12 @@ public class EditParkingSpaceComponent {
     }
 
 
+    public ResponseEntity<String> listParkingArea(IPageData pd){
+        return listParkingAreasSMOImpl.listParkingAreas(pd);
+    }
+
+
+
     public IParkingSpaceServiceSMO getParkingSpaceServiceSMOImpl() {
         return parkingSpaceServiceSMOImpl;
     }
@@ -38,4 +48,12 @@ public class EditParkingSpaceComponent {
     public void setParkingSpaceServiceSMOImpl(IParkingSpaceServiceSMO parkingSpaceServiceSMOImpl) {
         this.parkingSpaceServiceSMOImpl = parkingSpaceServiceSMOImpl;
     }
+
+    public IListParkingAreasSMO getListParkingAreasSMOImpl() {
+        return listParkingAreasSMOImpl;
+    }
+
+    public void setListParkingAreasSMOImpl(IListParkingAreasSMO listParkingAreasSMOImpl) {
+        this.listParkingAreasSMOImpl = listParkingAreasSMOImpl;
+    }
 }

+ 32 - 0
WebService/src/main/java/com/java110/web/components/parkingSpace/ParkingSpaceSelect2Component.java

@@ -0,0 +1,32 @@
+package com.java110.web.components.parkingSpace;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.IParkingSpaceServiceSMO;
+import com.java110.web.smo.parkingArea.IListParkingAreasSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 添加停车位组件
+ */
+@Component("parkingSpaceSelect2")
+public class ParkingSpaceSelect2Component {
+
+    @Autowired
+    private IListParkingAreasSMO listParkingAreasSMOImpl;
+
+
+    public ResponseEntity<String> list(IPageData pd){
+        return listParkingAreasSMOImpl.listParkingAreas(pd);
+    }
+
+
+    public IListParkingAreasSMO getListParkingAreasSMOImpl() {
+        return listParkingAreasSMOImpl;
+    }
+
+    public void setListParkingAreasSMOImpl(IListParkingAreasSMO listParkingAreasSMOImpl) {
+        this.listParkingAreasSMOImpl = listParkingAreasSMOImpl;
+    }
+}

+ 6 - 6
WebService/src/main/java/com/java110/web/smo/impl/PackingSpaceServiceSMOImpl.java

@@ -306,9 +306,9 @@ public class PackingSpaceServiceSMOImpl extends BaseComponentSMO implements IPar
     private void validateEditParkingSpace(IPageData pd) {
         Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "未包含小区ID");
         Assert.jsonObjectHaveKey(pd.getReqData(), "psId", "未包含psId");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含age");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含name");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "typeCd", "请求报文中未包含link");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含num");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含area");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "paId", "请求报文中未包含停车场信息");
     }
 
     /**
@@ -318,9 +318,9 @@ public class PackingSpaceServiceSMOImpl extends BaseComponentSMO implements IPar
      */
     private void validateSaveParkingSpace(IPageData pd) {
         Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "未包含小区ID");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含age");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含name");
-        Assert.jsonObjectHaveKey(pd.getReqData(), "typeCd", "请求报文中未包含link");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "num", "请求报文中未包含num");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "area", "请求报文中未包含area");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "paId", "请求报文中未包含停车场信息");
     }
 
     /**

+ 51 - 52
WebService/src/main/resources/components/parkingAreaPackage/parkingArea-manage/parkingAreaManage.js

@@ -1,87 +1,86 @@
 /**
     入驻小区
 **/
-(function(vc){
+(function(vc) {
     var DEFAULT_PAGE = 1;
     var DEFAULT_ROWS = 10;
     vc.extends({
-        data:{
-            parkingAreaManageInfo:{
-                parkingAreas:[],
-                total:0,
-                records:1,
-                moreCondition:false,
-                num:'',
-                conditions:{
-                    num:'',
-typeCd:'',
-paId:'',
+        data: {
+            parkingAreaManageInfo: {
+                parkingAreas: [],
+                total: 0,
+                records: 1,
+                moreCondition: false,
+                num: '',
+                conditions: {
+                    num: '',
+                    typeCd: '',
+                    paId: '',
 
                 }
             }
         },
-        _initMethod:function(){
+        _initMethod: function() {
             vc.component._listParkingAreas(DEFAULT_PAGE, DEFAULT_ROWS);
         },
-        _initEvent:function(){
-            
-            vc.on('parkingAreaManage','listParkingArea',function(_param){
-                  vc.component._listParkingAreas(DEFAULT_PAGE, DEFAULT_ROWS);
+        _initEvent: function() {
+
+            vc.on('parkingAreaManage', 'listParkingArea',
+            function(_param) {
+                vc.component._listParkingAreas(DEFAULT_PAGE, DEFAULT_ROWS);
             });
-             vc.on('pagination','page_event',function(_currentPage){
-                vc.component._listParkingAreas(_currentPage,DEFAULT_ROWS);
+            vc.on('pagination', 'page_event',
+            function(_currentPage) {
+                vc.component._listParkingAreas(_currentPage, DEFAULT_ROWS);
             });
         },
-        methods:{
-            _listParkingAreas:function(_page, _rows){
+        methods: {
+            _listParkingAreas: function(_page, _rows) {
 
                 vc.component.parkingAreaManageInfo.conditions.page = _page;
                 vc.component.parkingAreaManageInfo.conditions.row = _rows;
                 vc.component.parkingAreaManageInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
                 var param = {
-                    params:vc.component.parkingAreaManageInfo.conditions
-               };
+                    params: vc.component.parkingAreaManageInfo.conditions
+                };
 
-               //发送get请求
-               vc.http.get('parkingAreaManage',
-                            'list',
-                             param,
-                             function(json,res){
-                                var _parkingAreaManageInfo=JSON.parse(json);
-                                vc.component.parkingAreaManageInfo.total = _parkingAreaManageInfo.total;
-                                vc.component.parkingAreaManageInfo.records = _parkingAreaManageInfo.records;
-                                vc.component.parkingAreaManageInfo.parkingAreas = _parkingAreaManageInfo.parkingAreas;
-                                vc.emit('pagination','init',{
-                                     total:vc.component.parkingAreaManageInfo.records,
-                                     currentPage:_page
-                                 });
-                             },function(errInfo,error){
-                                console.log('请求失败处理');
-                             }
-                           );
+                //发送get请求
+                vc.http.get('parkingAreaManage', 'list', param,
+                function(json, res) {
+                    var _parkingAreaManageInfo = JSON.parse(json);
+                    vc.component.parkingAreaManageInfo.total = _parkingAreaManageInfo.total;
+                    vc.component.parkingAreaManageInfo.records = _parkingAreaManageInfo.records;
+                    vc.component.parkingAreaManageInfo.parkingAreas = _parkingAreaManageInfo.parkingAreas;
+                    vc.emit('pagination', 'init', {
+                        total: vc.component.parkingAreaManageInfo.records,
+                        currentPage: _page
+                    });
+                },
+                function(errInfo, error) {
+                    console.log('请求失败处理');
+                });
             },
-            _openAddParkingAreaModal:function(){
-                vc.emit('addParkingArea','openAddParkingAreaModal',{});
+            _openAddParkingAreaModal: function() {
+                vc.emit('addParkingArea', 'openAddParkingAreaModal', {});
             },
-            _openEditParkingAreaModel:function(_parkingArea){
-                vc.emit('editParkingArea','openEditParkingAreaModal',_parkingArea);
+            _openEditParkingAreaModel: function(_parkingArea) {
+                vc.emit('editParkingArea', 'openEditParkingAreaModal', _parkingArea);
             },
-            _openDeleteParkingAreaModel:function(_parkingArea){
-                vc.emit('deleteParkingArea','openDeleteParkingAreaModal',_parkingArea);
+            _openDeleteParkingAreaModel: function(_parkingArea) {
+                vc.emit('deleteParkingArea', 'openDeleteParkingAreaModal', _parkingArea);
             },
-            _queryParkingAreaMethod:function(){
+            _queryParkingAreaMethod: function() {
                 vc.component._listParkingAreas(DEFAULT_PAGE, DEFAULT_ROWS);
 
             },
-            _moreCondition:function(){
-                if(vc.component.parkingAreaManageInfo.moreCondition){
+            _moreCondition: function() {
+                if (vc.component.parkingAreaManageInfo.moreCondition) {
                     vc.component.parkingAreaManageInfo.moreCondition = false;
-                }else{
+                } else {
                     vc.component.parkingAreaManageInfo.moreCondition = true;
                 }
             }
 
-             
         }
     });
-})(window.vc);
+})(window.vc);

+ 5 - 0
WebService/src/main/resources/components/parkingAreaPackage/parkingArea-select2/parkingAreaSelect2.html

@@ -0,0 +1,5 @@
+<select class="form-control" id = "parkingAreaSelector">
+    <option value="">请选择停车场</option>
+
+
+</select>

+ 113 - 0
WebService/src/main/resources/components/parkingAreaPackage/parkingArea-select2/parkingAreaSelect2.js

@@ -0,0 +1,113 @@
+(function (vc) {
+    vc.extends({
+        propTypes: {
+            parentModal: vc.propTypes.string,
+            callBackListener: vc.propTypes.string, //父组件名称
+            callBackFunction: vc.propTypes.string //父组件监听方法
+        },
+        data: {
+            parkingAreaSelect2Info: {
+                parkingAreas: [],
+                paId: '-1',
+                num: '',
+                parkingAreaSelector: {},
+            }
+        },
+        watch: {
+            parkingAreaSelect2Info: {
+                deep: true,
+                handler: function () {
+                    vc.emit($props.callBackListener, $props.callBackFunction, this.parkingAreaSelect2Info);
+                }
+            }
+        },
+        _initMethod: function () {
+            this._initParkingAreaSelect2();
+        },
+        _initEvent: function () {
+            //监听 modal 打开
+            vc.on('parkingAreaSelect2', 'setParkingArea', function (_param) {
+                vc.copyObject(_param, this.parkingAreaSelect2Info);
+
+                var option = new Option(_param.num + '号停车场', _param.paId, true, true);
+                this.parkingAreaSelect2Info.parkingAreaSelector.append(option);
+            });
+
+            vc.on('parkingAreaSelect2', 'clearParkingArea', function (_param) {
+                this.parkingAreaSelect2Info = {
+                    parkingAreas: [],
+                    paId: '-1',
+                    num: '',
+                    parkingAreaSelector: {},
+                };
+            });
+        },
+        methods: {
+            _initParkingAreaSelect2: function () {
+                console.log("调用_initParkingAreaSelect2 方法");
+                $.fn.modal.Constructor.prototype.enforceFocus = function () {
+                };
+                $.fn.select2.defaults.set('width', '100%');
+                this.parkingAreaSelect2Info.parkingAreaSelector = $('#parkingAreaSelector').select2({
+                    placeholder: '必填,请选择停车场',
+                    allowClear: true,//允许清空
+                    escapeMarkup: function (markup) {
+                        return markup;
+                    }, // 自定义格式化防止xss注入
+                    ajax: {
+                        url: "/callComponent/parkingAreaSelect2/list",
+                        dataType: 'json',
+                        delay: 250,
+                        data: function (params) {
+                            console.log("param", params);
+                            var _term = "";
+                            if (params.hasOwnProperty("term")) {
+                                _term = params.term;
+                            }
+                            return {
+                                num: _term,
+                                page: 1,
+                                row: 10,
+                                communityId: vc.getCurrentCommunity().communityId
+                            };
+                        },
+                        processResults: function (data) {
+                            console.log(data, this._filterParkingAreaData(data.parkingAreas));
+                            return {
+                                results: this._filterParkingAreaData(data.parkingAreas)
+                            };
+                        },
+                        cache: true
+                    }
+                });
+                $('#parkingAreaSelector').on("select2:select", function (evt) {
+                    //这里是选中触发的事件
+                    //evt.params.data 是选中项的信息
+                    console.log('select', evt);
+                    this.parkingAreaSelect2Info.paId = evt.params.data.id;
+                    this.parkingAreaSelect2Info.num = evt.params.data.text;
+                });
+
+                $('#parkingAreaSelector').on("select2:unselect", function (evt) {
+                    //这里是取消选中触发的事件
+                    //如配置allowClear: true后,触发
+                    console.log('unselect', evt);
+                    this.parkingAreaSelect2Info.paId = '-1';
+                    this.parkingAreaSelect2Info.num = '';
+
+                });
+            },
+            _filterParkingAreaData: function (_parkingAreas) {
+                var _tmpParkingAreas = [];
+                for (var i = 0; i < _parkingAreas.length; i++) {
+                    var _tmpParkingArea = {
+                        id: _parkingAreas[i].paId,
+                        text: _parkingAreas[i].num
+                    };
+                    _tmpParkingAreas.push(_tmpParkingArea);
+                }
+                return _tmpParkingAreas;
+            }
+        }
+    });
+})(window.vc);

+ 7 - 6
WebService/src/main/resources/components/parkingSpacePackage/add-parking-space/addParkingSpace.html

@@ -11,13 +11,14 @@
                                 <div class="col-sm-10"><input v-model="addParkingSpaceInfo.num" type="text" placeholder="必填,请填写车位编码" class="form-control"></div>
                             </div>
                             <div class="form-group row">
-                                <label class="col-sm-2 col-form-label">车位类型</label>
+                                <label class="col-sm-2 col-form-label">停车场</label>
                                 <div class="col-sm-10">
-                                    <select class="custom-select" v-model="addParkingSpaceInfo.typeCd">
-                                        <option selected  disabled value="">必填,请选择车位类型</option>
-                                        <option value="1001">地上停车位</option>
-                                        <option value="2001">地下停车位</option>
-                                    </select>
+                                    <vc:create name="parkingAreaSelect2"
+                                               parentModal="addParkingSpace"
+                                               callBackListener="addParkingSpace"
+                                               callBackFunction="notify"
+                                               namespace="addParkingSpace"
+                                    ></vc:create>
                                 </div>
                             </div>
                             <div class="form-group row">

+ 22 - 11
WebService/src/main/resources/components/parkingSpacePackage/add-parking-space/addParkingSpace.js

@@ -1,5 +1,6 @@
 (function(vc){
-
+    var DEFAULT_PAGE = 1;
+    var DEFAULT_ROW = 10;
     vc.extends({
         propTypes: {
                notifyLoadDataComponentName:vc.propTypes.string
@@ -7,14 +8,14 @@
         data:{
             addParkingSpaceInfo:{
                 num:'',
-                typeCd:'',
+                paId:'',
                 area:'',
                 remark:'',
-                psId:''
+                psId:'',
+                parkingAreas:[]
             }
         },
          _initMethod:function(){
-
          },
          _initEvent:function(){
             vc.on('addParkingSpace','openAddParkingSpaceModal',function(_parkingSpaceId){
@@ -23,6 +24,10 @@
                 }
                 $('#addParkingSpaceModel').modal('show');
             });
+
+            vc.on("addParkingSpace", "notify", function (_param) {
+                    vc.component.addParkingSpaceInfo.paId = _param.paId;
+            });
         },
         methods:{
             addParkingSpaceValidate(){
@@ -41,11 +46,11 @@
                             errInfo:"车位编号长度不能超过12位"
                         },
                     ],
-                    'addParkingSpaceInfo.typeCd':[
+                    'addParkingSpaceInfo.paId':[
                         {
                             limit:"required",
                             param:"",
-                            errInfo:"车位类型不能为空"
+                            errInfo:"停车场不能为空"
                         }
                     ],
                     'addParkingSpaceInfo.area':[
@@ -108,12 +113,18 @@
             },
             clearAddParkingSpaceInfo:function(){
                 vc.component.addParkingSpaceInfo = {
-                                            num:'',
-                                            typeCd:'',
-                                            area:'',
-                                            remark:''
-                                        };
+                    num:'',
+                    paId:'',
+                    area:'',
+                    remark:''
+                };
+
+                vc.emit('addParkingSpace', 'parkingAreaSelect2', 'setParkingArea', {
+                    paId: '',
+                    num: ''
+                });
             }
+
         }
     });
 

+ 6 - 5
WebService/src/main/resources/components/parkingSpacePackage/edit-parking-space/editParkingSpace.html

@@ -13,11 +13,12 @@
                             <div class="form-group row">
                                 <label class="col-sm-2 col-form-label">车位类型</label>
                                 <div class="col-sm-10">
-                                    <select class="custom-select" v-model="editParkingSpaceInfo.typeCd">
-                                        <option selected  disabled value="">必填,请选择车位类型</option>
-                                        <option value="1001">地上停车位</option>
-                                        <option value="2001">地下停车位</option>
-                                    </select>
+                                    <vc:create name="parkingAreaSelect2"
+                                               parentModal="editParkingSpace"
+                                               callBackListener="editParkingSpace"
+                                               callBackFunction="notify"
+                                               namespace="editParkingSpace"
+                                    ></vc:create>
                                 </div>
                             </div>
                             <div class="form-group row">

+ 15 - 2
WebService/src/main/resources/components/parkingSpacePackage/edit-parking-space/editParkingSpace.js

@@ -8,7 +8,8 @@
             editParkingSpaceInfo:{
                 psId:'',
                 num:'',
-                typeCd:'',
+                areaNum:'',
+                paId:'',
                 area:'',
                 remark:''
             }
@@ -19,8 +20,15 @@
          _initEvent:function(){
             vc.on('editParkingSpace','openEditParkingSpaceModal',function(_parkingSpace){
                 vc.copyObject(_parkingSpace,vc.component.editParkingSpaceInfo);
+                vc.emit('editParkingSpace', 'parkingAreaSelect2', 'setParkingArea', {
+                    paId: vc.component.editParkingSpaceInfo.paId,
+                    num: vc.component.editParkingSpaceInfo.areaNum
+                });
                 $('#editParkingSpaceModel').modal('show');
             });
+             vc.on("editParkingSpace", "notify", function (_param) {
+                    vc.component.addParkingSpaceInfo.paId = _param.paId;
+            });
         },
         methods:{
             editParkingSpaceValidate(){
@@ -107,10 +115,15 @@
                 vc.component.editParkingSpaceInfo = {
                     psId:'',
                     num:'',
-                    typeCd:'',
+                    paId:'',
                     area:'',
                     remark:''
                 };
+
+                vc.emit('editParkingSpace', 'parkingAreaSelect2', 'setParkingArea', {
+                    paId: '',
+                    num: ''
+                });
             }
         }
     });

+ 6 - 2
WebService/src/main/resources/components/parkingSpacePackage/list-parking-space/listParkingSpace.html

@@ -80,7 +80,8 @@
                         <tr>
                             <th>车位ID</th>
                             <th data-hide="phone">车位编码</th>
-                            <th data-hide="phone">车位类型</th>
+                            <th data-hide="phone">停车场ID</th>
+                            <th data-hide="phone">停车场编号</th>
                             <th data-hide="phone">车位状态</th>
                             <th data-hide="phone">面积</th>
                             <th class="text-right">操作</th>
@@ -96,7 +97,10 @@
                                 {{parkingSpace.num}}
                             </td>
                             <td>
-                                {{vc.component._viewParkingTypeCd(parkingSpace.typeCd)}}
+                                {{parkingSpace.paId}}
+                            </td>
+                            <td>
+                                {{parkingSpace.areaNum}}
                             </td>
                             <td>
                                 {{vc.component._viewParkingSpaceState(parkingSpace.state)}}

+ 18 - 0
java110-bean/src/main/java/com/java110/dto/parking/ParkingSpaceDto.java

@@ -20,11 +20,13 @@ public class ParkingSpaceDto extends PageDto implements Serializable {
     private String typeCdName;
     private String num;
     private String psId;
+    private String paId;
     private String remark;
     private String state;
     private String stateName;
     private String communityId;
     private String userId;
+    private String areaNum;
 
     private String[] psIds;
 
@@ -149,4 +151,20 @@ public class ParkingSpaceDto extends PageDto implements Serializable {
     public void setTypeCdName(String typeCdName) {
         this.typeCdName = typeCdName;
     }
+
+    public String getPaId() {
+        return paId;
+    }
+
+    public void setPaId(String paId) {
+        this.paId = paId;
+    }
+
+    public String getAreaNum() {
+        return areaNum;
+    }
+
+    public void setAreaNum(String areaNum) {
+        this.areaNum = areaNum;
+    }
 }

+ 18 - 0
java110-bean/src/main/java/com/java110/vo/api/ApiParkingSpaceDataVo.java

@@ -19,6 +19,7 @@ public class ApiParkingSpaceDataVo extends Vo {
     private String typeCdName;
     private String num;
     private String psId;
+    private String paId;
     private String state;
     private String stateName;
     private String communityId;
@@ -36,6 +37,7 @@ public class ApiParkingSpaceDataVo extends Vo {
     private String carBrand;
     private String carType;
     private String carTypeName;
+    private String areaNum;
 
     public String getArea() {
         return area;
@@ -172,4 +174,20 @@ public class ApiParkingSpaceDataVo extends Vo {
     public void setTypeCdName(String typeCdName) {
         this.typeCdName = typeCdName;
     }
+
+    public String getPaId() {
+        return paId;
+    }
+
+    public void setPaId(String paId) {
+        this.paId = paId;
+    }
+
+    public String getAreaNum() {
+        return areaNum;
+    }
+
+    public void setAreaNum(String areaNum) {
+        this.areaNum = areaNum;
+    }
 }

+ 38 - 33
java110-db/src/main/resources/mapper/community/ParkingSpaceServiceDaoImplMapper.xml

@@ -7,17 +7,18 @@
     <!-- 保存停车位信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessParkingSpaceInfo" parameterType="Map">
         insert into business_parking_space(
-        area,operate,type_cd,num,ps_id,remark,state,community_id,b_id,user_id
+        area,operate,num,ps_id,pa_id, remark,state,community_id,b_id,user_id
         ) values (
-        #{area},#{operate},#{typeCd},#{num},#{psId},#{remark},#{state},#{communityId},#{bId},#{userId}
+        #{area},#{operate},#{num},#{psId},#{paId},#{remark},#{state},#{communityId},#{bId},#{userId}
         )
     </insert>
 
 
     <!-- 查询停车位信息(Business) add by wuxw 2018-07-03 -->
     <select id="getBusinessParkingSpaceInfo" parameterType="Map" resultType="Map">
-        select t.area,t.operate,t.type_cd,t.type_cd typeCd,t.num,t.ps_id,t.ps_id
-        psId,t.remark,t.state,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.user_id,t.user_id userId
+        select t.area,t.operate,t.num,t.ps_id,t.ps_id
+        psId,t.pa_id,t.pa_id
+        paId,t.remark,t.state,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.user_id,t.user_id userId
         from business_parking_space t
         where 1 =1
         <if test="area !=null and area != ''">
@@ -26,15 +27,16 @@
         <if test="operate !=null and operate != ''">
             and t.operate= #{operate}
         </if>
-        <if test="typeCd !=null and typeCd != ''">
-            and t.type_cd= #{typeCd}
-        </if>
+
         <if test="num !=null and num != ''">
             and t.num= #{num}
         </if>
         <if test="psId !=null and psId != ''">
             and t.ps_id= #{psId}
         </if>
+        <if test="paId !=null and paId != ''">
+            and t.pa_id= #{paId}
+        </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
         </if>
@@ -57,23 +59,24 @@
 
     <!-- 保存停车位信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveParkingSpaceInfoInstance" parameterType="Map">
-        insert into p_parking_space(
-        area,type_cd,num,ps_id,remark,status_cd,state,community_id,b_id,user_id
-        ) select t.area,t.type_cd,t.num,t.ps_id,t.remark,'0',t.state,t.community_id,t.b_id,t.user_id from
+        insert into parking_space(
+        area,num,ps_id,pa_id,remark,status_cd,state,community_id,b_id,user_id
+        ) select t.area,t.t.num,t.ps_id,t.pa_id,t.remark,'0',t.state,t.community_id,t.b_id,t.user_id from
         business_parking_space t where 1=1
         <if test="area !=null and area != ''">
             and t.area= #{area}
         </if>
         and t.operate= 'ADD'
-        <if test="typeCd !=null and typeCd != ''">
-            and t.type_cd= #{typeCd}
-        </if>
+
         <if test="num !=null and num != ''">
             and t.num= #{num}
         </if>
         <if test="psId !=null and psId != ''">
             and t.ps_id= #{psId}
         </if>
+        <if test="paId !=null and paId != ''">
+            and t.pa_id= #{paId}
+        </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
         </if>
@@ -97,11 +100,11 @@
     <select id="getParkingSpaceInfo" parameterType="Map" resultType="Map">
         SELECT
             t.area,
-            t.`type_cd` typeCd,
-            t.`type_cd`,
             t.num,
             t.ps_id psId,
             t.ps_id,
+            t.pa_id paId,
+            t.pa_id,
             t.remark,
             t.status_cd statusCd,
             t.status_cd,
@@ -113,28 +116,27 @@
             t.user_id,
             t.user_id userId,
             td.name stateName,
-            td1.name typeCdName
+            pa.num areaNum
         FROM
-          p_parking_space t,t_dict td,t_dict td1
+          parking_space t,t_dict td,parking_area pa
         <where>
             t.state = td.status_cd
-            and td.table_name='p_parking_space'
+            and td.table_name='parking_space'
             and td.table_columns='state'
-            and t.type_cd = td1.status_cd
-            and td1.table_name='p_parking_space'
-            and td1.table_columns='type_cd'
+            and t.pa_id = pa.pa_id
+            and pa.status_cd ='0'
             <if test="area !=null and area != ''">
                 and t.area= #{area}
             </if>
-            <if test="typeCd !=null and typeCd != ''">
-                and t.type_cd= #{typeCd}
-            </if>
             <if test="num !=null and num != ''">
                 and t.num= #{num}
             </if>
             <if test="psId !=null and psId != ''">
                 and t.ps_id= #{psId}
             </if>
+            <if test="paId !=null and paId != ''">
+                and t.pa_id= #{paId}
+            </if>
             <if test="remark !=null and remark != ''">
                 and t.remark= #{remark}
             </if>
@@ -175,16 +177,13 @@
 
     <!-- 修改停车位信息 add by wuxw 2018-07-03 -->
     <update id="updateParkingSpaceInfoInstance" parameterType="Map">
-        update p_parking_space t set t.status_cd = #{statusCd}
+        update parking_space t set t.status_cd = #{statusCd}
         <if test="newBId != null and newBId != ''">
             ,t.b_id = #{newBId}
         </if>
         <if test="area !=null and area != ''">
             , t.area= #{area}
         </if>
-        <if test="typeCd !=null and typeCd != ''">
-            , t.type_cd= #{typeCd}
-        </if>
         <if test="num !=null and num != ''">
             , t.num= #{num}
         </if>
@@ -213,20 +212,26 @@
     <!-- 查询停车位数量 add by wuxw 2018-07-03 -->
     <select id="queryParkingSpacesCount" parameterType="Map" resultType="Map">
         select count(1) count
-        from p_parking_space t
-        where 1 =1
+        FROM
+            parking_space t,t_dict td,parking_area pa
+        where
+        t.state = td.status_cd
+        and td.table_name='parking_space'
+        and td.table_columns='state'
+        and t.pa_id = pa.pa_id
+        and pa.status_cd ='0'
         <if test="area !=null and area != ''">
             and t.area= #{area}
         </if>
-        <if test="typeCd !=null and typeCd != ''">
-            and t.type_cd= #{typeCd}
-        </if>
         <if test="num !=null and num != ''">
             and t.num= #{num}
         </if>
         <if test="psId !=null and psId != ''">
             and t.ps_id= #{psId}
         </if>
+        <if test="paId !=null and paId != ''">
+            and t.pa_id= #{paId}
+        </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
         </if>