更新若干功能
This commit is contained in:
1 parent
892ba5886d
commit
79d5ae6b66
45 files changed
+6755
-38
No files matched your search
@@ -82,7 +82,7 @@
|
||||
<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="280" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" size="small" :disabled="row.locked === 1" @click="openEdit(row)">
|
||||
编辑
|
||||
@@ -91,11 +91,31 @@
|
||||
link
|
||||
type="warning"
|
||||
size="small"
|
||||
:disabled="row.locked === 1 || row.status === 2"
|
||||
:disabled="row.locked === 1 || row.status === 2 || row.status === 3"
|
||||
@click="openConvert(row)"
|
||||
>
|
||||
转项目
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.status === 3"
|
||||
link
|
||||
type="success"
|
||||
size="small"
|
||||
:disabled="row.locked === 1"
|
||||
@click="handleRestore(row)"
|
||||
>
|
||||
恢复
|
||||
</el-button>
|
||||
<el-button
|
||||
v-else
|
||||
link
|
||||
type="info"
|
||||
size="small"
|
||||
:disabled="row.locked === 1 || row.status === 2"
|
||||
@click="handleDiscard(row)"
|
||||
>
|
||||
废弃
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
@@ -138,7 +158,7 @@
|
||||
import { ref, reactive, onMounted } from "vue";
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { Plus, Search, Refresh } from "@element-plus/icons-vue";
|
||||
import { getBusinessList, deleteBusiness } from "@/api/crmPipeline";
|
||||
import { getBusinessList, deleteBusiness, changeBusinessStatus } from "@/api/crmPipeline";
|
||||
import BusinessEdit from "./components/edit.vue";
|
||||
import BusinessConvert from "./components/convert.vue";
|
||||
import BusinessDetail from "./components/detail.vue";
|
||||
@@ -228,6 +248,36 @@ function handleConvertSuccess() {
|
||||
ElMessage.success("商机已转化为项目,可在项目管理中继续跟进");
|
||||
}
|
||||
|
||||
/** 废弃商机:保留全部过程数据,仅把状态置为已废弃,可随时恢复 */
|
||||
async function handleDiscard(row) {
|
||||
try {
|
||||
await ElMessageBox.confirm(
|
||||
`确定废弃商机「${row.business_name}」吗?废弃后可随时恢复为「跟进中」。`,
|
||||
"废弃确认",
|
||||
{ type: "warning" }
|
||||
);
|
||||
await changeBusinessStatus(row.id, 3);
|
||||
ElMessage.success("商机已废弃");
|
||||
fetchList();
|
||||
} catch (e) {
|
||||
if (e !== "cancel") ElMessage.error(e.message || "废弃失败");
|
||||
}
|
||||
}
|
||||
|
||||
/** 恢复商机:把已废弃的商机恢复为跟进中 */
|
||||
async function handleRestore(row) {
|
||||
try {
|
||||
await ElMessageBox.confirm(`确定将商机「${row.business_name}」恢复为「跟进中」吗?`, "恢复确认", {
|
||||
type: "info",
|
||||
});
|
||||
await changeBusinessStatus(row.id, 1);
|
||||
ElMessage.success("商机已恢复为跟进中");
|
||||
fetchList();
|
||||
} catch (e) {
|
||||
if (e !== "cancel") ElMessage.error(e.message || "恢复失败");
|
||||
}
|
||||
}
|
||||
|
||||
async function handleDelete(row) {
|
||||
try {
|
||||
await ElMessageBox.confirm(`确定删除商机「${row.business_name}」吗?删除后不可恢复。`, "删除确认", {
|
||||
|
||||
Reference in new issue
Block a user