Browse Source

添加认证关系的跳转

sunjh 6 years ago
parent
commit
3539737678

+ 1 - 1
src/components/Mine.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="mine-container">
-    <div id="myChart" style="width: 100%;height: 400px"></div>
+    <div id="myChart" style="width: 100%;height: 200px;padding-top: 40px"></div>
     <!--<div class="mine-top-wrapper">-->
     <!--<el-row :gutter="0" style="height:100%">-->
     <!--<el-col :span="16">-->

+ 11 - 11
src/components/authen/AuthenticationManage.vue

@@ -6,19 +6,19 @@
         :data="authenticationList"
         stripe
         style="width: 100%">
-        <el-table-column prop="code" label="编号" width="180">
+        <el-table-column prop="code" label="编号">
           <template slot-scope="scope">
             <span>{{scope.row.code}}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="userInfo" label="用户信息" width="180">
+        <el-table-column prop="userInfo" label="用户信息">
           <template slot-scope="scope">
             <span style="cursor: pointer">
               <el-link type="primary">{{scope.row.userInfo}}</el-link>
             </span>
           </template>
         </el-table-column>
-        <el-table-column prop="type" label="认证类型" width="180">
+        <el-table-column prop="type" label="认证类型">
           <template slot-scope="scope">
             <span>
               <el-tag v-if="scope.row.type=='个人'" type="success">{{scope.row.type}}</el-tag>
@@ -27,12 +27,12 @@
             </span>
           </template>
         </el-table-column>
-        <el-table-column prop="detail" label="认证详情" width="180">
+        <el-table-column prop="detail" label="认证详情">
           <template slot-scope="scope">
             <el-link type="primary">{{scope.row.detail}}</el-link>
           </template>
         </el-table-column>
-        <el-table-column prop="status" label="认证状态" width="180">
+        <el-table-column prop="status" label="认证状态">
           <template slot-scope="scope">
             <span>
               <el-tag v-if="scope.row.status==authenticationStatusUntreated" type="info">{{scope.row.status}}</el-tag>
@@ -41,12 +41,12 @@
             </span>
           </template>
         </el-table-column>
