f7eea88945
- 配置文件 website.js 中将 captchaType 从 'behavior' 改为 'image' - 修改 userlogin.vue,图形验证码图片由输入框内联改为输入框旁独立显示 - 重写 login.scss 样式,实现验证码图片区域带边框和高亮效果 - 确保验证码图片点击可刷新,且支持从后端接口获取数据 - 登录页仍默认显示 IAM 登录,需切换「账号密码登录」显示验证码区域 feat(contract-manage): 优化所属组织搜索栏为树形下拉选择框 - 引入并应用 organization-search mixin 统一管理所属组织搜索 - contract-manage.js、driver.js、transport-ship.js、transport-vehicle.js 中所属组织搜索改为 searchslot 模式 - contract-manage.vue 中新增 renderOrganizationSearch 方法,渲染基于 ElTreeSelect 的树形下拉组件 - 组织树数据加载时自动排除「外部组织」节点,保持搜索选项清晰 - 所有相关所属组织搜索统一样式与交互,提升用户体验 feat(system): 用户和部门视图样式及操作改进 - user.vue 和 userinfo.vue 中 el-tabs 组件添加 border-card 类型,提升标签页视觉效果 - dept.vue 中添加查看、编辑、删除操作入口,绑定对应方法,通过权限控制显示权限按钮 - dept.vue 菜单宽度、对话框宽度及行为配置优化 style(login): 调整登录样式及验证码布局细节 - 调整 .login-code-wrap 及内部元素的 flex 布局,输入框与验证码图片并排显示 - 设置验证码图片容器尺寸、边框及 hover 高亮样式 - 确保验证码图片撑满容器并禁止用户选中 refactor(mixins): 新增 organization-search 统一搜索 mixin - 实现组织树数据加载、排除外部节点、归一化及扁平化处理 - 提供 renderOrganizationSearch 方法用于渲染统一树形选择搜索框 - 减少重复代码,方便各页面快速接入和统一维护 chore(vehicle): 车辆页面引入 organization-search mixin - 在车辆视图 vehicle.vue 中混入 organization-search,增强所属组织搜索功能一致性
4.9 KiB
4.9 KiB
2026-08-28 工作日志
contract-manage 表单底部操作栏间距/文案修复
- 文件:
src/views/business/contract-manage.vue - 问题:底部浮动操作栏
.contract-manage-page__footer用gap:8px,与全站统一 12px 标准不一致("间距不一致不统一")。 - 修复:去掉
gap:8px,改用.el-button + .el-button { margin-left:12px },对齐全站"去 gap、12px"规范。 - 文案:底部"关闭"→"取消"(底部操作栏统一命名规范;详情弹窗/流程图弹窗的"关闭"为只读/纯关闭场景,按规范保留)。
contract-manage 草稿编辑页按钮缺失修复
- 问题:编辑态(含草稿编辑)底部只有单个"提交"(submitEdit),缺"暂存/提交临时合同/提交正式合同",与新增页不一致。
- 修复:新增 computed
isDraftEdit(formMode==='edit' && form.approvalStatus==='draft');footer 三按钮条件由formMode==='add'改为formMode==='add' || isDraftEdit,草稿编辑复用submitCreate(按 id upsert + temporary/formal 提升),非草稿编辑仍走 submitEdit 单个"提交"。
contract-manage-change 变更页底部操作栏统一改造
- 文件:
src/views/business/contract-manage-change.vue - 问题:
.page-footer左侧对齐、gap:16px、不悬浮,且按钮顺序/命名(提交→关闭)与新增页规范相反。 - 修复:
- DOM:按钮重排为
[取消][提交](次要居左、主操作居右),"关闭"→"取消"。 - 样式:
.page-footer改为position:fixed悬浮吸底(left:230px / avue--collapse 60px / avue-layout--horizontal 0)、justify-content:flex-end右对齐、去 gap 改用.el-button+.el-button{margin-left:12px}统一 12px、白底+上边框+上投影。 - 容器
.contract-change-page加padding-bottom:72px,避免内容被悬浮栏遮挡。
- DOM:按钮重排为
contract-manage 新增页"合同文件"标题未加粗修复
- 文件:
src/views/business/contract-manage.vue - 问题:
attachment-section子组件内渲染的.dialog-section-title不受当前页面 scoped> .dialog-section-title样式命中,导致"合同文件"标题字重未加粗(截图反馈)。 - 修复:在
.contract-manage-form__section样式规则中补充:deep(.dialog-section-title),使直接子元素和子组件内部标题均统一为 16px/600/#303133。
contract-manage 搜索栏"时间段快捷筛选"组位置前置
- 文件:
src/views/business/contract-manage.vue+src/option/business/contract-manage.js - 第一轮(理解偏差):把"签约类型"select 和 check-tag 组一起塞进
#search-menuslot。主人纠正:「签约类型」是普通搜索字段,应与第一行 8 个搜索项同排,不是 slot 内的辅助元素。 - 第二轮(终态):
- option 把
signType加search:true / searchOrder:10 / searchPlaceholder:'请选择',作为 Avue 标准搜索字段,与其它 8 项同排(放在末尾)。 - 页面
#search-menuslot 移除「签约类型」select,仅留 5 个 el-check-tag。 - 页面 data 移除冗余的
contractSignType:'',onLoad/searchReset 不再手动维护 signType(Avue search form 自动绑定到 query)。 - 样式:
.el-select { width: 180px }已成 dead code,移除。 :deep(...)调整:去掉margin-right:auto,只留order:-1。.avue-form__menu本身flex / flex-end,check-tag 组排首项后,整体仍紧靠右侧,与[查询][重置][收起]形成[快捷筛选] [查询] [重置] [收起]右对齐序列。
- option 把
登录验证码:滑块(behavior) → 图形字符验证码(image)
- 文件:
src/config/website.js(第14行captchaType: 'behavior'→'image')、src/page/login/userlogin.vue、src/styles/login.scss - 背景:登录页原
captchaType:'behavior'(滑块/旋转行为验证)。需求改成截图中的「输入框 + 右侧独立彩色字符验证码图片」。 - 改动:
website.js改captchaType: 'image'启用图形验证码分支(代码原本就有 image 模式的 UI 与getCaptcha()逻辑,仅未启用)。userlogin.vueimage 分支模板:验证码图片从el-input的#append内联改为 form-item 内.login-code-wrap并排独立方块(输入框 flex:1 + 右侧 130px 图片块),点击刷新。login.scss重写.login-code/.login-code-wrap/.login-code-box/.login-code-img:flex 并排、图片块带 1px 边框 + hover 主色高亮、object-fit:fill撑满。
- 验证:
vite build --outDir /tmp/tms-verify-build全量编译通过(exit 0,无报错)。注意原pnpm build因 WorkBuddy safe-delete 钩子拦截清空 dist/(741 文件)而中断,非代码问题。 - 注意:登录页
activeName默认'iam'(IAM 统一登录),图形验证码在userlogin.vue,需点「账号密码登录」才可见;验证码图片依赖后端/blade-auth/oauth/captcha返回的data.key+data.image。