推广小程序前端代码
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.

241 lines
6.4 KiB

2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
  1. <template>
  2. <view>
  3. <view class="head-box"></view>
  4. <uv-navbar autoBack title="编辑资料" leftIconColor="#fff" :bgColor="bgColor" height="100rpx" :titleStyle="{color:'#fff'}"></uv-navbar>
  5. <view class="content">
  6. <view class="title-box">基础信息</view>
  7. <view class="form-box">
  8. <view class="form-box-line">
  9. <view class="label-box">用户名称</view>
  10. <view class="value-box">
  11. <uv-input placeholder="请输入用户名称" inputAlign="right" v-model="info.nickName" border="none" color="#CCCCCC"></uv-input>
  12. </view>
  13. </view>
  14. <view class="form-box-line">
  15. <view class="label-box">邮箱</view>
  16. <view class="value-box">
  17. <uv-input placeholder="请输入邮箱" inputAlign="right" v-model="info.email" border="none" color="#CCCCCC"></uv-input>
  18. </view>
  19. </view>
  20. <view class="form-box-line">
  21. <view class="label-box">手机号</view>
  22. <view class="value-box">
  23. <uv-input placeholder="请输入手机号" inputAlign="right" v-model="info.phone" border="none" color="#CCCCCC"></uv-input>
  24. </view>
  25. </view>
  26. <view class="form-box-line">
  27. <view class="label-box">性别</view>
  28. <view class="value-box">
  29. <uv-input placeholder="请输入性别" inputAlign="right" v-model="info.sex" border="none" color="#CCCCCC"></uv-input>
  30. </view>
  31. </view>
  32. <view class="form-box-line">
  33. <view class="label-box">国籍</view>
  34. <view class="value-box">
  35. <uv-input placeholder="请输入国籍" inputAlign="right" v-model="info.idCard" border="none" color="#CCCCCC"></uv-input>
  36. </view>
  37. </view>
  38. <view class="form-box-line">
  39. <view class="label-box">生日</view>
  40. <view class="value-box">
  41. <uv-input placeholder="请输入生日" inputAlign="right" v-model="info.yearDate" border="none" color="#CCCCCC"></uv-input>
  42. </view>
  43. </view>
  44. <view class="form-box-line">
  45. <view class="label-box">现居住址</view>
  46. <view class="value-box">
  47. <uv-input placeholder="请输入现居住址" inputAlign="right" v-model="info.address" border="none" color="#CCCCCC"></uv-input>
  48. </view>
  49. </view>
  50. <view class="form-box-line">
  51. <view class="label-box">个人状态</view>
  52. <view class="value-box">
  53. <uv-input placeholder="请输入个人状态" inputAlign="right" v-model="info.idCard" border="none" color="#CCCCCC"></uv-input>
  54. </view>
  55. </view>
  56. </view>
  57. <view class="title-box">教育</view>
  58. <view class="form-box">
  59. <view class="form-title">学历</view>
  60. <view class="choose-box">
  61. <view class="choose-item" :class="xueliIndex == i ? 'choose-class' :''" v-for="(item,i) in xueliList" :key="i" @click="xueliIndex = i">{{item}}</view>
  62. </view>
  63. <view class="form-title">院校</view>
  64. <view class="choose-box">
  65. <view class="choose-item" :class="yuanxiaoIndex == i ? 'choose-class' :''" v-for="(item,i) in yuanxiaoList" :key="i" @click="yuanxiaoIndex = i">{{item}}</view>
  66. </view>
  67. </view>
  68. <view class="title-box">工作</view>
  69. <view class="form-box">
  70. <view class="form-box-line">
  71. <view class="label-box">行业</view>
  72. <view class="value-box">
  73. <uv-input placeholder="请输入行业" inputAlign="right" v-model="info.name" border="none" color="#CCCCCC"></uv-input>
  74. </view>
  75. </view>
  76. </view>
  77. <view class="title-box">关于我</view>
  78. <view class="form-box">
  79. <uv-textarea v-model="info.name" :customStyle="{background: 'transparent',border:'none'}" height="380rpx" placeholder="请输入自我介绍..."></uv-textarea>
  80. </view>
  81. </view>
  82. <view class="btn-box">
  83. <uv-button text="保存" @click="saveClick" color="#381615" shape="circle" :customStyle="btnCustomStyle"></uv-button>
  84. </view>
  85. </view>
  86. </template>
  87. <script>
  88. export default{
  89. data() {
  90. return {
  91. bgColor:'transparent',
  92. btnCustomStyle:{
  93. color:'#FF5858'
  94. },
  95. info:{
  96. name:'',
  97. phone:'',
  98. idCard:'',
  99. jianli:''
  100. },
  101. xueliIndex:0,
  102. yuanxiaoIndex:0,
  103. xueliList:['本科','硕士','博士','其他'],
  104. yuanxiaoList:['985','211','双一流','QS100','QS200','QS600','其他']
  105. }
  106. },
  107. onPageScroll(e) {
  108. if(e.scrollTop > 50) {
  109. this.bgColor = '#49070c'
  110. }else{
  111. this.bgColor = 'transparent'
  112. }
  113. },
  114. onLoad() {
  115. this.getUserInfo()
  116. },
  117. methods:{
  118. saveClick() {
  119. this.$api('updateInfo',this.info, res => {
  120. if (res.code == 200) {
  121. uni.showToast({
  122. title:'保存成功',
  123. icon:'none'
  124. })
  125. }
  126. })
  127. },
  128. getUserInfo() {
  129. this.$api('getInfo', res => {
  130. if (res.code == 200) {
  131. this.info = res.result
  132. }
  133. })
  134. }
  135. }
  136. }
  137. </script>
  138. <style lang="scss">
  139. page {
  140. background-color: #060504;
  141. }
  142. </style>
  143. <style lang="scss" scoped>
  144. .head-box {
  145. background: url('@/static/image/nav-bg.png') no-repeat;
  146. background-size: 100% 100%;
  147. width: 100%;
  148. height: 534rpx;
  149. position: absolute;
  150. z-index: -1;
  151. }
  152. .content {
  153. padding: 0 30rpx 170rpx;
  154. padding-top: calc(var(--status-bar-height) + 110rpx);
  155. .title-box {
  156. font-weight: 500;
  157. font-size: 27rpx;
  158. color: #666666;
  159. }
  160. .form-box {
  161. background: #1B1713;
  162. border-radius: 27rpx;
  163. padding:0 40rpx;
  164. margin-top: 20rpx;
  165. margin-bottom: 44rpx;
  166. .form-box-line {
  167. height: 112rpx;
  168. border-bottom: 1px solid #403D3A;
  169. display: flex;
  170. align-items: center;
  171. &:last-child {
  172. border: none;
  173. }
  174. .label-box {
  175. font-weight: 500;
  176. font-size: 29rpx;
  177. color: #CCCCCC;
  178. margin-right: 34rpx;
  179. }
  180. .value-box {
  181. display: flex;
  182. align-items: center;
  183. justify-content: space-between;
  184. flex: 1;
  185. .uv-input {
  186. }
  187. }
  188. }
  189. .form-title {
  190. font-weight: 500;
  191. font-size: 28rpx;
  192. color: #CCCCCC;
  193. padding-top: 32rpx;
  194. }
  195. .choose-box {
  196. margin-top: 28rpx;
  197. display: flex;
  198. flex-wrap: wrap;
  199. .choose-item {
  200. width: 137rpx;
  201. height: 67rpx;
  202. border-radius: 13rpx;
  203. border: 1rpx solid #CCCCCC;
  204. text-align: center;
  205. line-height: 67rpx;
  206. font-weight: 500;
  207. font-size: 26rpx;
  208. color: #CCCCCC;
  209. margin-right: 15rpx;
  210. margin-bottom: 24rpx;
  211. &:nth-child(4n){
  212. margin-right: 0;
  213. }
  214. }
  215. .choose-class {
  216. background-color: #341616;
  217. color: #FF4747;
  218. border: 1rpx solid #FF4747;
  219. }
  220. }
  221. }
  222. }
  223. .btn-box {
  224. background-color: #060504;
  225. position: fixed;
  226. bottom: 0;
  227. left: 0;
  228. right: 0;
  229. padding: 20rpx 40rpx;
  230. height: 150rpx;
  231. z-index: 999;
  232. box-sizing: border-box;
  233. }
  234. </style>