root %!s(int64=3) %!d(string=hai) anos
pai
achega
3e1eed0f27

+ 2 - 0
.env.development

@@ -3,3 +3,5 @@ ENV = 'development'
 
 # base api
 VUE_APP_BASE_API = 'http://127.0.0.1:9800'
+
+VUE_UNIFIED_LOGIN_URL = 'http://smartcity-dev.123cx.com/login'

+ 3 - 0
.env.production

@@ -4,3 +4,6 @@ ENV = 'production'
 # base api
 VUE_APP_BASE_API = ''
 
+#unified login url
+VUE_UNIFIED_LOGIN_URL = ''
+

+ 2 - 0
.env.staging

@@ -6,3 +6,5 @@ ENV = 'staging'
 # base api
 VUE_APP_BASE_API = '/stage-api'
 
+#unified login url
+VUE_UNIFIED_LOGIN_URL = ''

+ 1 - 0
package.json

@@ -22,6 +22,7 @@
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
     "vue": "2.6.10",
+    "vue-cookies": "^1.8.1",
     "vue-count-to": "^1.0.13",
     "vue-router": "3.0.6",
     "vuex": "3.1.0"

+ 3 - 3
src/layout/components/ChangePasswordForm.vue

@@ -8,13 +8,13 @@
   >
     <el-form v-loading="isLoading" :model="form">
       <el-form-item>
-        <el-input v-model="form.loginPassword" type="password" placeholder="请输入原登录密码"/>
+        <el-input v-model="form.loginPassword" type="password" placeholder="请输入原登录密码" />
       </el-form-item>
       <el-form-item>
-        <el-input v-model="form.newPassword" type="password" placeholder="请输入新的登录密码"/>
+        <el-input v-model="form.newPassword" type="password" placeholder="请输入新的登录密码" />
       </el-form-item>
       <el-form-item>
-        <el-input v-model="form.confirmPassword" type="password" placeholder="请再次输入新的登录密码"/>
+        <el-input v-model="form.confirmPassword" type="password" placeholder="请再次输入新的登录密码" />
       </el-form-item>
     </el-form>
     <div slot="footer" class="dialog-footer">

+ 3 - 3
src/layout/components/Navbar.vue

@@ -6,13 +6,13 @@
       @toggleClick="toggleSideBar"
     />
 
-    <breadcrumb class="breadcrumb-container"/>
+    <breadcrumb class="breadcrumb-container" />
 
     <div class="right-menu">
       <el-dropdown class="right-container" trigger="click">
         <a>
           {{ oauthInfo && oauthInfo.nickName }}
-          <i class="el-icon-caret-bottom"/>
+          <i class="el-icon-caret-bottom" />
         </a>
 
         <el-dropdown-menu slot="dropdown" class="user-dropdown">
@@ -26,7 +26,7 @@
         </el-dropdown-menu>
       </el-dropdown>
     </div>
-    <change-password-form ref="changePasswordForm"/>
+    <change-password-form ref="changePasswordForm" />
   </div>
 </template>
 

+ 3 - 0
src/main.js

@@ -18,6 +18,9 @@ import '@/permission' // permission control
 import PermissionDirective from '@/permission/directive/index.js' // 权限判断指令
 Vue.use(PermissionDirective)
 
+import VueCookies from 'vue-cookies';
+Vue.use(VueCookies)
+
 // set ElementUI lang to EN
 Vue.use(ElementUI, { locale })
 // 如果想要中文版 element-ui,按如下方式声明

+ 9 - 5
src/permission.js

@@ -4,12 +4,14 @@ import { Message } from 'element-ui'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
 import getPageTitle from '@/utils/get-page-title'
+import cookies from 'vue-cookies';
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
 const whiteList = ['/login', '/api/docs'] // no redirect whitelist
+const loginUrl = 'development' === process.env.NODE_ENV ? '/login' : 'http://smartcity-dev.123cx.com/login';
 
