fix: manager/Plans 操作列折叠次要操作 (审核/结算进更多下拉, 操作列 200→120px)

- 外置'修改' (高频)
- 折叠'审核/结算' 到 el-dropdown'更多'
- 操作列 width:200 → 120, 桌面+手机端共享同一模板
- 复用 main.scss 已有的 .op-dropdown + .op-caret 样式
- 禁用条件: 审核仅 planStatus='0' 可点, 结算仅 isSettled!=='Y' 可点 (逻辑移到 dropdown :disabled, 跟原 v-if 行为一致)
This commit is contained in:
guoju0808
2026-08-26 11:50:28 +00:00
parent 8b6a0b4e27
commit d318e4383f
+20 -3
View File
@@ -70,11 +70,21 @@
</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="200" fixed="right">
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }"><div class="table-actions">
<el-link :underline="false" type="primary" @click="onAudit(row)">审核</el-link>
<el-link :underline="false" type="primary" @click="goEdit(row)">修改</el-link>
<el-link :underline="false" type="primary" @click="onSettle(row)" v-if="row.isSettled!=='Y'">结算</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>
</div></template>
</el-table-column>
</GrTable>
@@ -150,6 +160,7 @@ 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'
@@ -303,6 +314,12 @@ function goEdit(row) {
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