瑶都万能墙
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

382 lines
7.3 KiB

4 months ago
3 months ago
4 months ago
3 months ago
3 months ago
3 months ago
4 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
3 months ago
4 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
3 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
3 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
2 months ago
4 months ago
3 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
3 months ago
3 months ago
4 months ago
4 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
  1. <template>
  2. <view class="page">
  3. <view class="beijin">
  4. <view class="profile">
  5. <view class="o">
  6. <view class="headImage">
  7. <image
  8. :src="userInfo.headImage"
  9. mode="aspectFill"></image>
  10. <view class="vip_info"
  11. v-if="userInfo.isPay">
  12. <view class="title">
  13. {{ headInfo[vipList[userInfo.isPay - 1]].keyName }}
  14. </view>
  15. <!-- <view class="time">
  16. 2024-6-6到期
  17. </view> -->
  18. </view>
  19. </view>
  20. <!-- <view class="vip_info">
  21. <view class="title">
  22. 普通会员
  23. </view>
  24. <view class="time">
  25. 2024-6-6到期
  26. </view>
  27. </view> -->
  28. <view class="setUp"
  29. @click="$utils.navigateTo('/pages_order/mine/setting')">
  30. 设置
  31. </view>
  32. </view>
  33. <view class="account">
  34. <view class="number">
  35. {{ userInfo.nickName || '墙友1712378974678376' }}
  36. </view>
  37. <view class="gender">
  38. <uv-icon
  39. :name="sex[userInfo.sex].name"
  40. size="34rpx"
  41. :color="sex[userInfo.sex].color"></uv-icon>
  42. </view>
  43. <view class="authentication">
  44. {{ auth[userInfo.idCardOpen] || '未认证' }}
  45. </view>
  46. </view>
  47. <view class="Days">
  48. <!-- 你已经成为狐友133天啦~ -->
  49. </view>
  50. <view class="box">
  51. <view class="fenst"
  52. @click="$utils.navigateTo('/pages_order/mine/promotion')">
  53. <view class="digit">
  54. <uv-icon
  55. size="40rpx"
  56. color="#black"
  57. name="grid"></uv-icon>
  58. </view>
  59. <view class="fans">
  60. 二维码
  61. </view>
  62. </view>
  63. <view class="shut">
  64. |
  65. </view>
  66. <view class="fenst"
  67. @click="$utils.navigateTo('/pages_order/mine/fans')">
  68. <view class="digit">
  69. {{ userInfo.intentionNum }}
  70. </view>
  71. <view class="fans">
  72. 粉丝
  73. </view>
  74. </view>
  75. <view class="shut">
  76. |
  77. </view>
  78. <view class="fenst"
  79. @click="$utils.navigateTo('/pages_order/mine/runningWater?status=0')">
  80. <view class="digit">
  81. {{ userInfo.price }}
  82. </view>
  83. <view class="fans">
  84. 余额
  85. </view>
  86. </view>
  87. <view class="shut">
  88. |
  89. </view>
  90. <view class="fenst"
  91. @click="$utils.navigateTo('/pages_order/mine/runningWater?status=1')">
  92. <view class="digit">
  93. {{ userInfo.integerPrice }}
  94. </view>
  95. <view class="fans">
  96. 积分
  97. </view>
  98. </view>
  99. </view>
  100. </view>
  101. </view>
  102. <view class="Content">
  103. <uv-tabs :list="tabs" @click="click"
  104. :activeStyle="{color : '#000', fontWeight : 900}"
  105. lineColor="#5baaff"
  106. lineHeight="8rpx"
  107. lineWidth="50rpx"></uv-tabs>
  108. </view>
  109. <!-- 我的帖子 -->
  110. <view v-if="type == 0">
  111. <dynamicItemEdit
  112. :key="index"
  113. @click="$utils.navigateTo('/pages_order/post/addPost?id=' + item.id)"
  114. v-for="(item, index) in list"
  115. :item="item"
  116. del
  117. @del="delDynamic(item.id)"
  118. />
  119. </view>
  120. <!-- 我的店铺 -->
  121. <view v-if="type == 3">
  122. <gourmetItem :key="index" v-for="(item, index) in list" :item="item"
  123. @click="$utils.navigateTo('/pages_order/gourmet/gourmetDetail?id=' + item.id)" />
  124. </view>
  125. <view class="no-data"
  126. v-if="!tabs[type].show">
  127. 暂未开放
  128. </view>
  129. <uv-empty
  130. v-else-if="list.length == 0"
  131. text="空空如也"
  132. textSize="30rpx"
  133. iconSize="200rpx"
  134. icon="list"></uv-empty>
  135. <tabber select="3" />
  136. </view>
  137. </template>
  138. <script>
  139. import tabber from '@/components/base/tabbar.vue'
  140. import dynamicItemEdit from '@/components/list/dynamic/dynamicItemEdit.vue'
  141. import gourmetItem from '@/components/list/gourmet/gourmetItem.vue'
  142. import mixinsList from '@/mixins/list.js'
  143. import mixinsSex from '@/mixins/sex.js'
  144. import { mapState } from 'vuex'
  145. export default {
  146. mixins: [mixinsList, mixinsSex],
  147. components: {
  148. tabber,
  149. gourmetItem,
  150. dynamicItemEdit,
  151. },
  152. computed: {
  153. ...mapState(['userInfo', 'headInfo']),
  154. },
  155. data() {
  156. return {
  157. tabs: [
  158. {
  159. name: '帖子',
  160. show : true,
  161. },
  162. {
  163. name: '租房',
  164. },
  165. {
  166. name: '招聘',
  167. },
  168. {
  169. name: '店铺',
  170. show : true,
  171. },
  172. ],
  173. vipList : ['vip', 'vipBig'],
  174. mixinsListApi : 'getMyPostPage',
  175. apiList : [
  176. 'getMyPostPage',//查询我的帖子
  177. '',
  178. '',
  179. 'myShop',//查询我的店铺
  180. ],
  181. auth : ['审核中', '个人认证', '店铺认证'],
  182. type : 0,
  183. }
  184. },
  185. onShow() {
  186. this.$store.commit('getUserInfo')
  187. },
  188. methods: {
  189. click({index}) {
  190. this.type = index
  191. this.mixinsListApi = this.apiList[index]
  192. this.list = []
  193. this.getData()
  194. },
  195. // 删除帖子
  196. delDynamic(postId){
  197. let self = this
  198. uni.showModal({
  199. title: '确认要删除吗?',
  200. success(e) {
  201. if(e.confirm){
  202. self.$api('deletePost', {
  203. postId
  204. }, res => {
  205. if(res.code == 200){
  206. self.getData()
  207. }
  208. })
  209. }
  210. }
  211. })
  212. },
  213. }
  214. }
  215. </script>
  216. <style scoped lang="scss">
  217. .page {
  218. .beijin {
  219. // background: linear-gradient(to bottom, rgb(85, 94, 123), rgb(45, 51, 73));
  220. background: linear-gradient($uni-color, #fff);
  221. background-color: black;
  222. color: black;
  223. .profile {
  224. padding: 40rpx;
  225. padding-top: 160rpx;
  226. .box {
  227. padding: 0rpx 10rpx;
  228. display: flex;
  229. align-items: center;
  230. text-align: center;
  231. .followWithnterest {
  232. .digit {
  233. padding: 20rpx;
  234. }
  235. .close {
  236. }
  237. }
  238. .shut{
  239. margin: 0rpx 20rpx;
  240. }
  241. .fenst {
  242. .digit {
  243. padding: 20rpx;
  244. }
  245. .fans {
  246. }
  247. }
  248. }
  249. .account {
  250. display: flex;
  251. align-items: center;
  252. .number {
  253. letter-spacing: 2rpx;
  254. margin-top: 10rpx;
  255. }
  256. .gender {
  257. margin: 20rpx 10rpx;
  258. }
  259. .authentication {
  260. font-size: 20rpx;
  261. }
  262. }
  263. .Days {
  264. margin-top: 15rpx;
  265. font-size: 22rpx;
  266. letter-spacing: 2rpx;
  267. }
  268. .o {
  269. display: flex;
  270. align-items: center;
  271. justify-content: space-between;
  272. margin-bottom: 60rpx;
  273. .headImage {
  274. position: relative;
  275. height: 100px;
  276. width: 100px;
  277. border-radius: 50%;
  278. image {
  279. height: 100%;
  280. width: 100%;
  281. border-radius: 50%;
  282. }
  283. .vip_info{
  284. --lg1Color : #ffb700;
  285. --lg2Color : #ff3300;
  286. display: flex;
  287. justify-content: center;
  288. background: linear-gradient(var(--lg1Color), var(--lg2Color));
  289. color: #fff;
  290. font-size: 20rpx;
  291. padding: 15rpx 0;
  292. border-radius: 20rpx;
  293. margin-top: auto;
  294. margin-right: auto;
  295. position: absolute;
  296. bottom: -30rpx;
  297. left: 50%;
  298. width: 160rpx;
  299. transform: translate(-50%);
  300. }
  301. }
  302. // .vip_info{
  303. // // display: flex;
  304. // // justify-content: center;
  305. // background-color: #2800ee;
  306. // color: #fff;
  307. // font-size: 20rpx;
  308. // padding: 15rpx 30rpx;
  309. // line-height: 50rpx;
  310. // border-radius: 20rpx;
  311. // margin-right: auto;
  312. // margin-left: 20rpx;
  313. // .title{
  314. // font-size: 26rpx;
  315. // }
  316. // .time{
  317. // // margin-left: 20rpx;
  318. // }
  319. // }
  320. .setUp {
  321. }
  322. }
  323. }
  324. }
  325. .Content {}
  326. .no-data{
  327. display: flex;
  328. justify-content: center;
  329. align-content: center;
  330. padding: 100rpx 0;
  331. color: #777;
  332. }
  333. }
  334. </style>