detail.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. @extends('layouts.base')
  2. @section('title', '认证详情')
  3. @section('content')
  4. <style>
  5. .panel{
  6. margin-bottom:10px!important;
  7. border-radius: 10px;
  8. padding-left: 20px;
  9. }
  10. .panel .active a {
  11. background-color: #29ba9c!important;
  12. border-radius: 18px!important;
  13. color:#fff;
  14. }
  15. .panel a{
  16. border:none!important;
  17. background-color:#fff!important;
  18. }
  19. .content{
  20. background: #eff3f6;
  21. padding: 10px!important;
  22. }
  23. .con{
  24. padding-bottom:20px;
  25. position:relative;
  26. border-radius: 8px;
  27. min-height: 100vh;
  28. background: #fff;
  29. }
  30. .con .setting .block{
  31. padding:10px;
  32. background-color:#fff;
  33. border-radius: 8px;
  34. margin-bottom:10px;
  35. }
  36. .con .setting .block .title{
  37. font-size:18px;
  38. margin-bottom:32px;
  39. display:flex;
  40. align-items:center;
  41. justify-content:space-between;
  42. }
  43. .confirm-btn{
  44. width: 100%;
  45. position:absolute;
  46. bottom:0;
  47. left:0;
  48. line-height:63px;
  49. background-color: #ffffff;
  50. box-shadow: 0px 8px 23px 1px
  51. rgba(51, 51, 51, 0.3);
  52. background-color:#fff;
  53. text-align:center;
  54. }
  55. .add{
  56. width: 154px;
  57. height: 36px;
  58. border-radius: 4px;
  59. border: solid 1px #29ba9c;
  60. color:#29ba9c;
  61. display:flex;
  62. align-items:center;
  63. justify-content:center;
  64. }
  65. .el-table--fit{
  66. margin-top:-10px;
  67. }
  68. b{
  69. font-size:14px;
  70. }
  71. .el-table--border::after, .el-table--group::after, .el-table::before{
  72. background-color:#fff;
  73. }
  74. </style>
  75. <div id='re_content' >
  76. <div class="con">
  77. <div class="setting">
  78. <div style="background: #eff3f6;width:100%;height:15px;"></div>
  79. <div class="block">
  80. <div class="title">
  81. <div style="display:flex;align-items:center;">
  82. <span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;">
  83. </span><b>认证详情</b>
  84. </div>
  85. </div>
  86. </div>
  87. <el-form ref="form" label-width="20%">
  88. <div class="vue-head">
  89. <div class="vue-main-form">
  90. <el-form-item label="认证姓名" prop="">
  91. <div>[[detail.name]]</div>
  92. </el-form-item>
  93. <el-form-item label="手机号" prop="">
  94. <div>[[detail.mobile]]</div>
  95. </el-form-item>
  96. <el-form-item label="认证方式" prop="">
  97. <div v-if="detail.auth_type==1">刷脸认证</div>
  98. <div v-if="detail.auth_type==2">手机号认证</div>
  99. <div v-if="detail.auth_type==3">银行卡认证</div>
  100. </el-form-item>
  101. <el-form-item label="身份证号" prop="">
  102. <div>
  103. [[detail.id_card]]
  104. <el-button style="margin-left: 20px" size="mini" type="primary" @click="setPhone()">查看完整号码</el-button>
  105. </div>
  106. </el-form-item>
  107. <el-form-item label="认证状态" prop="">
  108. <div v-if="detail.auth_status==1" style="color: #0ad76d">已认证</div>
  109. <div v-else>未认证</div>
  110. </el-form-item>
  111. <el-form-item label="认证手机号" prop="">
  112. <div>[[detail.auth_mobile]]</div>
  113. </el-form-item>
  114. <el-form-item label="认证银行卡号" prop="">
  115. <div>[[detail.bank]]</div>
  116. </el-form-item>
  117. <el-form-item label="开始认证时间" prop="">
  118. <div>[[detail.created_at]]</div>
  119. </el-form-item>
  120. <el-form-item label="完成认证时间" prop="">
  121. <div>[[detail.finish_time]]</div>
  122. </el-form-item>
  123. </div>
  124. </div>
  125. </el-form>
  126. <el-dialog :visible.sync="phone_show" width="450px" center title="验证手机号">
  127. <div>
  128. <el-form ref="form1" label-width="15%">
  129. <el-form-item label="手机号">
  130. <el-input v-model="form1.phone" style="width:60%" placeholder="请输入手机号"></el-input>
  131. <el-button size="small" type="primary" @click="getVerifyCode()" :disabled="form1.verify_code_disabled">
  132. 获取验证码[[form1.last_time]]
  133. </el-button>
  134. </el-form-item>
  135. <el-form-item label="验证码">
  136. <el-input v-model="form1.verify_code" style="width:60%" placeholder="请输入短信验证码"></el-input>
  137. </el-form-item>
  138. <div style="text-align: center">
  139. <el-button type="primary" @click="submitVerify()">提交</el-button>
  140. <el-button type="danger" @click="cancel()">取消</el-button>
  141. </div>
  142. </el-form>
  143. </div>
  144. </el-dialog>
  145. </div>
  146. </div>
  147. </div>
  148. <script>
  149. var vm = new Vue({
  150. el: "#re_content",
  151. delimiters: ['[[', ']]'],
  152. data() {
  153. let detail = {!! json_encode($detail) ?: '{}' !!};
  154. return {
  155. loading:false,
  156. all_loading:false,
  157. detail: detail,
  158. phone_show:false,
  159. phone_close:false,
  160. form1:{
  161. phone:'',
  162. verify_code:'',
  163. verify_code_disabled:false,
  164. last_time:'',
  165. },
  166. }
  167. },
  168. mounted () {
  169. },
  170. methods: {
  171. setPhone() {
  172. this.phone_show = true;
  173. },
  174. cancel() {
  175. this.phone_show = false;
  176. },
  177. //获取验证码
  178. getVerifyCode() {
  179. let json;
  180. if (!this.form1.phone) {
  181. this.$message({message: '请填写手机号',type: 'error'});
  182. return;
  183. }
  184. json = {
  185. phone : this.form1.phone,
  186. };
  187. if (this.timer1) {
  188. return;
  189. } else {
  190. this.form1.verify_code_disabled = true;
  191. this.form1.last_time = 60;
  192. this.timer1 = setInterval(() => {
  193. if (this.form1.last_time > 0 && this.form1.last_time <= 60) {
  194. this.form1.last_time--;
  195. } else {
  196. this.form1.verify_code_disabled = false;
  197. this.form1.last_time = "";
  198. clearInterval(this.timer1);
  199. this.timer1 = null;
  200. }
  201. }, 1000)
  202. }
  203. let loading = this.$loading({target: document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  204. this.$http.post("{!! yzWebFullUrl('plugin.real-name-auth.admin.controllers.list.sendCode') !!}",json).then(function(response) {
  205. if (response.data.result) {
  206. console.log(response.data.data)
  207. this.$message({message: response.data.msg,type: 'success'});
  208. } else {
  209. this.$message({message: response.data.msg,type: 'error'});
  210. this.form1.last_time = '';
  211. }
  212. loading.close();
  213. }, function(response) {
  214. this.$message({
  215. message: response.data.msg,
  216. type: 'error'
  217. });
  218. })
  219. },
  220. //提交验证
  221. submitVerify() {
  222. let loading = this.$loading({target: document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  223. let json;
  224. json = {
  225. phone : this.form1.phone,
  226. code : this.form1.verify_code,
  227. auth_mobile : this.detail.auth_mobile,
  228. };
  229. this.$http.post("{!! yzWebFullUrl('plugin.real-name-auth.admin.controllers.list.checkCode') !!}",json).then(function(response) {
  230. if (response.data.result) {
  231. this.$message({message: response.data.msg,type: 'success'});
  232. this.phone = this.form1.phone;
  233. this.phone_show = false;
  234. this.detail.id_card = response.data.data.data.id_card;
  235. } else {
  236. this.$message({message: response.data.msg,type: 'error'});
  237. }
  238. loading.close();
  239. }, function(response) {
  240. this.$message({
  241. message: response.data.msg,
  242. type: 'error'
  243. });
  244. })
  245. },
  246. //
  247. },
  248. });
  249. </script>
  250. @endsection