|
@@ -1,19 +1,25 @@
|
|
|
<template>
|
|
|
<div v-loading="loading" class="progress">
|
|
|
<el-timeline reverse>
|
|
|
- <el-timeline-item
|
|
|
- v-for="(item, index) in progressList"
|
|
|
- :key="index"
|
|
|
- color="#0084FF"
|
|
|
- placement="top"
|
|
|
- hide-timestamp
|
|
|
- >
|
|
|
+ <el-timeline-item v-for="(item, index) in progressList" :key="index" color="#0084FF" placement="top" hide-timestamp>
|
|
|
<div class="details">
|
|
|
<div class="t">{{ getTitle(item.type) }}</div>
|
|
|
- <div class="content11">
|
|
|
+ <div class="content11" v-if="item.type != 30">
|
|
|
<span class="gray"> 跟进摘要: </span>
|
|
|
<span class="val"> {{ getContent(item) }} </span>
|
|
|
</div>
|
|
|
+ <div class="content11" v-else>
|
|
|
+ <span class="gray"> 跟进记录: </span>
|
|
|
+ <span class="val"> {{ item.remark }} </span>
|
|
|
+ </div>
|
|
|
+ <div style="margin: 8px 0; display: flex" v-if="item.fileList && item.fileList.length > 0">
|
|
|
+ <div style="width: 36px; color: #999999">附件:</div>
|
|
|
+ <div style="width: calc(100% - 36px)">
|
|
|
+ <div v-for="(file, index) in item.fileList" :key="index">
|
|
|
+ <a style="color: #409eff; cursor: pointer" @click="openFile(file.fileUrl)">{{ file.fileName }}</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="gray">{{ item.createTime }}</div>
|
|
|
</div>
|
|
|
</el-timeline-item>
|
|
@@ -32,15 +38,17 @@ const loading = ref(false);
|
|
|
const progressList = ref([]);
|
|
|
const getData = () => {
|
|
|
loading.value = true;
|
|
|
- proxy
|
|
|
- .post("/saleQuotation/latestFollowUp", { id: props.customerId })
|
|
|
- .then((res) => {
|
|
|
- console.log(res, "adas");
|
|
|
- progressList.value = res.rows;
|
|
|
- setTimeout(() => {
|
|
|
- loading.value = false;
|
|
|
- }, 200);
|
|
|
+ proxy.post("/saleQuotation/latestFollowUp", { id: props.customerId }).then((res) => {
|
|
|
+ progressList.value = res.rows;
|
|
|
+ proxy.post("/fileInfo/getList", { businessIdList: res.rows.map((rows) => rows.id) }).then((fileObj) => {
|
|
|
+ for (let i = 0; i < res.rows.length; i++) {
|
|
|
+ progressList.value[i].fileList = fileObj[progressList.value[i].id] || [];
|
|
|
+ }
|
|
|
});
|
|
|
+ setTimeout(() => {
|
|
|
+ loading.value = false;
|
|
|
+ }, 200);
|
|
|
+ });
|
|
|
};
|
|
|
onMounted(() => {
|
|
|
if (props.customerId) {
|
|
@@ -62,16 +70,15 @@ const getContent = (item) => {
|
|
|
if (item.type === 10) {
|
|
|
return "报价单总金额 " + proxy.moneyFormat(item.amount, 2);
|
|
|
} else if (item.type === 20) {
|
|
|
- return (
|
|
|
- "合同总金额 " +
|
|
|
- proxy.moneyFormat(item.amount, 2) +
|
|
|
- ` (${item.contractCode}) `
|
|
|
- );
|
|
|
+ return "合同总金额 " + proxy.moneyFormat(item.amount, 2) + ` (${item.contractCode}) `;
|
|
|
}
|
|
|
};
|
|
|
+const openFile = (path) => {
|
|
|
+ window.open(path, "_blank");
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped >
|
|
|
+<style lang="scss" scoped>
|
|
|
:deep(.el-timeline-item) {
|
|
|
padding-bottom: 10px;
|
|
|
}
|
|
@@ -105,10 +112,9 @@ const getContent = (item) => {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
-<style >
|
|
|
+<style>
|
|
|
ul {
|
|
|
margin: 0px;
|
|
|
padding: 0px;
|
|
|
}
|
|
|
</style>
|
|
|
-
|