|
@@ -8,7 +8,7 @@
|
|
|
label-width="80px"
|
|
|
>
|
|
|
<el-form-item label="租户名" prop="name">
|
|
|
- <el-input v-model="formData.name" placeholder="请输入租户名" />
|
|
|
+ <el-input v-model="formData.name" placeholder="请输入租户名"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="租户套餐" prop="packageId">
|
|
|
<el-select v-model="formData.packageId" clearable placeholder="请选择租户套餐">
|
|
@@ -21,13 +21,16 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系人" prop="contactName">
|
|
|
- <el-input v-model="formData.contactName" placeholder="请输入联系人" />
|
|
|
+ <el-input v-model="formData.contactName" placeholder="请输入联系人"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系手机" prop="contactMobile">
|
|
|
- <el-input v-model="formData.contactMobile" placeholder="请输入联系手机" />
|
|
|
+ <el-input v-model="formData.contactMobile" placeholder="请输入联系手机"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="formData.id === undefined" label="用户名称" prop="username">
|
|
|
- <el-input v-model="formData.username" placeholder="请输入用户名称" />
|
|
|
+ <el-input v-model="formData.username" placeholder="请输入用户名称"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="法人身份证" prop="idCard">
|
|
|
+ <el-input v-model="formData.idCard" placeholder="请输入法人身份证"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="formData.id === undefined" label="用户密码" prop="password">
|
|
|
<el-input
|
|
@@ -55,7 +58,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="绑定域名" prop="website">
|
|
|
- <el-input v-model="formData.website" placeholder="请输入绑定域名" />
|
|
|
+ <el-input v-model="formData.website" placeholder="请输入绑定域名"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="租户状态" prop="status">
|
|
|
<el-radio-group v-model="formData.status">
|
|
@@ -68,6 +71,32 @@
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="区域" prop="areaId">
|
|
|
+ <el-input v-model="formData.areaId" placeholder="请输入区域"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="详细地址" prop="address">
|
|
|
+ <el-input v-model="formData.address" placeholder="请输入详细地址"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="面积" prop="coveredArea">
|
|
|
+ <el-input v-model="formData.coveredArea" placeholder="请输入面积"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="房间数" prop="roomCount">
|
|
|
+ <el-input v-model="formData.roomCount" placeholder="请输入房间数"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="技师人数" prop="technicianCount">
|
|
|
+ <el-input v-model="formData.technicianCount" placeholder="请输入技师人数"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="营业执照" prop="businessLicense">
|
|
|
+ <UploadImg v-model="formData.businessLicense"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开业时间" prop="openTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="formData.openTime"
|
|
|
+ type="date"
|
|
|
+ value-format="x"
|
|
|
+ placeholder="选择开业时间"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -76,14 +105,14 @@
|
|
|
</Dialog>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
-import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
|
|
+import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
|
|
|
import * as TenantApi from '@/api/system/tenant'
|
|
|
-import { CommonStatusEnum } from '@/utils/constants'
|
|
|
+import {CommonStatusEnum} from '@/utils/constants'
|
|
|
import * as TenantPackageApi from '@/api/system/tenantPackage'
|
|
|
|
|
|
-defineOptions({ name: 'SystemTenantForm' })
|
|
|
+defineOptions({name: 'SystemTenantForm'})
|
|
|
|
|
|
-const { t } = useI18n() // 国际化
|
|
|
+const {t} = useI18n() // 国际化
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
const dialogTitle = ref('') // 弹窗的标题
|
|
@@ -92,27 +121,43 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
|
|
const formData = ref({
|
|
|
id: undefined,
|
|
|
name: undefined,
|
|
|
- packageId: undefined,
|
|
|
+ contactUserId: undefined,
|
|
|
contactName: undefined,
|
|
|
+ idCard: undefined,
|
|
|
contactMobile: undefined,
|
|
|
- accountCount: undefined,
|
|
|
- expireTime: undefined,
|
|
|
+ status: undefined,
|
|
|
website: undefined,
|
|
|
- status: CommonStatusEnum.ENABLE,
|
|
|
+ packageId: undefined,
|
|
|
+ expireTime: undefined,
|
|
|
+ accountCount: undefined,
|
|
|
+ areaId: undefined,
|
|
|
+ address: undefined,
|
|
|
+ coveredArea: undefined,
|
|
|
+ roomCount: undefined,
|
|
|
+ technicianCount: undefined,
|
|
|
+ businessLicense: undefined,
|
|
|
+ openTime: undefined,
|
|
|
// 新增专属
|
|
|
username: undefined,
|
|
|
password: undefined
|
|
|
})
|
|
|
const formRules = reactive({
|
|
|
- name: [{ required: true, message: '租户名不能为空', trigger: 'blur' }],
|
|
|
- packageId: [{ required: true, message: '租户套餐不能为空', trigger: 'blur' }],
|
|
|
- contactName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],
|
|
|
- status: [{ required: true, message: '租户状态不能为空', trigger: 'blur' }],
|
|
|
- accountCount: [{ required: true, message: '账号额度不能为空', trigger: 'blur' }],
|
|
|
- expireTime: [{ required: true, message: '过期时间不能为空', trigger: 'blur' }],
|
|
|
- website: [{ required: true, message: '绑定域名不能为空', trigger: 'blur' }],
|
|
|
- username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
|
|
|
- password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }]
|
|
|
+ name: [{required: true, message: '租户名不能为空', trigger: 'blur'}],
|
|
|
+ packageId: [{required: true, message: '租户套餐不能为空', trigger: 'blur'}],
|
|
|
+ contactName: [{required: true, message: '联系人不能为空', trigger: 'blur'}],
|
|
|
+ idCard: [{required: true, message: '法人身份证不能为空', trigger: 'blur'}],
|
|
|
+ status: [{required: true, message: '租户状态不能为空', trigger: 'blur'}],
|
|
|
+ accountCount: [{required: true, message: '账号额度不能为空', trigger: 'blur'}],
|
|
|
+ expireTime: [{required: true, message: '过期时间不能为空', trigger: 'blur'}],
|
|
|
+ address: [{required: true, message: '详细地址不能为空', trigger: 'blur'}],
|
|
|
+ coveredArea: [{required: true, message: '面积不能为空', trigger: 'blur'}],
|
|
|
+ roomCount: [{required: true, message: '房间数不能为空', trigger: 'blur'}],
|
|
|
+ technicianCount: [{required: true, message: '技师人数不能为空', trigger: 'blur'}],
|
|
|
+ businessLicense: [{required: true, message: '营业执照不能为空', trigger: 'blur'}],
|
|
|
+ openTime: [{required: true, message: '开业时间不能为空', trigger: 'blur'}],
|
|
|
+ website: [{required: true, message: '绑定域名不能为空', trigger: 'blur'}],
|
|
|
+ username: [{required: true, message: '用户名称不能为空', trigger: 'blur'}],
|
|
|
+ password: [{required: true, message: '用户密码不能为空', trigger: 'blur'}]
|
|
|
})
|
|
|
const formRef = ref() // 表单 Ref
|
|
|
const packageList = ref([] as TenantPackageApi.TenantPackageVO[]) // 租户套餐
|
|
@@ -135,7 +180,7 @@ const open = async (type: string, id?: number) => {
|
|
|
// 加载套餐列表
|
|
|
packageList.value = await TenantPackageApi.getTenantPackageList()
|
|
|
}
|
|
|
-defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
|
|
+defineExpose({open}) // 提供 open 方法,用于打开弹窗
|
|
|
|
|
|
/** 提交表单 */
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
@@ -170,13 +215,21 @@ const resetForm = () => {
|
|
|
name: undefined,
|
|
|
packageId: undefined,
|
|
|
contactName: undefined,
|
|
|
+ idCard: undefined,
|
|
|
contactMobile: undefined,
|
|
|
accountCount: undefined,
|
|
|
expireTime: undefined,
|
|
|
website: undefined,
|
|
|
status: CommonStatusEnum.ENABLE,
|
|
|
username: undefined,
|
|
|
- password: undefined
|
|
|
+ password: undefined,
|
|
|
+ areaId: undefined,
|
|
|
+ address: undefined,
|
|
|
+ coveredArea: undefined,
|
|
|
+ roomCount: undefined,
|
|
|
+ technicianCount: undefined,
|
|
|
+ businessLicense: undefined,
|
|
|
+ openTime: undefined
|
|
|
}
|
|
|
formRef.value?.resetFields()
|
|
|
}
|