userEdit.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <view class="edit">
  3. <view class="form">
  4. <u--form labelPosition="left" :model="form" :rules="rules" ref="form1" >
  5. <u-form-item label="姓名" prop="userInfo.name" borderBottom ref="item1" labelWidth="200rpx">
  6. <u--input v-model="form.userInfo.name" border="none" placeholder="请输入姓名" placeholderStyle="color: #555555"></u--input>
  7. </u-form-item>
  8. <u-form-item label="性别" labelWidth="200rpx" prop="userInfo.gender" borderBottom @click="showgender = true;" ref="item1">
  9. <picker @change="bindPickerChange" :value="index" :range="genderArray">
  10. <view class="" style="display: flex;">
  11. <u--input v-model="form.userInfo.gender" disabled disabledColor="#ffffff" placeholder="请选择性别" placeholderStyle="color: #555555" border="none"></u--input>
  12. <u-icon slot="right" name="arrow-right" size="28"></u-icon>
  13. </view>
  14. </picker>
  15. </u-form-item>
  16. <u-form-item label="出生日期" labelWidth="200rpx" borderBottom ref="item1">
  17. <picker  mode="date" :value="form.userInfo.birthday" start="1922-01-01" @change="bindDateChange" >
  18. <view class="" style="display: flex;">
  19. <u--input v-model="form.userInfo.birthday" disabled disabledColor="#ffffff" placeholder="请选择出生日期" placeholderStyle="color: #555555" border="none" ></u--input>
  20. <u-icon slot="right" name="arrow-right" size="28"></u-icon>
  21. </view>
  22. </picker>
  23. </u-form-item>
  24. <u-form-item label="邮箱" labelWidth="200rpx" borderBottom ref="item1" >
  25. <u--input v-model="form.userInfo.email" border="none" placeholder="请输入邮箱" placeholderStyle="color: #555555"></u--input>
  26. </u-form-item>
  27. <u-form-item label="证件类型" labelWidth="200rpx" borderBottom ref="item1" prop="userInfo.certificate_type">
  28. <picker @change="bindType" :value="index" :range="typeArray">
  29. <view class="" style="display: flex;">
  30. <u--input v-model="form.userInfo.certificate_type" disabled disabledColor="#ffffff" placeholder="请选证件类型" placeholderStyle="color: #555555" border="none" ></u--input>
  31. <u-icon slot="right" name="arrow-right" size="28"></u-icon>
  32. </view>
  33. </picker>
  34. </u-form-item>
  35. <u-form-item label="证件号码" labelWidth="200rpx" prop="userInfo.certificatesNumber" borderBottom ref="item1" >
  36. <u--input v-model="form.userInfo.certificatesNumber" border="none" placeholder="请输入证件号" placeholderStyle="color: #555555"></u--input>
  37. </u-form-item>
  38. </u--form>
  39. </view>
  40. <view class="navbar">
  41. 保存
  42. </view>
  43. </view>
  44. </template>
  45. <script>
  46. export default {
  47. data() {
  48. return {
  49. // 性别选择
  50. genderArray: ['男', '女'],
  51. // 证件类型
  52. typeArray:["居民身份证","临时身份证","士兵证","暂住证","外交护照","普通护照","台湾居民来往大陆通行证","港澳居民来往内地通行证","港澳同胞回乡证","其他证件(包括联合国通行证 欧洲共同体护照等)"],
  53. // index:0,
  54. form: {
  55. userInfo: {
  56. name: '',
  57. gender: '',
  58. email:'',
  59. birthday:"",
  60. certificate_type:'',
  61. certificatesNumber:''
  62. },
  63. },
  64. actions: [
  65. {name: '男',},
  66. {name: '女',}
  67. ],
  68. rules: {
  69. 'userInfo.name': {
  70. type: 'string',
  71. required: true,
  72. message: '请填写姓名',
  73. trigger: ['blur', 'change']
  74. },
  75. 'userInfo.gender': {
  76. type: 'string',
  77. max: 1,
  78. required: true,
  79. message: '请选择男或女',
  80. trigger: ['blur', 'change']
  81. },
  82. "userInfo.certificatesNumber":{
  83. type: 'string',
  84. len: 18,
  85. required: true,
  86. message: '请填写正确的证件号',
  87. trigger: ['blur']
  88. },
  89. "userInfo.certificatesType":{
  90. type: 'string',
  91. required: true,
  92. message: '请填写证件类型',
  93. trigger: ['blur', 'change']
  94. },
  95. },
  96. radio: '',
  97. switchVal: false
  98. };
  99. },
  100. methods: {
  101. // 选择性别
  102. bindPickerChange(e) {
  103. console.log('picker发送选择改变,携带值为', e.detail.value)
  104. console.log(this.genderArray[e.detail.value])
  105. this.form.userInfo.gender=this.genderArray[e.detail.value]
  106. },
  107. // 选择护照类型
  108. bindType(e) {
  109. this.form.userInfo.certificate_type=this.typeArray[e.detail.value]
  110. },
  111. // 选择出生日期
  112. bindDateChange (e) {
  113. console.log(e)
  114. this.form.userInfo.birthday = e.detail.value
  115. },
  116. }
  117. };
  118. </script>
  119. <style lang="less">
  120. .u-form-item__body.data-v-5e7216f1{
  121. padding: 18px 0 !important;
  122. }
  123. page{
  124. background-color: #F4F4F4;
  125. }
  126. .form{
  127. background-color: #ffffff;
  128. border-radius: 8rpx 32rpx 8rpx 32rpx;
  129. padding: 30rpx 30rpx 0;
  130. margin: 20rpx 30rpx 0;
  131. }
  132. .navbar{
  133. width: 100%;
  134. height: 104rpx;
  135. line-height: 104rpx;
  136. background: #1E9F6A;
  137. border-radius: 16rpx 16rpx 0px 0px;
  138. color: #FFFFFF;
  139. position: fixed;
  140. left: 0;
  141. bottom: 0;
  142. text-align: center;
  143. }
  144. </style>