瑶都万能墙
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.

517 lines
9.6 KiB

8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
7 months ago
7 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. <template>
  2. <view class="page">
  3. <!-- 瑶都万能墙 -->
  4. <view class="Headbackground">
  5. <view class="top">
  6. <view class=" profilePicture">
  7. <image :src="headinfo.headImage" mode=""></image>
  8. </view>
  9. <view class="UniversalWall">
  10. <view class="dynamic">
  11. {{headinfo.name}}
  12. </view>
  13. <view class="dynamics">
  14. {{headinfo.num}}动态<text>|</text>{{headinfo.userNum}}江华人
  15. </view>
  16. </view>
  17. <view class="join">
  18. 加入
  19. </view>
  20. </view>
  21. </view>
  22. <view class="life">
  23. <view class="mouse" @click="menuClick(index)"
  24. :key="index"
  25. v-for="(item, index) in menu">
  26. <view class="RentingAhouseimg">
  27. <image
  28. :src="`../../static/image/home/${index}.png`"
  29. style="width: 90rpx;height: 90rpx;" mode=""></image>
  30. </view>
  31. <view class="RentingAhouse">
  32. {{ item.name }}
  33. </view>
  34. </view>
  35. </view>
  36. <view class="LabelOptions">
  37. <uv-tabs :list="tabs"
  38. :activeStyle="{color : '#000', fontWeight : 900}"
  39. lineColor="#00f"
  40. lineHeight="8rpx"
  41. lineWidth="50rpx"
  42. keyName="title"
  43. @click="tabsClick"></uv-tabs>
  44. </view>
  45. <view class="works" :key="index"
  46. v-for="(item, index) in list">
  47. <view class="box">
  48. <view class="headPortraitimg">
  49. <!-- <image :src="item" mode=""></image> -->
  50. </view>
  51. <view class="YaoduUniversalWall">
  52. <view class="heide">
  53. <view class="username text-ellipsis">
  54. </view>
  55. <view class="inde">
  56. 男性
  57. </view>
  58. <view class="inde">
  59. 99
  60. </view>
  61. <view class="inde">
  62. 大路铺镇
  63. </view>
  64. <view class="authentication">
  65. 官方认证
  66. </view>
  67. </view>
  68. <view class="Times">
  69. <view class="TimeMonth">
  70. <!-- 10-08 -->
  71. {{ item.createTime }}发布
  72. </view>
  73. <!-- <view class="Month">
  74. 12:34
  75. </view> -->
  76. </view>
  77. </view>
  78. </view>
  79. <view class="dynamics"
  80. v-html="$utils.stringFormatHtml(item.title)">
  81. </view>
  82. <view class="Artworkimages">
  83. <view class="wrokimg"
  84. :key="i"
  85. v-for="(img, i) in item.image && item.image.split(',')">
  86. <image :src="img" mode=""></image>
  87. </view>
  88. </view>
  89. <view class="bottom">
  90. <view class="browse">
  91. {{ item.isBrowse }}浏览
  92. </view>
  93. <view class="browse">
  94. {{ item.isComment }}条评论
  95. </view>
  96. <view class="Leavingamessage">
  97. <uv-icon size="30rpx" name="chat"></uv-icon>
  98. </view>
  99. </view>
  100. </view>
  101. <view class="createDetail"
  102. @click="$refs.createDetailPopup.open('bottom')">
  103. <uv-icon
  104. size="40rpx"
  105. color="#fff"
  106. name="plus"></uv-icon>
  107. </view>
  108. <uv-popup ref="createDetailPopup" :round="30">
  109. <view class="createDetailPopup">
  110. <view class=""
  111. :key="index"
  112. @click="$utils.navigateTo(item.path)"
  113. v-for="(item, index) in createDetail">
  114. <image
  115. :src="`../../static/image/home/${index}.png`"
  116. style="width: 90rpx;height: 90rpx;" mode=""></image>
  117. <view class="info">
  118. <view class="title">
  119. {{ item.name }}
  120. </view>
  121. <view class="desc">
  122. {{ item.desc }}
  123. </view>
  124. </view>
  125. <view class="icon">
  126. <uv-icon
  127. size="30rpx"
  128. name="arrow-right"></uv-icon>
  129. </view>
  130. </view>
  131. </view>
  132. </uv-popup>
  133. <PrivacyAgreementPoup />
  134. <tabber select="0" />
  135. </view>
  136. </template>
  137. <script>
  138. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  139. import tabber from '@/components/base/tabbar.vue'
  140. import mixinsList from '@/mixins/list.js'
  141. export default {
  142. mixins: [mixinsList],
  143. components: {
  144. tabber,
  145. PrivacyAgreementPoup,
  146. },
  147. data() {
  148. return {
  149. tabs: [
  150. // {
  151. // name: '圈子动态',
  152. // },
  153. // {
  154. // name: '二手集市',
  155. // },
  156. // {
  157. // name: '游戏组局'
  158. // },
  159. ],
  160. headinfo: {},
  161. menu : [
  162. {
  163. name : '租房',
  164. },
  165. {
  166. name : '工作',
  167. },
  168. {
  169. name : '活动',
  170. },
  171. {
  172. name : '美食',
  173. },
  174. ],
  175. createDetail : [
  176. {
  177. name : '圈子动态',
  178. desc : '发布动态(请发布到合适的分区)',
  179. path : '/pages_order/post/addPost',
  180. },
  181. // {
  182. // name : '房屋出租',
  183. // desc : '发布房屋出租',
  184. // path : '/pages_order/renting/addRenting',
  185. // },
  186. // {
  187. // name : '工作',
  188. // desc : '发布工作',
  189. // path : '/pages_order/recruit/addRecruit',
  190. // },
  191. ],
  192. mixinsListApi : 'getPostPage',
  193. }
  194. },
  195. onShow() {
  196. this.getCategory()
  197. this.getIndexHeaderInfo()
  198. this.getData()
  199. },
  200. computed: {},
  201. methods: {
  202. tabsClick(item) {
  203. console.log('item', item);
  204. },
  205. menuClick(index) {
  206. console.log(index);
  207. // 跳转页面
  208. if (index == 0) {
  209. uni.navigateTo({
  210. url: '/pages_order/renting/rentingList'
  211. })
  212. } else if (index == 1) {
  213. uni.navigateTo({
  214. url: '/pages_order/recruit/recruitList'
  215. })
  216. } else if (index == 2) {
  217. uni.reLaunch({
  218. url: '/pages/index/activity'
  219. })
  220. }
  221. },
  222. // 获取分类
  223. getCategory(){
  224. // 发起请求
  225. this.$api('getClassInfo', res => {
  226. if(res.code == 200){
  227. this.tabs = res.result
  228. }
  229. })
  230. },
  231. //获取首页头部信息
  232. getIndexHeaderInfo(){
  233. this.$api('getIndexHeaderInfo',res =>{
  234. if(res.code == 200){
  235. this.headinfo = res.result
  236. }
  237. })
  238. },
  239. //根据分类获取动态帖子列表带分页
  240. // getPostPage(){
  241. // this.$api('getPostPage', {
  242. // pageNo : 1,
  243. // pageSize : 10,
  244. // },res =>{
  245. // if(res.code == 200){
  246. // this.postList = res.result.records
  247. // }
  248. // console.log(res);
  249. // })
  250. // }
  251. }
  252. }
  253. </script>
  254. <style scoped lang="scss">
  255. image{
  256. width: 100%;
  257. height: 100%;
  258. }
  259. .Headbackground {
  260. padding-top: 200rpx;
  261. display: flex;
  262. align-items: center;
  263. background: linear-gradient(to bottom, rgb(85, 94, 123), rgb(45, 51, 73));
  264. .top {
  265. display: flex;
  266. color: white;
  267. padding: 35rpx;
  268. align-items: center;
  269. .profilePicture {
  270. width: 100rpx;
  271. height: 100rpx;
  272. image{
  273. border-radius: 20rpx;
  274. }
  275. }
  276. .UniversalWall {
  277. padding: 0rpx 45rpx;
  278. .dynamic {
  279. font-size: 40rpx;
  280. letter-spacing: 5rpx;
  281. }
  282. .dynamics {
  283. margin-top: 20rpx;
  284. font-size: 25rpx;
  285. text {
  286. margin: 0 20rpx;
  287. }
  288. }
  289. }
  290. .join {
  291. width: 125rpx;
  292. height: 50rpx;
  293. background-color: $uni-color-primary;
  294. margin-left: auto;
  295. display: flex;
  296. align-items: center;
  297. justify-content: center;
  298. border-radius: 50rpx;
  299. }
  300. }
  301. }
  302. .life {
  303. margin-top: 20rpx;
  304. display: flex;
  305. justify-content: space-around;
  306. text-align: center;
  307. flex-wrap: wrap;
  308. .mouse {
  309. .RentingAhouseimg {
  310. display: flex;
  311. justify-content: center;
  312. align-items: center;
  313. margin: 15rpx;
  314. width: 130rpx;
  315. height: 100rpx;
  316. background-color: #ffffff;
  317. border-top-left-radius: 40rpx;
  318. border-bottom-right-radius: 40rpx;
  319. border-bottom-left-radius: 20rpx;
  320. border-top-right-radius: 20rpx;
  321. }
  322. }
  323. }
  324. .works {
  325. margin: 40rpx 24rpx;
  326. background-color: #fff;
  327. padding: 40rpx;
  328. border-radius: 20rpx;
  329. box-shadow: 0 0 6rpx 6rpx #00000011;
  330. .box {
  331. display: flex;
  332. align-items: center;
  333. .headPortraitimg {
  334. width: 100rpx;
  335. height: 100rpx;
  336. background-color: greenyellow;
  337. border-radius: 15rpx;
  338. overflow: hidden;
  339. }
  340. .YaoduUniversalWall {
  341. padding: 0rpx 10rpx;
  342. .username{
  343. max-width: 200rpx;
  344. }
  345. .heide {
  346. display: flex;
  347. justify-content: center;
  348. align-items: center;
  349. }
  350. .inde {
  351. display: flex;
  352. justify-content: center;
  353. align-items: center;
  354. padding: 0rpx 10rpx;
  355. margin: 0rpx 5rpx;
  356. font-size: 20rpx;
  357. height: 30rpx;
  358. color: white;
  359. background-color: rgb(124, 136, 242);
  360. border-radius: 7rpx;
  361. flex-shrink: 0;
  362. }
  363. .authentication {
  364. display: flex;
  365. justify-content: center;
  366. align-items: center;
  367. padding: 0rpx 10rpx;
  368. margin: 0rpx 5rpx;
  369. font-size: 20rpx;
  370. height: 34rpx;
  371. padding: 0rpx 10rpx;
  372. color: white;
  373. background-color: #ffd036;
  374. border-radius: 7rpx;
  375. flex-shrink: 0;
  376. }
  377. .Times {
  378. display: flex;
  379. padding: 5rpx 0rpx;
  380. font-size: 20rpx;
  381. margin-top: 10rpx;
  382. .Month {
  383. margin: 0rpx 15rpx;
  384. }
  385. }
  386. }
  387. }
  388. .personalInformation {
  389. display: flex;
  390. .inde {
  391. font-size: 25rpx;
  392. padding: 0rpx 8rpx;
  393. }
  394. .authentication {
  395. font-size: 25rpx;
  396. }
  397. }
  398. .dynamics {
  399. margin-top: 20rpx;
  400. font-size: 28rpx;
  401. // font-weight: bold;
  402. // line-height: 35rpx;
  403. letter-spacing: 3rpx;
  404. }
  405. .Artworkimages {
  406. display: flex;
  407. flex-wrap: wrap;
  408. .wrokimg {
  409. margin: 10rpx;
  410. image {
  411. height: 190rpx;
  412. width: 190rpx;
  413. border-radius: 20rpx;
  414. }
  415. }
  416. }
  417. .bottom {
  418. display: flex;
  419. font-size: 20rpx;
  420. .browse {
  421. margin: 0rpx 30rpx;
  422. color: rgb(132, 132, 132);
  423. }
  424. .Leavingamessage {
  425. height: 20rpx;
  426. width: 20rpx;
  427. margin-left: auto;
  428. }
  429. }
  430. }
  431. .createDetail{
  432. position: fixed;
  433. top: 50vh;
  434. right: 50rpx;
  435. width: 100rpx;
  436. height: 100rpx;
  437. background-color: $uni-color-primary;
  438. border-radius: 50rpx;
  439. display: flex;
  440. justify-content: center;
  441. align-items: center;
  442. box-shadow: 0 0 10rpx 10rpx rgba(#000, 0.1);
  443. }
  444. .createDetailPopup{
  445. padding: 20rpx;
  446. background-color: #ffffff;
  447. &>view{
  448. display: flex;
  449. align-items: center;
  450. padding: 24rpx;
  451. background-color: #f7f7f7;
  452. margin: 20rpx;
  453. border-radius: 20rpx;
  454. image{
  455. width: 100rpx;
  456. height: 100rpx;
  457. margin-right: 20rpx;
  458. }
  459. .info{
  460. .title{
  461. font-size: 30rpx;
  462. }
  463. .desc{
  464. font-size: 24rpx;
  465. }
  466. }
  467. .icon{
  468. margin-left: auto;
  469. }
  470. }
  471. }
  472. </style>