feat: 完成售后投诉流程全链路优化与功能完善

本次提交完成了多项核心优化与功能新增:
1.  重构投诉受理流程状态,移除冗余的执行反馈阶段,简化为4个流程节点
2.  新增售后单关联客户、下游用户、工程信息等扩展字段,完善基础信息采集
3.  新增部门结构化意见表单与预览组件,优化部门意见填写与展示流程
4.  新增售后意见汇总页面,支持流程阶段筛选与详情查看
5.  优化合同列表页面,新增重置筛选按钮与默认备注逻辑
6.  新增PDF导出功能,完善钢卷信息展示列
7.  修复逻辑删除级联问题,新增任务过滤逻辑保障数据一致性
This commit is contained in:
2026-06-29 14:58:24 +08:00
parent 9484b64de7
commit da01bfaa48
21 changed files with 1723 additions and 65 deletions

View File

@@ -17,8 +17,13 @@
<el-tag v-else-if="item.taskStatus === 1" type="success" size="mini">已完成</el-tag>
</div>
<div class="opinion-card-body">
<div v-if="item.deptOpinion" class="opinion-content" v-html="item.deptOpinion"></div>
<div v-else class="opinion-empty"> No opinion yet · 暂无意见 </div>
<template v-if="isJsonOpinion(item.deptOpinion)">
<DeptOpinionPreview :deptId="item.deptId" :jsonData="item.deptOpinion" />
</template>
<template v-else>
<div v-if="item.deptOpinion" class="opinion-content" v-html="item.deptOpinion"></div>
<div v-else class="opinion-empty"> No opinion yet · 暂无意见 </div>
</template>
<div v-if="item.fillFile" class="opinion-file">
<FileList :ossIds="item.fillFile" />
</div>
@@ -35,10 +40,11 @@
<script>
import FileList from "@/components/FileList/index.vue";
import DeptOpinionPreview from "./DeptOpinionPreview.vue";
export default {
name: 'DepartmentOpinionSection',
components: { FileList },
components: { FileList, DeptOpinionPreview },
props: {
enabled: {
type: Boolean,
@@ -50,6 +56,15 @@ export default {
}
},
methods: {
isJsonOpinion(str) {
if (!str) return false;
try {
const obj = JSON.parse(str);
return obj && typeof obj === 'object' && !Array.isArray(obj);
} catch (e) {
return false;
}
},
getDeptName(deptId) {
const map = { 1: '生产部', 2: '质量部', 3: '销售部' };
return map[deptId] || '部门' + deptId;