Browse Source

Merge branch 'Dev' into 'Test'

Dev

See merge request crowd-2019/crowd-test-service-front!103
郭超 5 years ago
parent
commit
9745eaca35
40 changed files with 276 additions and 138 deletions
  1. 1 1
      src/App.vue
  2. 1 1
      src/components/authen/AgencyAuthentication.vue
  3. 1 1
      src/components/authen/AgencyAuthenticationCreate.vue
  4. 1 1
      src/components/authen/EnterpriseAuthentication.vue
  5. 1 1
      src/components/authen/EnterpriseAuthenticationCreate.vue
  6. 1 1
      src/components/authen/IndividualAuthentication.vue
  7. 1 1
      src/components/authen/IndividualAuthenticationCreate.vue
  8. 1 1
      src/components/cheat/AgencyAdd.vue
  9. 1 1
      src/components/cheat/AgencyDetail.vue
  10. 1 1
      src/components/cheat/ProjectAdd.vue
  11. 4 4
      src/components/commons/Header2.0.vue
  12. 113 0
      src/components/commons/NProvinceCity.vue
  13. 17 11
      src/components/commons/ProvinceCity.vue
  14. 4 4
      src/components/project/Project.vue
  15. 1 1
      src/components/project/ProjectCreate.vue
  16. 1 1
      src/components/report/ProjectReport.vue
  17. 1 1
      src/components/report/ProjectReportCreate.vue
  18. 1 1
      src/components/report/TaskReport.vue
  19. 1 1
      src/components/report/TaskReportCreate.vue
  20. 1 1
      src/components/task/Task.vue
  21. 1 1
      src/components/task/TaskCreate.vue
  22. 62 62
      src/main.js
  23. 2 2
      src/pages/DetailPage/ExpertDetail.vue
  24. 1 1
      src/pages/DetailPage/ResourceDetail.vue
  25. 1 1
      src/pages/DetailPage/UserDetail.vue
  26. 1 1
      src/pages/Homepage/Homepage.vue
  27. 1 1
      src/pages/Homepage/HotAgency.vue
  28. 4 0
      src/pages/Homepage/HotContest.vue
  29. 1 1
      src/pages/Homepage/HotCrowd.vue
  30. 1 1
      src/pages/Homepage/HotUser.vue
  31. 11 2
      src/pages/Homepage/LoginCard.vue
  32. 5 4
      src/pages/Homepage/TestCard.vue
  33. 2 1
      src/pages/Square/PopularProject.vue
  34. 2 1
      src/pages/Square/PopularTask.vue
  35. 1 1
      src/pages/UserCenter/EnterpriseAuth.vue
  36. 20 17
      src/pages/UserCenter/Mine.vue
  37. 2 2
      src/pages/UserCenter/UserCenter.vue
  38. 1 1
      src/router/index.js
  39. 1 1
      src/style/main.scss
  40. 2 2
      src/style/search-nav.less

+ 1 - 1
src/App.vue

@@ -71,7 +71,7 @@ export default {
   },
   computed:{
     showSlice(){
-      if(this.$route.path==='/home')
+      if(this.$route.path==='/home' || this.$route.path==='/')
         return  true;
     }
   },

+ 1 - 1
src/components/authen/AgencyAuthentication.vue

@@ -439,7 +439,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/authen/AgencyAuthenticationCreate.vue

@@ -409,7 +409,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/authen/EnterpriseAuthentication.vue

@@ -340,7 +340,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/authen/EnterpriseAuthenticationCreate.vue

@@ -312,7 +312,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/authen/IndividualAuthentication.vue

@@ -329,7 +329,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/authen/IndividualAuthenticationCreate.vue

@@ -286,7 +286,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/cheat/AgencyAdd.vue

@@ -475,7 +475,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/cheat/AgencyDetail.vue

@@ -293,7 +293,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/cheat/ProjectAdd.vue

@@ -692,7 +692,7 @@
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 4 - 4
src/components/commons/Header2.0.vue

