更新各项内容

This commit is contained in:
hero920103 committed 2026-09-11 00:22:49 +08:00
1 parent 1304e71b7a
commit b9cdabe045
24 files changed
+3109 -469

No files matched your search

+36 -4
View File
@@ -16,6 +16,7 @@
移入公海
</el-button>
<el-button type="primary" :icon="Plus" @click="openCreate">新增客户</el-button>
<el-button type="success" :icon="Cpu" @click="smartAddVisible = true">智能添加</el-button>
</div>
</div>
@@ -147,7 +148,7 @@
v-model="detailVisible"
:title="detailData?.customer_name || '客户详情'"
direction="rtl"
size="560px"
size="700px"
>
<div v-if="detailData" class="detail-content">
<el-descriptions title="基本信息" :column="2" border size="small">
@@ -167,9 +168,14 @@
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="负责人">{{ detailData.owner_name || '未分配' }}</el-descriptions-item>
<el-descriptions-item label="合作开始">{{ formatDate(detailData.register_time) }}</el-descriptions-item>
<el-descriptions-item label="合作到期">{{ formatDate(detailData.expire_time) }}</el-descriptions-item>
<el-descriptions-item label="注册资本">{{ detailData.registered_capital ? detailData.registered_capital + ' 万元' : '-' }}</el-descriptions-item>
<el-descriptions-item label="实缴资本">{{ detailData.paid_capital ? detailData.paid_capital + ' 万元' : '-' }}</el-descriptions-item>
<el-descriptions-item label="成立日期">{{ formatDate(detailData.establish_date) }}</el-descriptions-item>
<el-descriptions-item label="行政区划">{{ detailData.administrative_division || '-' }}</el-descriptions-item>
<el-descriptions-item label="企业类型">{{ detailData.enterprise_type || '-' }}</el-descriptions-item>
<el-descriptions-item label="纳税人资质">{{ detailData.taxpayer_qualification || '-' }}</el-descriptions-item>
<el-descriptions-item label="客户地址" :span="2">{{ detailData.address || '-' }}</el-descriptions-item>
<el-descriptions-item label="经营范围" :span="2">{{ detailData.business_scope || '-' }}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ formatDateTime(detailData.create_time) }}</el-descriptions-item>
<el-descriptions-item label="更新时间">{{ formatDateTime(detailData.update_time) }}</el-descriptions-item>
</el-descriptions>
@@ -250,6 +256,8 @@
</el-table-column>
<el-table-column prop="mobile" label="手机号" width="130" />
<el-table-column prop="email" label="邮箱" min-width="180" show-overflow-tooltip />
<el-table-column prop="wechat" label="微信" width="120" show-overflow-tooltip />
<el-table-column prop="qq" label="QQ" width="110" show-overflow-tooltip />
<el-table-column prop="department" label="部门" width="120" show-overflow-tooltip />
<el-table-column prop="position" label="职位" width="130" show-overflow-tooltip />
<el-table-column label="操作" width="120" align="center" fixed="right">
@@ -274,6 +282,12 @@
@success="loadContacts"
/>
<SmartAddCompany
v-model:visible="smartAddVisible"
type="customer"
@success="fetchList"
/>
<!-- 移入公海 -->
<el-dialog v-model="poolVisible" title="移入客户公海" width="460px" :close-on-click-modal="false">
<el-alert
@@ -304,7 +318,7 @@
<script setup>
import { ref, reactive, computed, onMounted } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { Plus, Search, Refresh } from "@element-plus/icons-vue";
import { Plus, Search, Refresh, Cpu } from "@element-plus/icons-vue";
import {
getCrmCustomerList,
deleteCrmCustomer,
@@ -313,6 +327,7 @@ import {
import { listContacts, deleteContact } from "@/api/contact";
import CustomerEdit from "./components/edit.vue";
import ContactEdit from "../contact/components/edit.vue";
import SmartAddCompany from "./components/smartAddCompany.vue";
import {
CUSTOMER_TYPE_OPTIONS,
STATUS_OPTIONS,
@@ -343,6 +358,7 @@ const contactList = ref([]);
const currentRow = ref(null);
const contactEditVisible = ref(false);
const contactEditData = ref(null);
const smartAddVisible = ref(false);
// 移入公海
const poolVisible = ref(false);
@@ -601,4 +617,20 @@ async function submitMovePool() {
}
}
}
.detail-content {
padding: 4px 8px;
:deep(.el-descriptions__label) {
width: 130px;
min-width: 130px;
color: var(--el-text-color-regular);
font-weight: 500;
vertical-align: top;
}
:deep(.el-descriptions__content) {
word-break: break-all;
}
}
</style>