t-i-icon.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <view class="content">
  3. <view class="list">
  4. <view class="item" v-for="(item,index) in iconList" :key="index" @click="go_link(item.link)">
  5. <view class="icon">
  6. <image :src="item.icon" mode=""></image>
  7. </view>
  8. <view class="name">{{item.title}}</view>
  9. </view>
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. name:"t-i-icon",
  16. props: [
  17. "iconList",
  18. "mine_code"
  19. ],
  20. data() {
  21. return {
  22. };
  23. },
  24. methods:{
  25. go_link(link){
  26. // console.log(link.split('=')[3].split('&')[0])
  27. // let pageId = link.split('=')[3].split('&')[0]
  28. let pageId = ""
  29. function GetQueryString(name) {
  30. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  31. var r = link.match(reg);
  32. if (r != null) return unescape(r[2]);
  33. return null;
  34. }
  35. console.log(GetQueryString("pageId"))
  36. if (GetQueryString("pageId")) {
  37. pageId = GetQueryString("pageId")
  38. } else {
  39. pageId = link.split('=')[1]
  40. }
  41. uni.navigateTo({
  42. url:"../../index/record/record?pageId=" + pageId + "&mine_code=" + this.mine_code,
  43. })
  44. }
  45. }
  46. }
  47. </script>
  48. <style lang="scss">
  49. .content{
  50. margin-bottom: 30rpx;
  51. background-color: #FFFFFF;
  52. box-sizing: border-box;
  53. padding: 50rpx 25rpx;
  54. }
  55. .list{
  56. display: flex;
  57. justify-content: space-between;
  58. .item{
  59. width: 104rpx;
  60. .icon{
  61. image{
  62. width: 104rpx;
  63. height: 104rpx;
  64. }
  65. }
  66. .name{
  67. text-align: center;
  68. }
  69. }
  70. }
  71. </style>