fix(login): 隐藏登录页租户栏并同步调整校验规则

- 删除登录页 userlogin 组件中租户输入框的 el-form-item 及相关 DOM
- 移除登录表单 loginRules 中 tenantId 的校验规则
- 保留 loginForm.tenantId 默认值和 getTenant 方法,保证后端兼容
- 说明接口正常时仍会覆盖默认 tenantId,方便后续启用租户栏另外开启配置
This commit is contained in:
2026-09-02 16:50:49 +08:00
parent 4ffceb0413
commit 94da08e7a7
5 changed files with 19 additions and 23 deletions
+9
View File
@@ -50,3 +50,12 @@
- 问题:项目新增/编辑表单(含独立表单页 `/business/project-apply/form`)中,业务部门、承办部门两个 `el-cascader` 的按钮宽度与同行的 select/input 不一致。 - 问题:项目新增/编辑表单(含独立表单页 `/business/project-apply/form`)中,业务部门、承办部门两个 `el-cascader` 的按钮宽度与同行的 select/input 不一致。
- 根因:scoped 样式里强制 100% 宽度的控件列表(`el-input` / `el-select` / `el-tree-select` / `el-date-editor`)漏了 `el-cascader`,导致级联选择器按内容宽度收缩,未填满栅格列。 - 根因:scoped 样式里强制 100% 宽度的控件列表(`el-input` / `el-select` / `el-tree-select` / `el-date-editor`)漏了 `el-cascader`,导致级联选择器按内容宽度收缩,未填满栅格列。
- 修复:`src/views/business/project-apply.vue` 末尾 scoped 样式 `.project-apply-form` 的 100% 宽度规则补上 `:deep(.el-cascader)`。Vite HMR 已自动生效,无需重启 dev。 - 修复:`src/views/business/project-apply.vue` 末尾 scoped 样式 `.project-apply-form` 的 100% 宽度规则补上 `:deep(.el-cascader)`。Vite HMR 已自动生效,无需重启 dev。
## 登录页隐藏租户栏
- 需求:登录页 `000000` 租户输入框隐藏。
- 根因:`src/page/login/userlogin.vue` 第 10 行 `el-form-item``tenantMode` 控制显示,初始值 `this.website.tenantMode``getTenant()` 请求 `/api/system/tenant/info` 成功时会把 `tenantMode=false` 自动隐藏并回填 `loginForm.tenantId`。截图里仍显示租户栏,说明该接口未正常返回(域名解析/后端/跨域),沿用了初始 `tenantMode`
- 修复:
1. 删除 `userlogin.vue` 模板第 10-21 行整段租户 `el-form-item``v-if="tenantMode" prop="tenantId"`),不留 `v-if` 兜底,直接移除 DOM。
2. 同步删除 `loginRules.tenantId` 校验规则。
- 保留:`loginForm.tenantId: '000000'` 默认值、`getTenant()` 方法。提交登录时仍带 `tenantId` 字段,后端行为不变;接口正常时仍会用返回的 tenantId 覆盖默认值。
- 后续若要重新启用:恢复 `el-form-item` 即可(或改 `data()``tenantMode: this.website.tenantMode` 走配置开关)。
+1 -1
View File
@@ -81,7 +81,7 @@ app.use(ElementPlus, {
}); });
app.use(Avue, { app.use(Avue, {
axios, axios,
calcHeight: 10, calcHeight: -26,
crudOption: { crudOption: {
searchIcon: true, searchIcon: true,
searchIndex: 4, searchIndex: 4,
+1 -1
View File
@@ -8,7 +8,7 @@
<div class="login-main"> <div class="login-main">
<p class="login-title"> <p class="login-title">
{{ $t('login.title') }}{{ website.title }} {{ $t('login.title') }}{{ website.title }}
<top-lang></top-lang> <!-- <top-lang></top-lang>-->
</p> </p>
<!-- 原登录方式先注释保留备用 <!-- 原登录方式先注释保留备用
<userLogin v-if="activeName === 'user'"></userLogin> <userLogin v-if="activeName === 'user'"></userLogin>
-13
View File
@@ -7,18 +7,6 @@
:model="loginForm" :model="loginForm"
label-width="0" label-width="0"
> >
<el-form-item v-if="tenantMode" prop="tenantId">
<el-input
@keyup.enter="handleLogin"
v-model="loginForm.tenantId"
auto-complete="off"
:placeholder="$t('login.tenantId')"
>
<template #prefix>
<i class="icon-quanxian" />
</template>
</el-input>
</el-form-item>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
@keyup.enter="handleLogin" @keyup.enter="handleLogin"
@@ -118,7 +106,6 @@ export default {
image: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7', image: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
}, },
loginRules: { loginRules: {
tenantId: [{ required: false, message: '请输入租户ID', trigger: 'blur' }],
username: [{ required: true, message: '请输入用户名', trigger: 'blur' }], username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
password: [ password: [
{ required: true, message: '请输入密码', trigger: 'blur' }, { required: true, message: '请输入密码', trigger: 'blur' },
+8 -8
View File
@@ -160,7 +160,7 @@
<el-input v-model="shipForm.shipName" maxlength="20" show-word-limit /> <el-input v-model="shipForm.shipName" maxlength="20" show-word-limit />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="6">
<el-form-item label="安放龙骨日期/建造完工日期" prop="keelLayingDate"> <el-form-item label="安放龙骨日期/建造完工日期" prop="keelLayingDate">
<div class="date-range-inline"> <div class="date-range-inline">
<el-date-picker <el-date-picker
@@ -169,13 +169,13 @@
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="validateField('keelLayingDate')" @change="validateField('keelLayingDate')"
/> />
<span></span> <!-- <span></span>-->
<el-date-picker <!-- <el-date-picker-->
v-model="shipForm.buildCompletionDate" <!-- v-model="shipForm.buildCompletionDate"-->
type="date" <!-- type="date"-->
value-format="YYYY-MM-DD" <!-- value-format="YYYY-MM-DD"-->
@change="validateField('keelLayingDate')" <!-- @change="validateField('keelLayingDate')"-->
/> <!-- />-->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>