pantoneNoGet.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <template>
  2. <div class="pantoneNoGet">
  3. <div class="header">
  4. <van-nav-bar class="navBar" title="未签收门店" left-arrow @click-left="onClickLeft" />
  5. </div>
  6. <div class="content">
  7. <template v-if="list.length">
  8. <div class="item" v-for="(item, index) in list" :key="index">
  9. <div class="storeName">{{ item.storeName }}</div>
  10. <div class="address">
  11. <van-icon name="location-o" />
  12. {{ item.addressLine }}
  13. <!-- <img v-if="item.distance" style="width: 36px" :src="sbpmdh" @click="linkapp(item)" /> -->
  14. </div>
  15. <div class="distance" v-if="item.storeLonExist">
  16. (距离{{ Micrometer(item.distance) }}m)
  17. </div>
  18. </div>
  19. </template>
  20. <van-empty v-else description="暂无数据" />
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import { getNotSignStoreList } from '@/api/index';
  26. import { getPosition, getTicketFun } from '@/utils/TXApiFun';
  27. import sbpmdh from '@/assets/sbpmdh.png';
  28. export default {
  29. name: 'pantoneNoGet',
  30. data() {
  31. return {
  32. sbpmdh: sbpmdh,
  33. list: [],
  34. point: {}, //当前定位坐标
  35. };
  36. },
  37. created() {
  38. this.storeId = this.$route.query.storeId;
  39. // config授权
  40. getTicketFun().then(() => {
  41. getPosition()
  42. .then((res) => {
  43. let { TXisBD } = res;
  44. this.point = TXisBD;
  45. this.getNotSignStoreListFun(TXisBD);
  46. })
  47. .catch((error) => {
  48. this.$dialog.alert({
  49. message: error,
  50. });
  51. });
  52. });
  53. },
  54. methods: {
  55. getNotSignStoreListFun(TXisBD) {
  56. getNotSignStoreList({
  57. storeId: this.storeId, // string 未签门店ID
  58. lon: TXisBD.lon, // string 经度
  59. lat: TXisBD.lat, // string 纬度
  60. }).then((res) => {
  61. this.list = res.data;
  62. });
  63. },
  64. linkapp(val) {
  65. // agentConfig授权
  66. getTicketFun(['launchMiniprogram'], 'agentConfig').then(() => {
  67. this.wx.invoke(
  68. 'launchMiniprogram',
  69. {
  70. appid: 'wx238bbb5f6d958414',
  71. path:
  72. 'pages/relayStation/relayStation?latitude=' +
  73. point.lat +
  74. '&longitude=' +
  75. point.lon +
  76. '&name=' +
  77. val.addressLine,
  78. },
  79. function (res) {
  80. if (res.err_msg == 'launchMiniprogram:ok') {
  81. } else {
  82. }
  83. }
  84. );
  85. });
  86. },
  87. onClickLeft() {
  88. this.$router.go(-1);
  89. },
  90. },
  91. };
  92. </script>
  93. <style lang="scss" scoped>
  94. .pantoneNoGet {
  95. height: 100%;
  96. width: 100%;
  97. /* overflow-y: auto; */
  98. .content {
  99. padding: 8px 10px;
  100. .item {
  101. background: #deedff;
  102. padding: 8px;
  103. margin: 10px 0;
  104. border-radius: 5px;
  105. .storeName {
  106. font-size: 15px;
  107. font-weight: bold;
  108. color: #333;
  109. padding: 3px 0;
  110. }
  111. .address,
  112. .distance {
  113. font-size: 14px;
  114. color: #909090;
  115. padding: 3px 0;
  116. }
  117. .distance {
  118. padding-left: 12px;
  119. }
  120. }
  121. }
  122. }
  123. </style>