From a9546154c39b7850746317af561573ed8ee503d1 Mon Sep 17 00:00:00 2001
From: zzzz <690498789@qq.com>
Date: Sun, 07 Apr 2024 16:02:07 +0800
Subject: [PATCH] new

---
 src/page/authentication/index.vue |  265 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 186 insertions(+), 79 deletions(-)

diff --git a/src/page/authentication/index.vue b/src/page/authentication/index.vue
index 967843a..c569801 100644
--- a/src/page/authentication/index.vue
+++ b/src/page/authentication/index.vue
@@ -7,81 +7,146 @@
         </div>
       </div>
       <div class="titles">
-        <span>{{ '实名认证' }}</span>
+        <span>{{ $t("hj146") }}</span>
       </div>
       <div class="bank_name">
         <div class="lefts">
-          <span>{{ '真实姓名:' }}</span>
+          <span>{{ $t("hj195") + ":" }}</span>
         </div>
         <div class="rights">
-          <input type="text" v-model="form.name" />
+          <input
+            v-if="showBtn"
+            type="text"
+            placeholder="Please enter your Name"
+            v-model="form.name"
+          />
+
+          <input v-if="!showBtn" type="text" v-model="form.name" readonly />
         </div>
       </div>
       <div class="bank_name">
         <div class="lefts">
-          <span>{{ '身份证号:' }}</span>
+          <span>{{ $t("hj196") + ":" }}</span>
         </div>
         <div class="rights">
-          <input type="text" v-model="form.idCard" />
+          <input
+            v-if="showBtn"
+            type="text"
+            placeholder="Please enter your ID card"
+            v-model="form.idCard"
+          />
+          <input v-if="!showBtn" type="text" v-model="form.idCard" readonly />
         </div>
       </div>
+      <!-- <div class="bank_name">
+        <div class="lefts">
+          <span>{{ "Vaild Number" + ":" }}</span>
+        </div>
+        <div class="rights">
+          <input
+            v-if="showBtn"
+            type="text"
+            placeholder="Please enter your ID card"
+            v-model="form.vaildNumber"
+          />
+          <input
+            v-if="!showBtn"
+            type="text"
+            v-model="form.vaildNumber"
+            readonly
+          />
+        </div>
+      </div> -->
       <div class="uploads">
         <div class="lefts">
           <el-upload
             :with-credentials="true"
             class="avatar-uploader"
-            :action="admin+'/user/upload.do'"
+            :action="admin + '/user/upload.do'"
             list-type="picture-card"
             name="upload_file"
             :show-file-list="false"
             :on-success="handleAvatarSuccess"
             :on-error="handleError"
             :before-upload="beforeAvatarUpload"
+            :disabled="!showBtn"
           >
-            <img v-if="form.img1key" :src="form.img1key" class="id-img avatar" />
+            <img
+              v-if="form.img1key"
+              :src="form.img1key"
+              class="id-img avatar"
+              style="width: 100%; height: 100%"
+            />
             <i v-else class="iconfont icon-zhaopian"></i>
-            <span v-if="!form.img1key && !imgStatus" class="btn-title">身份证正面</span>
-            <span v-if="imgStatus" class="btn-title">正在上传中...</span>
+            <span v-if="!form.img1key && !imgStatus" class="btn-title">{{
+              $t("hj197")
+            }}</span>
+            <span v-if="imgStatus" class="btn-title">{{ $t("hj198") }}</span>
           </el-upload>
         </div>
         <div class="rights">
           <el-upload
             :with-credentials="true"
             class="avatar-uploader"
-            :action="admin+'/user/upload.do'"
+            :action="admin + '/user/upload.do'"
             list-type="picture-card"
             name="upload_file"
             :show-file-list="false"
             :on-success="handleAvatarSuccess2"
             :on-error="handleError2"
             :before-upload="beforeAvatarUpload2"
+            :disabled="!showBtn"
           >
-            <img v-if="form.img2key" :src="form.img2key" class="id-img avatar" />
+            <img
+              v-if="form.img2key"
+              :src="form.img2key"
+              class="id-img avatar"
+              style="width: 100%; height: 100%"
+            />
             <i v-else class="iconfont icon-zhaopian"></i>
-            <span v-if="!form.img2key && !imgStatus2" class="btn-title">身份证背面</span>
-            <span v-if="imgStatus2" class="btn-title">正在上传中...</span>
+            <span v-if="!form.img2key && !imgStatus2" class="btn-title">{{
+              $t("hj199")
+            }}</span>
+            <span v-if="imgStatus2" class="btn-title">{{ $t("hj198") }}</span>
           </el-upload>
         </div>
       </div>
       <div class="bank_name bind" @click="toSure" v-if="showBtn">
-        <span>{{ '确定' }}</span>
+        <span>{{ $t("hj161") }}</span>
       </div>
       <van-notify v-model="messFlag" type="primary">
         <div>
           <div class="eft">
-            <span>{{ '认证失败,请重新认证' }}</span>
+            <span>{{ $t("hj200") }}</span>
           </div>
           <div class="bft">
