修改输入框字段限制

This commit is contained in:
GGJ
2024-12-13 14:36:23 +08:00
parent a856075ddb
commit 8c4cc891e5
58 changed files with 663 additions and 1211 deletions

View File

@@ -1,101 +1,77 @@
<template>
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-form :model="form" label-width="auto" class="form-two" :rules="rules">
<el-form-item label="用户名" prop="name">
<el-input v-model="form.name" placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="登录名" prop="loginName">
<el-input v-model="form.loginName" placeholder="请输入登录名" />
</el-form-item>
<el-form-item label="默认密码" prop="password" v-if="title === '新增用户'">
<el-input v-model="form.password" placeholder="请输入密码" disabled />
</el-form-item>
<el-form-item label="权限类型" prop="type">
<el-select
v-model="form.type"
@change="changeValue"
disabled
placeholder="请选择权限类型"
>
<el-option
v-for="(item, index) in UserTypeOption"
:label="item.label"
:value="item.value"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户类型" prop="casualUser">
<el-select v-model="form.casualUser" placeholder="请选择权限类型">
<el-option
v-for="(item, index) in TypeOptions"
:label="item.label"
:value="item.value"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<Area v-model="form.deptId" />
</el-form-item>
<el-form-item label="角色" prop="role">
<el-select v-model="form.role" placeholder="请选择角色" multiple collapse-tags>
<el-option
v-for="(item, index) in roleOptions"
:label="item.label"
:value="item.value"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="时间段" prop="limitTime">
<el-slider v-model="form.limitTime" style="width: 95%" range show-stops :max="24" />
</el-form-item>
<el-form-item label="起始IP" prop="limitIpStart">
<el-input v-model="form.limitIpStart" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="结束IP" prop="limitIpEnd">
<el-input v-model="form.limitIpEnd" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="短信通知" prop="smsNotice">
<el-radio-group v-model="form.smsNotice" style="width: 200px">
<el-radio-button :label="0"></el-radio-button>
<el-radio-button :label="1"></el-radio-button>
<el-form :model="form" label-width="auto" class="form-two" :rules="rules">
<el-form-item label="用户名" prop="name">
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="登录名" prop="loginName">
<el-input maxlength="32" show-word-limit v-model="form.loginName" placeholder="请输入登录名" />
</el-form-item>
<el-form-item label="默认密码" prop="password" v-if="title === '新增用户'">
<el-input maxlength="32" show-word-limit v-model="form.password" placeholder="请输入密码" disabled />
</el-form-item>
<el-form-item label="权限类型" prop="type">
<el-select v-model="form.type" @change="changeValue" disabled placeholder="请选择权限类型">
<el-option v-for="(item, index) in UserTypeOption" :label="item.label" :value="item.value"
:key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户类型" prop="casualUser">
<el-select v-model="form.casualUser" placeholder="请选择权限类型">
<el-option v-for="(item, index) in TypeOptions" :label="item.label" :value="item.value"
:key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<Area v-model="form.deptId" />
</el-form-item>
<el-form-item label="角色" prop="role">
<el-select v-model="form.role" placeholder="请选择角色" multiple collapse-tags>
<el-option v-for="(item, index) in roleOptions" :label="item.label" :value="item.value"
:key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input maxlength="32" show-word-limit v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input maxlength="32" show-word-limit v-model="form.email" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="时间段" prop="limitTime">
<el-slider v-model="form.limitTime" style="width: 95%" range show-stops :max="24" />
</el-form-item>
<el-form-item label="起始IP" prop="limitIpStart">
<el-input maxlength="32" show-word-limit v-model="form.limitIpStart" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="结束IP" prop="limitIpEnd">
<el-input maxlength="32" show-word-limit v-model="form.limitIpEnd" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="短信通知" prop="smsNotice">
<el-radio-group v-model="form.smsNotice" style="width: 200px">
<el-radio-button :label="0"></el-radio-button>
<el-radio-button :label="1"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="邮件通知" prop="emailNotice">
<el-radio-group v-model="form.emailNotice" style="width: 200px">
<el-radio-button :label="0"></el-radio-button>
<el-radio-button :label="1"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="用户ID">
<div style="display: flex; width: 100%">
<el-radio-group v-model="useId">
<el-radio-button :label="1"></el-radio-button>
<el-radio-button :label="0"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="邮件通知" prop="emailNotice" >
<el-radio-group v-model="form.emailNotice" style="width: 200px">
<el-radio-button :label="0"></el-radio-button>
<el-radio-button :label="1"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="用户ID">
<div style="display: flex; width: 100%" >
<el-radio-group v-model="useId">
<el-radio-button :label="1"></el-radio-button>
<el-radio-button :label="0"></el-radio-button>
</el-radio-group>
<el-input
:disabled="title !== '新增用户'"
v-model="form.id"
placeholder="请输入用户id"
v-if="useId"
style="flex: 1;"
class="ml10"
></el-input>
</div>
</el-form-item>
</el-form>
<el-input maxlength="32" show-word-limit :disabled="title !== '新增用户'" v-model="form.id"
placeholder="请输入用户id" v-if="useId" style="flex: 1;" class="ml10"></el-input>
</div>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
@@ -137,7 +113,7 @@ const form = reactive({
emailNotice: 0,
type: 0
})
const rules:Partial<Record<string, Arrayable<FormItemRule>>> = {
const rules: Partial<Record<string, Arrayable<FormItemRule>>> = {
name: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
role: [{ required: true, message: '角色不能为空', trigger: 'blur' }],
password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
@@ -264,6 +240,6 @@ const submit = async () => {
dialogVisible.value = false
}
const changeValue = () => {}
const changeValue = () => { }
defineExpose({ open })
</script>