feat(crm): 更新合同状态和异议处理表单字段

refactor(contract): 修改合同状态显示文本为"已取消"和"已结清"
feat(objection): 添加产品类别、反馈日期、投诉情况和客户诉求字段
style(objection): 调整异议处理表单和表格的布局与样式
This commit is contained in:
2026-05-09 18:32:12 +08:00
parent 69df4c8922
commit 9ce0066cff
3 changed files with 108 additions and 30 deletions

View File

@@ -27,11 +27,14 @@
<el-table v-loading="loading" :data="salesObjectionList" @selection-change="handleSelectionChange">
<el-table-column label="编号" align="center" prop="objectionCode" />
<!-- <el-table-column label="异议类型" align="center" prop="objectionType" /> -->
<el-table-column label="异议内容" align="center" prop="objectionContent" show-overflow-tooltip>
<el-table-column label="产品类别" align="center" prop="productCategory" />
<el-table-column label="反馈日期" align="center" prop="returnDate" width="180">
<template slot-scope="scope">
<div class="cell-html" v-html="scope.row.objectionContent"></div>
<span>{{ parseTime(scope.row.returnDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="投诉情况" align="center" prop="complaintContent" show-overflow-tooltip></el-table-column>
<el-table-column label="客户诉求" align="center" prop="customerDemand" show-overflow-tooltip></el-table-column>
<el-table-column label="状态" align="center" prop="objectionStatus">
<template slot-scope="scope">
<el-tag v-if="scope.row.objectionStatus === 0" type="danger">待处理</el-tag>
@@ -83,8 +86,32 @@
<el-form-item label="异议编号" prop="objectionCode">
<el-input v-model="form.objectionCode" placeholder="请输入异议编号" />
</el-form-item>
<el-form-item label="异议内容">
<editor v-model="form.objectionContent" :min-height="192" />
<el-form-item label="产品类别" prop="productCategory">
<el-input v-model="form.productCategory" placeholder="请输入产品类别" />
</el-form-item>
<el-form-item label="反馈日期" prop="returnDate">
<el-date-picker clearable
v-model="form.returnDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择反馈日期">
</el-date-picker>
</el-form-item>
<el-form-item label="投诉情况">
<el-input
v-model="form.complaintContent"
type="textarea"
:rows="4"
placeholder="请输入投诉情况"
></el-input>
</el-form-item>
<el-form-item label="客户诉求">
<el-input
v-model="form.customerDemand"
type="textarea"
:rows="4"
placeholder="请输入客户诉求"
></el-input>
</el-form-item>
<!-- <el-form-item label="处理内容">
<editor v-model="form.handleContent" :min-height="192"/>
@@ -144,11 +171,12 @@
<el-dialog title="查看处理结果" :visible.sync="viewOpen" width="700px" append-to-body>
<el-descriptions :column="2" :data="viewForm" label-width="80px" border>
<el-descriptions-item label="异议编号" :span="2">{{ viewForm.objectionCode }}</el-descriptions-item>
<el-descriptions-item label="异议内容" :span="2">
<div v-html="viewForm.objectionContent"></div>
</el-descriptions-item>
<el-descriptions-item label="产品类别">{{ viewForm.productCategory }}</el-descriptions-item>
<el-descriptions-item label="反馈日期">{{ parseTime(viewForm.returnDate, '{y}-{m}-{d}') }}</el-descriptions-item>
<el-descriptions-item label="投诉情况" :span="2">{{ viewForm.complaintContent }}</el-descriptions-item>
<el-descriptions-item label="客户诉求" :span="2">{{ viewForm.customerDemand }}</el-descriptions-item>
<el-descriptions-item label="处理人">{{ viewForm.handleUser }}</el-descriptions-item>
<el-descriptions-item label="处理时间">{{ viewForm.handleTime }}</el-descriptions-item>
<el-descriptions-item label="处理时间">{{ parseTime(viewForm.handleTime, '{y}-{m}-{d}') }}</el-descriptions-item>
<el-descriptions-item label="处理内容" :span="2">
<div v-html="viewForm.handleContent"></div>
</el-descriptions-item>
@@ -223,9 +251,11 @@ export default {
pageSize: 10,
objectionCode: undefined,
orderId: this.orderId,
customerId: this.customerId,
productCategory: undefined,
returnDate: undefined,
complaintContent: undefined,
customerDemand: undefined,
objectionType: undefined,
objectionContent: undefined,
objectionStatus: undefined,
handleContent: undefined,
handleUser: undefined,
@@ -270,9 +300,11 @@ export default {
objectionId: undefined,
objectionCode: undefined,
orderId: this.orderId,
customerId: this.customerId,
productCategory: undefined,
returnDate: undefined,
complaintContent: undefined,
customerDemand: undefined,
objectionType: 0,
objectionContent: undefined,
objectionStatus: undefined,
handleContent: undefined,
handleUser: undefined,