-            <span>失败原因:{{this.$store.state.userInfo.authMsg}}</span>
+            <span
+              >{{ $t("hj201") }}:{{ this.$store.state.userInfo.authMsg }}</span
+            >
           </div>
         </div>
       </van-notify>
-    </div>
-    <div class="pass">
-      <div class="top_t">
-        <span v-if="this.$store.state.userInfo.isActive == 1" class="ise_pass">{{ '审核中' }}</span>
-        <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{ '通过' }}</span>
-        <span v-if="showBtn" class="ise_pass">{{ '未通过' }}</span>
+      <div class="pass">
+        <div class="top_t">
+          <img
+            v-if="this.$store.state.userInfo.isActive == 1"
+            src="../../../static/img/bd_shz.png"
+          />
+          <span
+            v-if="this.$store.state.userInfo.isActive == 1"
+            class="ise_pass"
+            >{{ $t("hj202") }}</span
+          >
+          <img
+            v-if="!showBtn && this.$store.state.userInfo.isActive != 1"
+            src="../../../static/img/bd_suessce.png"
+          />
+          <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{
+            $t("hj203")
+          }}</span>
+          <img v-if="showBtn" src="../../../static/img/bd_fail.png" />
+          <span v-if="showBtn" class="ise_pass">{{ $t("hj204") }}</span>
+        </div>
       </div>
     </div>
   </div>
@@ -92,7 +157,7 @@
 import { Toast } from "mint-ui";
 import { isNull, idCardReg, isName } from "@/utils/utils";
 import { compress } from "@/utils/imgupload";
-
+import apiUrl from "@/axios/api.url.js";
 export default {
   name: "bankCard",
   data() {
@@ -101,33 +166,25 @@
         phone: "",
         name: "",
         idCard: "",
+        vaildNumber: "",
         img1key: "",
         img2key: "",
-        img3key: ""
+        img3key: "",
       },
       img1Key: "",
       img2Key: "",
       img3Key: "",
       showBtn: true,
-      admin: "",
+      admin: apiUrl.baseURL,
       imgStatus: false,
       imgStatus2: false,
-      messFlag: this.$store.state.userInfo.isActive == 3 ? true : false
+      messFlag: this.$store.state.userInfo.isActive == 3 ? true : false,
     };
   },
   created() {
-    if (
-      this.$store.state.userInfo.isActive === 1 ||
-      this.$store.state.userInfo.isActive === 2
-    ) {
-      this.form.idCard = this.$store.state.userInfo.idCard;
-      this.form.name = this.$store.state.userInfo.realName;
-      this.form.img1key = this.$store.state.userInfo.img1Key;
-      this.form.img2key = this.$store.state.userInfo.img2Key;
-      //   this.form.img3key = this.$store.state.userInfo.img3Key
-      this.showBtn = false;
-    }
+    this.getUserInfo();
   },