@@ -15,7 +15,7 @@
             <li>
             <li v-if="isLogin">
               <el-dropdown>
-                <span class="el-dropdown-link">
+                <span class="el-dropdown-link" style="color:rgb(153,153,153)">
                   {{user.userVO.name}}<i class="el-icon-arrow-down el-icon--right"></i>
                 </span>
                 <el-dropdown-menu slot="dropdown">
@@ -197,7 +197,7 @@
         userLogout () {
             this.isLogin = false
             logout().then((res) => {
-                location.reload();
+                // location.reload();
                 this.$router.push('/home')
             })
 
@@ -381,7 +381,7 @@
 
 <style scoped>
   .header-nav {
-    padding: 10px 0;
+    padding: 5px 0;
     text-align: center;
     display: flex;
     font-size: 16px;
@@ -399,7 +399,7 @@
     display: inline-block;
   }
 
-  .header-nav ul li a {
+  .header-nav ul li a{
     color: inherit;
     padding: 5px;
     font-weight: 500;

+ 113 - 0
src/components/commons/NProvinceCity.vue

@@ -0,0 +1,113 @@
+
+<template>
+  <div class="province-city">
+    <el-form-item
+      label-width="0%"
+      class="page-form-item"
+      label=""
+      prop="status"
+      style="width: calc(30% - 20px);margin-right: 5%"
+    >
+      <el-select v-model="province" placeholder="请选择" @change="provinceChanged" :disabled="isModifyMode">
+<!--        <el-option :key="''" :label="'全部'" :value="''"></el-option>-->
+        <el-option v-for="item in provinces" :key="item.code" :label="item.name" :value="item.code"></el-option>
+      </el-select>
+    </el-form-item>
+    <el-form-item
+      label-width="0%"
+      class="page-form-item"
+      label=""
+      prop="status"
+      style="width: calc(30% - 20px);margin-right: 0px"
+    >
+      <el-select v-model="city" :loading="loadingCity" @change="cityChanged" placeholder="请选择" :disabled="isModifyMode">
+<!--        <el-option :key="''" :label="'请选择'" :value="''"></el-option>-->
+        <el-option v-for="item in cities" :key="item.code" :label="item.name" :value="item.code"></el-option>
+      </el-select>
+    </el-form-item>
+  </div>
+</template>
+
+<script type="text/javascript">
+import provinceCity from "@/constants/provinceCity.json";
+import {storageGet,getAllServiceTypes,getProvinceNameByProvinceCode,getProvinceCodeByProvinceName} from '@/js/index'
+
+export default {
+  name: "nProvinceCity",
+  props: {
+    provinceCode: {
+      type: String,
+      default: ""
+    },
+    cityCode: {
+      type: String,
+      default: ""
+    },
+    isModifyMode:{
+      type:Boolean,
+      default:false
+    }
+  },
+  created() {
+    this.provinces = provinceCity.provinces;
+  },
+  mounted() {
+    this.province = this.provinceCode;
+    this.provinceChanged(this.provinceCode);
+  },
+  data() {
+    return {
+      loadingCity: false,
+      province: "",
+      city: "",
+      provinces: [],
+      cities: []
+    };
+  },
+  methods: {
+    provinceChanged(value) {
+      if (value !== "") {
+        this.loadingCity = true;
+        for (var item of this.provinces) {
+          if (item.code === value) {
+            this.cities = item.cities;
+            this.city = "";
+            this.loadingCity = false;
+            break;
+          } else {
+            continue;
+          }
+        }
+      } else {
+        this.cities = [];
+        this.city = "";
+      }
+      this.$emit("selectChange", this.province, this.city);
+    },
+    cityChanged(value) {
+      this.$emit("selectChange", this.province, this.city);
+    },
+    buildCityArr(proCode) {
+      this.loadingCity = true;
+      let proItem = (this.provinces || []).find(p => p.code === proCode);
+      this.cities =  (proItem && proItem.cities) || [];
+      this.loadingCity = false;
+    }
+  },
+  watch:{
+    provinceCode(val){
+      this.province = val
+      this.buildCityArr(val)
+    },
+    cityCode(val){
+      this.city=val
+    }
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.page-form-item {
+  display: inline-block;
+}
+</style>

+ 17 - 11
src/components/commons/ProvinceCity.vue

@@ -2,11 +2,11 @@
 <template>
   <div class="province-city">
     <el-form-item
-      label-width="25%"
+      label-width="20%"
       class="page-form-item"
-      label="所属省:"
+      label="省:"
       prop="status"
-      style="width: calc(50% - 20px)"
+      style="width: calc(20% - 20px)"
     >
       <el-select v-model="province" placeholder="请选择" @change="provinceChanged" :disabled="isModifyMode">
 <!--        <el-option :key="''" :label="'全部'" :value="''"></el-option>-->
@@ -18,7 +18,7 @@
       class="page-form-item"
       label="市:"
       prop="status"
-      style="width: calc(50% - 20px);margin-right: 0px"
+      style="width: calc(30% - 20px);margin-right: 0px"
     >
       <el-select v-model="city" :loading="loadingCity" @change="cityChanged" placeholder="请选择" :disabled="isModifyMode">
         <el-option :key="''" :label="'请选择'" :value="''"></el-option>
@@ -50,13 +50,15 @@ export default {
     this.provinces = provinceCity.provinces;
   },
   mounted() {
-    this.province = this.provinceCode;
-    this.provinceChanged(this.provinceCode);
-    this.city = this.cityCode;
-    console.log(this.city)
-    console.log(this.province)
-    console.log(this.provinceCode)
-    console.log(this.cityCode)
+    this.$nextTick(()=>{
+      this.province = this.provinceCode;
+      this.provinceChanged(this.provinceCode);
+      this.city = this.cityCode;
+      console.log(this.city)
+      console.log(this.province)
+      console.log(this.provinceCode)
+      console.log(this.cityCode)
+    })
   },
   data() {
     return {
@@ -107,6 +109,10 @@ export default {
       this.province = this.provinceCode
       this.city = this.cityCode
     },
+    // provinceCode(val){
+    //   console.log("pro code change in pro city com",val)
+    //   this.provinceChanged(val)
+    // },
 
   },
 };

+ 4 - 4
src/components/project/Project.vue

@@ -251,12 +251,12 @@
               <span>{{ scope.row.title }}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="datetime" sortable label="任务截止时间">
+          <el-table-column align="center" prop="datetime" sortable label="任务截止时间">
             <template slot-scope="scope">
               <span>{{reformDate(new Date(scope.row.datetime))}}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="resource" label="任务可见性">
+          <el-table-column align="center" prop="resource" label="任务可见性">
             <template slot-scope="scope">
               <div v-if="scope.row.resource=='1'">{{scope.row.location.provinceCode}}/{{scope.row.location.cityCode}}
               </div>
@@ -264,7 +264,7 @@
               <div v-if="scope.row.resource=='2'">{{resourceType[scope.row.resource]}}</div>
             </template>
           </el-table-column>
-          <el-table-column prop="type" label="测试类型">
+          <el-table-column align="center" prop="type" label="测试类型">
             <template slot-scope="scope">
               <div class="badge">{{scope.row.serviceType}}</div>
             </template>
@@ -275,7 +275,7 @@
             </template>
           </el-table-column>
 
-          <el-table-column align="right" label="操作">
+          <el-table-column align="center" label="操作">
 
             <template slot-scope="scope">
               <div

+ 1 - 1
src/components/project/ProjectCreate.vue

@@ -579,7 +579,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/report/ProjectReport.vue

@@ -294,7 +294,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/report/ProjectReportCreate.vue

@@ -267,7 +267,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/report/TaskReport.vue

@@ -299,7 +299,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/report/TaskReportCreate.vue

@@ -250,7 +250,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/task/Task.vue

@@ -794,7 +794,7 @@
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 

+ 1 - 1
src/components/task/TaskCreate.vue

@@ -400,7 +400,7 @@ export default {
   }
 
   .el-form-item /deep/ .el-tabs__content {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
     overflow: auto;
   }
 </style>

+ 62 - 62
src/main.js

@@ -78,68 +78,68 @@ function getCurrentUserSuccess(res){
 //   var s = document.getElementsByTagName("script")[0];
 //   s.parentNode.insertBefore(hm, s);
 // })();
-// router.beforeEach((to, from, next) => {
-//   // if (_hmt) {
-//   //   if (to.path) {
-//   //     _hmt.push(['_trackPageview', '/#' + to.fullPath]);
-//   //   }
-//   // }
-//   const urls = getAuthUrls()
-//   if (storageGet('user') == null) {
-//     getCurrentUser().then((res) => {
-//       storageSave('user', res)
-//       storageSave('rolesPermissions', getRolesPermissions(res.roleList))
-//       if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
-//         if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
-//           next()
-//         } else {
-//           next({
-//             path: '/',
-//             query: {
-//               redirect: to.fullPath
-//             } // 将跳转的路由path作为参数,登录成功后跳转到该路由
-//           })
-//         }
-//       } else {
-//         next()
-//       }
-//     }).catch((error) => {
-//       // notify('warning', '请登录')
-//       if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
-//         if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
-//           next()
-//         } else {
-//           next({
-//             path: '/',
-//             query: {
-//               redirect: to.fullPath
-//             } // 将跳转的路由path作为参数,登录成功后跳转到该路由
-//           })
-//         }
-//       } else {
-//         next()
-//       }
-//     })
-//   } else {
-//     if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
-//       if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
-//         next()
-//       } else {
-//         next({
-//           path: '/',
-//           query: {
-//             redirect: to.fullPath
-//           } // 将跳转的路由path作为参数,登录成功后跳转到该路由
-//         })
-//       }
-//     } else {
-//       next()
-//     }
-//   }
-//   //console.log(to.matched[0].path)
-//   //console.log(urls.includes(to.matched[0].path))
-//
-// })
+router.beforeEach((to, from, next) => {
+  // if (_hmt) {
+  //   if (to.path) {
+  //     _hmt.push(['_trackPageview', '/#' + to.fullPath]);
+  //   }
+  // }
+  const urls = getAuthUrls()
+  if (storageGet('user') == null) {
+    getCurrentUser().then((res) => {
+      storageSave('user', res)
+      storageSave('rolesPermissions', getRolesPermissions(res.roleList))
+      if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
+        if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
+          next()
+        } else {
+          next({
+            path: '/',
+            query: {
+              redirect: to.fullPath
+            } // 将跳转的路由path作为参数,登录成功后跳转到该路由
+          })
+        }
+      } else {
+        next()
+      }
+    }).catch((error) => {
+      // notify('warning', '请登录')
+      if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
+        if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
+          next()
+        } else {
+          next({
+            path: '/',
+            query: {
+              redirect: to.fullPath
+            } // 将跳转的路由path作为参数,登录成功后跳转到该路由
+          })
+        }
+      } else {
+        next()
+      }
+    })
+  } else {
+    if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
+      if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
+        next()
+      } else {
+        next({
+          path: '/',
+          query: {
+            redirect: to.fullPath
+          } // 将跳转的路由path作为参数,登录成功后跳转到该路由
+        })
+      }
+    } else {
+      next()
+    }
+  }
+  //console.log(to.matched[0].path)
+  //console.log(urls.includes(to.matched[0].path))
+
+})
 
 // require('./mock.js')
 Vue.use(Carousel)

