fix(login): 隐藏登录页租户栏并同步调整校验规则
- 删除登录页 userlogin 组件中租户输入框的 el-form-item 及相关 DOM - 移除登录表单 loginRules 中 tenantId 的校验规则 - 保留 loginForm.tenantId 默认值和 getTenant 方法,保证后端兼容 - 说明接口正常时仍会覆盖默认 tenantId,方便后续启用租户栏另外开启配置
This commit is contained in:
@@ -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
@@ -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,
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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' },
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user