-        <el-table-column prop="date" label="申请时间">
+        <el-table-column prop="date" label="申请时间" width="180">
           <template slot-scope="scope">
             <span>{{scope.row.date}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作">
+        <el-table-column label="操作" width="180">
           <template slot-scope="scope">
             <el-button type="primary" size="mini" @click="handleAuthenticationPass(scope.row)">通过</el-button>
             <el-button type="warning" size="mini" @click="handleAuthenticationReject(scope.row)">驳回</el-button>
@@ -72,9 +72,9 @@ export default {
   data () {
     return {
       currentPage: 1,
-      authenticationStatusUntreated:'审核中',
-      authenticationStatusPass:'审核通过',
-      authenticationStatusReject:'审核未通过',
+      authenticationStatusUntreated: '审核中',
+      authenticationStatusPass: '审核通过',
+      authenticationStatusReject: '审核未通过',
       authenticationList: [{
         code: '123122',
         userInfo: '郭超',
@@ -89,7 +89,7 @@ export default {
         status: '审核未通过',
         detail: '查看详情',
         date: '2016-05-04'
-      },{
+      }, {
         code: '123124',
         userInfo: '郭超',
         type: '机构',

+ 288 - 26
src/components/commons/Header.vue

@@ -93,43 +93,214 @@
             </router-link>
           </li>
           <el-dropdown v-if="isLogin">
-            <span class="dropdown-toggle nav-link el-dropdown-link">{{user.userVO.name}}<i class="el-icon-arrow-down el-icon--right"></i>
+            <span class="dropdown-toggle nav-link el-dropdown-link">{{user.userVO.name}}<i
+              class="el-icon-arrow-down el-icon--right"></i>
             </span>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item><el-link type="danger" icon="el-icon-warning-outline">未实名认证</el-link></el-dropdown-item>
-              <el-dropdown-item disabled><el-link type="info" disabled icon="el-icon-warning-outline">已认证</el-link></el-dropdown-item>
+              <el-dropdown-item>
+                <router-link :to="{ name: 'AuthenticationManage'}">
+                  <el-link icon="el-icon-view" :underline="false">
+                    审核认证信息
+                  </el-link>
+                </router-link>
+              </el-dropdown-item>
+              <el-dropdown-item>
+                <router-link :to="{ name: 'AuthenticationIndex'}">
+                  <el-link type="info" icon="el-icon-warning-outline" :underline="false">
+                    未实名认证
+                  </el-link>
+                </router-link>
+              </el-dropdown-item>
+              <el-dropdown-item @click.native="handleClickAuthChecking()">
+                <el-link type="warning" icon="el-icon-loading" :underline="false">
+                  认证审核中
+                </el-link>
+              </el-dropdown-item>
+              <el-dropdown-item @click.native="handleClickAuthPass()">
+                <el-link type="primary" icon="el-icon-check" :underline="false">
+                  已认证
+                </el-link>
+              </el-dropdown-item>
+              <el-dropdown-item @click.native="handleClickAuthReject()">
+                <el-link type="danger" icon="el-icon-close" :underline="false">
+                  认证失败
+                </el-link>
+              </el-dropdown-item>
               <el-dropdown-item divided @click.native="userLogout()">登出</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
+          <el-dialog title="认证信息审核中" :visible.sync="isShowAuthCheckingDialog" width="40%"
+                     :before-close="hideAuthCheckingDialog" center>
+            <span>
+              <el-card v-if="authInfo.type" class="box-card">
+                <div slot="header" class="clearfix">
+                  <span>认证信息</span>
+                </div>
+                <div class="text item">
+                  <ul v-if="authInfo.type=='个人'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.realName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='机构'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.evaluationAgencyName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='企业'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证企业名称:{{authInfo.companyName}}</li>
+                    <li>认证法人姓名:{{authInfo.legalPersonName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>统一信用代码:{{authInfo.unifiedSocialCreditCode}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+                </div>
+              </el-card>
+            </span>
+            <span slot="footer" class="dialog-footer">
+              <el-button size="mini" @click="hideAuthCheckingDialog">返回</el-button>
+              <el-button size="mini" type="danger" @click="deleteOldAuthInfo">放弃认证</el-button>
+              <el-button size="mini" type="primary" @click="handleUpdateAuthInfo">重新认证</el-button>
+            </span>
+          </el-dialog>
+          <el-dialog title="认证成功" :visible.sync="isShowAuthPassDialog" width="40%" :before-close="hideAuthPassDialog"
+                     center>
+            <span>
+              <el-card v-if="authInfo.type" class="box-card">
+                <div slot="header" class="clearfix">
+                  <span>认证信息</span>
+                </div>
+                <div class="text item">
+                  <ul v-if="authInfo.type=='个人'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.realName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='机构'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.evaluationAgencyName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='企业'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证企业名称:{{authInfo.companyName}}</li>
+                    <li>认证法人姓名:{{authInfo.legalPersonName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>统一信用代码:{{authInfo.unifiedSocialCreditCode}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+                </div>
+              </el-card>
+            </span>
+            <span slot="footer" class="dialog-footer">
+              <el-button size="mini" @click="hideAuthPassDialog">返回</el-button>
+            </span>
+          </el-dialog>
+          <el-dialog title="认证失败" :visible.sync="isShowAuthRejectDialog" width="40%"
+                     :before-close="hideAuthRejectDialog"
+                     center>
+            <span>
+              <el-card v-if="authInfo.type" class="box-card">
+                <div slot="header" class="clearfix">
+                  <span>认证信息</span>
+                </div>
+                <div class="text item">
+                  <ul v-if="authInfo.type=='个人'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.realName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='机构'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证姓名:{{authInfo.evaluationAgencyName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+
+                  <ul v-if="authInfo.type=='企业'" style="list-style-type:none">
+                    <li>认证类型:{{authInfo.type}}认证</li>
+                    <li>认证企业名称:{{authInfo.companyName}}</li>
+                    <li>认证法人姓名:{{authInfo.legalPersonName}}</li>
+                    <li>认证账户:{{authInfo.bankAccount}}</li>
+                    <li>统一信用代码:{{authInfo.unifiedSocialCreditCode}}</li>
+                    <li>认证地址:{{authInfo.address}}</li>
+                    <li>申请时间:{{authInfo.createTime}}</li>
+                    <li>认证状态:{{authInfo.status}}</li>
+                    <li>失败原因:{{authInfo.rejectReason}}</li>
+                  </ul>
+                </div>
+              </el-card>
+            </span>
+            <span slot="footer" class="dialog-footer">
+              <el-button size="mini" @click="hideAuthRejectDialog">返回</el-button>
+              <el-button size="mini" type="danger" @click="deleteOldAuthInfo">放弃认证</el-button>
+              <el-button size="mini" type="primary" @click="handleUpdateAuthInfo">修改认证信息</el-button>
+            </span>
+          </el-dialog>
           <!--<li class="dropdown nav-item">-->
-            <!--<router-link v-if="isLogin" to="/mine">-->
-              <!--<a class="dropdown-toggle nav-link" data-toggle="dropdown">-->
-                <!--<span>{{user.userVO.name}}</span>-->
-              <!--</a>-->
-            <!--</router-link>-->
+          <!--<router-link v-if="isLogin" to="/mine">-->
+          <!--<a class="dropdown-toggle nav-link" data-toggle="dropdown">-->
+          <!--<span>{{user.userVO.name}}</span>-->
+          <!--</a>-->
+          <!--</router-link>-->
           <!--</li>-->
           <!--<li class="dropdown nav-item">-->
-            <!--<router-link v-if="isLogin" to="/mine">-->
-              <!--<div style="margin-top: 5px;margin-right: 20px">-->
-                <!--<el-tooltip class="item" effect="dark" content="认证成功" placement="bottom">-->
-                  <!--<el-link type="info" disabled icon="el-icon-warning-outline">已认证</el-link>-->
-                <!--</el-tooltip>-->
-              <!--</div>-->
-            <!--</router-link>-->
+          <!--<router-link v-if="isLogin" to="/mine">-->
+          <!--<div style="margin-top: 5px;margin-right: 20px">-->
+          <!--<el-tooltip class="item" effect="dark" content="认证成功" placement="bottom">-->
+          <!--<el-link type="info" disabled icon="el-icon-warning-outline">已认证</el-link>-->
+          <!--</el-tooltip>-->
+          <!--</div>-->
+          <!--</router-link>-->
           <!--</li>-->
           <!--<li class="dropdown nav-item">-->
-            <!--<router-link v-if="isLogin" to="/mine">-->
-              <!--<div style="margin-top: 5px;margin-right: 20px">-->
-                <!--<el-tooltip class="item" effect="dark" content="点击进行认证" placement="bottom">-->
-                  <!--<el-link type="danger" icon="el-icon-warning-outline">未实名认证</el-link>-->
-                <!--</el-tooltip>-->
-              <!--</div>-->
-            <!--</router-link>-->
+          <!--<router-link v-if="isLogin" to="/mine">-->
+          <!--<div style="margin-top: 5px;margin-right: 20px">-->
+          <!--<el-tooltip class="item" effect="dark" content="点击进行认证" placement="bottom">-->
+          <!--<el-link type="danger" icon="el-icon-warning-outline">未实名认证</el-link>-->
+          <!--</el-tooltip>-->
+          <!--</div>-->
+          <!--</router-link>-->
           <!--</li>-->
           <!--<li>-->
-            <!--<a v-if="isLogin" class="dropdown-toggle nav-link" data-toggle="dropdown" href="#" @click="userLogout()">-->
-              <!--<span>登出</span>-->
-            <!--</a>-->
+          <!--<a v-if="isLogin" class="dropdown-toggle nav-link" data-toggle="dropdown" href="#" @click="userLogout()">-->
+          <!--<span>登出</span>-->
+          <!--</a>-->
           <!--</li>-->
         </ul>
       </div>
@@ -139,7 +310,16 @@
 </template>
 
 <script>
-import {defaultValue, getCurrentUser, getRolesPermissions, logout, storageGet, storageSave} from '@/js/index'
+import {
+  defaultValue,
+  deleteAuthInfo,
+  getCurrentAuthenInfo,
+  getCurrentUser,
+  getRolesPermissions,
+  logout,
+  storageGet,
+  storageSave
+} from '@/js/index'
 import {notify} from '@/constants/index'
 
 export default {
@@ -148,6 +328,10 @@ export default {
     return {
       user: {},
       fullScreenLoading: true,
+      authInfo: {},
+      isShowAuthCheckingDialog: false,
+      isShowAuthRejectDialog: false,
+      isShowAuthPassDialog: false,
       //loading: true,
       openNavBar: false,
       defaultValue: defaultValue,
@@ -235,6 +419,84 @@ export default {
       })
 
     },
+    showLoading () {
+      this.fullScreenLoading = true
+    },
+    hideLoading () {
+      this.fullScreenLoading = false
+    },
+    handleClickAuthReject () {
+      this.getAuthInfo(this.showAuthRejectDialog)
+    },
+    handleClickAuthPass () {
+      this.getAuthInfo(this.showAuthPassDialog)
+    },
+    handleClickAuthChecking () {
+      this.getAuthInfo(this.showAuthCheckingDialog)
+    },
+    showAuthRejectDialog () {
+      this.isShowAuthRejectDialog = true
+    },
+    showAuthPassDialog () {
+      this.isShowAuthPassDialog = true
+    },
+    showAuthCheckingDialog () {
+      this.isShowAuthCheckingDialog = true
+    },
+    hideAuthRejectDialog () {
+      this.isShowAuthRejectDialog = false
+    },
+    hideAuthPassDialog () {
+      this.isShowAuthPassDialog = false
+    },
+    hideAuthCheckingDialog () {
+      this.isShowAuthCheckingDialog = false
+    },
+    deleteOldAuthInfo () {
+      this.hideAuthCheckingDialog()
+      this.hideAuthRejectDialog()
+      this.hideAuthPassDialog()
+      this.showLoading()
+      deleteAuthInfo().then((res) => {
+        this.hideLoading()
+        notify('success', '成功删除认证信息')
+      }).catch((error) => {
+        this.hideLoading()
+        notify('error', '删除认证信息失败:' + error.data)
+      })
+    },
+    getAuthInfo (successMethod) {
+      this.showLoading()
+      getCurrentAuthenInfo().then((res) => {
+        console.log(res)
+        this.authInfo = res
+        this.hideLoading()
+        successMethod()
+      }).catch((error) => {
+        this.hideLoading()
+        notify('error', '加载用户认证信息失败:' + error.data)
+      })
+    },
+    handleUpdateAuthInfo () {
+      this.hideAuthPassDialog()
+      this.hideAuthRejectDialog()
+      this.hideAuthCheckingDialog()
+      if (this.authInfo.type == '个人') {
+        this.$router.push({
+          name: 'IndividualAuthentication',
+        })
+      }
+      if (this.authInfo.type == '企业') {
+        this.$router.push({
+          name: 'EnterpriseAuthentication',
+        })
+      }
+      if (this.authInfo.type == '机构') {
+        this.$router.push({
+          name: 'AgencyAuthentication',
+        })
+      }
+    }
   },
   created () {
   },

+ 62 - 0
src/js/index.js

@@ -358,3 +358,65 @@ export const getAllAuthentications = () => {
     authenticationDetail: {}
   }]
 }
+
+export const getCurrentAuthenInfo = () => {
+  const individualData = {
+    type: '个人',//企业、机构、个人
+    //共有
+    id: 1,
+    userId: 3,
+    bankAccount: '621000999000999000',
+    address: '江苏科技大厦',
+    status: '认证失败',
+    rejectReason: '太强',
+    createTime: '2019.13.12',
+    //个人
+    realName: '李白',
+    IDCard: '',
+    IDCardPhoto: '',
+  }
+  const enterpriseData = {
+    type: '企业',//企业、机构、个人
+    //共有
+    id: 1,
+    userId: 3,
+    bankAccount: '',
+    address: '',
+    status: '',
+    rejectReason: '',
+    createTime: '',
+    //企业
+    companyName: '',
+    legalPersonName: '',
+    businessLicensePhoto: '',
+    unifiedSocialCreditCode: '',
+
+  }
+  const agencyData = {
+    type: '机构',//企业、机构、个人
+    //共有
+    id: 1,
+    userId: 3,
+    bankAccount: '',
+    address: '',
+    status: '',
+    rejectReason: '',
+    createTime: '',
+    //机构
+    evaluationAgencyName: '',
+    evaluationAgencyAbilityList: [],
+    evaluationAgencyResourceList: [],
+    agencyPhoto: '',
+  }
+  return new Promise((resolve) => {
+    resolve(individualData)
+  })
+}
+//放弃认证
+export const deleteAuthInfo = () => {
+  const data = {}
+  return new Promise((resolve) => {
+    resolve(data)
+  })
+  //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
+}