<template>
|
<el-dialog
|
:close-on-click-modal="false"
|
:visible.sync="islook"
|
width="35rem"
|
class="add-event-dialog"
|
@close="shutdown"
|
>
|
<div slot="title" class="tac drawerHeader">
|
<span>{{ "创建账号" }}</span>
|
</div>
|
<div class="dialog-content-box">
|
<el-form
|
ref="form"
|
:rules="rules"
|
:model="form"
|
label-width="100px"
|
label-position="left"
|
>
|
<el-form-item label="用户名" prop="tel">
|
<span v-if="editRow.look == 'look'">{{ form.tel }}</span>
|
<el-input
|
v-else
|
v-model="form.tel"
|
clearable
|
placeholder="请输入手机号作为用户名"
|
:disabled="titleName == '编辑' ? true : false"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="登录密码" prop="password">
|
<span v-if="editRow.look == 'look'">{{ form.password }}</span>
|
<div v-else class="login-password-box">
|
<el-input
|
v-model="form.password"
|
placeholder="请输入登录密码"
|
:auto-complete="'new-password'"
|
type="password"
|
:disabled="titleName == '编辑' ? true : false"
|
show-password
|
></el-input>
|
<el-button
|
v-if="titleName !== '编辑'"
|
type="text"
|
style="margin-left: 5px"
|
@click="generateRandomNumber"
|
>生成随机密码</el-button
|
>
|
</div>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div slot="footer" class="dialog-footer tac">
|
<el-button @click="shutdown">取消</el-button>
|
<el-button type="primary" @click="onSubmit(form)">确定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import {
|
addOutsideUser,
|
updateEnterprise,
|
} from "@/api/supplierManage/outsourceSupplier"
|
export default {
|
components: {},
|
props: {
|
titleName: {
|
type: String,
|
default: "新增",
|
},
|
editRow: {
|
type: [Object],
|
default: () => {
|
return {};
|
},
|
},
|
showList: {
|
type: [Array],
|
},
|
},
|
data() {
|
return {
|
islook: false,
|
form: {
|
tel: "",
|
password: "123456",
|
},
|
rules: {
|
tel: [
|
{ required: true, message: "请填写联系方式", trigger: "blur" }, // 联系方式
|
],
|
password: [
|
{ required: true, message: "请填写登录密码", trigger: "blur" }, // 登录密码
|
],
|
},
|
editParams: {},
|
};
|
},
|
mounted() {
|
// this.handleGetList(5);
|
// this.handleGetList(6);
|
// this.handleGetList(7);
|
},
|
watch: {
|
editRow(val) {
|
if (val.id && this.islook) {
|
this.initFormData(val);
|
} else {
|
this.$nextTick(() => {
|
this.$refs.form.resetFields();
|
});
|
}
|
},
|
islook(val) {
|
if (val) {
|
this.form = {
|
tel: "",
|
password: "123456",
|
};
|
}
|
},
|
},
|
methods: {
|
initFormData(row) {
|
if (row.id) {
|
this.editParams = JSON.parse(JSON.stringify(row));
|
// if (this.form.takerId && this.form.takerName) {
|
// this.form.takerObj = this.form.takerId + "&" + this.form.takerName;
|
// }
|
}
|
},
|
onSubmit() {
|
this.$refs.form.validate((valid) => {
|
if (valid) {
|
this.addOutsideUser(this.editRow);
|
}
|
});
|
},
|
// 添加外部用户
|
addOutsideUser(data) {
|
addOutsideUser({
|
companyId: data.id,
|
companyName: data.name,
|
companyNumber: data.number,
|
passWord: this.form.password,
|
userName: this.form.tel,
|
}).then((res) => {
|
console.log(res);
|
if (res.code == 200) {
|
this.updateEnterprise();
|
this.$message.success("创建账号成功!");
|
this.shutdown();
|
}
|
});
|
},
|
updateEnterprise() {
|
this.editParams.tel = this.form.tel;
|
updateEnterprise(this.editParams).then((res) => {
|
if (res.code == 200) {
|
this.$emit("shutdown");
|
}
|
});
|
},
|
shutdown() {
|
this.$refs.form.resetFields();
|
this.islook = false;
|
},
|
// 随机生成六位数密码
|
generateRandomNumber() {
|
let passwordStr = Math.floor(100000 + Math.random() * 900000);
|
console.log(passwordStr);
|
this.$set(this.form, "password", passwordStr+'');
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.dialog-content-box {
|
padding: 0px 30px;
|
// overflow-y: auto;
|
// .el-form {
|
// overflow: hidden;
|
// }
|
.login-password-box {
|
display: flex;
|
}
|
}
|
|
::v-deep {
|
.el-tabs__content {
|
height: calc(100% - 55px);
|
overflow-y: auto;
|
}
|
.el-dialog__body{
|
padding-top:15px;
|
}
|
}
|
</style>
|