+ 2 - 2
src/pages/DetailPage/ExpertDetail.vue

@@ -15,7 +15,7 @@
         <el-form-item label="头衔" prop="address">
           <span>{{expert.title}}</span>
         </el-form-item>
-        <el-form-item label="简介" prop="address" style="height: 500px; overflow: scroll">
+        <el-form-item label="简介" prop="address" style="height: auto">
           <span>{{expert.introduction}}</span>
         </el-form-item>
 <!--        <el-form-item label="接包次数" prop="count">-->
@@ -106,6 +106,6 @@
   }
 
   .el-form-item {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
   }
 </style>

+ 1 - 1
src/pages/DetailPage/ResourceDetail.vue

@@ -137,6 +137,6 @@
   }
 
   .el-form-item {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
   }
 </style>

+ 1 - 1
src/pages/DetailPage/UserDetail.vue

@@ -102,6 +102,6 @@
   }
 
   .el-form-item {
-    max-height: 120px !important;
+    /*max-height: 120px !important;*/
   }
 </style>

+ 1 - 1
src/pages/Homepage/Homepage.vue

@@ -54,7 +54,7 @@
           </el-row>
         </el-col>
         <el-col :span="5" class="homepage-right-modules">
-<!--          <LoginCard/>-->
+          <LoginCard/>
           <HotCrowd :applicationTypeRank="homeDataNoCache.applicationTypeRank"/>
           <HotAgency :agencyRank="homeDataNoCache.agencyRank"/>
           <HotUser :userRank="homeDataNoCache.userRank"/>

