feat: 完成客户拜访模块全功能开发

本次提交实现了完整的客户拜访业务系统:
1.  新增对象存储上传服务,支持S3兼容协议的RustFS存储
2.  完善客户拜访实体与数据库表结构,补充全业务字段
3.  开发拜访台账与记录的前后端接口,包含增删改查、批量创建、状态流转等能力
4.  新增拜访表单页面与路由,支持父级菜单补全面包屑
5.  新增勘察列表页预填客户ID跳转逻辑
6.  补充UI设计文档与页面截图
7.  调整日志中间件跳过上传路由,优化RBAC权限配置
This commit is contained in:
andyesfly committed 2026-09-14 11:42:10 +08:00
1 parent 68af363ca9
commit 1c83e09fa1
33 files changed
+6920 -587

No files matched your search

+10 -2
View File
@@ -125,6 +125,7 @@
<script setup lang="ts">
import { ref, reactive, computed, onMounted } from 'vue';
import { useRoute } from 'vue-router';
import { message } from 'ant-design-vue';
import { SearchOutlined, ReloadOutlined, PlusOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons-vue';
import dayjs from 'dayjs';
@@ -133,6 +134,7 @@ import { customerApi } from '@/api/customer';
import { useTableScroll } from '@/composables/useTableScroll';
const { wrapperRef, tableHeight } = useTableScroll();
const route = useRoute();
const loading = ref(false);
const dataSource = ref<SurveyOrderInfo[]>([]);
@@ -177,9 +179,15 @@ const pagination = computed(() => ({
showTotal: (t: number) => `共 ${t} 条数据`,
}));
onMounted(() => {
onMounted(async () => {
fetchList();
fetchCustomerOptions();
await fetchCustomerOptions();
// 客户拜访台账「一键发起勘察派单」跳转预填:/project/survey?customerId=xx
const preCustomerId = Number(route.query.customerId || 0);
if (preCustomerId) {
handleAdd();
formData.customerId = preCustomerId;
}
});
async function fetchList() {