| | |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="用户名" prop="username" required> |
| | | <el-input v-model="form.username" placeholder="请输入用户名" v-trim maxlength="50"/> |
| | | <el-form-item label="账号" prop="username" required> |
| | | <el-input v-model="form.username" placeholder="请输入" v-trim maxlength="50"/> |
| | | </el-form-item> |
| | | <el-form-item label="姓名" prop="realname" required> |
| | | <el-input v-model="form.realname" placeholder="请输入姓名" v-trim maxlength="50"/> |
| | | <el-form-item label="名称" prop="realname" required> |
| | | <el-input v-model="form.realname" placeholder="请输入" v-trim maxlength="50"/> |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="sex" required> |
| | | <el-radio-group v-model="form.sex"> |
| | | <el-radio label="1">男</el-radio> |
| | | <el-radio label="0">女</el-radio> |
| | | </el-radio-group> |
| | | <el-form-item label="联系方式" prop="mobile"> |
| | | <el-input v-model="form.mobile" placeholder="请输入" v-trim maxlength="11"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="头像" prop="avatar" required> |
| | | <el-radio-group v-model="form.avatar" class="form-item-avatar"> |
| | | <el-radio label="https://dmtest.ahapp.net/preselectfile/man.png" border><img src="https://dmtest.ahapp.net/preselectfile/man.png" alt=""></el-radio> |
| | | <el-radio label="https://dmtest.ahapp.net/preselectfile/woman.png" border><img src="https://dmtest.ahapp.net/preselectfile/woman.png" alt=""></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> --> |
| | | <el-form-item v-if="form.id == null" label="初始密码" prop="password" required> |
| | | <el-input v-model="form.password" type="password" placeholder="请输入初始密码" maxlength="30" show-password/> |
| | | <el-form-item label="验证码" prop="captcha"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input v-model="form.captcha" maxlength="11" type="number" style="flex: 1;" placeholder="请输入" v-trim/> |
| | | <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" @click="send" v-if="num === 0">发送验证码</el-button> |
| | | <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门" prop="departmentId" required> |
| | | <DepartmentSelect v-model="form.departmentId" placeholder="请选择用户所属部门" :inline="false" clearable/> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="positionId"> |
| | | <PositionSelect v-model="form.positionIds" placeholder="请选择用户所在岗位" :inline="false" :multiple="true" clearable/> |
| | | </el-form-item> |
| | | <el-form-item label="工号" prop="empNo"> |
| | | <el-input v-model="form.empNo" placeholder="请输入工号" v-trim maxlength="50"/> |
| | | </el-form-item> |
| | | <el-form-item label="手机号码" prop="mobile"> |
| | | <el-input v-model="form.mobile" placeholder="请输入手机号码" v-trim maxlength="11"/> |
| | | </el-form-item> |
| | | <el-form-item label="邮箱" prop="email"> |
| | | <el-input v-model="form.email" placeholder="请输入邮箱" v-trim maxlength="200"/> |
| | | </el-form-item> |
| | | <el-form-item label="生日" prop="birthday"> |
| | | <el-date-picker v-model="form.birthday" value-format="yyyy-MM-dd" placeholder="请选择用户生日"/> |
| | | <el-form-item label="抄送文件邮箱" prop="email"> |
| | | <el-input v-model="form.email" placeholder="请输入" v-trim /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | import DepartmentSelect from '@/components/common/DepartmentSelect' |
| | | import PositionSelect from '@/components/common/PositionSelect' |
| | | import { checkMobile, checkEmail } from '@/utils/form' |
| | | import { sendSms } from '@/api/business/smsEmail' |
| | | |
| | | export default { |
| | | name: 'OperaUserWindow', |
| | |
| | | id: null, |
| | | username: '', // 用户名 |
| | | realname: '', // 姓名 |
| | | empNo: '', // 工号 |
| | | departmentId: null, // 所属部门ID |
| | | positionIds: [], // 所属岗位ID集 |
| | | // avatar: '/avatar/man.png', // 头像 |
| | | password: '', // 密码 |
| | | mobile: '', // 手机号码 |
| | | email: '', // 邮箱 |
| | | sex: '1', // 性别 |
| | | birthday: '' // 生日 |
| | | email: '', |
| | | captcha: '' |
| | | }, |
| | | num: 0, |
| | | timer: null, |
| | | // 验证规则 |
| | | rules: { |
| | | username: [ |
| | |
| | | realname: [ |
| | | { required: true, message: '请输入姓名' } |
| | | ], |
| | | password: [ |
| | | { required: true, message: '请输入密码' } |
| | | ], |
| | | departmentId: [ |
| | | { required: true, message: '请选择部门' } |
| | | ], |
| | | avatar: [ |
| | | { required: true, message: '请选择用户头像' } |
| | | ], |
| | | sex: [ |
| | | { required: true, message: '请选择用户性别' } |
| | | ], |
| | | mobile: [ |
| | | { required: true, validator: checkMobile } |
| | | ], |
| | | email: [ |
| | | { validator: checkEmail } |
| | | { required: true, message: '请输入邮箱' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | send() { |
| | | if (!this.form.mobile) { |
| | | this.$message.warning('请输入手机号') |
| | | return |
| | | } |
| | | sendSms({ phone: this.form.mobile }) |
| | | .then(res => { |
| | | this.num = 60 |
| | | this.setTime() |
| | | }) |
| | | }, |
| | | setTime() { |
| | | this.timer = setInterval(() => { |
| | | this.num -= 1 |
| | | if (this.num === 0) { |
| | | clearInterval(this.timer) |
| | | this.num = 0 |
| | | } |
| | | }, 1000) |
| | | }, |
| | | /** |
| | | * @title 窗口标题 |
| | | * @target 编辑的用户对象 |
| | |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | clearInterval(this.timer) |
| | | this.num = 0 |
| | | // 新建 |
| | | if (target == null) { |
| | | this.$nextTick(() => { |