详情小程序
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.

344 lines
11 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <template>
  2. <view class="lf-w-100 lf-h-100">
  3. <block v-if="$isRight(member)">
  4. <view class="content lf-bg-white lf-m-b-30">
  5. <swiper class="swiper">
  6. <swiper-item>
  7. <lf-image :src="member.user.avatar"></lf-image>
  8. </swiper-item>
  9. </swiper>
  10. <view class="list lf-p-l-32 lf-p-r-32">
  11. <!-- <lf-image class="avatar" src="@/static/logo.png"></lf-image> -->
  12. <view class="info">
  13. <view class="lf-flex-1">
  14. <text>{{ member.number_nickname }}</text>
  15. <text class="lf-iconfont icon-nv lf-m-l-10 lf-color-primary" v-if="member.gender == '女'"></text>
  16. <text class="lf-iconfont icon-nan lf-m-l-10 color-nan" v-else></text>
  17. </view>
  18. <view class="lf-flex-1 lf-m-t-16">{{ member.age }}·{{ member.zodiac }}·{{ member.height }}cm·{{ member.education_id }}·{{ member.marital_status }}</view>
  19. <view class="lf-flex-1 lf-m-t-16">自有公司·金融/证券/保险·50万以上</view>
  20. </view>
  21. <!-- <view class="star">
  22. <u-icon name="star-fill lf-font-40" style="color: #D1D1D1;"></u-icon>
  23. </view> -->
  24. </view>
  25. <!-- <view class="sketch">大家好我是私人订制红娘-笑笑如果你不想在平台上面曝光需要我为你全程服务精准高效速配脱单的加我微信18399999999</view> -->
  26. </view>
  27. <view class="info-content">
  28. <view class="lf-color-222 lf-font-32 authen-title lf-p-l-20">信息资料</view>
  29. <view class="lf-row-between lf-m-t-30" v-for="(item, index) in basic_list" :key="index">
  30. <view class="lf-color-333 lf-font-28">{{item.title}}</view>
  31. <view class="lf-color-333 lf-font-28">{{item.content}}</view>
  32. </view>
  33. </view>
  34. <view class="info-content lf-m-t-30" v-if="member.is_auth">
  35. <view class="lf-color-222 lf-font-32 authen-title lf-p-l-20">家庭与房车</view>
  36. <view class="lf-row-between lf-m-t-30" v-for="(item, index) in family_list" :key="index">
  37. <view class="lf-color-333 lf-font-28">{{item.title}}</view>
  38. <view class="lf-color-333 lf-font-28">{{item.content}}</view>
  39. </view>
  40. </view>
  41. <view class="info-content lf-m-t-30" v-if="member.is_auth">
  42. <view class="lf-color-222 lf-font-32 authen-title lf-p-l-20">择偶要求</view>
  43. <view class="lf-row-between lf-m-t-30" v-for="(item, index) in require_list" :key="index">
  44. <view class="lf-color-333 lf-font-28">{{item.title}}</view>
  45. <view class="lf-color-333 lf-font-28">{{item.content}}</view>
  46. </view>
  47. </view>
  48. <view class="lf-p-l-32 lf-p-r-32 info-tag" v-if="!member.is_auth">
  49. <view class="lf-color-222 lf-font-32 lf-m-b-30 authen-title lf-p-l-20">家庭与房车</view>
  50. <view class="lf-color-333 lf-font-28">
  51. 了解Ta的购车住房情况和家庭成员资料
  52. </view>
  53. <view class="lf-font-24 lf-m-t-20" style="color: #E21196;" @click="$url('/pages/my/authentication')">
  54. 实名认证后可查看>>
  55. </view>
  56. </view>
  57. <view class="lf-p-l-32 lf-p-r-32 info-tag" v-if="!member.is_auth">
  58. <view class="lf-color-222 lf-font-32 lf-m-b-30 authen-title lf-p-l-20">择偶要求</view>
  59. <view class="lf-color-333 lf-font-28">
  60. 了解Ta的婚史身高年龄等各项择偶要求
  61. </view>
  62. <view class="lf-font-24 lf-m-t-20" style="color: #E21196;" @click="$url('/pages/my/authentication')">
  63. 实名认证后可查看>>
  64. </view>
  65. </view>
  66. <view style="height: 130rpx;"></view>
  67. <view class="tabbar-bottom">
  68. <view class="lf-row-between">
  69. <view class="lf-flex-column" style="align-items: center;" @click="$url('/pages/my/service')">
  70. <view>
  71. <u-icon name="kefu-ermai lf-font-32 lf-color-555"></u-icon>
  72. </view>
  73. <view class="lf-color-555 lf-font-24">
  74. 客服
  75. </view>
  76. </view>
  77. <view class="lf-flex-column" style="align-items: center;margin-left: 50rpx;" @click="share">
  78. <view>
  79. <u-icon name="share lf-font-32 lf-color-555"></u-icon>
  80. </view>
  81. <view class="lf-color-555 lf-font-24">
  82. 分享
  83. </view>
  84. </view>
  85. <!-- 暂时隐藏部分 -->
  86. <!-- <view class="lf-flex-column" style="align-items: center;margin-left: 50rpx;">
  87. <view>
  88. <u-icon name="more-dot-fill lf-font-32 lf-color-555"></u-icon>
  89. </view>
  90. <view class="lf-color-555 lf-font-24">
  91. 更多
  92. </view>
  93. </view> -->
  94. </view>
  95. <view>
  96. <button class="tabbar-btn" @click="$url('/pages/my/exclusiveMatch')">联系Ta</button>
  97. </view>
  98. </view>
  99. </block>
  100. <!-- #ifdef H5 -->
  101. <view style="height: 10rpx;"></view>
  102. <!-- #endif -->
  103. <!-- 回到顶部 -->
  104. <u-back-top :scrollTop="pageScrollTop"></u-back-top>
  105. </view>
  106. </template>
  107. <script>
  108. export default {
  109. data() {
  110. return {
  111. basic_list: [],
  112. family_list: [],
  113. require_list: [],
  114. number_id: 0,
  115. member: {}
  116. }
  117. },
  118. onLoad(options){
  119. this.number_id = options.id || 0;
  120. this.getMemberDetail();
  121. },
  122. methods: {
  123. getMemberDetail(){
  124. this.$http(this.API.API_MEMBERS_DETAIL, {
  125. number: this.number_id
  126. }).then(res => {
  127. let basic_list = [];
  128. let family_list = [];
  129. let require_list = [];
  130. let member = res.data.member;
  131. this.member = member;
  132. for(let i in member){
  133. // 基本信息
  134. if(i == 'number' && member[i]){
  135. basic_list.push({title: '编号', content: member[i]});
  136. }
  137. if(i == 'gender' && member[i]){
  138. basic_list.push({title: '性别', content: member[i]});
  139. }
  140. if(i == 'marital_status' && member[i]){
  141. basic_list.push({title: '婚史', content: member[i]});
  142. }
  143. if(i == 'age' && member[i]){
  144. basic_list.push({title: '年龄', content: member[i] +'岁'});
  145. }
  146. if(i == 'height' && member[i]){
  147. basic_list.push({title: '身高', content: member[i]});
  148. }
  149. if(i == 'weight' && member[i]){
  150. basic_list.push({title: '体重', content: member[i]});
  151. }
  152. if(i == 'zodiac' && member[i]){
  153. basic_list.push({title: '属相', content: member[i]});
  154. }
  155. if(i == 'constellation' && member[i]){
  156. basic_list.push({title: '星座', content: member[i]});
  157. }
  158. if(i == 'education' && this.$isRight(member[i])){
  159. basic_list.push({title: '学历', content: member[i].name});
  160. }
  161. if(i == 'enterprise' && this.$isRight(member[i])){
  162. basic_list.push({title: '单位性质', content: member[i].name});
  163. }
  164. if(i == 'salary' && this.$isRight(member[i])){
  165. basic_list.push({title: '年薪', content: member[i].name});
  166. }
  167. if(i == 'area' && this.$isRight(member[i])){
  168. basic_list.push({title: '居住地区', content: member[i].name});
  169. }
  170. // TODO basic_list 缺少户籍和所属行业
  171. // 家庭与房车信息
  172. if(i == 'housing' && this.$isRight(member[i])){
  173. family_list.push({title: '住房情况', content: member[i].name});
  174. }
  175. if(i == 'car' && this.$isRight(member[i])){
  176. family_list.push({title: '购车情况', content: member[i]});
  177. }
  178. if(i == 'family' && this.$isRight(member[i])){
  179. let familys = member[i].map(item => item.name);
  180. let str = familys.join(',');
  181. family_list.push({title: '家庭成员', content: str});
  182. }
  183. // TODO family_list 缺少现居地址
  184. // 择偶要求
  185. if(i == 'marital_status' && this.$isRight(member[i])){
  186. require_list.push({title: '婚史要求', content: member[i]});
  187. }
  188. if(i == 'selection' && this.$isRight(member[i].height)){
  189. require_list.push({title: '最低身高', content: member[i].height});
  190. }
  191. if(i == 'selection' && this.$isRight(member[i].min_age)){
  192. require_list.push({title: '最低年龄要求', content: member[i].min_age});
  193. }
  194. if(i == 'education' && this.$isRight(member[i])){
  195. require_list.push({title: '最低学历要求', content: member[i].name});
  196. }
  197. if(i == 'salary' && this.$isRight(member[i])){
  198. require_list.push({title: '最低年薪要求', content: member[i].name});
  199. }
  200. if(i == 'housing' && this.$isRight(member[i].selection_request)){
  201. require_list.push({title: '住房要求', content: member[i].selection_request});
  202. }
  203. if(i == 'selection' && this.$isRight(member[i].car)){
  204. require_list.push({title: '购车要求', content: member[i].car});
  205. }
  206. // TODO require_list 缺少行业要求、体重要求、子女要求、户籍要求、
  207. // 家庭要求、外貌要求、是否喝酒、是否抽烟、性格要求、其他要求
  208. }
  209. this.basic_list = basic_list;
  210. this.family_list = family_list;
  211. this.require_list = require_list;
  212. })
  213. },
  214. share(){
  215. this.$msg('复制链接成功!')
  216. uni.setClipboardData({
  217. data: 'a',
  218. complete: () => {
  219. console.log("aaa")
  220. }
  221. });
  222. }
  223. }
  224. }
  225. </script>
  226. <style>
  227. page {
  228. background-color: #F5F5F5;
  229. }
  230. </style>
  231. <style lang="scss" scoped>
  232. .tabbar-bottom {
  233. width: 100%;
  234. background-color: white;
  235. height: 110rpx;
  236. position: fixed;
  237. bottom: 0;
  238. display: flex;
  239. justify-content: space-between;
  240. padding: 15rpx 32rpx;
  241. }
  242. .tabbar-btn {
  243. width: 362rpx;
  244. height: 88rpx;
  245. background: #E21196;
  246. color: white;
  247. border-radius: 45rpx;
  248. }
  249. .info-content {
  250. width: 686rpx;
  251. height: 100%;
  252. background: #FFFFFF;
  253. border-radius: 10rpx;
  254. margin: 0 auto;
  255. padding: 30rpx;
  256. }
  257. .authen-title {
  258. position: relative;
  259. font-size: 32rpx;
  260. color: #131315;
  261. font-weight: 500;
  262. }
  263. .info-tag {
  264. width: 686rpx;
  265. height: 100%;
  266. background: #FFFFFF;
  267. border-radius: 10rpx;
  268. margin: 30rpx auto;
  269. padding: 30rpx;
  270. }
  271. .authen-title::after {
  272. content: '';
  273. position: absolute;
  274. left: 0;
  275. top: 8rpx;
  276. width: 8rpx;
  277. height: 30rpx;
  278. background: #E21196;
  279. border-radius: 4rpx;
  280. }
  281. .content{
  282. width: 100%;
  283. height: auto;
  284. box-sizing: border-box;
  285. padding-bottom: 30rpx;
  286. .swiper{
  287. width: 750rpx;
  288. height: 750rpx;
  289. }
  290. .list{
  291. padding-top: 30rpx;
  292. display: flex;
  293. width: 100%;
  294. height: max-content;
  295. display: flex;
  296. align-items: center;
  297. justify-content: space-between;
  298. .avatar{
  299. width: 150rpx;
  300. height: 150rpx;
  301. border-radius: 10rpx;
  302. margin-right: 15rpx;
  303. background-color: #EEEEEE;
  304. }
  305. .info{
  306. min-height: 150rpx;
  307. width: 598rpx;
  308. display: flex;
  309. align-content: space-between;
  310. flex-wrap: wrap;
  311. flex-direction: column;
  312. }
  313. }
  314. .sketch{
  315. width: 686rpx;
  316. height: 160rpx;
  317. background: #F5F5F5;
  318. border-radius: 10rpx 30rpx 10rpx 30rpx;
  319. margin: 60rpx auto 0;
  320. box-sizing: border-box;
  321. padding: 30rpx;
  322. font-size: 24rpx;
  323. color: #333333;
  324. }
  325. }
  326. .star {
  327. width: 80rpx;
  328. height: 80rpx;
  329. background: #FFFFFF;
  330. box-shadow: 0px 2rpx 10rpx 5rpx rgba(226, 17, 150, 0.05);
  331. border-radius: 50%;
  332. display: flex;
  333. align-items: center;
  334. justify-content: center;
  335. }
  336. </style>