gerenZiliao.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <template>
  2. <view class="container">
  3. <view>
  4. <view class="form-label-input">
  5. <view class="phone-form-label"><text class="form-label-require">*</text>手机号</view>
  6. <uni-easyinput type="number" v-model="formData.phone" placeholder="请输入手机号" maxlength="11" />
  7. </view>
  8. <view class="form-label-input">
  9. <view class="phone-form-label"><text class="form-label-require">*</text>姓名</view>
  10. <uni-easyinput v-model="formData.name" placeholder="请输入姓名" />
  11. </view>
  12. <view class="form-label-input">
  13. <view class="phone-form-label"><text class="form-label-require">*</text>身份证号</view>
  14. <uni-easyinput v-model="formData.idCard" placeholder="请输入身份证号" maxlength="18" />
  15. </view>
  16. <view class="form-label-input">
  17. <view class="phone-form-label"><text class="form-label-require">*</text>生日</view>
  18. <uni-datetime-picker v-model="formData.birthday" type="date" :clear-icon="false" />
  19. </view>
  20. <view class="form-label-input">
  21. <view class="phone-form-label"><text class="form-label-require">*</text>籍贯</view>
  22. <uni-data-picker v-model="formData.hometown" placeholder="请选择籍贯" :localdata="hometownData" />
  23. </view>
  24. <view class="form-label-input">
  25. <view class="phone-form-label"><text class="form-label-require">*</text>身份证地址</view>
  26. <uni-easyinput v-model="formData.idAddress" placeholder="请输入身份证地址" />
  27. </view>
  28. <view class="form-label-input">
  29. <view class="phone-form-label"><text class="form-label-require">*</text>民族</view>
  30. <uni-data-select v-model="formData.ethnic" :localdata="ethnicData" placeholder="请选择民族" />
  31. </view>
  32. <view class="form-label-radio">
  33. <view class="phone-form-label"><text class="form-label-require">*</text>性别</view>
  34. <view class="form-radio-group">
  35. <view class="form-radio-item" :class="{genderActive: formData.gender===1}" @click="genderSelect(1)">
  36. 男</view>
  37. <view class="form-radio-item" :class="{genderActive: formData.gender===2}" @click="genderSelect(2)">
  38. 女</view>
  39. </view>
  40. </view>
  41. <view>
  42. <view>
  43. 学历
  44. </view>
  45. <dataChecked :list="xueliList" mode="single" :showAdd="false" @change="selectChangeXueliList" />
  46. </view>
  47. <view>
  48. <view>
  49. 婚姻
  50. </view>
  51. <dataChecked :list="hunyinList" mode="single" :showAdd="false" @change="selectChangeHunyinList" />
  52. </view>
  53. <view class="form-label-input">
  54. <view class="phone-form-label"><text class="form-label-require">*</text>详细地址</view>
  55. <textarea v-model="formData.currentAddress" placeholder="请输入详细地址" class="textarea" />
  56. </view>
  57. <view>
  58. <picker :range="xingzuoRange" mode='selector' @change="xingzuoChange" @cancel="xingzuoCancel">
  59. <view>星座</view>
  60. </picker>
  61. </view>
  62. <view>
  63. <picker :range="shengxiaoRange" mode='selector' @change="shengxiaoChange" @cancel="shengxiaoCancel">
  64. <view>生肖</view>
  65. </picker>
  66. </view>
  67. <view class="zhaopianZiliao-shenfenzheng">
  68. <view>
  69. 星座属相展示到简历
  70. </view>
  71. 展示<switch @change="switchXingzuoChange" />
  72. </view>
  73. <view class="agree-section">
  74. <checkbox-group @change="handleAgree">
  75. <label class="checkbox">
  76. <checkbox :checked="formData.agree" color="#007AFF" />
  77. 已征得本人同意,将其个人资料信息录入平台
  78. </label>
  79. </checkbox-group>
  80. </view>
  81. <view>
  82. 下一步
  83. </view>
  84. </view>
  85. </view>
  86. </template>
  87. <script>
  88. import dataChecked from './common/dataChecked.vue';
  89. import {
  90. getJiazhengXueli,
  91. getJiazhengHunyin
  92. } from "@/api/jiazheng.js";
  93. export default {
  94. components: {
  95. dataChecked
  96. },
  97. data() {
  98. return {
  99. formData: {
  100. phone: '',
  101. name: '',
  102. idCard: '',
  103. birthday: '',
  104. hometown: [],
  105. ethnic: '',
  106. idAddress: '',
  107. gender: '',
  108. currentAddress: '',
  109. agree: false
  110. },
  111. xueliList: [],
  112. hunyinList: [],
  113. xingzuoRange: [],
  114. shengxiaoRange: [],
  115. hometownData: [{
  116. text: '辽宁省',
  117. value: '210000',
  118. children: [{
  119. text: '大连市',
  120. value: '210200',
  121. children: [{
  122. text: '西岗区',
  123. value: '210203'
  124. },
  125. // 其他区县...
  126. ]
  127. }]
  128. }
  129. // 其他省份...
  130. ],
  131. ethnicData: [{
  132. value: '汉族',
  133. text: '汉族'
  134. },
  135. {
  136. value: '回族',
  137. text: '回族'
  138. },
  139. // 其他民族...
  140. ]
  141. }
  142. },
  143. created() {
  144. this.getXueli()
  145. this.getHunyin()
  146. },
  147. methods: {
  148. getXueli() {
  149. getJiazhengXueli({}).then(res => {
  150. this.xueliList = res.data
  151. console.log('xueliList', this.xueliList);
  152. }).catch(error => {
  153. console.error('获取技能类型失败:', error);
  154. });
  155. },
  156. getHunyin() {
  157. getJiazhengHunyin({}).then(res => {
  158. this.hunyinList = res.data
  159. console.log('hunyinList', this.hunyinList);
  160. }).catch(error => {
  161. console.error('获取技能类型失败:', error);
  162. });
  163. },
  164. selectChangeXueliList() {
  165. },
  166. selectChangeHunyinList() {
  167. },
  168. switchXingzuoChange() {
  169. },
  170. handleAgree(e) {
  171. this.formData.agree = e.detail.value.length > 0
  172. },
  173. }
  174. }
  175. </script>
  176. <style scoped>
  177. .container {
  178. padding: 20px;
  179. }
  180. .textarea {
  181. width: 100%;
  182. height: 80px;
  183. padding: 10px;
  184. border: 1px solid #e5e5e5;
  185. border-radius: 4px;
  186. }
  187. .agree-section {
  188. margin: 20px 0;
  189. }
  190. .submit-btn {
  191. margin-top: 30px;
  192. }
  193. </style>