wuxw лет назад: 6
Родитель
Сommit
470cbd3fa0

+ 1 - 1
WebService/src/main/java/com/java110/web/smo/impl/CompanyServiceSMOImpl.java

@@ -140,7 +140,7 @@ public class CompanyServiceSMOImpl extends BaseComponentSMO implements ICompanyS
         ResponseEntity<String> responseEntity = null;
         Assert.hasLength(pd.getUserId(),"用户还未登录请先登录");
 
-        responseEntity = this.callCenterService(restTemplate,pd,"", ServiceConstant.SERVICE_API_URL+"/api/api.queryAreas", HttpMethod.GET);
+        responseEntity = this.callCenterService(restTemplate,pd,"", ServiceConstant.SERVICE_API_URL+"/api/area.listAreas", HttpMethod.GET);
 
         if(responseEntity.getStatusCode() == HttpStatus.OK){
             Assert.jsonObjectHaveKey(responseEntity.getBody(),"areas","查询中心服务异常,不是有效json或未包含areas节点");

+ 23 - 14
WebService/src/main/resources/components/companyPackage/company-base/company-base.html

@@ -1,47 +1,56 @@
- <fieldset role="tabpanel" aria-labelledby="component-h-0" class="body current" v-bind:class="{no_display:step!=1}" aria-hidden="false">
+<fieldset role="tabpanel" aria-labelledby="component-h-0" class="body current" v-bind:class="{no_display:step!=1}"
+          aria-hidden="false">
     <h2>公司基本信息</h2>
     <div class="row">
         <div class="col-lg-8">
             <div class="form-group">
                 <label>公司名称</label> <span class="required">*</span>
-                <input id="name" v-model="companyBaseInfo.name" type="text" class="form-control required" aria-required="true" />
+                <input id="name" v-model="companyBaseInfo.name" type="text" class="form-control required"
+                       aria-required="true"/>
             </div>
             <div class="dropdown form-group">
                 <label>公司地址</label> <span class="required">*</span>
 
                 <select id="pro" class="form-control form-control-sm" style="width: 10vw;display: inline;"
                         v-model="selectProv"
-                        @change="getProv($event)" >
+                        @change="getProv(selectProv)">
                     <option value='' disabled selected style='display:none;'>请选择省</option>
-                <option v-for="item in provs"
-                        :label="item.label"
-                        :value="item.id">{{item.label}}</option>
+                    <option v-for="item in provs"
+                            :label="item.areaName"
+                            :value="item.areaCode">{{item.areaName}}
+                    </option>
 
                 </select>
                 <select id="city" class="form-control form-control-sm" style="width: 10vw;display: inline;"
                         v-if="selectProv!=''"
                         v-model="selectCity"
-                        @change="getCity($event)" >
+                        @change="getCity(selectCity)">
                     <option value='' disabled selected style='display:none;'>请选择城市</option>
                     <option v-for="item in citys"
-                            :label="item.label"
-                            :value="item.id">{{item.label}}</option>
+                            :label="item.areaName"
+                            :value="item.areaCode">{{item.areaName}}
+                    </option>
                 </select>
-                <input  name="address" v-model="companyBaseInfo.address" type="text" class="form-control required" aria-required="true" />
+                <input name="address" v-model="companyBaseInfo.address" type="text" class="form-control required"
+                       aria-required="true"/>
             </div>
             <div class="form-group">
                 <label>联系电话</label> <span class="required">*</span>
-                <input name="tel" v-model="companyBaseInfo.tel" type="text" class="form-control required" aria-required="true" />
+                <input name="tel" v-model="companyBaseInfo.tel" type="text" class="form-control required"
+                       aria-required="true"/>
             </div>
             <div class="form-group">
                 <label>公司业务</label> <span class="required">*</span>
-                <select name="storeTypeCd" v-model="companyBaseInfo.storeTypeCd" class="form-control  required" aria-required="true">
-                    <option v-for="storeType in storeTypes" v-bind:value="storeType.storeTypeCd">{{storeType.name}}</option>
+                <select name="storeTypeCd" v-model="companyBaseInfo.storeTypeCd" class="form-control  required"
+                        aria-required="true">
+                    <option v-for="storeType in storeTypes" v-bind:value="storeType.storeTypeCd">{{storeType.name}}
+                    </option>
                 </select>
             </div>
             <div class="form-group">
                 <label>附近建筑</label> <span class="required">*</span>
-                <input name="nearbyLandmarks" v-model="companyBaseInfo.nearbyLandmarks" type="text" class="form-control required" aria-required="true" />
+                <input name="nearbyLandmarks" v-model="companyBaseInfo.nearbyLandmarks" type="text"
+                       class="form-control required" aria-required="true"/>
             </div>
         </div>
         <div class="col-lg-4">

+ 23 - 22
WebService/src/main/resources/components/companyPackage/company-base/company-base.js

@@ -23,6 +23,8 @@
         },
          _initMethod:function(){
              vc.component.initStoreType();
+
+             vc.component._initArea('101','0');
          },
          _initEvent:function(){
 //              vc.component.$on('errorInfoEvent',function(_errorInfo){
@@ -40,20 +42,11 @@
              }
         },
         methods:{
-            getProv: function (prov) {
-                let tempCity=[];
-                this.citys=[];
-                this.selectCity='';
-                for (var val of this.allCity){
-                    if (prov.currentTarget.value == val.pid){
-                        tempCity.push({label: val.label, id: val.id})
-                    }
-                }
-                this.citys = tempCity;
+            getProv: function (_prov) {
+                vc.component._initArea('202',_prov);
             },
-            getCity: function (city) {
-                console.log(this.selectCity);
-                console.log(this.selectProv);
+            getCity: function (_city) {
+                vc.component._initArea('303',_city);
             },
             initStoreType:function(){
                 var param = {
@@ -74,18 +67,26 @@
                                 console.log('请求失败处理',errInfo,error);
                                 vc.component.$emit('errorInfoEvent',errInfo);
                              });
+
+            },
+            _initArea:function(_areaLevel,_parentAreaCode){ //加载区域
+                var _param = {
+                    params:{
+                        areaLevel:_areaLevel,
+                        parentAreaCode:_parentAreaCode
+                    }
+                };
                 vc.http.get('company','getAreas',
-                    JSON.stringify(param),
+                    _param,
                     function(json,res){
                         if(res.status == 200){
-                            vc.component.areas = JSON.parse(json);
-                            for (var i=0;i<vc.component.areas.length;i++){
-                                if(vc.component.areas[i].level==1){
-                                    vc.component.provs.push(vc.component.areas[i])
-                                }
-                                if(vc.component.areas[i].level==2){
-                                    vc.component.allCity.push(vc.component.areas[i])
-                                }
+                            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 ;
                         }