Forráskód Böngészése

编辑用户重置密码

chao 3 éve
szülő
commit
903f8e0a3b
1 módosított fájl, 16 hozzáadás és 9 törlés
  1. 16 9
      src/views/sys/users/form.vue

+ 16 - 9
src/views/sys/users/form.vue

@@ -4,28 +4,31 @@
     <el-page-header :content="isEdit?'编辑用户':'添加用户'" @back="goBack" />
     <el-card class="form-container" shadow="never">
       <el-form ref="sysUserForm" :model="sysUser" :rules="rules" label-width="150px">
-        <el-form-item label="用户头像">
+        <el-form-item key="avatar" label="用户头像">
           <single-upload v-model="sysUser.avatar" />
         </el-form-item>
-        <el-form-item label="登录名:" prop="username">
+        <el-form-item key="fullName" label="姓名:" prop="fullName">
+          <el-input v-model="sysUser.fullName" />
+        </el-form-item>
+        <el-form-item key="username" label="登录名:" prop="username">
           <el-input v-model="sysUser.username" />
         </el-form-item>
-        <el-form-item label="密码:" prop="password">
+        <el-form-item v-if="passwordFlag" key="password" label="密码:" prop="password">
           <el-input v-model="sysUser.password" />
         </el-form-item>
-        <el-form-item label="姓名:" prop="fullName">
-          <el-input v-model="sysUser.fullName" />
+        <el-form-item v-if="!passwordFlag" key="passwordFlag" label="密码:">
+          <el-button @click="passwordFlag=true">重置密码</el-button>
         </el-form-item>
-        <el-form-item label="手机:">
+        <el-form-item key="phone" label="手机:">
           <el-input v-model="sysUser.phone" />
         </el-form-item>
-        <el-form-item label="是否阻止登录:">
+        <el-form-item key="loginFlag" label="是否阻止登录:">
           <el-radio-group v-model="sysUser.loginFlag">
             <el-radio :label="1">是</el-radio>
             <el-radio :label="0">否</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="用户角色:">
+        <el-form-item key="roles" label="用户角色:">
           <el-checkbox-group v-model="roleChecked" @change="handleCheckedRoles">
             <el-checkbox v-for="item in roleSelect" :key="item.id" :label="item.id" class="littleMarginLeft">{{ item.roleDesc }}</el-checkbox>
           </el-checkbox-group>
@@ -76,7 +79,9 @@ export default {
           { required: true, message: '请输入姓名', trigger: 'blur' },
           { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
         ]
-      }
+      },
+      isEdit: false,
+      passwordFlag: true
     }
   },
   watch: {
@@ -94,6 +99,7 @@ export default {
       if (this.$route.query.id) {
         this.sysUser.id = this.$route.query.id
         this.isEdit = true
+        this.passwordFlag = false
         getUser(this.sysUser.id).then(response => {
           this.sysUser.username = response.data.username
           this.sysUser.password = response.data.password
@@ -113,6 +119,7 @@ export default {
       } else {
         this.sysUser.id = ''
         this.isEdit = false
+        this.passwordFlag = true
         this.sysUser = Object.assign({}, defaultSysUser)
       }
     },