提交 09346c8e authored 作者: 陈泽健's avatar 陈泽健

feat(element-mapping): 元素映射表扩展至v1.2 新增登录页+会议预约子页面共220元素

- elements_mapping.json v1.1→v1.2:新增登录页14元素、会议预约子页面101元素(创建会议/会议模板/个人日程/会议室/会议列表),共220元素
- element_mapping_service.py:新增页面前缀匹配(如"登录页-*")和动作-元素类型匹配(输入→输入框、勾选→复选),修复"登录页密码"误配Tab问题
Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
上级 31237609
{
"version": "1.0",
"version": "1.2",
"updated_at": "2026-08-11",
"source": "前端开发人员提供 - 门户首页+功能中心元素定位键值表",
"source": "前端开发人员提供 - 门户首页+功能中心元素定位键值表 + 会议预约子页面元素定位键值表 + 登录页DevTools捕获",
"source_files": [
"web/pc-vue2-platform/src/views/Home/index.vue",
"web/pc-vue2-platform/src/views/Home/components/NavMenu/index.vue",
"web/pc-vue2-platform/src/constant/navMenu.js"
"web/pc-vue2-platform/src/constant/navMenu.js",
"web/pc-vue2-meetngV3/src/views/CreateMeeting/index.vue",
"web/pc-vue2-meetngV3/src/views/Meetingtemplate/index.vue",
"web/pc-vue2-meetngV3/src/views/MeetingSchedule/*/index.vue",
"web/pc-vue2-meetngV3/src/views/MeetingRoomList/index.vue",
"web/pc-vue2-meetngV3/src/views/Meeting/*/index.vue",
"Login page (DevTools snapshot)"
],
"description": "覆盖首页导航栏、首页功能块、功能中心置顶/常用/全部功能(13分类)、筛选器、搜索框,共108个元素",
"description": "覆盖登录页、首页导航栏、首页功能块、功能中心置顶/常用/全部功能(13分类)、筛选器、搜索框,以及会议预约子页面(创建会议/会议模板/个人日程/会议室/会议列表),共220个元素",
"tier_order": [
"登录页",
"首页导航栏",
"首页功能块",
"功能中心-置顶功能",
"功能中心-常用功能",
"功能中心-全部功能",
"功能中心-筛选器",
"功能中心-搜索框"
"功能中心-搜索框",
"会议预约-创建会议",
"会议预约-会议模板",
"会议预约-个人日程",
"会议预约-会议室",
"会议预约-会议列表"
],
"undeveloped_features": [
{
......@@ -38,9 +50,101 @@
"首页常用/置顶功能、功能中心置顶/常用功能随用户个性化配置变化,键值表覆盖默认候选",
"所有项带 v-permission=\"item.show\",无权限时元素不渲染",
"功能中心元素在 el-drawer 内,定位前需先点击 .home_nav_left 打开抽屉",
"定位优先级: data-key/data-id > id > class"
"定位优先级: data-key/data-id > id > class",
"【子页面】会议预约子页面由门户首页功能中心通过 window.open() 跳转到 pc-vue2-meetngV3 子应用,不在 el-drawer 内",
"【子页面】所有标签为 $t() i18n 键,禁止用文本定位,必须用 class / Element UI 组件内部类定位",
"【子页面】el-dialog 弹窗挂载到 body,定位需用弹窗内部稳定 class,勿依赖页面内相对位置",
"【子页面】列表/日历/房间卡片均为异步渲染,测试需加等待逻辑",
"【子页面】输入框带 v-sanitize,部分字符会被过滤",
"【子页面】创建会议的类型/平台、列表 Tab 等受权限控制,需用有全权限的测试账号",
"【登录页】登录页 URL: https://192.168.5.44/#/platform?platform=...,验证码固定为 csba",
"【登录页】登录操作顺序:填账号→填密码→填验证码→勾选协议→点击登录"
],
"elements": {
"登录页-密码登录Tab": {
"selector": ".el-tabs__item",
"type": "css",
"tier": "登录页",
"description": "密码登录选项卡(第1个.el-tabs__item)"
},
"登录页-短信登录Tab": {
"selector": ".el-tabs__item",
"type": "css",
"tier": "登录页",
"description": "短信登录选项卡(第2个.el-tabs__item)"
},
"登录页-邮箱登录Tab": {
"selector": ".el-tabs__item",
"type": "css",
"tier": "登录页",
"description": "邮箱登录选项卡(第3个.el-tabs__item)"
},
"登录页-账号输入框": {
"selector": "input.el-input__inner",
"type": "css",
"tier": "登录页",
"description": "手机号/用户名/邮箱输入框(第1个input)"
},
"登录页-密码输入框": {
"selector": "input.el-input__inner",
"type": "css",
"tier": "登录页",
"description": "密码输入框(第2个input,type=password)"
},
"登录页-验证码输入框": {
"selector": "input.el-input__inner",
"type": "css",
"tier": "登录页",
"description": "图形验证码输入框(第3个input)"
},
"登录页-验证码图片": {
"selector": "img",
"type": "css",
"tier": "登录页",
"description": "图形验证码图片"
},
"登录页-登录按钮": {
"selector": ".el-button--primary",
"type": "css",
"tier": "登录页",
"description": "登录提交按钮"
},
"登录页-协议复选框": {
"selector": ".el-checkbox",
"type": "css",
"tier": "登录页",
"description": "注册/登录协议复选框,需用 JS click(document.querySelector('.el-checkbox').click())"
},
"登录页-立即注册": {
"selector": ".el-checkbox",
"type": "css",
"tier": "登录页",
"description": "立即注册链接"
},
"登录页-忘记密码": {
"selector": "a",
"type": "css",
"tier": "登录页",
"description": "忘记密码链接"
},
"登录页-语言切换": {
"selector": ".el-dropdown",
"type": "css",
"tier": "登录页",
"description": "语言切换下拉"
},
"登录页-系统名称": {
"selector": ".el-tabs__item",
"type": "css",
"tier": "登录页",
"description": "页面顶部'统一管理平台'标题"
},
"登录页-协议内容": {
"selector": "el-checkbox",
"type": "css",
"tier": "登录页",
"description": "注册或登录代表您同意《统一登录服务协议》& 《统一登录隐私政策》"
},
"导航栏-功能中心抽屉开关": {
"selector": ".home_nav_left",
"tier": "首页导航栏",
......@@ -670,6 +774,612 @@
"type": "css",
"tier": "功能中心-搜索框",
"description": "功能中心搜索输入框"
},
"创建会议-保存模板": {
"selector": ".btn",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 顶部保存模板按钮(saveTemplate)"
},
"创建会议-新建会议": {
"selector": ".btn",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 顶部新建会议按钮(addMeeting),第2个.btn"
},
"创建会议-会议名称": {
"selector": ".meeting_list .meeting_name .el-input__inner",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 会议名称输入框(必填)"
},
"创建会议-会议类型": {
"selector": ".meeting_list .el-radio-group",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 会议类型单选组(本地 label=1 / 视频 label=2)"
},
"创建会议-视频平台": {
"selector": ".meeting_list .el-checkbox-group",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 视频平台多选(会议类型=视频时显示)"
},
"创建会议-级联会议": {
"selector": ".type_checkbox .el-radio",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 级联会议开关(cascadedMeeting)"
},
"创建会议-语音会议": {
"selector": ".voice_meeting .el-switch",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 语音会议开关(若开启语音模块)"
},
"创建会议-预约类型": {
"selector": ".reserve_type .el-radio-group",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 预约类型单选(普通 reserveType=0 / 周期 reserveType=1)"
},
"创建会议-周期预约设置": {
"selector": ".reserve_type_set .el-button",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 周期预约设置按钮(周期预约时显示)"
},
"创建会议-选择时间": {
"selector": ".time_btn .btns",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 时间选择按钮组"
},
"创建会议-主题名称": {
"selector": ".topic_item",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 主题列表项"
},
"创建会议-上传文件": {
"selector": ".topic_item .el-upload",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 主题附件上传控件"
},
"创建会议-区域": {
"selector": ".area_top .el-cascader",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧会议室区域级联选择器(areaId)"
},
"创建会议-功能": {
"selector": ".area_top .el-select.multiple",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧会议室功能多选(functionId)"
},
"创建会议-房间名称": {
"selector": ".area_top .el-input",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧会议室房间名称搜索(roomName)"
},
"创建会议-会议室列表": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧会议室表格"
},
"创建会议-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧会议室/参会人分页"
},
"创建会议-部门": {
"selector": ".user_top .el-cascader",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧参会人部门级联选择器(depId)"
},
"创建会议-人名搜索": {
"selector": ".user_top .el-input",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧参会人人名搜索(nikeName)"
},
"创建会议-人员配置按钮": {
"selector": ".personnelConfigure",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧参会人6个配置按钮"
},
"创建会议-参会人表格": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-创建会议",
"description": "创建会议 - 右侧参会人表格"
},
"会议模板-搜索": {
"selector": ".search .el-input",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 搜索输入框(searchName)"
},
"会议模板-新增模板": {
"selector": "button.el-button--primary",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 新增模板按钮(addTemplate)"
},
"会议模板-批量删除": {
"selector": "button.el-button--primary",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 批量删除按钮(batchDeleteTemplate),第2个primary按钮"
},
"会议模板-模板列表": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 模板列表表格(模板名/类型/会议室/创建时间/操作)"
},
"会议模板-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 分页"
},
"会议模板-详情弹窗": {
"selector": ".el-collapse",
"type": "css",
"tier": "会议预约-会议模板",
"description": "会议模板 - 详情弹窗折叠面板"
},
"个人日程-今日-Tab": {
"selector": ".week_tabs .el-menu",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - Tab切换(全部 index=1 / 我发起的 index=2 / 我受邀的 index=3)"
},
"个人日程-今日-状态筛选": {
"selector": ".el-select",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - 状态筛选(meetingStatus:进行中1/未开始2/已结束4/全部0)"
},
"个人日程-今日-日期": {
"selector": ".select_date .el-date-picker[type=date]",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - 日期选择(todayDate)"
},
"个人日程-今日-搜索": {
"selector": ".el-input",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - 关键字搜索"
},
"个人日程-今日-新建会议": {
"selector": ".create_img .el-button[type=primary]",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - 新建会议按钮(createMeeting)"
},
"个人日程-今日-会议列表项": {
"selector": ".list_time .list .time .scroll .item",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[今日] - 会议列表条目"
},
"个人日程-本周-Tab": {
"selector": ".week_tabs .el-menu",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - Tab切换"
},
"个人日程-本周-状态": {
"selector": ".nav_right .select_date .el-select",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 状态筛选(valueStatus)"
},
"个人日程-本周-搜索": {
"selector": ".nav_right .el-input",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 关键字搜索(searchContent)"
},
"个人日程-本周-周日期": {
"selector": ".select_date .el-date-picker[type=week]",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 周日期选择(weekDate)"
},
"个人日程-本周-新建会议": {
"selector": ".nav_right .create_img",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 新建会议"
},
"个人日程-本周-周标题": {
"selector": ".week_meeting .week_title .title",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 周标题列表(weekTitleList)"
},
"个人日程-本周-会议条目": {
"selector": ".week_item .week_list .outlist .list .li .name",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 会议条目"
},
"个人日程-本周-状态颜色-进行中": {
"selector": ".status_color_ing",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 进行中状态颜色标记"
},
"个人日程-本周-状态颜色-未开始": {
"selector": ".status_color_unstart",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 未开始状态颜色标记"
},
"个人日程-本周-状态颜色-已结束": {
"selector": ".status_color_end",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本周] - 已结束状态颜色标记"
},
"个人日程-本月-Tab": {
"selector": ".month_tabs .el-menu",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - Tab切换"
},
"个人日程-本月-搜索": {
"selector": ".nav_right .el-input",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - 关键字搜索"
},
"个人日程-本月-月份": {
"selector": ".select_date .el-date-picker[type=month]",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - 月份选择(含左右箭头 .date_icon)"
},
"个人日程-本月-日历": {
"selector": "el-calendar",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - 日历主体"
},
"个人日程-本月-今日标记": {
"selector": ".block .block_top .span_today",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - 今日高亮标记"
},
"个人日程-本月-会议条目": {
"selector": ".block .scroll .meeting_list",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[本月] - 日历中会议条目"
},
"个人日程-历史-Tab": {
"selector": ".history_tabs .el-menu",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - Tab切换(全部/我发起的/我受邀的)"
},
"个人日程-历史-搜索": {
"selector": ".nav_right .el-input",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - 关键字搜索"
},
"个人日程-历史-时间范围": {
"selector": ".select_date .el-date-picker[type=daterange]",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - 时间范围选择(time)"
},
"个人日程-历史-表格": {
"selector": ".meeting_list .table .el-table",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - 会议表格(会议名/主持人/会议号/起止时间/状态/操作)"
},
"个人日程-历史-再次会议": {
"selector": ".btn-again",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - 操作列再次会议按钮"
},
"个人日程-历史-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-个人日程",
"description": "个人日程[历史] - 分页(page-sizes [8,10,20,30,40])"
},
"会议详情-标题": {
"selector": ".detail .detail_top",
"type": "css",
"tier": "会议预约-个人日程",
"description": "会议详情 - 标题(会议名)"
},
"会议详情-信息行": {
"selector": ".meeting_ist .list",
"type": "css",
"tier": "会议预约-个人日程",
"description": "会议详情 - 信息行(主持人/发起人/时间/时长/类型/会议号/会议室/备注/签到/主题/文件/房间模式/分屏)"
},
"会议详情-复制会议号": {
"selector": ".copy_icon",
"type": "css",
"tier": "会议预约-个人日程",
"description": "会议详情 - 复制会议号按钮"
},
"会议详情-操作按钮": {
"selector": ".buttom_btn",
"type": "css",
"tier": "会议预约-个人日程",
"description": "会议详情 - 底部操作按钮(再次预定/修改/取消/延长/结束/进入会议/重试/会议记录)"
},
"会议详情-状态弹窗": {
"selector": ".el-radio",
"type": "css",
"tier": "会议预约-个人日程",
"description": "会议详情 - 状态弹窗单选组(cycleRadio)"
},
"会议室-区域树": {
"selector": ".area_block",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 左侧区域树(.area_first / .area_next 层级)"
},
"会议室-选中区域": {
"selector": ".area_block_active",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 当前选中区域"
},
"会议室-日期": {
"selector": ".timeDate .el-date-picker[type=date]",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 顶部日期选择"
},
"会议室-会议名称": {
"selector": ".header_block .el-input",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 顶部会议名称搜索(conferenceName)"
},
"会议室-新建会议": {
"selector": ".el-button--primary",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 顶部新建会议按钮(createMeet)"
},
"会议室-条件筛选": {
"selector": ".header_block .el-button",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 顶部条件筛选按钮(打开 RoomFilter 弹窗)"
},
"会议室-房间卡片": {
"selector": ".room_item",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 房间卡片"
},
"会议室-房间勾选": {
"selector": ".room_item .el-checkbox",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 房间卡片勾选复选框"
},
"会议室-房间信息": {
"selector": ".roomInfo_details",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 房间信息详情"
},
"会议室-房间预览": {
"selector": ".room_preview",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 房间预览按钮"
},
"会议室-时间轴": {
"selector": ".roomInfo_time_base .meetingTime",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 房间卡片时间轴占用时间"
},
"会议室-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室 - 分页"
},
"筛选-会议时间": {
"selector": ".RoomFilter .el-date-picker[type=datetimerange]",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 会议时间范围(searchTime),弹窗挂载在 body"
},
"筛选-区域": {
"selector": ".RoomFilter .el-cascader",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 区域级联选择器(areaId)"
},
"筛选-审批方式": {
"selector": ".RoomFilter .el-radio-group",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 审批方式单选(approveRadio:2所有/1审批/0不审批)"
},
"筛选-最小人数": {
"selector": ".RoomFilter .el-input",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 最小人数输入(minNum)"
},
"筛选-功能": {
"selector": ".RoomFilter .el-checkbox-group",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 功能多选(functionIds)"
},
"筛选-重置": {
"selector": ".RoomFilter .filter_footer .el-button",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 重置按钮(clickClear)"
},
"筛选-确定": {
"selector": ".RoomFilter .filter_footer .el-button--primary",
"type": "css",
"tier": "会议预约-会议室",
"description": "会议室筛选弹窗 - 确定按钮(clickConfirm)"
},
"会议列表-全部-Tab": {
"selector": ".mian_search .search_left .btn .text",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - Tab切换(meetingALLTypes:我预定的/我受邀的;管理员另有全部/重点会议)"
},
"会议列表-全部-状态": {
"selector": ".el-select",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 状态筛选(messageState)"
},
"会议列表-全部-时间": {
"selector": ".select_date .el-date-picker[type=datetimerange]",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 时间范围选择(meetingTime)"
},
"会议列表-全部-搜索": {
"selector": ".search_left .el-input",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 关键字搜索(searchName)"
},
"会议列表-全部-表格": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 会议表格(会议名/主持人/预定人/起止/时长/类型/会议号/状态/操作)"
},
"会议列表-全部-操作菜单": {
"selector": "ul.themeUl_li",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 操作菜单(取消/再次预定/修改/结束/详情/提前开始/延长)"
},
"会议列表-全部-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[全部] - 分页"
},
"会议列表-审批-Tab": {
"selector": ".el-menu",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[审批] - Tab切换(meetingALLTypes:我发起0/待我审批1/我审批2)"
},
"会议列表-审批-表格": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[审批] - 审批表格(审批信息 sgmessageInfo.*)"
},
"会议列表-审批-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[审批] - 分页(layout=total,sizes,prev,pager,next,jumper)"
},
"审批-详情弹窗": {
"selector": ".approve_info_bottom .el-timeline",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议审批 - 详情弹窗审批流程时间线"
},
"审批-操作按钮-驳回": {
"selector": ".btn_reject",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议审批 - 驳回按钮"
},
"审批-操作按钮-同意": {
"selector": ".btn_argee",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议审批 - 同意按钮"
},
"审批-操作弹窗": {
"selector": ".el-radio-group",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议审批 - 操作弹窗单选(approveType:1驳回/2同意/3转交)"
},
"审批-部门选择": {
"selector": ".DepartmentSelect",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议审批 - 转交时部门选择"
},
"会议列表-历史-Tab": {
"selector": ".history_tabs .el-menu",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - Tab切换(全部/我发起的/我受邀的)"
},
"会议列表-历史-搜索": {
"selector": ".nav_right .el-input",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 关键字搜索"
},
"会议列表-历史-时间范围": {
"selector": ".select_date .el-date-picker[type=daterange]",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 时间范围选择(time)"
},
"会议列表-历史-表格": {
"selector": ".el-table",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 会议表格(会议名/主持人/会议号/起止/状态/操作)"
},
"会议列表-历史-再次预定": {
"selector": ".reBook",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 再次预定按钮"
},
"会议列表-历史-分页": {
"selector": ".pagination .el-pagination",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 分页(page-sizes [8,10,20,30,40])"
},
"评价弹窗-星级": {
"selector": ".eval_content .eval_row .el-rate",
"type": "css",
"tier": "会议预约-会议列表",
"description": "会议列表[历史] - 评价弹窗星级评分"
}
}
}
\ No newline at end of file
......@@ -273,6 +273,23 @@ class ElementMappingService:
if "抽屉" in step_clean and "抽屉" in key:
score += 3.0
# 页面/分类上下文适配:步骤含"登录页"等页面名时,优先同页面元素
# 解决"登录页密码登录Tab"误配"个人日程-今日-Tab"(Tab 泛匹配)
for page_prefix in ["登录页", "首页", "导航栏", "功能中心", "会议预约",
"创建会议", "会议模板", "个人日程", "会议室", "会议列表"]:
if page_prefix in step_clean and key.startswith(page_prefix):
score += 3.0
break
# 动作-元素类型匹配:输入动作优先"输入框",勾选动作优先"复选框"
# 解决"输入登录页密码"误配"登录页-密码登录Tab"(拼音节匹配)
if ("输入" in step_name or "填写" in step_name) and "输入框" in key:
score += 3.0
if "勾选" in step_name and "复选" in key:
score += 3.0
if "点击" in step_name and ("按钮" in key or "Tab" in key):
score += 1.0
# 完整映射键段出现在步骤中,额外加分(更精确的命中)
for kk in key_kws:
if len(kk) >= 3 and kk in step_clean:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论