+ 1 - 1
src/pages/Homepage/HotAgency.vue

@@ -10,7 +10,7 @@
         <el-col :span="19">
           <img :src="item.agencyPhoto==null?defaultValue.image:item.agencyPhoto" alt="logo-project" class="pull-left project-logo-img" style="cursor: pointer" @click="goToDetail(item.userId)">
           <div style="margin-left: 55px; cursor: pointer;" @click="goToDetail(item.userId)"  >
-            <div class="list-item-title">
+            <div class="list-item-title single-line-title">
               {{item.evaluationAgencyName}}
             </div>
             <div class="list-item-info">

+ 4 - 0
src/pages/Homepage/HotContest.vue

@@ -87,6 +87,10 @@
         white-space: nowrap; //溢出不换行
       }
 
+      .single-line-title{
+        line-height: 48px;
+      }
+
       .list-item-info {
         font-size: 14px;
         font-family: Adobe Heiti Std;

+ 1 - 1
src/pages/Homepage/HotCrowd.vue

@@ -10,7 +10,7 @@
         <el-col :span="19">
           <img :src="item.image" alt="logo-project" class="pull-left project-logo-img">
           <div style="margin-left: 55px">
-            <div class="list-item-title">
+            <div class="list-item-title single-line-title">
               {{item.name}}
             </div>
             <div class="list-item-info">

+ 1 - 1
src/pages/Homepage/HotUser.vue

@@ -10,7 +10,7 @@
         <el-col :span="19">
           <img :src="item.photoUrl==null?defaultValue.image:item.photoUrl" alt="logo-project" class="pull-left project-logo-img" style="cursor: pointer" @click="goToDetail(item.id)">
           <div style="margin-left: 55px;cursor: pointer;" @click="goToDetail(item.id)">
-            <div class="list-item-title">
+            <div class="list-item-title single-line-title">
               {{item.name}}
             </div>
             <div class="list-item-info">

+ 11 - 2
src/pages/Homepage/LoginCard.vue

@@ -1,9 +1,9 @@
 <template>
   <el-card class="login-card">
     <div class="login-welcome">
-      <img v-if="user.userVO&&user.userVO.photoUrl" :src="user.userVO&&user.userVO.photoUrl" alt="welcome-img"
+      <img :src="this.userImg" alt="welcome-img"
            class="pull-left welcome-img">
-      <img v-else src="../../assets/img/logo-project.png" alt="welcome-img" class="pull-left welcome-img">
+<!--      <img v-else src="../../assets/img/logo-project.png" alt="welcome-img" class="pull-left welcome-img">-->
       <div style="margin-left: 46px">
         <div class="welcome-title">
           hi,欢迎使用群智众测平台
@@ -36,6 +36,7 @@
         isLogin: false,
         user: {},
         loginUrl: process.env.LOGIN_URL,
+        userImg:require('../../assets/img/logo-project.png')
       }
     },
     methods: {
@@ -51,9 +52,17 @@
           this.$router.go(0)
         })
       },
