test.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <template>
  2. <view class="padding-20">
  3. <view class="auth">
  4. <text class="cuIcon-titles text-blue padding-right-10"></text>
  5. <text>个人信息认证</text>
  6. <view class="card">
  7. <u-form :model="model" ref="uForm" >
  8. <u-form-item :label-width="labelWidth" label="姓名" >
  9. <u-input placeholder="请输入姓名" v-model="model.name" type="text"></u-input>
  10. </u-form-item>
  11. <u-form-item :label-width="labelWidth" label="性别" >
  12. <u-input type="select" :select-open="sexSelectShow" v-model="model.sex" placeholder="请选择性别" @click="sexSelectShow = true"></u-input>
  13. </u-form-item>
  14. <u-form-item label="身份证号" :label-width="labelWidth">
  15. <u-input placeholder="请输入身份证号" v-model="model.idcard" type="idcard"></u-input>
  16. </u-form-item>
  17. <u-form-item label="手机号码" :label-width="labelWidth">
  18. <u-input placeholder="请输入手机号" v-model="model.phone" type="number"></u-input>
  19. </u-form-item>
  20. <u-form-item :border-bottom="false" label="面部信息采集" :label-width="labelWidth"></u-form-item>
  21. </u-form>
  22. <view @click="" class="flex justify-center padding-bottom-50">
  23. <view class=" ">
  24. <upload-img
  25. :width="$isEmpty(face_url)?300:560"
  26. :height="$isEmpty(face_url)?300:420"
  27. :currentImage="face_url"
  28. bgsrc="http://139.9.103.171:1888/img/image/camera1.png"
  29. >
  30. </upload-img>
  31. <view class="text-center padding-top-20" style="color: #59a5f0;">
  32. <text class="cuIcon-camera padding-right-sm" style="font-size: 30rpx;"></text>
  33. <text v-if="$isEmpty(face_url)">点击上传人脸</text>
  34. <text style="margin-top: 40rpx;display: inline-block;" v-else>点击重新上传</text>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. <view class="auth">
  41. <text class="cuIcon-titles text-blue padding-right-10"></text>
  42. <text>企业认证信息</text>
  43. <view class="card">
  44. <u-form :model="model" ref="uForm" >
  45. <u-form-item :label-width="labelWidth" label="公司园区" >
  46. <u-input type="select" :select-open="ganderSelectShow" v-model="model.gander" placeholder="请选择工作园区" @click="ganderSelectShow = true"></u-input>
  47. </u-form-item>
  48. <u-form-item :label-width="labelWidth" label="所属企业" >
  49. <u-input type="select" :select-open="companySelectShow" v-model="model.company" placeholder="请选择所属企业" @click="companySelectShow = true"></u-input>
  50. </u-form-item>
  51. <u-form-item :label-width="labelWidth" label="工作岗位" >
  52. <u-input placeholder="请输入工作岗位" v-model="model.jobs" type="text"></u-input>
  53. </u-form-item>
  54. <u-form-item :label-width="labelWidth" label="企业联系人" >
  55. <u-input placeholder="请输入企业联系人" v-model="model.contact" type="text"></u-input>
  56. </u-form-item>
  57. </u-form>
  58. </view>
  59. </view>
  60. <view class="cu-btn bg-blue round flex" style="padding: 40rpx 0;margin-top: 40rpx;">
  61. 提交
  62. </view>
  63. <u-action-sheet :list="sexSelectList" v-model="sexSelectShow" @click="sexSelectCallback"></u-action-sheet>
  64. <u-action-sheet :list="ganderSelectList" v-model="ganderSelectShow" @click="ganderSelectCallback"></u-action-sheet>
  65. <u-action-sheet :list="companySelectList" v-model="companySelectShow" @click="companySelectCallback"></u-action-sheet>
  66. <u-action-sheet @click="faceSelectCallback" z-index="999999" :list="faceSelectList" v-model="faceSelectShow"></u-action-sheet>
  67. </view>
  68. </template>
  69. <script>
  70. import uploadImg from '@/components/uploadimg/uploadImg.vue'
  71. let that = this;
  72. export default {
  73. components:{
  74. uploadImg
  75. },
  76. data() {
  77. return {
  78. labelWidth:'200',
  79. model: {
  80. name: '',
  81. sex: '',
  82. phone: '',
  83. idcard:'',
  84. gander:'',
  85. company:'',
  86. jobs:'',
  87. contact:'',
  88. face_image:''
  89. },
  90. //图片回显
  91. face_url:'',
  92. //性别
  93. sexSelectList: [{text: '男'},{text: '女'}],
  94. sexSelectShow: false,
  95. //园区
  96. ganderSelectList: [],
  97. ganderSelectShow: false,
  98. //企业
  99. companySelectList: [],
  100. companySelectShow: false,
  101. //上传人脸的方式
  102. faceSelectList: [{
  103. text: '相册上传',
  104. }, {
  105. text: '拍照上传'
  106. }],
  107. faceSelectShow:false,
  108. //验证码
  109. codeTips: '',
  110. }
  111. },
  112. onLoad() {
  113. this.fetchStaticData()
  114. this.initData()
  115. },
  116. methods: {
  117. initData(){
  118. if (!this.$isEmpty(this.$cache.get('phone'))) {
  119. this.model.phone=this.$cache.get('phone')
  120. }
  121. },
  122. //性别
  123. sexSelectCallback(index) {
  124. uni.hideKeyboard();
  125. this.model.sex = this.sexSelectList[index].text;
  126. },
  127. //园区
  128. ganderSelectCallback(index) {
  129. uni.hideKeyboard();
  130. this.model.gander = this.ganderSelectList[index].text;
  131. },
  132. //公司
  133. companySelectCallback(index) {
  134. uni.hideKeyboard();
  135. this.model.company = this.companySelectList[index].text;
  136. },
  137. faceSelectCallback(index){
  138. if (index==0) {
  139. //图片上传
  140. this.chooseImage()
  141. } else if(index==1){
  142. //拍照上传
  143. uni.navigateTo({
  144. url:"../my-camera/my-camera"
  145. })
  146. }
  147. },
  148. //点击上传图片事件
  149. chooseImage: function () {
  150. uni.chooseImage({
  151. count: 1,
  152. //最多可以选择的图片张数,默认9
  153. sourceType: ['album', 'camera'],
  154. sizeType: ['compressed'],
  155. //可选择原图或压缩后的图片
  156. success: res => {
  157. that.handelImg(res.tempFilePaths[0])
  158. }
  159. });
  160. },
  161. //处理照片,拍照上传和相册上传的共同处理方法
  162. handelImg(imgUrl){
  163. that.face_url=imgUrl
  164. uni.getFileSystemManager().readFile({
  165. filePath: imgUrl,
  166. //选择图片返回的相对路径
  167. encoding: 'base64',
  168. //编码格式
  169. success: res => {
  170. //图片的base64字符串
  171. that.face_image='data:image/jpeg;base64,' + res.data
  172. }
  173. });
  174. },
  175. fetchStaticData(){
  176. this.ganderSelectList=[
  177. {
  178. text: '新邻园区1'
  179. },
  180. {
  181. text: '新邻园区2'
  182. }
  183. ]
  184. this.companySelectList=[
  185. {
  186. text: '新邻企业1'
  187. },
  188. {
  189. text: '新邻企业2'
  190. }
  191. ]
  192. }
  193. }
  194. }
  195. </script>
  196. <style lang="scss">
  197. page{
  198. background-color: #FFFFFF;
  199. }
  200. .auth{
  201. padding: 40rpx 10rpx;
  202. .card{
  203. margin-top: 20rpx;
  204. padding: 0 30rpx;
  205. box-sizing: border-box;
  206. border-radius: 12rpx;
  207. box-shadow: 0 -10rpx rgba(248, 248, 248,.9) ,0 10rpx rgba(248, 248, 248,.9) , -10rpx 0rpx rgba(248, 248, 248,.9) ,10rpx 0rpx rgba(248, 248, 248,.9);
  208. .item{
  209. padding:30rpx 0;
  210. display: flex;
  211. justify-content: space-between;
  212. }
  213. }
  214. }
  215. </style>