批量更新功能
This commit is contained in:
@@ -81,11 +81,9 @@
|
||||
<el-table-column label="下次联系时间" width="160" align="center">
|
||||
<template #default="{ row }">{{ formatDateTime(row.next_contact_time) }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="220" align="center" fixed="right">
|
||||
<el-table-column label="操作" width="100" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" size="small" :disabled="row.locked === 1" @click="openEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<!-- 编辑 / 删除已收口到「线索详情」内,列表只保留转化 -->
|
||||
<el-button
|
||||
link
|
||||
type="warning"
|
||||
@@ -95,15 +93,6 @@
|
||||
>
|
||||
转化
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
size="small"
|
||||
:disabled="row.locked === 1 || row.status === 2"
|
||||
@click="handleDelete(row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template #empty><el-empty description="暂无线索" :image-size="80" /></template>
|
||||
@@ -128,6 +117,8 @@
|
||||
v-model:visible="detailVisible"
|
||||
:clue="currentEditData"
|
||||
@refresh="fetchList"
|
||||
@edit="handleDetailEdit"
|
||||
@delete="handleDetailDelete"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -209,11 +200,6 @@ function openCreate() {
|
||||
editVisible.value = true;
|
||||
}
|
||||
|
||||
function openEdit(row) {
|
||||
currentEditData.value = { ...row };
|
||||
editVisible.value = true;
|
||||
}
|
||||
|
||||
function openConvert(row) {
|
||||
currentEditData.value = { ...row };
|
||||
convertVisible.value = true;
|
||||
@@ -229,6 +215,20 @@ function handleConvertSuccess() {
|
||||
ElMessage.success("线索已转化,可在商机管理中继续跟进");
|
||||
}
|
||||
|
||||
/** 详情内编辑:收起详情后打开编辑弹窗(详情数据即当前行) */
|
||||
function handleDetailEdit() {
|
||||
detailVisible.value = false;
|
||||
editVisible.value = true;
|
||||
}
|
||||
|
||||
/** 详情内删除:复用删除逻辑,删除成功后收起详情 */
|
||||
async function handleDetailDelete() {
|
||||
const row = currentEditData.value;
|
||||
if (!row) return;
|
||||
if (await handleDelete(row)) detailVisible.value = false;
|
||||
}
|
||||
|
||||
/** 删除线索:返回是否删除成功,供详情内调用判断是否需要收起抽屉 */
|
||||
async function handleDelete(row) {
|
||||
try {
|
||||
await ElMessageBox.confirm(`确定删除线索「${row.clue_name}」吗?删除后不可恢复。`, "删除确认", {
|
||||
@@ -237,8 +237,10 @@ async function handleDelete(row) {
|
||||
await deleteClue(row.id);
|
||||
ElMessage.success("删除成功");
|
||||
fetchList();
|
||||
return true;
|
||||
} catch (e) {
|
||||
if (e !== "cancel") ElMessage.error(e.message || "删除失败");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user