+      getUserImg() {
+        Http.get(`/api/user/image/${this.user.userVO.id}`).then((res)=>{
+          if(res.data){
+            this.userImg = res.data;
+          }
+        })
+      }
     },
     mounted() {
       this.loadData();
+      this.getUserImg();
     }
   }
 </script>

+ 5 - 4
src/pages/Homepage/TestCard.vue

@@ -1,16 +1,17 @@
 <template>
   <div class="card-waterfull">
-    <el-row :gutter="10">
+    <el-row :gutter="15">
       <waterfall
                         :line-gap="400"
                         :min-line-gap="150"
-                        :max-line-gap="220"
-                        :single-max-width="300"
+                        :max-line-gap="200"
+                        :single-max-width="400"
         :watch="applicationTypeList">
         <!-- each component is wrapped by a waterfall slot -->
+
         <waterfall-slot
           v-for="(item, index) in applicationTypeList"
-          width="300"
+          width="350"
           :height="200"
           :order="index"
           :key="item.code"

+ 2 - 1
src/pages/Square/PopularProject.vue

@@ -6,7 +6,8 @@
       <span class="popular-header-title">热门项目</span>
       <el-button style="float: right; padding: 3px 0;line-height: 25px" type="text" @click="goToMore()">more>></el-button>
     </div>
