|
@@ -5,7 +5,7 @@
|
|
|
:center="true"
|
|
|
align="left"
|
|
|
top="10vh"
|
|
|
- width="750px"
|
|
|
+ width="500px"
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="showModelThis"
|
|
|
element-loading-text="拼命加载中"
|
|
@@ -25,71 +25,30 @@
|
|
|
label-width="80px"
|
|
|
class="demo-ruleForm"
|
|
|
>
|
|
|
- <el-row style="margin-bottom:20px">
|
|
|
- <el-form-item prop="username" label="用户名" v-if="id === 'add'">
|
|
|
- <el-input
|
|
|
- ßßsize="mini"
|
|
|
- v-model="ruleForm.username"
|
|
|
- placeholder="用户名"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="手机号" prop="mobile">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.mobile"
|
|
|
+ :placeholder="'手机号'"
|
|
|
+ maxlength="11"
|
|
|
+ :disabled="isDetail"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="昵称" prop="nickname">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.nickname"
|
|
|
- :placeholder="'账号名'"
|
|
|
- :disabled="isDetail"
|
|
|
- maxlength="100"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="密码" prop="password" v-if="id === 'add'">
|
|
|
- <el-input
|
|
|
- type="password"
|
|
|
- v-model="ruleForm.password"
|
|
|
- :placeholder="'密码'"
|
|
|
- :disabled="isDetail"
|
|
|
- maxlength="100"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="手机号" prop="mobile">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.mobile"
|
|
|
- :placeholder="'手机号'"
|
|
|
- maxlength="11"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="24" v-if="id === 'add'">
|
|
|
- <el-form-item label="邮箱" prop="email">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.email"
|
|
|
- :placeholder="'邮箱'"
|
|
|
- maxlength="11"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <!-- <el-col :span="24">
|
|
|
- <el-form-item label="角色等级" prop="level">
|
|
|
- <el-select size="mini" style="width:100%" :disabled="isDetail" v-model="ruleForm.level" placeholder="角色等级">
|
|
|
- <el-option />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col> -->
|
|
|
- </el-row>
|
|
|
+ <el-form-item label="验证码" prop="code">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.code"
|
|
|
+ :placeholder="'验证码'"
|
|
|
+ maxlength="6"
|
|
|
+ :disabled="isDetail"
|
|
|
+ >
|
|
|
+ <el-button slot="append" :disabled="numbers > 60" @click="codeTap">{{
|
|
|
+ numbers === 60 ? "获取验证码" : numbers + "s后重试"
|
|
|
+ }}</el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
- <el-col :span="6" class="bottom-btn">
|
|
|
+ <el-col :span="24" class="tr">
|
|
|
<el-button v-if="!isDetail" type="primary" @click="submitForm" :size="'mini'"
|
|
|
>保 存
|
|
|
</el-button>
|
|
@@ -113,53 +72,17 @@ import {
|
|
|
} from "@/utils/validate";
|
|
|
|
|
|
/**
|
|
|
- * @props
|
|
|
+ * @props
|
|
|
* nickname 账号名
|
|
|
* mobile 手机号
|
|
|
* level 角色等级
|
|
|
-*/
|
|
|
+ */
|
|
|
|
|
|
export default {
|
|
|
name: "Account",
|
|
|
props: ["showModel", "id", "isDetail", "sitem"],
|
|
|
mixins: [resToken],
|
|
|
data() {
|
|
|
- const validateusername = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("账号不能为空!"));
|
|
|
- } else {
|
|
|
- if (value.length < 6 || value.length > 18) {
|
|
|
- callback(new Error("账号规则为6~18位数字与字母组合!"));
|
|
|
- } else {
|
|
|
- if (isnumber(value)) {
|
|
|
- callback(new Error("账号规则为6~18位数字与字母组合!"));
|
|
|
- } else if (validAlphabets(value)) {
|
|
|
- callback(new Error("账号规则为6~18位数字与字母组合!"));
|
|
|
- } else if (!isAlphanumeric(value)) {
|
|
|
- callback(new Error("账号规则为6~18位数字与字母组合!"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- const validatename = (rule, value, callback) => {
|
|
|
- if (value === "") {
|
|
|
- callback(new Error("账号名不能为空!"));
|
|
|
- } else {
|
|
|
- if (value.length < 2 || value.length > 12) {
|
|
|
- callback(new Error("账号名规则为2~12位!"));
|
|
|
- } else {
|
|
|
- if (isEmoticon(value)) {
|
|
|
- callback(new Error("账号名规则为2~12位!"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
const validatemobile = (rule, value, callback) => {
|
|
|
if (value === "") {
|
|
|
callback(new Error("手机号不能为空!"));
|
|
@@ -182,35 +105,28 @@ export default {
|
|
|
is_mainoptions: [],
|
|
|
isIndeterminate: false,
|
|
|
ruleForm: {
|
|
|
- password:"",
|
|
|
- username:"",
|
|
|
+ password: "",
|
|
|
+ username: "",
|
|
|
nickname: "", // 账号名
|
|
|
mobile: "", //手机号
|
|
|
role_id: "", //角色id
|
|
|
},
|
|
|
platformoptions: [],
|
|
|
rules: {
|
|
|
- nickname: [
|
|
|
+ mobile: [
|
|
|
{
|
|
|
required: true,
|
|
|
- validator: validatename,
|
|
|
+ validator: validatemobile,
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
- mobile: [
|
|
|
+ code: [
|
|
|
{
|
|
|
required: true,
|
|
|
- validator: validatemobile,
|
|
|
trigger: "blur",
|
|
|
+ message: "角色等级",
|
|
|
},
|
|
|
],
|
|
|
- level:[
|
|
|
- {
|
|
|
- required:true,
|
|
|
- trigger:'blur',
|
|
|
- message:'角色等级'
|
|
|
- }
|
|
|
- ]
|
|
|
},
|
|
|
};
|
|
|
},
|
|
@@ -261,7 +177,7 @@ export default {
|
|
|
if (code === 1) {
|
|
|
this.organizeList = data;
|
|
|
this.recursion(this.organizeList);
|
|
|
- }
|
|
|
+ }
|
|
|
},
|
|
|
handleCheckedCitiesChange(value) {
|
|
|
console.log(value);
|
|
@@ -305,7 +221,7 @@ export default {
|
|
|
});
|
|
|
if (code === 1) {
|
|
|
await this.resetForm(data);
|
|
|
- }
|
|
|
+ }
|
|
|
},
|
|
|
async resetForm() {
|
|
|
// 重置
|
|
@@ -314,33 +230,23 @@ export default {
|
|
|
this.$refs.ruleForm.resetFields();
|
|
|
this.$refs.ruleForm.clearValidate();
|
|
|
if (this.sitem) {
|
|
|
- const {
|
|
|
- email,
|
|
|
- password,
|
|
|
- username,
|
|
|
- nickname,
|
|
|
- mobile,
|
|
|
- id
|
|
|
- } = this.sitem;
|
|
|
+ const { email, password, username, nickname, mobile, id } = this.sitem;
|
|
|
|
|
|
this.ruleForm = {
|
|
|
id,
|
|
|
- email:email || "",
|
|
|
- password:password || "",
|
|
|
- username:username || "",
|
|
|
+ email: email || "",
|
|
|
+ password: password || "",
|
|
|
+ username: username || "",
|
|
|
nickname: nickname || "",
|
|
|
- mobile: mobile || ""
|
|
|
+ mobile: mobile || "",
|
|
|
};
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
} else {
|
|
|
this.ruleForm = {
|
|
|
- email:"",
|
|
|
- password:"",
|
|
|
- username:"",
|
|
|
+ email: "",
|
|
|
+ password: "",
|
|
|
+ username: "",
|
|
|
nickname: "", // 账号名
|
|
|
- mobile: ""
|
|
|
+ mobile: "",
|
|
|
};
|
|
|
}
|
|
|
}
|
|
@@ -351,15 +257,9 @@ export default {
|
|
|
if (valid) {
|
|
|
if (!this.loading) {
|
|
|
this.loading = true;
|
|
|
- const {
|
|
|
- username,
|
|
|
- nickname,
|
|
|
- password,
|
|
|
- mobile,
|
|
|
- email,
|
|
|
- id
|
|
|
- } = JSON.parse(JSON.stringify(this.ruleForm));
|
|
|
-
|
|
|
+ const { username, nickname, password, mobile, email, id } = JSON.parse(
|
|
|
+ JSON.stringify(this.ruleForm)
|
|
|
+ );
|
|
|
|
|
|
const model = {
|
|
|
password,
|
|
@@ -367,7 +267,7 @@ export default {
|
|
|
username,
|
|
|
mobile,
|
|
|
email,
|
|
|
- id
|
|
|
+ id,
|
|
|
};
|
|
|
|
|
|
let res = {};
|
|
@@ -401,12 +301,5 @@ export default {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.account {
|
|
|
- .bottom-btn {
|
|
|
- position: absolute;
|
|
|
- bottom: 0px;
|
|
|
- right: 0;
|
|
|
- text-align: right;
|
|
|
- z-index: 2;
|
|
|
- }
|
|
|
}
|
|
|
</style>
|