This commit is contained in:
zlwu committed 2026-06-06 19:44:18 +08:00
1 parent dacfdc9ff6
commit f9676f8759
906 files changed
+533306 -12946

No files matched your search

+68 -34
View File
@@ -39,40 +39,54 @@
</el-form>
<!-- 报价单列表 -->
<el-table v-loading="loading" :data="quoteList" @current-change="handleCurrentChange" :max-height="400" border highlight-current-row>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column label="报价单编号" prop="quoteNo" width="140" align="center" :show-overflow-tooltip="true" />
<el-table-column label="状态" prop="status" width="100" align="center">
<template #default="scope">
<DictTag dict-type="crm_quote_status" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="报价主题" prop="quoteTitle" min-width="180" :show-overflow-tooltip="true" />
<el-table-column label="客户名称" prop="customerName" width="150" :show-overflow-tooltip="true" />
<el-table-column label="合同关联情况" prop="contractLinkedCount" width="120" align="center">
<template #default="scope">
<span>{{ scope.row.contractLinkedCount != null ? `已关联${scope.row.contractLinkedCount}个合同` : '未关联' }}</span>
</template>
</el-table-column>
<el-table-column label="报价金额" prop="finalAmount" width="120" align="right">
<template #default="scope">
<span>{{ scope.row.finalAmount != null ? Number(scope.row.finalAmount).toLocaleString() : '-' }}</span>
</template>
</el-table-column>
<el-table-column label="报价日期" prop="quoteDate" width="120" align="center" />
<el-table-column label="有效期" prop="expireDate" width="120" align="center" />
<el-table-column label="负责人" prop="ownerUserName" width="100" :show-overflow-tooltip="true" />
</el-table>
<div class="panel dialog-list-panel">
<div class="list-body list-wrap dialog-list-body-only">
<el-table
v-loading="loading"
:data="quoteList"
class="list-table"
stripe
highlight-current-row
@current-change="handleCurrentChange"
:max-height="400"
>
<el-table-column type="index" label="序号" min-width="60" align="center" header-align="center" />
<el-table-column label="报价单编号" prop="quoteNo" min-width="140" align="center" header-align="center" :show-overflow-tooltip="true" />
<el-table-column label="状态" prop="status" min-width="100" align="center" header-align="center">
<template #default="scope">
<DictTag dict-type="crm_quote_status" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="报价主题" prop="quoteTitle" min-width="180" align="center" header-align="center" :show-overflow-tooltip="true" />
<el-table-column label="客户名称" prop="customerName" min-width="150" align="center" header-align="center" :show-overflow-tooltip="true" />
<el-table-column label="合同关联情况" prop="contractLinkedCount" min-width="120" align="center" header-align="center">
<template #default="scope">
<span>{{ scope.row.contractLinkedCount != null ? `已关联${scope.row.contractLinkedCount}个合同` : '未关联' }}</span>
</template>
</el-table-column>
<el-table-column label="报价金额(元)" prop="finalAmount" min-width="130" align="right" header-align="center">
<template #default="scope">
<span class="money-display">{{
scope.row.finalAmount != null
? `¥${Number(scope.row.finalAmount).toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
: '-'
}}</span>
</template>
</el-table-column>
<el-table-column label="报价日期" prop="quoteDate" min-width="120" align="center" header-align="center" />
<el-table-column label="有效期" prop="expireDate" min-width="120" align="center" header-align="center" />
<el-table-column label="负责人" prop="ownerUserName" min-width="100" align="center" header-align="center" :show-overflow-tooltip="true" />
</el-table>
<!-- 分页 -->
<ListPagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
class="mt-3"
/>
<ListPagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</div>
<!-- 当前选中报价单 -->
<template v-if="currentQuote">
@@ -82,7 +96,13 @@
<el-descriptions-item label="报价标题">{{ currentQuote.quoteTitle }}</el-descriptions-item>
<el-descriptions-item label="报价编号">{{ currentQuote.quoteNo }}</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ currentQuote.customerName }}</el-descriptions-item>
<el-descriptions-item label="报价金额">{{ currentQuote.finalAmount != null ? Number(currentQuote.finalAmount).toLocaleString() : '-' }}</el-descriptions-item>
<el-descriptions-item label="报价金额(元)">
<span class="money-display">{{
currentQuote.finalAmount != null
? `¥${Number(currentQuote.finalAmount).toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
: '-'
}}</span>
</el-descriptions-item>
<el-descriptions-item label="报价日期">{{ currentQuote.quoteDate || '-' }}</el-descriptions-item>
<el-descriptions-item label="有效期至">{{ currentQuote.expireDate || '-' }}</el-descriptions-item>
</el-descriptions>
@@ -207,6 +227,20 @@ const resetQuery = () => {
handleQuery()
}
watchDebounced(
() => ({
quoteNo: queryParams.value.quoteNo,
quoteTitle: queryParams.value.quoteTitle,
customerName: queryParams.value.customerName,
status: queryParams.value.status
}),
() => {
queryParams.value.pageNum = 1
getList()
},
{ debounce: 300, deep: true }
)
const handleCurrentChange = async (row: QuoteVO) => {
if (!row) {
currentQuote.value = null