-    <div class="popular-list">
+    <div v-if="!hotCrowdTestProjectVOs.length" style="text-align: center;padding: 5px 0"><span>暂无任务</span></div>
+    <div class="popular-list" v-else>
       <el-row class="popular-list-item" v-for="item in hotCrowdTestProjectVOs" :key="item.id">
         <el-col :span="19">
           <img src="../../assets/img/logo-project.png" alt="logo-project" class="pull-left project-logo-img">

+ 2 - 1
src/pages/Square/PopularTask.vue

@@ -5,7 +5,8 @@
       <span class="popular-header-title">热门任务</span>
       <el-button style="float: right; padding: 3px 0" type="text" class="pull-right"  @click="goToMore()">more>></el-button>
     </div>
-    <div class="popular-list">
+    <div v-if="!hotCrowdTaskVOs.length" style="text-align: center;padding: 5px 0"><span>暂无任务</span></div>
+    <div class="popular-list" v-else>
       <el-row class="popular-list-item" v-for="item in hotCrowdTaskVOs" :key="item.id">
         <el-col :span="19">
           <img src="../../assets/img/logo-blue.png" alt="logo-project" class="pull-left project-logo-img">

+ 1 - 1
src/pages/UserCenter/EnterpriseAuth.vue

@@ -207,7 +207,7 @@
     data() {
       return {
         loading: false,
-        active: 1,
+        active: 0,
         user: {},
         canEdit: false,
         authType: -1,

+ 20 - 17
src/pages/UserCenter/Mine.vue

@@ -37,15 +37,15 @@
                           style="width: 100%;"
                           :picker-options="pickerOptions"></el-date-picker>
         </el-form-item>
-<!--        <el-form-item label="地址" prop="address" style="width: 160%">-->
-<!--          <provincecity-->
-<!--            ref="addFormProvince"-->
-<!--            @selectChange="locationChange"-->
-<!--            :provinceCode="userForm.location.provinceCode!==''?userForm.location.provinceCode:'3200'"-->
-<!--            :cityCode="userForm.location.cityCode!==''?userForm.location.cityCode:'3201'"-->
-<!--          ></provincecity>-->
-<!--&lt;!&ndash;          :isModifyMode="!isModifyMode"&ndash;&gt;-->
-<!--        </el-form-item>-->
+        <el-form-item label="省市" prop="address" style="width: 160%">
+          <provincecity v-if="userForm.location!==null"
+            ref="addFormProvince"
+            @selectChange="locationChange"
+            :provinceCode="userForm.location!==null?userForm.location&&userForm.location.provinceCode:'3200'"
+            :cityCode="userForm.location!==null?userForm.location&&userForm.location.cityCode:'3201'"
+          ></provincecity>
+<!--          :isModifyMode="!isModifyMode"-->
+        </el-form-item>
         <el-form-item label="个人能力" style="width: 160%">
           <el-checkbox-group v-model="userForm.personalCompetence">
             <el-checkbox v-for="item in serviceType" :label="item.code" :name="item.code" :key="item.code" >{{item.name}}</el-checkbox>
@@ -65,7 +65,7 @@
   import Apis from '@/js/api'
   import {notify} from '@/constants/index'
   import {storageGet,getAllServiceTypes,getProvinceNameByProvinceCode,getProvinceCodeByProvinceName} from '@/js/index'
-  import provincecity from '@/components/commons/ProvinceCity'
+  import provincecity from '@/components/commons/NProvinceCity'
   export default {
     name: "Mine",
     data() {
@@ -127,7 +127,8 @@
             console.log(params);
             Http.put(`/api/personal/update/${this.user.id}`, params).then(res => {
               this.isModifyMode = false;
-              notify('success', '修改成功 ')
+              notify('success', '修改成功 ');
+              this.loadData();
             })
           }
         })
@@ -187,9 +188,9 @@
           this.userForm.province = res.userVO.province ? res.userVO.province : '';
           this.userForm.city = res.userVO.city ? res.userVO.city : '';
           this.userForm.personalCompetence = res.userVO.personalCompetence ? res.userVO.personalCompetence : [];
-          this.location = getProvinceCodeByProvinceName(this.userForm.province, this.userForm.city);
-          this.userForm.province = this.location&&this.location.provinceCode;
-          this.userForm.city = this.location&&this.location.cityCode;
+          this.userForm.location = getProvinceCodeByProvinceName(this.userForm.province, this.userForm.city);
+          this.userForm.province = this.userForm.location&&this.userForm.location.provinceCode;
+          this.userForm.city = this.userForm.location&&this.userForm.location.cityCode;
         })
       },
       setUserInfo(){
@@ -203,9 +204,11 @@
 
     },
     mounted() {
-      this.setUserInfo();
-      this.setServiceType();
-      this.loadData();
+      this.$nextTick(()=>{
+        this.setUserInfo();
+        this.setServiceType();
+        this.loadData();
+      })
 
     }
   }

