feat(crm): 更新合同状态和异议处理表单字段
refactor(contract): 修改合同状态显示文本为"已取消"和"已结清" feat(objection): 添加产品类别、反馈日期、投诉情况和客户诉求字段 style(objection): 调整异议处理表单和表格的布局与样式
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
<el-select v-hasPermi="['crm:contract:status']" v-model="contract.status" placeholder="请选择合同状态" style="width: 150px;" @change="handleStatusChange">
|
||||
<el-option label="草稿" :value="0" />
|
||||
<el-option label="已生效" :value="1" />
|
||||
<el-option label="已作废" :value="2" />
|
||||
<el-option label="已完成" :value="3" />
|
||||
<el-option label="已取消" :value="2" />
|
||||
<el-option label="已结清" :value="3" />
|
||||
</el-select>
|
||||
</h3>
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="合同编号">{{ contract.contractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同状态">
|
||||
<el-tag :type="contract.status == 0 ? 'info' : contract.status == 1 ? 'success' : contract.status == 2 ? 'danger' : 'primary'">
|
||||
{{ contract.status == 0 ? '草稿' : contract.status == 1 ? '已生效' : contract.status == 2 ? '已作废' : '已完成' }}
|
||||
{{ contract.status == 0 ? '草稿' : contract.status == 1 ? '已生效' : contract.status == 2 ? '已取消' : '已结清' }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="供方">{{ contract.supplier }}</el-descriptions-item>
|
||||
@@ -80,8 +80,8 @@ export default {
|
||||
statusOptions: [
|
||||
{ label: '草稿', value: '0' },
|
||||
{ label: '已生效', value: '1' },
|
||||
{ label: '已作废', value: '2' },
|
||||
{ label: '已完成', value: '3' }
|
||||
{ label: '已取消', value: '2' },
|
||||
{ label: '已结清', value: '3' }
|
||||
],
|
||||
}
|
||||
},
|
||||
|
||||
@@ -27,7 +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" /> -->
|
||||
<el-table-column label="产品类别" align="center" prop="productCategory" />
|
||||
<el-table-column label="反馈日期" align="center" prop="returnDate" width="180">
|
||||
<template slot-scope="scope">
|
||||
<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>
|
||||
@@ -75,15 +82,36 @@
|
||||
<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="订单编号">
|
||||
<order-select v-model="form.orderId" placeholder="请选择订单" />
|
||||
</el-form-item>
|
||||
<el-form-item label="异议客户">
|
||||
<customer-select v-model="form.customerId" placeholder="请选择客户" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="处理内容">
|
||||
<editor v-model="form.handleContent" :min-height="192"/>
|
||||
</el-form-item>
|
||||
@@ -128,10 +156,15 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="查看处理结果" :visible.sync="viewOpen" width="500px" append-to-body>
|
||||
<el-descriptions :column="2" :data="viewForm" label-width="80px">
|
||||
<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="产品类别">{{ 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>
|
||||
@@ -190,9 +223,11 @@ export default {
|
||||
pageSize: 10,
|
||||
objectionCode: undefined,
|
||||
orderId: undefined,
|
||||
customerId: undefined,
|
||||
productCategory: undefined,
|
||||
returnDate: undefined,
|
||||
complaintContent: undefined,
|
||||
customerDemand: undefined,
|
||||
objectionType: undefined,
|
||||
objectionContent: undefined,
|
||||
objectionStatus: undefined,
|
||||
handleContent: undefined,
|
||||
handleUser: undefined,
|
||||
@@ -237,9 +272,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,
|
||||
@@ -358,3 +395,12 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.cell-html {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
max-width: 200px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user