-router.beforeEach(async(to, from, next) => {
+router.beforeEach(async (to, from, next) => {
   // start progress bar
   NProgress.start()
 
@@ -18,8 +20,8 @@ router.beforeEach(async(to, from, next) => {
 
   // determine whether the user has logged in
   // const hasToken = getToken()
-  const accessToken = localStorage.getItem('x-access-token') || undefined
-
+  // const accessToken = localStorage.getItem('x-access-token') || undefined
+  const accessToken = cookies.get('saber-access-token') || undefined
   if (accessToken) {
     if (to.path === '/login') {
       // if is logged in, redirect to the home page
@@ -40,7 +42,8 @@ router.beforeEach(async(to, from, next) => {
           // remove token and go to login page to re-login
           await store.dispatch('user/resetToken')
           Message.error(error || 'Has Error')
-          next(`/login?redirect=${to.path}`)
+          next(`${loginUrl}?redirect=${to.path}`)
+          // window.location.href = loginUrl;
           NProgress.done()
         }
       }
@@ -52,7 +55,8 @@ router.beforeEach(async(to, from, next) => {
       next()
     } else {
       // other pages that do not have permission to access are redirected to the login page.
-      next(`/login?redirect=${to.path}`)
+      next(`${loginUrl}?redirect=${to.path}`)
+      // window.location.href = loginUrl;
       NProgress.done()
     }
   }

+ 8 - 0
src/store/modules/user.js

@@ -1,5 +1,9 @@
 import { login, getOauthInfo, loginOut } from '@/api/oauth'
 import { resetRouter } from '@/router'
+import cookies from 'vue-cookies';
+
+const domian = 'development' === process.env.NODE_ENV ? '127.0.0.1' : '.123cx.com';
+const expires = 60 * 60 * 24 * 7;
 
 const getDefaultState = () => {
   return {
@@ -26,6 +30,8 @@ const actions = {
     return new Promise((resolve, reject) => {
       login({ loginAccount: username.trim(), loginPassword: password, captcha, token }).then(data => {
         localStorage.setItem('x-access-token', data.accessToken || '')
+        cookies.set('saber-access-token', data.accessToken, expires, '/', domian);
+        cookies.set('saber-refresh-token', data.refreshToken, expires, '/', domian)
         resolve()
       }).catch(error => {
         reject(error)
@@ -54,6 +60,8 @@ const actions = {
     return new Promise((resolve, reject) => {
       loginOut().then(() => {
         localStorage.removeItem('x-access-token')
+        cookies.set('saber-access-token', '', expires, '/', domian);
+        cookies.set('saber-refresh-token', '', expires, '/', domian)
         resetRouter()
         commit('RESET_STATE')
         resolve()

+ 3 - 1
src/utils/request.js

@@ -1,6 +1,7 @@
 import axios from 'axios'
 import { Message } from 'element-ui'
 import router from '@/router'
+import cookies from 'vue-cookies';
 
 // create an axios instance
 const service = axios.create({
@@ -11,7 +12,8 @@ const service = axios.create({
 
 service.interceptors.request.use(
   config => {
-    const accessToken = localStorage.getItem('x-access-token') || ''
+    // const accessToken = localStorage.getItem('x-access-token') || ''
+    const accessToken = cookies.get('saber-access-token') || ''
     if (accessToken) {
       config.headers['x-access-token'] = accessToken
     }

+ 3 - 3
src/views/appKey/Statistics.vue

@@ -3,13 +3,13 @@
     <el-card>
       <el-row :gutter="16">
         <el-col :span="8">
-          <div id="request-log-pie" style="width: 100%;height:300px;"/>
+          <div id="request-log-pie" style="width: 100%;height:300px;" />
         </el-col>
         <el-col :span="16">
-          <div id="request-log-line" style="width: 100%;height:300px;"/>
+          <div id="request-log-line" style="width: 100%;height:300px;" />
         </el-col>
       </el-row>
-      <div id="method-data-line" style="width: 100%;height:500px;"/>
+      <div id="method-data-line" style="width: 100%;height:500px;" />
     </el-card>
   </div>
 </template>

+ 10 - 10
src/views/appKey/requestLogs.vue

@@ -2,16 +2,16 @@
   <div class="app-container">
     <el-form :model="queryForm" inline size="small">
       <el-form-item label="AppKey">
-        <el-input v-model="queryForm.appKey" placeholder="AppKey"/>
+        <el-input v-model="queryForm.appKey" placeholder="AppKey" />
       </el-form-item>
       <el-form-item label="方法名">
-        <el-input v-model="queryForm.method" placeholder="方法名"/>
+        <el-input v-model="queryForm.method" placeholder="方法名" />
       </el-form-item>
       <el-form-item label="版本号">
-        <el-input v-model="queryForm.version" placeholder="版本号"/>
+        <el-input v-model="queryForm.version" placeholder="版本号" />
       </el-form-item>
       <el-form-item label="客户端IP">
-        <el-input v-model="queryForm.clientIp" placeholder="客户端IP"/>
+        <el-input v-model="queryForm.clientIp" placeholder="客户端IP" />
       </el-form-item>
       <el-form-item label="请求时间">
         <el-date-picker
@@ -35,12 +35,12 @@
       fit
       highlight-current-row
     >
-      <el-table-column label="AppKey" prop="appKey"/>
-      <el-table-column label="方法名" prop="method"/>
-      <el-table-column label="版本号" prop="version"/>
-      <el-table-column label="客户端IP" prop="clientIp"/>
-      <el-table-column label="请求时间" prop="serviceBeginTime" :formatter="dateTimeFormatter"/>
-      <el-table-column label="响应时间" prop="serviceEndTime" :formatter="dateTimeFormatter"/>
+      <el-table-column label="AppKey" prop="appKey" />
+      <el-table-column label="方法名" prop="method" />
+      <el-table-column label="版本号" prop="version" />
+      <el-table-column label="客户端IP" prop="clientIp" />
+      <el-table-column label="请求时间" prop="serviceBeginTime" :formatter="dateTimeFormatter" />
+      <el-table-column label="响应时间" prop="serviceEndTime" :formatter="dateTimeFormatter" />
       <!--      <el-table-column label="请求参数" prop="requestBody" min-width="300" />-->
       <!--      <el-table-column label="返回结果" prop="responseData" min-width="300" />-->
 

+ 7 - 7
src/views/bz/consume/index.vue

@@ -4,39 +4,39 @@
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/api/docs`)">
           <div class="card-panel-icon-wrapper icon-people">
-            <el-image src="/images/016537@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016537@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               月消费总额(元)
             </div>
-            <count-to :start-val="0" :end-val="78956" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="78956" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/appKey/index`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/016535@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016535@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               月消费次数
             </div>
-            <count-to :start-val="0" :end-val="15462" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="15462" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/016536@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016536@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               人均消费(元)
             </div>
-            <count-to :start-val="0" :end-val="2036" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="2036" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
@@ -73,7 +73,7 @@
         </div>
       </el-col>
     </el-row>
-    <div style="height: 32px"></div>
+    <div style="height: 32px" />
     <div class="bz-card">
       <el-card shadow="never">
         <div slot="header" class="clearfix">

+ 8 - 8
src/views/bz/media/index.vue

@@ -2,11 +2,11 @@
   <div class="app-container">
     <el-form :model="queryForm" inline size="small">
       <el-form-item label="名称">
-        <el-input v-model="queryForm.name" placeholder="名称"/>
+        <el-input v-model="queryForm.name" placeholder="名称" />
       </el-form-item>
       <el-form-item label="类型">
         <el-select v-model="queryForm.categoryId" placeholder="请选择场所类型" clearable>
-          <el-option v-for="item in listDataType" :key="item.id" :label="item.name" :value="item.id"/>
+          <el-option v-for="item in listDataType" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </el-form-item>
     </el-form>
@@ -30,11 +30,11 @@
       highlight-current-row
       @selection-change="selectionChange"
     >
-      <el-table-column type="selection" width="55"/>
-      <el-table-column label="#" prop="id" width="150"/>
-      <el-table-column label="名称" prop="name"/>
-      <el-table-column label="地址" prop="address"/>
-      <el-table-column label="类型" prop="category.name" width="150"/>
+      <el-table-column type="selection" width="55" />
+      <el-table-column label="#" prop="id" width="150" />
+      <el-table-column label="名称" prop="name" />
+      <el-table-column label="地址" prop="address" />
+      <el-table-column label="类型" prop="category.name" width="150" />
       <el-table-column label="操作" width="70" fixed="right">
         <template slot-scope="scope">
           <el-button type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-button>
@@ -50,7 +50,7 @@
       :page-size="pageData.pageSize"
       @current-change="paginationChange"
     />
-    <dialog-form ref="dialogForm" @ok="fetchData"/>
+    <dialog-form ref="dialogForm" @ok="fetchData" />
   </div>
 
 </template>

+ 23 - 23
src/views/bz/monitor/index.vue

@@ -4,52 +4,52 @@
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/api/docs`)">
           <div class="card-panel-icon-wrapper icon-people">
-            <el-image src="/images/16527@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16527@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               昨日进入访客数量(人)
             </div>
-            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/appKey/index`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16528@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16528@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               今日景区累计游客数(人)
             </div>
-            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16530@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16530@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               实时客流(人)
             </div>
-            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/statistics/file`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               实时车流(辆)
             </div>
-            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="100" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
@@ -59,9 +59,9 @@
         <div class="bz-card">
           <el-card shadow="never">
             <el-tabs v-model="activeName">
-              <el-tab-pane label="游客来源地" name="first"></el-tab-pane>
-              <el-tab-pane label="客流趋势" name="second"></el-tab-pane>
-              <el-tab-pane label="车流趋势" name="third"></el-tab-pane>
+              <el-tab-pane label="游客来源地" name="first" />
+              <el-tab-pane label="客流趋势" name="second" />
+              <el-tab-pane label="车流趋势" name="third" />
             </el-tabs>
           </el-card>
         </div>
@@ -76,7 +76,7 @@
         </div>
       </el-col>
     </el-row>
-    <div style="height: 32px"></div>
+    <div style="height: 32px" />
     <el-row :gutter="40">
       <el-col :xs="24" :sm="24" :lg="8">
         <div class="bz-card">
@@ -88,7 +88,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16531@2x.png" class="image"/>
+                    <el-image src="/images/16531@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>¥25863.50</p>
@@ -99,7 +99,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16536@2x.png" class="image"/>
+                    <el-image src="/images/16536@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>¥25863.50</p>
@@ -112,7 +112,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16537@2x.png" class="image"/>
+                    <el-image src="/images/16537@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>¥25863.50</p>
@@ -123,7 +123,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16538@2x.png" class="image"/>
+                    <el-image src="/images/16538@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>¥25863.50</p>
@@ -146,7 +146,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16541@2x.png" class="image"/>
+                    <el-image src="/images/16541@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>24685</p>
@@ -157,7 +157,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16542@2x.png" class="image"/>
+                    <el-image src="/images/16542@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>23</p>
@@ -170,7 +170,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16540@2x.png" class="image"/>
+                    <el-image src="/images/16540@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>12</p>
@@ -181,7 +181,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16539@2x.png" class="image"/>
+                    <el-image src="/images/16539@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>256</p>
@@ -205,7 +205,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16546@2x.png" class="image"/>
+                    <el-image src="/images/16546@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>24685</p>
@@ -216,7 +216,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16547@2x.png" class="image"/>
+                    <el-image src="/images/16547@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>23</p>
@@ -229,7 +229,7 @@
               <el-col span="12">
                 <el-row>
                   <el-col span="10">
-                    <el-image src="/images/16545@2x.png" class="image"/>
+                    <el-image src="/images/16545@2x.png" class="image" />
                   </el-col>
                   <el-col span="14">
                     <p>12</p>

+ 19 - 19
src/views/bz/resourceAnalysis/index.vue

@@ -4,52 +4,52 @@
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/api/docs`)">
           <div class="card-panel-icon-wrapper icon-people">
-            <el-image src="/images/16505@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16505@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               景点数量
             </div>
-            <count-to :start-val="0" :end-val="60" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="60" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/appKey/index`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16506@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16506@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               文旅线路
             </div>
-            <count-to :start-val="0" :end-val="185" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="185" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16507@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16507@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               酒店
             </div>
-            <count-to :start-val="0" :end-val="326" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="326" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/statistics/file`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16508@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16508@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               停车位
             </div>
-            <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
@@ -59,52 +59,52 @@
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/api/docs`)">
           <div class="card-panel-icon-wrapper icon-people">
-            <el-image src="/images/16510@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16510@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               体育馆
             </div>
-            <count-to :start-val="0" :end-val="5" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="5" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/appKey/index`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16509@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16509@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               餐馆
             </div>
-            <count-to :start-val="0" :end-val="1586" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="1586" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16511@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16511@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               娱乐场所
             </div>
-            <count-to :start-val="0" :end-val="18" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="18" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/statistics/file`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               非物质文化遗产
             </div>
-            <count-to :start-val="0" :end-val="4" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="4" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
@@ -113,12 +113,12 @@
     <div class="bz-card">
       <el-card shadow="never">
         <el-tabs v-model="activeName">
-          <el-tab-pane label="景点访客量" name="first"></el-tab-pane>
-          <el-tab-pane label="客流趋势" name="second"></el-tab-pane>
+          <el-tab-pane label="景点访客量" name="first" />
+          <el-tab-pane label="客流趋势" name="second" />
         </el-tabs>
       </el-card>
     </div>
-    <div style="height: 32px"></div>
+    <div style="height: 32px" />
     <el-row :gutter="40">
       <el-col :xs="24" :sm="24" :lg="8">
         <div class="bz-card">

+ 8 - 8
src/views/bz/touristAnalysis/index.vue

@@ -4,52 +4,52 @@
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/api/docs`)">
           <div class="card-panel-icon-wrapper icon-people">
-            <el-image src="/images/016527@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016527@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               累计访客人数
             </div>
-            <count-to :start-val="0" :end-val="2854247" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="2854247" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/appKey/index`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/016528@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016528@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               省内访客人数
             </div>
-            <count-to :start-val="0" :end-val="762084" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="762084" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/016529@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016529@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               省外访客人数
             </div>
-            <count-to :start-val="0" :end-val="2090736" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="2090736" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>
       <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
         <div class="card-panel" @click="gotoPage(`/statistics/file`)">
           <div class="card-panel-icon-wrapper icon-message">
-            <el-image src="/images/016530@2x.png" class="card-panel-icon" style="height: 60px"/>
+            <el-image src="/images/016530@2x.png" class="card-panel-icon" style="height: 60px" />
           </div>
           <div class="card-panel-description">
             <div class="card-panel-text">
               境外访客人数
             </div>
-            <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num"/>
+            <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num" />
           </div>
         </div>
       </el-col>

+ 13 - 13
src/views/equipment/passenger/Detail.vue

@@ -5,16 +5,16 @@
         <el-card class="card">
           <strong>天气</strong>
           <span style="color: #999999;margin-left: 34px">03月07日 周一 农历二月初五</span>
-          <div style="clear: both"/>
+          <div style="clear: both" />
           <div style="margin-top: 30px">
-            <el-image src="/images/sun@3x.png" style="width: 30px;"/>
+            <el-image src="/images/sun@3x.png" style="width: 30px;" />
             <span style="font-size: 20px;margin-left: 24px;">10</span>
             <span>℃</span>
             <span style="color: #FFAA33;margin-left: 10px">晴</span>
           </div>
-          <el-divider/>
+          <el-divider />
           <span style="color: #666666">西南风<3级</span>
-          <el-divider direction="vertical" style="padding: 0 10px"/>
+          <el-divider direction="vertical" style="padding: 0 10px" />
           <span style="display: inline-block;background: #F37868;padding: 2px 8px;color: white;border-radius: 2px"> 69 良</span>
         </el-card>
       </el-col>
@@ -27,7 +27,7 @@
               <div style="color: #45CA9D;line-height: 85px;font-size: 50px">25</div>
             </el-col>
             <el-col :span="2">
-              <el-divider direction="vertical" class="vertical-divider-100"/>
+              <el-divider direction="vertical" class="vertical-divider-100" />
             </el-col>
             <el-col :span="11" class="air-quality-info">
               <div>首要污染物:酸雨</div>
@@ -43,22 +43,22 @@
           <div style="color: #45CA9D;font-size: 30px;line-height: 50px;padding: 25px 0;text-align: center">畅通</div>
           <el-row>
             <el-col :span="12">
-              <div style="background: #D34400;" class="sample-block"></div>
+              <div style="background: #D34400;" class="sample-block" />
               严重拥挤
             </el-col>
             <el-col :span="12">
-              <div style="background: #FF8B33;" class="sample-block"></div>
+              <div style="background: #FF8B33;" class="sample-block" />
               拥挤
             </el-col>
           </el-row>
-          <div style="height: 10px"></div>
+          <div style="height: 10px" />
           <el-row>
             <el-col :span="12">
-              <div style="background: #FFAA33;" class="sample-block"></div>
+              <div style="background: #FFAA33;" class="sample-block" />
               缓行
             </el-col>
             <el-col :span="12">
-              <div style="background: #45CA9D;" class="sample-block"></div>
+              <div style="background: #45CA9D;" class="sample-block" />
               畅通
             </el-col>
           </el-row>
@@ -73,7 +73,7 @@
               <div style="color: #45CA9D;line-height: 85px;font-size: 50px">1688</div>
             </el-col>
             <el-col :span="2">
-              <el-divider direction="vertical" class="vertical-divider-100"/>
+              <el-divider direction="vertical" class="vertical-divider-100" />
             </el-col>
             <el-col :span="11" class="air-quality-info">
               <div>湿度:56.0%</div>
@@ -129,13 +129,13 @@
       <el-col :span="8">
         <el-card>
           <div slot="header">性别</div>
-          <div id="gender-box" style="width: 100%;height:200px;"/>
+          <div id="gender-box" style="width: 100%;height:200px;" />
         </el-card>
       </el-col>
       <el-col :span="8">
         <el-card>
           <div slot="header">来源</div>
-          <div id="from-source-box" style="width: 100%;height:200px;"/>
+          <div id="from-source-box" style="width: 100%;height:200px;" />
         </el-card>
       </el-col>
       <el-col :span="8">

+ 1 - 1
src/views/place/baseInfo/index.vue

@@ -32,7 +32,7 @@
           {{ scope.row.litpics.length }}张
         </template>
       </el-table-column>
-      <el-table-column label="地址" prop="address" min-width="350"/>
+      <el-table-column label="地址" prop="address" min-width="350" />
       <el-table-column label="分类" prop="category.name" width="100" />
       <el-table-column label="联系人" prop="contacts" width="100" />
       <el-table-column label="联系电话" prop="contactNumber" width="150" />

+ 6 - 6
src/views/sentiment/rule/index.vue

@@ -3,7 +3,7 @@
 
     <el-form :model="queryForm" inline size="small">
       <el-form-item label="网站名称">
-        <el-input v-model="queryForm.siteName" placeholder="网站名称"/>
+        <el-input v-model="queryForm.siteName" placeholder="网站名称" />
       </el-form-item>
     </el-form>
     <el-row class="action-bar-container" type="flex" justify="end">
@@ -33,9 +33,9 @@
       highlight-current-row
       @selection-change="selectionChange"
     >
-      <el-table-column type="selection" width="55"/>
-      <el-table-column label="ID" prop="id" width="150"/>
-      <el-table-column label="网站名称" prop="siteName" width="300"/>
+      <el-table-column type="selection" width="55" />
+      <el-table-column label="ID" prop="id" width="150" />
+      <el-table-column label="网站名称" prop="siteName" width="300" />
       <el-table-column label="启动地址" prop="startUrls" width="300">
         <template slot-scope="scope">
           <div v-for="startUrl in scope.row.startUrls.split('\n')" :key="startUrl"> {{ startUrl }}</div>
@@ -50,7 +50,7 @@
         <template slot-scope="scope">
           <el-dropdown>
             <el-button type="text">
-              操作<i class="el-icon-arrow-down el-icon--right"/>
+              操作<i class="el-icon-arrow-down el-icon--right" />
             </el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item
@@ -79,7 +79,7 @@
       :page-size="pageData.pageSize"
       @current-change="paginationChange"
     />
-    <dialog-form ref="dialogForm" @ok="fetchData"/>
+    <dialog-form ref="dialogForm" @ok="fetchData" />
   </div>
 </template>