+
   beforeDestroy() {
     if (this.$state.theme == "red") {
       document.body.classList.remove("red-bg");
@@ -138,10 +195,6 @@
     if (this.$state.theme == "red") {
       document.body.classList.remove("black-bg");
       document.body.classList.add("red-bg");
-    }
-    this.admin = process.env.API_HOST;
-    if (this.admin === undefined) {
-      this.admin = "";
     }
   },
   methods: {
@@ -161,14 +214,13 @@
     },
     beforeAvatarUpload2(file) {
       this.imgStatus2 = true;
-      // const _that = this
       const isLt10M = file.size / 1024 / 1024 < 10;
       if (!isLt10M) {
-        this.$message.error("上传图片大小不能超过 10M!");
+        this.$message.error(this.$t("hj205"));
         return false;
       } else {
         this.form.img2key = URL.createObjectURL(file);
-        compress(file, function(val) {});
+        compress(file, function (val) {});
       }
     },
     handleError2() {
@@ -177,9 +229,34 @@
     handleAvatarSuccess3(res, file) {
       this.form.img3key = res.data.url; // URL.createObjectURL(file.raw);
     },
+    async getUserInfo() {
+      // 获取用户信息
+      let data = await api.getUserInfodata();
+      if (data.status === 0) {
+        // 判断是否登录
+        this.$store.commit("dialogVisible", false);
+        this.$store.state.userInfo = data.data;
+        this.userInfo = data.data;
+        if (
+          this.$store.state.userInfo.isActive === 1 ||
+          this.$store.state.userInfo.isActive === 2
+        ) {
+          this.form.idCard = this.$store.state.userInfo.idCard;
+          this.form.vaildNumber = this.$store.state.userInfo.vaildNumber;
+          this.form.name = this.$store.state.userInfo.realName;
+          this.form.img1key = this.$store.state.userInfo.img1Key;
+          this.form.img2key = this.$store.state.userInfo.img2Key;
+          this.showBtn = false;
+        }
+      } else {
+        //this.$store.commit('dialogVisible',true);
+        //跳转到login
+        this.$router.push({ path: "/login" });
+      }
+    },
     beforeAvatarUpload3(file) {},
     // 上传
-    handleFile: function(e) {
+    handleFile: function (e) {
       // var that = this
       let $target = e.target || e.srcElement;
       let file = $target.files[0];
@@ -187,48 +264,45 @@
       console.log(file, "file");
       let i = false;
       if (i) {
-        Toast("您上传的照片过大,请选择20M以下的图片");
+        Toast(this.$t("hj206"));
       } else {
-        // Indicator.open('Loading...')
         this.img1Key = file;
-        // this.$refs.formDate.submit()
-        // this.uploadIdImg({upload_file:file})
         var reader = new FileReader();
-        reader.onload = data => {
+        reader.onload = (data) => {
           let res = data.target || data.srcElement;
           this.form.img1Key = res.result;
           // Indicator.close()
         };
-        // reader.onloadend = () => {
-        //   Indicator.close()
-        // }
+
         reader.readAsDataURL(file);
       }
     },
     toSure() {
       // 实名认证弹框
-      if (isNull(this.form.name) || !isName(this.form.name)) {
-        Toast("请输入您的真实姓���");
-      } else if (isNull(this.form.idCard) || !idCardReg(this.form.idCard)) {
-        Toast("请输入您的正确的身份证号码");
-      } else if (isNull(this.form.img1key) || isNull(this.form.img2key)) {
-        Toast("请上传您的身份证照片");
+      if (isNull(this.form.name)) {
+        Toast(this.$t("hj207"));
+      } else if (isNull(this.form.idCard)) {
+        Toast(this.$t("hj208"));
       } else {
         // 显示确认弹窗
         this.toAuthentication();
       }
     },
     async toAuthentication() {
+      // console.log(this.form);
+
+      // return;
       let opts = {
         realName: this.form.name,
         idCard: this.form.idCard,
+        vaildNumber: this.form.vaildNumber,
         img1key: this.form.img1key,
         img2key: this.form.img2key,
-        img3key: this.form.img3key
+        img3key: this.form.img3key,
       };
       let data = await api.userAuth(opts);
       if (data.status === 0) {
-        Toast("提交成功!");
+        Toast(this.$t("hj210"));
         this.goBack();
       } else {
         Toast(data.msg);
@@ -236,45 +310,52 @@
     },
     goBack() {
       this.$router.back(-1);
-    }
-  }
+    },
+  },
 };
 </script>
 
 <style scoped lang="less">
 .bank_card_page {
   width: 100%;
-  height: 100%;
+  // height: 100%;
   background: #fff;
   position: relative;
+
   .content {
     width: 100%;
     height: 100%;
     padding: 0 0.6rem;
+
     .top_back {
       width: 100%;
       height: 2rem;
+
       > div {
         width: 10%;
         height: 100%;
         display: flex;
         align-items: center;
       }
+
       img {
         width: 0.6rem;
         height: 0.6rem;
       }
     }
+
     .titles {
       width: 100%;
       height: 1.5rem;
       font-size: 0.641rem;
       margin-top: 1rem;
+
       span {
         font-weight: 600;
       }
     }
   }
+
   .bank_name {
     width: 100%;
     height: 1.5rem;
@@ -283,22 +364,26 @@
     background: rgb(247, 247, 247);
     border-radius: 0.2rem;
     margin-top: 0.3rem;
+
     .lefts {
-      width: 25%;
+      width: 36%;
       height: 100%;
       display: flex;
       align-items: center;
       font-size: 0.3846rem;
+
       span {
         font-weight: 600;
       }
     }
+
     .rights {
       width: 75%;
       height: 100%;
       display: flex;
       align-items: center;
       justify-content: center;
+
       input {
         width: 100%;
         height: 100%;
@@ -306,55 +391,77 @@
     }
   }
 }
+
 .bank_name.bind {
   display: flex;
   align-items: center;
   justify-content: center;
-  background: #2d6ae9;
+  background: #5c288c;
   font-size: 0.4103rem;
   color: #fff;
+
   span {
     font-weight: 600;
   }
 }
+
 .uploads {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 0.3rem;
+
   > div {
     width: 48%;
     background: rgb(247, 247, 247);
   }
 }
+
 /deep/ .el-upload--picture-card {
   background: none;
   width: 100%;
   height: 1.6rem;
   line-height: 1.6rem;
 }
+
 /deep/ .el-upload__input {
   display: none;
 }
+
 .pass {
-  width: 70%;
-  height: 4rem;
-  position: absolute;
-  top: 3.5rem;
-  right: .2rem;
-  opacity: 0.2;
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: auto;
+  // position: absolute;
+  // top: 1.72rem;
+  // right: .2rem;
+  // opacity: 0.2;
+
   .top_t {
     width: 100%;
-    height: 20%;
+    height: auto;
     display: flex;
-    justify-content: flex-end;
-    font-size: 3.2821rem;
-    color: #99b8f5;
-    align-items: flex-end;
+    flex-direction: column;
+    justify-content: center;
+    font-size: 80px;
+    color: #3ac23e;
+    align-items: center;
+    img {
+      width: 64px;
+      height: 64px;
+      margin-top: 200px;
+      margin-bottom: 20px;
+    }
+    span {
+      font-size: 30px;
+    }
   }
+
   .ise_pass {
-    font-size: 2.2rem;
+    font-size: 80px;
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3