2024-12-30 18:07:53 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<div>
|
|
|
|
|
|
<el-dialog
|
|
|
|
|
|
width="50%"
|
2024-12-31 17:49:45 +08:00
|
|
|
|
:title="dialogTitle"
|
2024-12-30 18:07:53 +08:00
|
|
|
|
:visible.sync="dialogVisible"
|
|
|
|
|
|
:before-close="handleClose"
|
|
|
|
|
|
>
|
|
|
|
|
|
<el-form
|
|
|
|
|
|
label-width="120px"
|
|
|
|
|
|
:model="addOrEditForm"
|
2024-12-31 17:49:45 +08:00
|
|
|
|
:rules="addOrEditFormRef"
|
2024-12-30 18:07:53 +08:00
|
|
|
|
ref="addOrEditFormRef"
|
|
|
|
|
|
>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<TitleTip :titleText="`公司信息`" />
|
2024-12-30 18:07:53 +08:00
|
|
|
|
<el-form-item label="公司名称:" prop="deptName">
|
|
|
|
|
|
<el-input v-model="addOrEditForm.deptName" />
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="公司简称:" prop="deptAbbreviation">
|
|
|
|
|
|
<el-input v-model="addOrEditForm.deptAbbreviation" />
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="公司概述:" prop="remark">
|
|
|
|
|
|
<el-input v-model="addOrEditForm.remark" type="textarea" />
|
|
|
|
|
|
</el-form-item>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<TitleTip :titleText="`基础设置`" />
|
2024-12-30 18:07:53 +08:00
|
|
|
|
<el-form-item label="默认密码:" prop="password">
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<el-input disabled v-model="addOrEditForm.password" />
|
2024-12-30 18:07:53 +08:00
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="LOGO设置:" prop="logo">
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<div class="upload-container">
|
2025-01-03 09:43:29 +08:00
|
|
|
|
<UploadModel
|
|
|
|
|
|
:uploadFileList.sync="addOrEditForm.fileList"
|
|
|
|
|
|
/>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<div>
|
|
|
|
|
|
1、上传图片文件格式仅支持SVG; <br />
|
|
|
|
|
|
2、LOGO图片大小不超过3MB,尺寸100px * 100px; <br />
|
|
|
|
|
|
3、收集客户的logo请UI设计完成海购添加; <br />
|
|
|
|
|
|
4、默认智慧工地LOGO。<a> >> 恢复默认</a> <br />
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2024-12-30 18:07:53 +08:00
|
|
|
|
</el-form-item>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<TitleTip :titleText="`默认管理员`" />
|
2024-12-30 18:07:53 +08:00
|
|
|
|
<el-form-item label="姓名:" prop="nickName">
|
|
|
|
|
|
<el-input v-model="addOrEditForm.nickName" />
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="手机号码:" prop="phonenumber">
|
|
|
|
|
|
<el-input v-model="addOrEditForm.phonenumber" />
|
|
|
|
|
|
</el-form-item>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
<el-form-item label="角色:" prop="roles">
|
|
|
|
|
|
<el-input disabled v-model="addOrEditForm.roles" />
|
2024-12-30 18:07:53 +08:00
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item class="handle">
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
@click="
|
|
|
|
|
|
() => {
|
|
|
|
|
|
$emit('update:formDialogVisible', false)
|
|
|
|
|
|
}
|
|
|
|
|
|
"
|
|
|
|
|
|
>
|
|
|
|
|
|
取消
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
<el-button type="primary" @click="onSubmitForm">
|
|
|
|
|
|
保存
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
2024-12-31 17:49:45 +08:00
|
|
|
|
import UploadModel from '@/components/UploadModel'
|
2024-12-30 18:07:53 +08:00
|
|
|
|
import { addCompanyAPI } from '@/api/company-manage/index.js'
|
|
|
|
|
|
export default {
|
|
|
|
|
|
props: {
|
2024-12-31 17:49:45 +08:00
|
|
|
|
formType: {
|
|
|
|
|
|
type: Number,
|
|
|
|
|
|
default: () => 3,
|
|
|
|
|
|
},
|
2024-12-30 18:07:53 +08:00
|
|
|
|
formDialogVisible: {
|
|
|
|
|
|
type: Boolean,
|
|
|
|
|
|
default: () => false,
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-12-31 17:49:45 +08:00
|
|
|
|
components: {
|
|
|
|
|
|
UploadModel,
|
|
|
|
|
|
},
|
2024-12-30 18:07:53 +08:00
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
// 新增或修改接口
|
|
|
|
|
|
addOrEditForm: {
|
|
|
|
|
|
deptName: '',
|
|
|
|
|
|
deptAbbreviation: '',
|
|
|
|
|
|
remark: '',
|
|
|
|
|
|
password: '',
|
|
|
|
|
|
logo: '',
|
|
|
|
|
|
nickName: '',
|
|
|
|
|
|
phonenumber: '',
|
|
|
|
|
|
userName: '',
|
|
|
|
|
|
orderNum: 200,
|
2025-01-03 09:43:29 +08:00
|
|
|
|
fileList: [],
|
2024-12-31 17:49:45 +08:00
|
|
|
|
roles: '系统管理员',
|
|
|
|
|
|
},
|
|
|
|
|
|
addOrEditFormRef: {
|
|
|
|
|
|
deptName: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入公司名称',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
deptAbbreviation: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入公司简称',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
remark: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入公司概述',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
password: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入默认密码',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
logo: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请上传logo',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
nickName: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入管理员姓名',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
phonenumber: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入手机号码',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
pattern: /^1[3456789]\d{9}$/,
|
|
|
|
|
|
message: '请输入正确的手机号码',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
roles: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
message: '请输入角色',
|
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
2024-12-30 18:07:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
computed: {
|
|
|
|
|
|
dialogVisible: {
|
|
|
|
|
|
get() {
|
|
|
|
|
|
return this.formDialogVisible
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-12-31 17:49:45 +08:00
|
|
|
|
dialogTitle: {
|
|
|
|
|
|
get() {
|
|
|
|
|
|
if (this.formType === 1) return '公司详情'
|
|
|
|
|
|
if (this.formType === 2) return '公司编辑'
|
|
|
|
|
|
if (this.formType === 3) return '公司注册'
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-12-30 18:07:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
handleClose() {
|
|
|
|
|
|
this.$emit('update:formDialogVisible', false)
|
|
|
|
|
|
},
|
|
|
|
|
|
async onSubmitForm() {
|
2024-12-31 17:49:45 +08:00
|
|
|
|
this.addOrEditForm.userName = this.addOrEditForm.phonenumber
|
2024-12-30 18:07:53 +08:00
|
|
|
|
const res = await addCompanyAPI(this.addOrEditForm)
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
this.$modal.msgSuccess('新增成功')
|
|
|
|
|
|
}
|
|
|
|
|
|
this.$emit('update:formDialogVisible', false)
|
2024-12-31 17:49:45 +08:00
|
|
|
|
this.$emit('updateTableList')
|
2024-12-30 18:07:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-12-31 17:49:45 +08:00
|
|
|
|
mounted() {
|
|
|
|
|
|
this.getConfigKey('sys.user.initPassword').then((res) => {
|
|
|
|
|
|
this.addOrEditForm.password = res.msg
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
2024-12-30 18:07:53 +08:00
|
|
|
|
watch: {
|
|
|
|
|
|
formDialogVisible: {
|
|
|
|
|
|
handler(newValue) {
|
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
|
this.$refs.addOrEditFormRef.resetFields()
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
deep: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
::v-deep .handle .el-form-item__content {
|
|
|
|
|
|
text-align: right;
|
|
|
|
|
|
}
|
2024-12-31 17:49:45 +08:00
|
|
|
|
|
|
|
|
|
|
::v-deep .el-dialog {
|
|
|
|
|
|
display: flex !important;
|
|
|
|
|
|
flex-direction: column !important;
|
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
|
top: 50% !important;
|
|
|
|
|
|
left: 50% !important;
|
|
|
|
|
|
transform: translate(-50%, -50%) !important;
|
|
|
|
|
|
max-height: 100vh !important;
|
|
|
|
|
|
.el-dialog__body {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
overflow-y: scroll !important;
|
|
|
|
|
|
.el-table__header-wrapper .el-checkbox {
|
|
|
|
|
|
display: none !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.dialog-content {
|
|
|
|
|
|
padding: 20px;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.upload-container {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
& div:last-child {
|
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
|
padding-left: 20px;
|
|
|
|
|
|
line-height: 2.2;
|
|
|
|
|
|
|
|
|
|
|
|
a {
|
|
|
|
|
|
color: #1890ff;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-12-30 18:07:53 +08:00
|
|
|
|
</style>
|