Commit 6904ac15 authored by Your Name's avatar Your Name

平台账户管理修改

parent fb96c0c4
<template>
<el-dialog
custom-class="party-dialog"
title="编辑账号"
:visible.sync="dialogVisible"
width="720px"
:before-close="handleClose"
>
<div class="dialog-content">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
label-position="top"
class="party-form"
>
<div class="form-row">
<el-form-item label="系统用户名" prop="userName">
<el-input
v-model="form.userName"
placeholder="请填写"
oninput="value = value.trim()"
></el-input>
</el-form-item>
<el-form-item label="所在机构" prop="orgId">
<el-select v-model="form.orgId" filterable placeholder="请选择">
<el-option
v-for="item in organList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="form.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!form.permanent">
<el-date-picker
class="mt16"
v-model="form.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1">
<el-checkbox
v-for="(item, index) in rolesList"
:key="index"
:label="item.id"
>
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
id: "",
form: {
id: "",
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
},
rules: {
userName: [
{ required: true, message: "请选择系统用户名", trigger: "change" },
{ min: 1, max: 20, message: "请输入1到20个字符" },
],
orgId: [
{ required: true, message: "请输入所在机构", trigger: "change" },
],
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
roleList: [
{
type: "array",
required: true,
message: "请选择账号类型",
trigger: "change",
},
],
},
};
},
props: {
organList: {
type: Array,
default: () => {
return [];
},
},
rolesList: {
type: Array,
default: () => {
return [];
},
},
},
mounted() {},
methods: {
// 根据id获取获取详情内容
getDetailById() {
let _this = this;
this.$https(
{
method: "get",
url: "tUser/getById",
authType: this.backToken,
},
{ id: _this.id }
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
let resData = res.data.data;
for (let key in _this.form) {
this.form[key] = resData[key];
}
if (!this.form.permanent) {
this.form.date = [resData.effectiveDate, resData.exiredDate];
}
} else {
_this.$message.error(res.data.message);
}
} else {
_this.$message.error(res.data);
}
})
.catch((err) => {
console.log(err);
});
},
// 弹窗关闭
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset();
})
.catch((_) => {});
},
handleReset() {
this.dialogVisible = false;
this.$refs.form.resetFields();
this.form = {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
type: 1,
};
},
// 提交
handleSubmit() {
// 校验用户输入值
let _this = this;
_this.$refs.form.validate((valid) => {
if (valid) {
let user = {};
if (!_this.form.permanent && !_this.form.date) {
_this.$message.error("请选择有效期");
return false;
}
if (!_this.form.permanent) {
user.effectiveDate = _this.form.date[0];
user.exiredDate = _this.form.date[1];
}
user.userName = _this.form.userName;
user.orgId = _this.form.orgId;
user.roleList = _this.form.roleList;
user.permanent = _this.form.permanent;
user.id = _this.id;
user.type = this.form.type;
this.$https(
{
method: "put",
url: "tUser/update",
authType: _this.backToken,
},
user
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
this.$message({
type: "success",
message: res.data.message,
});
_this.dialogVisible = false;
this.$emit("success", true);
} else {
this.$message.error(res.data.message);
this.$emit("success", false);
}
} else {
this.$message.error(res.data);
this.$emit("success", false);
}
})
.catch((err) => {
console.log(res);
});
} else {
console.log("error submit!!");
return false;
}
});
},
},
};
</script>
<style lang="less" scoped>
.form-row {
display: flex;
justify-content: space-between;
}
<template>
<el-dialog
custom-class="party-dialog"
title="编辑账号"
:visible.sync="dialogVisible"
width="720px"
:before-close="handleClose"
>
<div class="dialog-content">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
label-position="top"
class="party-form"
>
<div class="form-row">
<el-form-item label="系统用户名" prop="userName">
<el-input
v-model="form.userName"
placeholder="请填写"
oninput="value = value.trim()"
></el-input>
</el-form-item>
<el-form-item label="所在机构" prop="orgId">
<el-select v-model="form.orgId" filterable placeholder="请选择">
<el-option
v-for="item in organList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="form.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!form.permanent">
<el-date-picker
class="mt16"
v-model="form.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1">
<span v-for="(item, index) in rolesList">
<el-checkbox
v-if="item.name !== '单位管理员' && item.name !== '统计管理员' && item.name !== '互动审核员'"
:key="index"
:label="item.id"
>
{{ item.name }}
</el-checkbox>
</span>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
id: "",
form: {
id: "",
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
},
rules: {
userName: [
{ required: true, message: "请选择系统用户名", trigger: "change" },
{ min: 1, max: 20, message: "请输入1到20个字符" },
],
orgId: [
{ required: true, message: "请输入所在机构", trigger: "change" },
],
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
roleList: [
{
type: "array",
required: true,
message: "请选择账号类型",
trigger: "change",
},
],
},
};
},
props: {
organList: {
type: Array,
default: () => {
return [];
},
},
rolesList: {
type: Array,
default: () => {
return [];
},
},
},
mounted() {},
methods: {
// 根据id获取获取详情内容
getDetailById() {
let _this = this;
this.$https(
{
method: "get",
url: "tUser/getById",
authType: this.backToken,
},
{ id: _this.id }
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
let resData = res.data.data;
for (let key in _this.form) {
this.form[key] = resData[key];
}
if (!this.form.permanent) {
this.form.date = [resData.effectiveDate, resData.exiredDate];
}
} else {
_this.$message.error(res.data.message);
}
} else {
_this.$message.error(res.data);
}
})
.catch((err) => {
console.log(err);
});
},
// 弹窗关闭
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset();
})
.catch((_) => {});
},
handleReset() {
this.dialogVisible = false;
this.$refs.form.resetFields();
this.form = {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
type: 1,
};
},
// 提交
handleSubmit() {
// 校验用户输入值
let _this = this;
_this.$refs.form.validate((valid) => {
if (valid) {
let user = {};
if (!_this.form.permanent && !_this.form.date) {
_this.$message.error("请选择有效期");
return false;
}
if (!_this.form.permanent) {
user.effectiveDate = _this.form.date[0];
user.exiredDate = _this.form.date[1];
}
user.userName = _this.form.userName;
user.orgId = _this.form.orgId;
user.roleList = _this.form.roleList;
user.permanent = _this.form.permanent;
user.id = _this.id;
user.type = this.form.type;
this.$https(
{
method: "put",
url: "tUser/update",
authType: _this.backToken,
},
user
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
this.$message({
type: "success",
message: res.data.message,
});
_this.dialogVisible = false;
this.$emit("success", true);
} else {
this.$message.error(res.data.message);
this.$emit("success", false);
}
} else {
this.$message.error(res.data);
this.$emit("success", false);
}
})
.catch((err) => {
console.log(res);
});
} else {
console.log("error submit!!");
return false;
}
});
},
},
};
</script>
<style lang="less" scoped>
.form-row {
display: flex;
justify-content: space-between;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment