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:
@@ -70,11 +70,21 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="projectNo" label="项目编号" width="140" align="center" />
|
<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 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">
|
<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="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>
|
</div></template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</GrTable>
|
</GrTable>
|
||||||
@@ -150,6 +160,7 @@ import { bizList, bizUpdate } from '@/api/public'
|
|||||||
import GrTable from '@/components/GrTable.vue'
|
import GrTable from '@/components/GrTable.vue'
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
|
import { ArrowDown } from '@element-plus/icons-vue'
|
||||||
import DictSelect from '@/components/DictSelect.vue'
|
import DictSelect from '@/components/DictSelect.vue'
|
||||||
import AuditStatusTag from '@/components/AuditStatusTag.vue'
|
import AuditStatusTag from '@/components/AuditStatusTag.vue'
|
||||||
|
|
||||||
@@ -303,6 +314,12 @@ function goEdit(row) {
|
|||||||
const settleOpen = ref(false)
|
const settleOpen = ref(false)
|
||||||
const settleForm = reactive({ planId:'', planName:'' })
|
const settleForm = reactive({ planId:'', planName:'' })
|
||||||
function onSettle(row) { settleForm.planId = row.planId; settleForm.planName = row.planName; settleOpen.value = true }
|
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() {
|
async function submitSettle() {
|
||||||
try {
|
try {
|
||||||
submitting.value = true
|
submitting.value = true
|
||||||
|
|||||||
Reference in New Issue
Block a user