exportDetail.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div id="exportDetail">
  3. <el-row>
  4. <el-col :span="24" class="style">
  5. <el-col :span="24" class="top">
  6. <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
  7. </el-col>
  8. <el-col :span="24" class="main">
  9. <exportDetails :exportInfo="exportInfo"></exportDetails>
  10. </el-col>
  11. </el-col>
  12. </el-row>
  13. </div>
  14. </template>
  15. <script>
  16. import NavBar from '@/layout/common/topInfo.vue';
  17. import footInfo from '@/layout/common/footInfo.vue';
  18. import exportDetails from '@/layout/market/exportDetails.vue';
  19. import { mapState, createNamespacedHelpers } from 'vuex';
  20. const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
  21. export default {
  22. name: 'exportDetail',
  23. props: {},
  24. components: {
  25. NavBar,
  26. exportDetails, //专家详情
  27. },
  28. data: () => ({
  29. // 头部标题
  30. title: '',
  31. // meta为true
  32. isleftarrow: '',
  33. // 返回
  34. navShow: true,
  35. exportInfo: {},
  36. }),
  37. created() {
  38. this.searchInfo();
  39. },
  40. computed: {
  41. id() {
  42. return this.$route.query.id;
  43. },
  44. },
  45. methods: {
  46. ...expertsuser(['fetch']),
  47. async searchInfo() {
  48. if (this.id) {
  49. const res = await this.fetch(this.id);
  50. if (this.$checkRes(res)) {
  51. res.data.phone = this.phoneNumFilter(res.data.phone);
  52. res.data.cardnumber = this.cardnumberNumFilter(res.data.cardnumber);
  53. this.$set(this, `exportInfo`, res.data);
  54. }
  55. }
  56. },
  57. phoneNumFilter(phone) {
  58. let start = phone.slice(0, 3);
  59. let end = phone.slice(-4);
  60. return `${start}****${end}`;
  61. },
  62. cardnumberNumFilter(cardnumber) {
  63. let start = cardnumber.slice(0, 4);
  64. let end = cardnumber.slice(-3);
  65. return `${start}****${end}`;
  66. },
  67. },
  68. mounted() {
  69. this.title = this.$route.meta.title;
  70. this.isleftarrow = this.$route.meta.isleftarrow;
  71. },
  72. };
  73. </script>
  74. <style lang="less" scoped>
  75. .style {
  76. width: 100%;
  77. min-height: 667px;
  78. position: relative;
  79. background-color: #f9fafc;
  80. }
  81. .top {
  82. height: 46px;
  83. overflow: hidden;
  84. position: relative;
  85. z-index: 999;
  86. }
  87. .main {
  88. min-height: 600px;
  89. background: #fff;
  90. }
  91. </style>