myWebsit.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <template>
  2. <!-- #ifdef H5 -->
  3. <zj-page-layout :isScroll="true" :refresherTriggered="refresherTriggered" @refresherrefresh="refresherrefresh">
  4. <template slot="header">
  5. <view class="search-container">
  6. <u-search shape="round" :showAction="false" placeholder="输入网点名称搜索" v-model="keyword"> </u-search>
  7. </view>
  8. </template>
  9. <view class="list-container" v-if="showDataList.length > 0">
  10. <view class="mode" @click="navToPage(item)" v-for="(item, index) in showDataList" :key="index">
  11. <view class="flex_asb order">
  12. <view class="title"></view>
  13. <view class="status">{{
  14. item.examineStatus == 'OK'
  15. ? '已入驻'
  16. : item.examineStatus == 'FAIL'
  17. ? '驳回'
  18. : item.examineStatus == 'WAIT'
  19. ? '待审核'
  20. : item.examineStatus == 'N'
  21. ? '未申请入驻'
  22. : ''
  23. }}</view>
  24. </view>
  25. <view class="flex_asb" style="align-items: flex-start">
  26. <image class="img" src="/static/mine/workerEnter/order.png" mode="aspectFill"></image>
  27. <view class="content flex1">
  28. <view class="flex_asb">
  29. <view class="title">{{ item.name }}</view>
  30. </view>
  31. <view class="flex">
  32. <view class="hui">地址</view>
  33. <view class="text">{{ item.address || '无' }}</view>
  34. </view>
  35. <view class="flex_end">
  36. <u-button
  37. v-if="item.examineStatus == 'N' || item.examineStatus == 'FAIL'"
  38. style="width: 160rpx; height: 60rpx; margin: 0"
  39. shape="circle"
  40. type="primary"
  41. text="入驻"
  42. @tap="goEnter(item)"
  43. ></u-button>
  44. </view>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. <Loading :loadStatus="loadStatus" :dataList="dataList" />
  50. </zj-page-layout>
  51. <!-- #endif -->
  52. <!-- #ifndef H5 -->
  53. <web-view
  54. :src="webViewHref(`/packageMine/pages/myWebsit`, pam, crossPagePam)"
  55. @message="crossPage.$listener"
  56. ></web-view>
  57. <!-- #endif -->
  58. </template>
  59. <script>
  60. // #ifdef H5
  61. export default {
  62. data() {
  63. return {
  64. refresherTriggered: false,
  65. loadStatus: 2,
  66. pageNum: 1,
  67. dataList: [],
  68. keyword: "",
  69. }
  70. },
  71. onShow() {
  72. this.refreshLish();
  73. },
  74. computed: {
  75. showDataList() {
  76. return this.dataList.filter(item=>!!~item.name.indexOf(this.keyword))
  77. }
  78. },
  79. methods: {
  80. async getList() {
  81. // var { latitude, longitude } = await this.$getLocation()
  82. this.$api.get('/user/apply/websit', {
  83. isAll: true,
  84. // lat:latitude,
  85. // lng:longitude
  86. }).then(res => {
  87. this.refresherTriggered = false;
  88. this.dataList = res.data
  89. })
  90. },
  91. navToPage(url){
  92. this.$navToPage({
  93. url
  94. })
  95. },
  96. // 触发下拉刷新
  97. refresherrefresh(e) {
  98. this.refresherTriggered = true;
  99. this.refreshLish();
  100. },
  101. refreshLish() {
  102. this.dataList = [];
  103. this.pageNum = 1;
  104. this.getList();
  105. },
  106. goEnter(item){
  107. this.$navToPage({
  108. url: '/packageMine/pages/workerEnter?websitName=' + item.name + '&websitId=' + item.websitId,
  109. })
  110. }
  111. },
  112. }
  113. // #endif
  114. // #ifndef H5
  115. export default {
  116. data() {
  117. return {
  118. pam: {},
  119. }
  120. },
  121. onLoad(pam) {
  122. this.pam = pam;
  123. }
  124. }
  125. // #endif
  126. </script>
  127. <style lang="scss" scoped>
  128. .flex {
  129. display: flex;
  130. align-items: center;
  131. }
  132. .flex_asb {
  133. display: flex;
  134. justify-content: space-between;
  135. align-items: center;
  136. }
  137. .flex_end {
  138. display: flex;
  139. align-items: center;
  140. justify-content: flex-end;
  141. margin-top: 30rpx;
  142. }
  143. .flex1 {
  144. flex: 1;
  145. }
  146. .list-container {
  147. box-sizing: border-box;
  148. padding: 0 30rpx;
  149. }
  150. .mode {
  151. @include zj-card;
  152. padding: 30rpx 20rpx;
  153. margin-top: 30rpx;
  154. border-radius: 20rpx;
  155. box-sizing: border-box;
  156. background-color: #ffffff;
  157. .order {
  158. margin-bottom: 20rpx;
  159. }
  160. .content {
  161. width: 450rpx;
  162. .title {
  163. font-weight: bold;
  164. font-size: 30rpx;
  165. }
  166. .text,
  167. .hui {
  168. font-size: 28rpx;
  169. margin-top: 16rpx;
  170. }
  171. .hui {
  172. color: #999999;
  173. margin-right: 20rpx;
  174. }
  175. }
  176. .status {
  177. font-size: 28rpx;
  178. color: #0379ff;
  179. }
  180. .zhihui {
  181. .text,
  182. .hui,
  183. .title,
  184. .status {
  185. color: #999999 !important;
  186. }
  187. }
  188. .img {
  189. width: 100rpx;
  190. height: 100rpx;
  191. margin-right: 30rpx;
  192. }
  193. }
  194. .search-container {
  195. background: #ffffff;
  196. padding: 20rpx;
  197. ::v-deep .u-search {
  198. height: 60rpx;
  199. input {
  200. background: #f7f8ff !important;
  201. }
  202. .u-search__content {
  203. background: #f7f8ff !important;
  204. height: 60rpx;
  205. }
  206. }
  207. }
  208. </style>