+ 2 - 2
src/pages/UserCenter/UserCenter.vue

@@ -76,10 +76,10 @@
         }
 
         .menu-item {
-          font-size: 16px;
+          font-size: 18px;
           font-family: Source Han Sans CN;
           font-weight: 400;
-          margin: 3px 0 3px 28px;
+          margin: 8px 0 8px 28px;
         }
       }
     }

+ 1 - 1
src/router/index.js

@@ -21,7 +21,7 @@ export default new Router({
   routes: [
     {
       path: '/',
-      name: 'Index',
+      name: 'Home',
       component: resolve => require(['@/pages/Homepage/Homepage'], resolve),
       meta: {
         title: '',

+ 1 - 1
src/style/main.scss

@@ -81,7 +81,7 @@ a {
 
 @media (min-width: 1200px) {
     .container {
-      width: 70%;
+      width: 80%;
     }
 }
 

+ 2 - 2
src/style/search-nav.less

@@ -1,7 +1,7 @@
 .nav{
   background:rgba(255,255,255,1);
   box-shadow:0px 4px 30px 0px rgba(8,5,6,0.08);
-  padding: 0 15%;
+  padding: 0 10%;
 }
 
 .logo-img{
@@ -48,7 +48,7 @@
 
 .releaseBtn{
   background-color: rgb(0, 118, 203);
-  margin-top: 40px;
+  margin-top: 40px !important;
 }
 
 .tab-menu1 {