From 4492a98bddc921e431a12946712d1767138e1281 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 09 三月 2026 13:57:34 +0800
Subject: [PATCH] 公司 1.商机管理添加拜访记录和改造内容字段 2.添加状态枚举值 3.签约金额添加合计
---
src/views/salesManagement/opportunityManagement/index.vue | 59 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/src/views/salesManagement/opportunityManagement/index.vue b/src/views/salesManagement/opportunityManagement/index.vue
index c7d7dd3..8547ffb 100644
--- a/src/views/salesManagement/opportunityManagement/index.vue
+++ b/src/views/salesManagement/opportunityManagement/index.vue
@@ -78,6 +78,8 @@
:row-key="(row) => row.id"
height="calc(100vh - 18.5em)"
stripe
+ show-summary
+ :summary-method="contractAmountSummaryMethod"
>
<el-table-column align="center" type="selection" width="55" fixed="left"/>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
@@ -94,7 +96,9 @@
<el-table-column label="鐪佷唤" prop="province" show-overflow-tooltip />
<el-table-column label="甯�" prop="city" show-overflow-tooltip/>
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
+ <el-table-column label="琛屼笟" prop="industry" show-overflow-tooltip />
<el-table-column label="鍟嗘満鏉ユ簮" prop="businessSource" show-overflow-tooltip />
+ <el-table-column label="绛剧害閲戦" prop="contractAmount" show-overflow-tooltip width="150" />
<!-- <el-table-column label="瀹㈡埛鎻忚堪" prop="description" show-overflow-tooltip min-width="200" /> -->
<el-table-column label="褰曞叆浜�" prop="entryPerson" show-overflow-tooltip width="120" />
<el-table-column label="鏇存柊鏃ユ湡" prop="updateTime" width="120">
@@ -118,7 +122,7 @@
size="small"
@click="handleAddOperation(row)"
>
- 娣诲姞鏀归�犲唴瀹�
+ 娣诲姞鎷滆璁板綍
</el-button>
<el-button
link
@@ -269,10 +273,10 @@
</el-col>
</el-row>
- <el-form-item label="鍚堝悓閲戦" prop="contractAmount">
+ <el-form-item label="绛剧害閲戦" prop="contractAmount">
<el-input
v-model="form.contractAmount"
- placeholder="璇疯緭鍏ュ悎鍚岄噾棰�"
+ placeholder="璇疯緭鍏ョ绾﹂噾棰�"
clearable
:disabled="operationType === 'detail' || operationType === 'addOperation'"
>
@@ -280,14 +284,25 @@
</el-input>
</el-form-item>
- <el-form-item label="鏀归�犲唴瀹�" prop="description">
+ <el-form-item label="鎷滆璁板綍" prop="description">
<el-input
v-model="form.description"
type="textarea"
:autosize="{ minRows: 4, maxRows: 10 }"
- :placeholder="renovationPlaceholder"
+ placeholder="璇疯緭鍏ユ嫓璁胯褰�"
show-word-limit
:disabled="operationType === 'detail'"
+ />
+ </el-form-item>
+
+ <el-form-item label="鏀归�犲唴瀹�" prop="renContent">
+ <el-input
+ v-model="form.renContent"
+ type="textarea"
+ :autosize="{ minRows: 3, maxRows: 8 }"
+ :placeholder="renovationPlaceholder"
+ show-word-limit
+ :disabled="operationType === 'detail' || operationType === 'addOperation'"
/>
</el-form-item>
@@ -298,7 +313,7 @@
:autosize="{ minRows: 3, maxRows: 10 }"
placeholder="鏄惁鍨祫锛熶紒涓氭槸鍚﹀紑绁紵浼佷笟鏄惁鍒嗚ˉ璐存垨棰濆鍑洪挶锛�"
show-word-limit
- :disabled="operationType === 'detail'"
+ :disabled="operationType === 'detail' || operationType === 'addOperation'"
/>
</el-form-item>
@@ -323,9 +338,10 @@
<el-col :span="24">
<el-form-item label="闄勪欢鏉愭枡锛�">
<el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
+ :disabled="operationType === 'addOperation'"
:headers="upload.headers" :data="upload.data" :before-upload="handleBeforeUpload" :on-error="handleUploadError"
:on-success="handleUploadSuccess" :on-remove="handleRemove">
- <el-button type="primary">涓婁紶</el-button>
+ <el-button type="primary" :disabled="operationType === 'addOperation'">涓婁紶</el-button>
<template #tip>
<div class="el-upload__tip">
鏂囦欢鏍煎紡鏀寔
@@ -384,7 +400,7 @@
</el-tag>
</div>
<div class="description-change" v-if="record.description">
- <span class="label">鏀归�犲唴瀹癸細</span>
+ <span class="label">鎷滆璁板綍锛�</span>
<span class="description-text">{{ record.description }}</span>
</div>
</div>
@@ -495,6 +511,7 @@
businessSource: '',
contractAmount: '',
description: '',
+ renContent: '',
paymentDescription: '',
entryPerson: userStore.nickName,
entryDate: dayjs().format('YYYY-MM-DD')
@@ -549,10 +566,13 @@
const statusOptions = [
{ value: '鏂板缓', label: '鏂板缓' },
{ value: '椤圭洰璺熻釜', label: '椤圭洰璺熻釜' },
+ { value: '鏀惧純', label: '鏀惧純' },
{ value: '鍚堝悓绛剧害', label: '鍚堝悓绛剧害' },
{ value: '澶囨鐢虫姤', label: '澶囨鐢虫姤' },
{ value: '椤圭洰浜や粯', label: '椤圭洰浜や粯' },
- { value: '椤圭洰楠屾敹', label: '椤圭洰楠屾敹' }
+ { value: '椤圭洰楠屾敹', label: '椤圭洰楠屾敹' },
+ { value: '椤圭洰鍥炴', label: '椤圭洰鍥炴' },
+ { value: '鍥炶ˉ璐�', label: '鍥炶ˉ璐�' }
]
// 鐪佷唤閫夐」
@@ -564,10 +584,13 @@
const typeMap = {
'鏂板缓': 'info',
'椤圭洰璺熻釜': 'primary',
+ '鏀惧純': 'danger',
'鍚堝悓绛剧害': 'warning',
'澶囨鐢虫姤': 'primary',
'椤圭洰浜や粯': 'success',
- '椤圭洰楠屾敹': 'success'
+ '椤圭洰楠屾敹': 'success',
+ '椤圭洰鍥炴': 'success',
+ '鍥炶ˉ璐�': 'success'
}
return typeMap[status] || 'info'
}
@@ -577,10 +600,13 @@
const textMap = {
'鏂板缓': '鏂板缓',
'椤圭洰璺熻釜': '椤圭洰璺熻釜',
+ '鏀惧純': '鏀惧純',
'鍚堝悓绛剧害': '鍚堝悓绛剧害',
'澶囨鐢虫姤': '澶囨鐢虫姤',
'椤圭洰浜や粯': '椤圭洰浜や粯',
- '椤圭洰楠屾敹': '椤圭洰楠屾敹'
+ '椤圭洰楠屾敹': '椤圭洰楠屾敹',
+ '椤圭洰鍥炴': '椤圭洰鍥炴',
+ '鍥炶ˉ璐�': '鍥炶ˉ璐�'
}
return textMap[status] || '鏈煡'
}
@@ -653,6 +679,11 @@
})
}
+// 绛剧害閲戦鍚堣锛堝鐢ㄥ叏灞� summarizeTable锛�
+const contractAmountSummaryMethod = (param) => {
+ return proxy.summarizeTable(param, ["contractAmount"]);
+}
+
// 鍒嗛〉鍙樺寲
const paginationChange = (pagination) => {
page.current = pagination.page
@@ -697,12 +728,11 @@
customerOption.value = res
})
- // 浣跨敤褰撳墠琛屾暟鎹綔涓哄熀纭�锛屼絾鍙兘淇敼鐘舵�佸拰瀹㈡埛鎻忚堪
+ // 浣跨敤褰撳墠琛屾暟鎹綔涓哄熀纭�锛屼絾鍙兘淇敼鐘舵�佸拰鎷滆璁板綍锛涗粯娆炬弿杩般�佹敼閫犲唴瀹圭瓑淇濈暀鍙嶆樉
Object.assign(form, row, {
// 淇濈暀鍘熷鍟嗘満ID锛岀敤浜庡叧鑱旀搷浣滆褰�
status: row.status,
- description: '', // 娓呯┖瀹㈡埛鎻忚堪锛屽厑璁搁噸鏂板~鍐�
- paymentDescription: '', // 娓呯┖浠樻鎻忚堪锛屽厑璁搁噸鏂板~鍐�
+ description: '', // 娓呯┖鎷滆璁板綍锛屽厑璁搁噸鏂板~鍐�
entryPerson: userStore.nickName, // 璁剧疆褰曞叆浜轰负褰撳墠璐﹀彿
entryDate: dayjs().format('YYYY-MM-DD') // 璁剧疆褰曞叆鏃堕棿涓哄綋澶�
})
@@ -924,6 +954,7 @@
businessSource: '',
contractAmount: '',
description: '',
+ renContent: '',
paymentDescription: '',
entryPerson: userStore.nickName,
entryDate: dayjs().format('YYYY-MM-DD')
--
Gitblit v1.9.3