|
@@ -26,26 +26,26 @@
|
|
|
<!-- 组织搜索 -->
|
|
<!-- 组织搜索 -->
|
|
|
<div class="search_box">
|
|
<div class="search_box">
|
|
|
<el-input
|
|
<el-input
|
|
|
- size="small"
|
|
|
|
|
|
|
+ size="mini"
|
|
|
placeholder="请输入用户姓名"
|
|
placeholder="请输入用户姓名"
|
|
|
- v-model="nameVal"
|
|
|
|
|
|
|
+ v-model.trim="nameVal"
|
|
|
@change="searchData"
|
|
@change="searchData"
|
|
|
clearable
|
|
clearable
|
|
|
>
|
|
>
|
|
|
</el-input>
|
|
</el-input>
|
|
|
<el-input
|
|
<el-input
|
|
|
- size="small"
|
|
|
|
|
|
|
+ size="mini"
|
|
|
placeholder="请输入手机号"
|
|
placeholder="请输入手机号"
|
|
|
- v-model="phoneVal"
|
|
|
|
|
|
|
+ v-model.trim="phoneVal"
|
|
|
@change="searchData"
|
|
@change="searchData"
|
|
|
clearable
|
|
clearable
|
|
|
>
|
|
>
|
|
|
</el-input>
|
|
</el-input>
|
|
|
<div class="btn_box">
|
|
<div class="btn_box">
|
|
|
- <el-button type="primary" size="small" @click="searchData"
|
|
|
|
|
|
|
+ <el-button type="primary" size="mini" @click="searchData"
|
|
|
>搜索</el-button
|
|
>搜索</el-button
|
|
|
>
|
|
>
|
|
|
- <el-button type="primary" size="small" @click="addrRole"
|
|
|
|
|
|
|
+ <el-button type="primary" size="mini" @click="addrRole"
|
|
|
>添加用户</el-button
|
|
>添加用户</el-button
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
@@ -164,7 +164,7 @@
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 80%"
|
|
style="width: 80%"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
- v-model="form.user"
|
|
|
|
|
|
|
+ v-model.trim="form.user"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -176,7 +176,7 @@
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 80%"
|
|
style="width: 80%"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
- v-model="form.password"
|
|
|
|
|
|
|
+ v-model.trim="form.password"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -184,7 +184,7 @@
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 80%"
|
|
style="width: 80%"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
- v-model="form.name"
|
|
|
|
|
|
|
+ v-model.trim="form.name"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -225,7 +225,7 @@
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 80%"
|
|
style="width: 80%"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
- v-model="form.phone"
|
|
|
|
|
|
|
+ v-model.trim="form.phone"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -233,7 +233,7 @@
|
|
|
<el-input
|
|
<el-input
|
|
|
style="width: 80%"
|
|
style="width: 80%"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
- v-model="form.mailbox"
|
|
|
|
|
|
|
+ v-model.trim="form.mailbox"
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -264,7 +264,25 @@ export default {
|
|
|
//import引入的组件需要注入到对象中才能使用
|
|
//import引入的组件需要注入到对象中才能使用
|
|
|
components: {},
|
|
components: {},
|
|
|
data() {
|
|
data() {
|
|
|
- //这里存放数据
|
|
|
|
|
|
|
+ //input验证 - 密码框 - 禁止输入汉字
|
|
|
|
|
+ const checkPath = (rule, value, callback) => {
|
|
|
|
|
+ this.form.password = value.replace(/[\u4E00-\u9FA5]/g, "");
|
|
|
|
|
+ // 一定要执行回调函数
|
|
|
|
|
+ // 否则不起效果
|
|
|
|
|
+ callback();
|
|
|
|
|
+ };
|
|
|
|
|
+ // input验证 - 验证手机号
|
|
|
|
|
+ var checkphone = (rule, value, callback) => {
|
|
|
|
|
+ // let phoneReg = /(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/;
|
|
|
|
|
+ if (value == "") {
|
|
|
|
|
+ callback(new Error("请输入手机号"));
|
|
|
|
|
+ } else if (!this.isCellPhone(value)) {
|
|
|
|
|
+ //引入methods中封装的检查手机格式的方法
|
|
|
|
|
+ callback(new Error("请输入正确的手机号!"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
return {
|
|
return {
|
|
|
fullHeight: document.documentElement.clientHeight - 116, //
|
|
fullHeight: document.documentElement.clientHeight - 116, //
|
|
|
|
|
|
|
@@ -293,7 +311,9 @@ export default {
|
|
|
user: "", //账号
|
|
user: "", //账号
|
|
|
password: "", // 密码
|
|
password: "", // 密码
|
|
|
name: "", // 姓名
|
|
name: "", // 姓名
|
|
|
- judge: [], // 隶属海关
|
|
|
|
|
|
|
+ judge: [
|
|
|
|
|
+ [3, 4, 7],
|
|
|
|
|
+ ], // 隶属海关
|
|
|
role: [], //角色
|
|
role: [], //角色
|
|
|
phone: "", // 手机号码
|
|
phone: "", // 手机号码
|
|
|
mailbox: "", //邮箱
|
|
mailbox: "", //邮箱
|
|
@@ -306,6 +326,7 @@ export default {
|
|
|
],
|
|
],
|
|
|
password: [
|
|
password: [
|
|
|
{ required: true, message: "请输入密码", trigger: "blur" },
|
|
{ required: true, message: "请输入密码", trigger: "blur" },
|
|
|
|
|
+ { validator: checkPath, trigger: "change" },
|
|
|
// { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
|
|
// { min: 3, max: 5, message: "长度在 1 到 15 个字符", trigger: "blur" },
|
|
|
],
|
|
],
|
|
|
name: [
|
|
name: [
|
|
@@ -324,12 +345,13 @@ export default {
|
|
|
},
|
|
},
|
|
|
// { min: 3, max: 5, message: "长度在 1 到 30 个字符", trigger: "blur" },
|
|
// { min: 3, max: 5, message: "长度在 1 到 30 个字符", trigger: "blur" },
|
|
|
],
|
|
],
|
|
|
|
|
+ phone: [{ required: true, validator: checkphone, trigger: "blur" }],
|
|
|
},
|
|
},
|
|
|
roleData: [], // 角色下拉框
|
|
roleData: [], // 角色下拉框
|
|
|
refreshItem: 0, //清除角色、组织值
|
|
refreshItem: 0, //清除角色、组织值
|
|
|
tissueList: [], // 组织下拉框
|
|
tissueList: [], // 组织下拉框
|
|
|
editorObj: {}, //点击编辑选中当前的行数据
|
|
editorObj: {}, //点击编辑选中当前的行数据
|
|
|
- org_id: '', //组织id
|
|
|
|
|
|
|
+ org_id: "", //组织id
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
//监听属性 类似于data概念
|
|
//监听属性 类似于data概念
|
|
@@ -369,10 +391,19 @@ export default {
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ // 验证手机号是否正确
|
|
|
|
|
+ isCellPhone(val) {
|
|
|
|
|
+ if (!/^1(3|4|5|6|7|8)\d{9}$/.test(val)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
// 树形图
|
|
// 树形图
|
|
|
handleNodeClick(data) {
|
|
handleNodeClick(data) {
|
|
|
console.log(data);
|
|
console.log(data);
|
|
|
- this.org_id = data.id
|
|
|
|
|
|
|
+ this.org_id = data.id;
|
|
|
this.userListData();
|
|
this.userListData();
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -437,22 +468,29 @@ export default {
|
|
|
|
|
|
|
|
// 重置密码
|
|
// 重置密码
|
|
|
resetPwd(data) {
|
|
resetPwd(data) {
|
|
|
- this.$prompt('请输入新密码', '提示', {
|
|
|
|
|
- confirmButtonText: '确定',
|
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
- inputPlaceholder: '@12345678',
|
|
|
|
|
- // inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
|
|
|
|
|
- inputErrorMessage: '手机号码格式不正确'
|
|
|
|
|
- }).then(({ value }) => {
|
|
|
|
|
|
|
+ this.$prompt("请输入新密码", "提示", {
|
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
|
+ inputPlaceholder: "默认密码为@12345678",
|
|
|
|
|
+ inputErrorMessage: "新密码格式不正确",
|
|
|
|
|
+ inputValidator: (val) => {
|
|
|
|
|
+ if (escape(val).indexOf("%u") != -1) {
|
|
|
|
|
+ return "不能输入汉字!";
|
|
|
|
|
+ } else if (val.split(" ").join("").length == 0) {
|
|
|
|
|
+ return "不能输入空格!";
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(({ value }) => {
|
|
|
this.$axios({
|
|
this.$axios({
|
|
|
- method: 'POST',
|
|
|
|
|
- url: '/api/api_gateway?method=sysmenage.usermanager.password_modify',
|
|
|
|
|
|
|
+ method: "POST",
|
|
|
|
|
+ url: "/api/api_gateway?method=sysmenage.usermanager.password_modify",
|
|
|
data: this.qs.stringify({
|
|
data: this.qs.stringify({
|
|
|
user_id: data.user_id,
|
|
user_id: data.user_id,
|
|
|
- password: value == null ? '@12345678' : value
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ password: value == null ? "@12345678" : value,
|
|
|
|
|
+ }),
|
|
|
}).then((res) => {
|
|
}).then((res) => {
|
|
|
- console.log(res)
|
|
|
|
|
|
|
+ console.log(res);
|
|
|
if (res.data.data == true) {
|
|
if (res.data.data == true) {
|
|
|
this.$message({
|
|
this.$message({
|
|
|
message: "成功!",
|
|
message: "成功!",
|
|
@@ -460,13 +498,14 @@ export default {
|
|
|
duration: 1500,
|
|
duration: 1500,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
- this.userListData()
|
|
|
|
|
- })
|
|
|
|
|
- }).catch(() => {
|
|
|
|
|
|
|
+ this.userListData();
|
|
|
|
|
+ });
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {
|
|
|
this.$message({
|
|
this.$message({
|
|
|
- type: 'info',
|
|
|
|
|
- message: '取消输入'
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ type: "info",
|
|
|
|
|
+ message: "取消输入",
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -479,11 +518,11 @@ export default {
|
|
|
})
|
|
})
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
this.$axios({
|
|
this.$axios({
|
|
|
- method: 'POST',
|
|
|
|
|
- url: '/api/api_gateway?method=sysmenage.usermanager.user_delete',
|
|
|
|
|
|
|
+ method: "POST",
|
|
|
|
|
+ url: "/api/api_gateway?method=sysmenage.usermanager.user_delete",
|
|
|
data: this.qs.stringify({
|
|
data: this.qs.stringify({
|
|
|
- user_id: data.user_id
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ user_id: data.user_id,
|
|
|
|
|
+ }),
|
|
|
}).then((res) => {
|
|
}).then((res) => {
|
|
|
if (res.data.data == true) {
|
|
if (res.data.data == true) {
|
|
|
this.$message({
|
|
this.$message({
|
|
@@ -498,8 +537,8 @@ export default {
|
|
|
duration: 1500,
|
|
duration: 1500,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
- this.userListData()
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.userListData();
|
|
|
|
|
+ });
|
|
|
})
|
|
})
|
|
|
.catch(() => {
|
|
.catch(() => {
|
|
|
this.$message({
|
|
this.$message({
|
|
@@ -626,13 +665,13 @@ export default {
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
if (res.data.data.page_list.length !== 0) {
|
|
if (res.data.data.page_list.length !== 0) {
|
|
|
var obj = {
|
|
var obj = {
|
|
|
- org_name: '全部',
|
|
|
|
|
- id: ''
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ org_name: "全部",
|
|
|
|
|
+ id: "",
|
|
|
|
|
+ };
|
|
|
|
|
+ var list = res.data.data.page_list;
|
|
|
|
|
+ this.tissueList = list; // 弹框组织列表
|
|
|
var data = res.data.data.page_list;
|
|
var data = res.data.data.page_list;
|
|
|
- // this.$set(data, 0, obj)
|
|
|
|
|
- this.data = data; // 左侧组织列表
|
|
|
|
|
- this.tissueList = data; // 弹框组织列表
|
|
|
|
|
|
|
+ this.data = [obj, ...data]; // 左侧组织列表
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
.catch((err) => {
|
|
.catch((err) => {
|
|
@@ -695,6 +734,8 @@ export default {
|
|
|
padding: 5px;
|
|
padding: 5px;
|
|
|
border: 1px solid #eeeeee;
|
|
border: 1px solid #eeeeee;
|
|
|
border-radius: 5px;
|
|
border-radius: 5px;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 搜索和表格
|
|
// 搜索和表格
|