fix: 操作列更多优化 (Plans 3个以内不折叠 / 去掉前面竖线 / hover打开下拉)
1. Plans 操作列只有 3 个按钮 (修改/审核/结算), 不需要更多折叠 - 还原为直接展示 3 个 el-link - 删除 onMorePlan 函数 + ArrowDown import - width 120 → 160 2. main.scss .op-dropdown 删除 border-left 竖线分隔 - 加 cursor: pointer + color: primary + hover 色变浅 - 加 padding 0 4px 与 el-link 视觉对齐 - 加 user-select: none 避免点击选中 3. Meetings / Projects el-dropdown trigger: click → hover - hover 鼠标进入触发, 离开关闭 - 更符合操作列多按钮场景的直觉
This commit is contained in:
@@ -151,8 +151,13 @@ h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 600; color: var(--el-text-color
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
border-left: 1px solid var(--brand-slate-200);
|
||||
padding: 0 4px;
|
||||
font-size: 13px;
|
||||
color: var(--el-color-primary);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.table-actions .op-dropdown:hover { color: var(--el-color-primary-light-3); }
|
||||
.table-actions .op-caret {
|
||||
font-size: 10px;
|
||||
margin-left: 2px;
|
||||
|
||||
@@ -70,21 +70,11 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="projectNo" label="项目编号" width="140" align="center" />
|
||||
<el-table-column prop="remark" label="备注" min-width="160" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<el-table-column label="操作" width="160" fixed="right">
|
||||
<template #default="{ row }"><div class="table-actions">
|
||||
<el-link :underline="false" type="primary" @click="goEdit(row)">修改</el-link>
|
||||
<el-dropdown trigger="click" @command="(cmd) => onMorePlan(row, cmd)">
|
||||
<span class="op-dropdown">
|
||||
更多
|
||||
<el-icon class="op-caret"><ArrowDown /></el-icon>
|
||||
</span>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item command="audit" :disabled="row.planStatus !== '0'">审核</el-dropdown-item>
|
||||
<el-dropdown-item command="settle" :disabled="row.isSettled === 'Y'">结算</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
<el-link :underline="false" type="primary" @click="onAudit(row)" :class="{ 'is-disabled': row.planStatus !== '0' }">审核</el-link>
|
||||
<el-link v-if="row.isSettled!=='Y'" :underline="false" type="primary" @click="onSettle(row)">结算</el-link>
|
||||
</div></template>
|
||||
</el-table-column>
|
||||
</GrTable>
|
||||
@@ -160,7 +150,6 @@ import { bizList, bizUpdate } from '@/api/public'
|
||||
import GrTable from '@/components/GrTable.vue'
|
||||
import request from '@/utils/request'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ArrowDown } from '@element-plus/icons-vue'
|
||||
import DictSelect from '@/components/DictSelect.vue'
|
||||
import AuditStatusTag from '@/components/AuditStatusTag.vue'
|
||||
|
||||
@@ -315,11 +304,7 @@ const settleOpen = ref(false)
|
||||
const settleForm = reactive({ planId:'', planName:'' })
|
||||
function onSettle(row) { settleForm.planId = row.planId; settleForm.planName = row.planName; settleOpen.value = true }
|
||||
|
||||
// 操作列"更多"下拉统一入口
|
||||
function onMorePlan(row, cmd) {
|
||||
if (cmd === 'audit') onAudit(row)
|
||||
else if (cmd === 'settle') onSettle(row)
|
||||
}
|
||||
|
||||
async function submitSettle() {
|
||||
try {
|
||||
submitting.value = true
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
<div class="op-cell">
|
||||
<el-link :underline="false" type="primary" @click="doCreateMeeting(row)">建会</el-link>
|
||||
<el-link :underline="false" type="primary" @click="doAssign(row)">分配</el-link>
|
||||
<el-dropdown trigger="click" @command="(cmd) => onAction(cmd, row)">
|
||||
<el-dropdown trigger="hover" @command="(cmd) => onAction(cmd, row)">
|
||||
<el-link :underline="false" type="primary" class="op-dropdown">
|
||||
更多<el-icon class="op-caret"><ArrowDown /></el-icon>
|
||||
</el-link>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
<el-link :underline="false" v-if="isRole('manager') && isCompliancePending(row)" type="warning" @click="onAudit(row)">审核</el-link>
|
||||
<el-link :underline="false" v-if="isRole('admin', 'manager')" type="primary" @click="viewDetail(row)">编辑材料</el-link>
|
||||
<!-- 更多: admin/manager 视角 ≥7 个次操作折叠 (sponsor 视角只 1 个审核, 始终走外置) -->
|
||||
<el-dropdown v-if="isRole('admin', 'manager')" trigger="click" @command="(cmd) => onMoreAction(cmd, row)">
|
||||
<el-dropdown v-if="isRole('admin', 'manager')" trigger="hover" @command="(cmd) => onMoreAction(cmd, row)">
|
||||
<el-link :underline="false" type="primary" class="op-dropdown">
|
||||
更多<el-icon class="op-caret"><ArrowDown /></el-icon>
|
||||
</el-link>
|
||||
|
||||
Reference in New Issue
Block a user