Newer
Older
gdtMimiProgram / pages / register / register.vue
MrTan on 21 Nov 2022 9 KB 修改选择时间BUG
/** * 注册页面 */
<template>
  <view class="register">
    <view class="main">
      <block>
        <image class="back-img" src="../../static/back.png"></image>
        <view class="back-title">环市东院区安防小程序</view>
      </block>
      <view class="content">
        <u--form labelPosition="left" :model="form" :rules="rules" ref="form1">
          <u-form-item
            label="员工号码"
            prop="account"
            labelWidth="80"
            class="form-item"
          >
            <u--input
              v-model="form.account"
              border="none"
              placeholder="请输入员工号码"
            ></u--input>
          </u-form-item>
          <u-form-item
            label="员工姓名"
            prop="name"
            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 form-item-border"
            labelWidth="80"
          >
            <u-button @click="typeLx" >{{
              form.type || '请选择员工类型'
            }}</u-button>
          </u-form-item>
          <u-form-item
            label="手机号码"
            prop="phone"
            borderBottom
            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>
        <u-button type="error" text="注 册" @click="registerGo"></u-button>
        <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>
        </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>
  </view>
</template>

<script>
import { getUserType } from '@/api/user.js'
export default {
  data() {
    return {
      rules: {
        name: [
          {
            required: true,
            message: '请填写姓名',
            trigger: ['blur', 'change'],
          },
        ],
        account: [
          {
            required: true,
            message: '请填写员工号',
            trigger: ['blur', 'change'],
          },
        ],
      },
      form: {
        account: '', //员工号
        name: '', //姓名
        type: '', //员工类型
        phone: '', //电话
		salt:'',//员工类型id
      },
      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.successShow = true
	 setTimeout(()=>{
		 wx.switchTab({
		 	url: `/pages/index/index`,  
		 });
	 },1000)
    },
    //允许获取
    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 {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  padding: 32rpx;
  padding-bottom: 44rpx;
  box-sizing: border-box;
  .back-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400rpx;
  }
  .back-title {
    font-size: 38rpx;
    font-weight: 900;
    color: #000;
    text-align: center;
    margin-top: 410rpx;
    margin-bottom: 120rpx;
  }
  .main {
    height: 100%;
    background-color: #fff;
    border-radius: 50rpx;
  }
  .content {
    flex: 1;
    padding: 0 54rpx;
    margin-top: 30rpx;
    background-color: #fff;
    .title {
      font-size: 42rpx;
      font-weight: 500;
      margin-bottom: 32rpx;
    }
    .form-item {
      // white-space: nowrap;
      width: 390rpx;
    }
    .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>

<style lang="scss">
.register {
  .u-button {
    justify-content: left !important;
  }
  .u-button--normal {
    padding-left: 0 !important;
    font-size: 30rpx !important;
    color: #c4c7cf !important;
  }
  .u-button--info {
    border: 0 !important;
    font-weight: 500;
  }
  .u-form-item {
    border-bottom: 1rpx solid #f2f2f2;
    margin-bottom: 20rpx;
  }
  .u-button--error {
    justify-content: center !important;
    background-color: #c5000a !important;
    border-color: #c5000a !important;
    color: #fff !important;
    margin-top: 120rpx;
    font-weight: 600;
  }
}
</style>