zengh
2021-07-20 71ea99937dec5c8b0d21923e399b7623a7c65174
pages/registerUser/registerUser.vue
@@ -1,14 +1,15 @@
<template>
   <view class="registerUser">
      <u-form :model="form" ref="uForm">
         <u-form-item :label="item.title" :prop="item.froms" label-width="200" :left-icon="item.img" :required="true"
         <u-form-item :label="item.title" :prop="item.froms" label-width="200" :left-icon="item.img" :required="item.requireds"
            v-for="(item, index) in list" :key="index">
            <u-input v-model="form[item.froms]"  :placeholder="item.placeholder" />
         </u-form-item>
         <u-form-item style="display: none;" label="选择部门" left-icon="account-fill" label-width="200" :required="true">
            <u-input v-model="form.obj" type="select" :border="true" @click="show = true" />
            <u-action-sheet :list="objList" v-model="show" @click="objCallback"></u-action-sheet>
         <u-form-item label="部门" left-icon="account-fill" label-width="200" :required="true">
            <u-input v-model="form.obj" type="select" placeholder="请选择部门" :border="true" @click="depl" />
            <u-select v-model="show" mode="mutil-column-auto" :list="listbm" @confirm="confirm"></u-select>
         </u-form-item>
         <u-form-item label="性别" label-width="200" left-icon="man">
            <u-radio-group v-model="form.sex">
               <u-radio v-for="(item, index) in sex" :key="index" :name="item.name" :disabled="item.disabled">
@@ -17,8 +18,8 @@
            </u-radio-group>
         </u-form-item>
      </u-form>
      <u-button class="submit" @click="camera">
         下一步{{faceMsg}}</u-button>
      <u-button class="submit" @click="zc">
         注册{{faceMsg}}</u-button>
      <!-- <u-button class="submit" @click="submit">提交</u-button> -->
   </view>
</template>
@@ -27,43 +28,57 @@
   export default {
      data() {
         return {
            show: false,
            listbm: [],
            flag: false,
            list: [{
                  title: '账号',
                  img: 'man-add-fill',
                  froms: 'user',
                  requireds:true,
                  placeholder: '请输入帐号'
               },
               {
                  title: '密码',
                  img: 'lock-fill',
                  froms: 'pass',
                  requireds:true,
                  placeholder: '请输入密码'
               },
               {
                  title: '确认密码',
                  img: 'lock-fill',
                  froms: 'passTwo',
                  requireds:true,
                  placeholder: '请确认密码'
               },
               {
                  title: '姓名',
                  img: 'account',
                  froms: 'name',
                  requireds:true,
                  placeholder: '请输入姓名'
               },
               {
                  title: '身份证',
                  img: 'fingerprint',
                  froms: 'carId',
                  placeholder: '请输入身份证'
               },
               // {
               //    title: '身份证',
               //    img: 'fingerprint',
               //    froms: 'carId',
               //    placeholder: '请输入身份证'
               // },
               {
                  title: '手机号',
                  img: 'phone-fill',
                  froms: 'phone',
                  requireds:false,
                  placeholder: '请输入手机号'
               }
               },
               // {
               //    title: '部门',
               //    img: 'phone-fill',
               //    froms: 'depl',
               //    placeholder: '请选择部门'
               // },
            ],
            sex: [{
                  name: '男',
@@ -74,7 +89,6 @@
                  disabled: false
               },
            ],
            show: false,
            objList: [{
                  text: '赣州'
               },
@@ -90,7 +104,8 @@
               carId: '',
               phone: '',
               sex: '男',
               obj: '赣州'
               obj: '',
               objId: '',
            },
            rules: {
               user: [{
@@ -133,6 +148,12 @@
                  // 可以单个或者同时写两个触发验证方式 
                  trigger: ['change', 'blur'],
               }],
               depts: [{
                  required: true,
                  message: '请输入姓名',
                  // 可以单个或者同时写两个触发验证方式
                  trigger: ['change', 'blur'],
               }],
               carId: [{
                     required: true,
                     message: '请输入身份证',
@@ -147,18 +168,18 @@
                     trigger: ['change', 'blur'],
                  }
               ],
               phone: [{
                  required: true,
                  message: '请输入手机号',
                  // 可以单个或者同时写两个触发验证方式
                  trigger: ['change', 'blur'],
               }, {
                  validator: (rule, value, callback) => {
                     return this.$u.test.mobile(value);
                  },
                  message: '手机号码不正确',
                  trigger: ['change', 'blur'],
               }],
               // phone: [{
               //    required: false,
               //    message: '请输入手机号',
               //    // 可以单个或者同时写两个触发验证方式
               //    trigger: ['change', 'blur'],
               // }, {
               //    validator: (rule, value, callback) => {
               //       return this.$u.test.mobile(value);
               //    },
               //    message: '手机号码不正确',
               //    trigger: ['change', 'blur'],
               // }],
            },
            showGetFace: false,
            faceState: -2,
@@ -168,6 +189,104 @@
         };
      },
      methods: {
         zc(){
            var that = this;
            if(that.form.obj == "" || that.form.obj == null){
               uni.showToast({
                  title: '请选择部门',
                  icon:'none',
                  duration: 2000
               });
               return;
            }
            this.$refs.uForm.validate(valid => {
               if (valid) {
            console.log(this.form);
            var d = this.form;
            var url = 'http://s16s652780.51mypc.cn/api/zc/inster',
               data = {
                  // deptid: ,
                  password: d.pass,
                  password2: d.passTwo,
                  phone: d.phone,
                  sex: d.sex == '男' ? 1 : 2,
                  sname: d.name,
                  username: d.user,
                  deptid:d.objId
               }
            uni.request({
               url: url,
               method: 'POST',
               data: data,
               success: (res) => {
                  uni.showToast({
                     title: '注册成功,请等待审核',
                     icon:'none',
                     duration: 2000
                  });
                  setTimeout(function(){
                     uni.navigateTo({
                        url: '/pages/loging/loging'
                     })
                  },2000);
               }
            });
            }
         });
         },
         depl(){
            var that = this;
            uni.request({
               url: "http://s16s652780.51mypc.cn/api/blade-system/dept/trees",
               method: 'get',
               success: (res) => {
                  var routerArr = res.data.data;
                  var arr = that.formatRoutes(routerArr);
                  console.log(arr)
                  var list = [];
                  list.push(arr[0]);
                  that.listbm = list;
                  that.show = true;
               }
            })
         },
         confirm(e) {
            this.form.obj = e[e.length - 1].label;
            var arr = "";
            for (var i = 0; i < e.length; i++) {
               arr += e[i].value + ",";
            }
            var obj = arr.substr(0,arr.length-1);
            this.form.objId = obj;
         },
         formatRoutes(routerArr){
            var that = this;
            const arr = [];
            let obj = {};
            routerArr.forEach(router => {
               const tmp = { ...router };
               if (tmp.hasChildren == true) {
                  tmp.children = that.formatRoutes(tmp.children);
                  const {id, title} = router;
                  obj = {
                     label: tmp.title,
                     value: tmp.id,
                     children: tmp.children
                  }
               }else if(tmp.hasChildren == false){
                  obj = {
                     label: tmp.title,
                     value: tmp.id,
                  }
               }
               arr.push(obj);
            })
            return arr;
         },
         camera() {
            let that = this;
            uni.showToast({