/** * 注册页面 */ <template> <view class="register"> <view class="register-content"> <u--form labelPosition="left" :model="form" :rules="rules" ref="form1"> <u-form-item label="员工号" prop="number" borderBottom labelWidth="80" class="form-item"> <u--input v-model="form.number" border="none" placeholder="请输入员工号"></u--input> </u-form-item> <u-form-item label="姓名" prop="name" borderBottom labelWidth="80" class="form-item"> <u--input v-model="form.name" border="none" placeholder="请输入员姓名"></u--input> </u-form-item> <u-form-item label="员工类型" prop="type" class="form-item" labelWidth="80"> <u-button @click="typeLx" v-model="form.type" >{{form.type || '点击选择'}} <u-icon name="arrow-right" ></u-icon> </u-button> </u-form-item> <u-form-item label="手机号码" prop="phone" labelWidth="80" class="form-item"> <u-button v-model="form.phone" @click="getUserInfo" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" border="none"> {{form.phone || '获取手机号'}} </u-button> </u-form-item> </u--form> <view style="margin-top: 152rpx;"> <u-button type="error" text="注册" @click="registerGo" ></u-button> </view> <u-action-sheet :show="show" :actions="list" title="请选择员工类型" description="只能单选" @close="show = false" @select="sexSelect"> </u-action-sheet> <u-popup :show="sqShow" mode="center" :round="10" :closeOnClickOverlay="false" @close="close" @open="open"> <view class="popup"> <view class="popup-title"> 微信授权</view> <view class="popup-content"> 申请获取你微信绑定的手机号{{form.phone}}? </view> <view class="popup-buttom"> <view class="popup-jujue" @click="reject"> 拒绝 </view> <view class="popup-yunxu" @click="permit"> 允许 </view> </view> </view> </u-popup> <u-popup :show="jujueShow" mode="center" :round="10" :closeOnClickOverlay="false" @close="close" @open="open"> <view class="popup"> <view class="popup-all-title"> 拒绝将无法进行注册! </view> <view class="popup-buttom"> <view class="popup-jujue" @click="rejectAll"> 仍要拒绝 </view> <view class="popup-yunxu" @click="permit"> 允许授权 </view> </view> </view> </u-popup> <u-popup :show="successShow" mode="center" :round="10" :closeOnClickOverlay="false" @close="close" @open="open"> <view class="popup"> <view class="popup-all-title"> 注册成功! </view> <view class="popup-login" @click="goRegister"> 返回登录 </view> </view> </u-popup> <u-popup :show="errorShow" mode="center" :round="10" :closeOnClickOverlay="false" @close="close" @open="open"> <view class="popup"> <view class="popup-error-title"> 注册失败!请重新填写信息或联系管理人员 </view> <view class="popup-buttom"> <view class="popup-jujue popup-jujue-fanhui" @click="errorFh"> 返回 </view> <view class="popup-yunxu popup-jujue-queren" @click="errorQr"> 确认 </view> </view> </view> </u-popup> </view> </view> </template> <script> import {getUserType} from '@/api/user.js'; export default { data() { return { rules: { name: [{ required: true, message: '请填写姓名', trigger: ['blur', 'change'], }], number: [{ required: true, message: '请填写员工号', trigger: ['blur', 'change'], }] }, form: { number: '', //员工号 name: '', //姓名 type: '', //员工类型 phone: '', //电话 }, tips: { text: '请选择员工类型', color: '#909399', fontSize: 24 }, list: [{ name: '广播电视台员工' }, { name: '广播电视台员工' }, { name: '网络有限公司员工' }, ], show: false, sqShow: false, jujueShow: false, successShow: false, errorShow: false, code: "" } }, methods: { //注册失败确认 errorQr() { this.errorShow = false }, //注册失败返回 errorFh() { this.errorShow = false }, //点击注册 registerGo() { console.log(this.form) this.errorShow = true }, //允许获取 permit() { this.sqShow = false this.jujueShow = false }, //拒绝获取 reject() { this.sqShow = false this.jujueShow = true }, //任然要拒绝 rejectAll() { this.jujueShow = false }, open() { }, typeLx() { this.show = true getUserType() }, getPhoneNumber(e) { console.log(e, '666') }, //获取用户手机号 getUserInfo() { this.sqShow = true uni.getUserInfo({ provider: 'weixin', success: (res) => { console.log('getUserInfo', res); }, }); }, //关闭授权获取手机号弹窗 close() { this.sqShow = false }, //选中员工类型 sexSelect(e) { setTimeout(() => { this.form.type = e.name }, 30) // this.$refs.form1.validateField('userInfo.sex') }, } } </script> <style lang="scss" scoped> .register { height: 100%; padding: 18rpx; .register-content{ height: 100%; border-radius: 10rpx; padding-left:32rpx; padding-right: 32rpx; background-color: #fff; } .form-item { // white-space: nowrap; width: 390rpx; color: red; } .popup { width: 700rpx; height: 450rpx; .popup-title { text-align: center; font-size: 36rpx; margin: 35rpx; } .popup-content { width: 70%; margin-left: 135rpx; line-height: 54rpx; } .popup-error-title { margin-left: 36rpx; margin-right: 36rpx; margin-top: 80rpx; font-size: 38rpx } .popup-login { margin-left: 240rpx; margin-top: 120rpx; width: 180rpx; height: 52rpx; background-color: skyblue; border-radius: 8rpx; line-height: 52rpx; border: #000 1px solid; text-align: center; color: #fff; } .popup-buttom { padding: 70rpx; margin-top: 72rpx; display: flex; justify-content: space-between; } .popup-jujue-fanhui { border: none; border-radius: 8rpx; background-color: gray; color: #fff; } .popup-jujue-queren { border: none; border-radius: 8rpx; background-color: skyblue; color: #fff; } .popup-buttom view { width: 180rpx; height: 56rpx; text-align: center; line-height: 56rpx; border-radius: 6rpx; border: 1px #000 solid; } .popup-all-title { text-align: center; font-size: 42rpx; margin-top: 142rpx; } } } /deep/.uicon-arrow-right{ position: absolute !important; right: 10rpx; bottom: 0; } </style>