<template>
|
<div>
|
<div class="header-block">
|
<p class="section-title">客服事件</p>
|
<div>
|
<el-button type="primary" size="mini" @click="showAddServiceView">新增客服事件</el-button>
|
<el-button size="mini" @click="showAddComplainView">新增投诉事件</el-button>
|
</div>
|
</div>
|
<TableList
|
:isShowPages="true"
|
:loading="loading"
|
:pageInfo="pageInfo"
|
:header="tableHeader"
|
:list="records"
|
@doAction="doAction"
|
@handleCurrentChange="handleCurrentChange"
|
@handleSizeChange="handleSizeChange"
|
></TableList>
|
|
<!-- 客服事件-编辑 -->
|
<CustomerServiceRecordUpdate :dialogVisible="dialogVisible" :serialNo="serialNo" @succ="addCustomerService" @close="showAddServiceView" />
|
|
<!-- 客服投诉-编辑 -->
|
<CustomerComplainUpdate :dialogVisible="dialogComplainVisible" :serialNo="serialNo" :customerInfo="customerInfo" @succ="addCustomerComplain" @close="showAddComplainView" />
|
</div>
|
</template>
|
<script>
|
// 客服事件
|
import TableList from '../TableList'
|
import { selectComplainAndEventList, queryTabTree, qryCustomerBasicInfo } from '@comprehensive/serve/public'
|
import { ComplainAndEventListHeader } from '@comprehensive/utils/tableHeaders'
|
import { customerHistoryApplySearch } from '@comprehensive/utils/formItems'
|
import CustomerServiceRecordUpdate from './CustomerServiceRecordUpdate'
|
import CustomerComplainUpdate from './CustomerComplainUpdate'
|
|
export default {
|
props: {
|
// 申请编号
|
serialNo: {
|
type: String,
|
required: true
|
},
|
objectType: {
|
type: String,
|
default: ''
|
},
|
customerID: {
|
type: String,
|
default: ''
|
}
|
},
|
components: {
|
TableList,
|
CustomerServiceRecordUpdate,
|
CustomerComplainUpdate
|
},
|
data() {
|
return {
|
records: [],
|
flowModel: [],
|
valueInfo: {},
|
loading: false,
|
dialogVisible: false,
|
dialogComplainVisible: false,
|
pageInfo: {
|
currentPage: 1,
|
pageSize: 10,
|
total: 0
|
},
|
tableHeader: '',
|
// 搜索表单字段及描述
|
formInfo: [...customerHistoryApplySearch],
|
customerInfo: {customerName: '', idCard:''}
|
}
|
},
|
created() {
|
this.init()
|
this.qryCustomerBasicInfo()
|
},
|
methods: {
|
// 查询顶部流程节点状态
|
async qryCustomerBasicInfo() {
|
this.loading = true
|
const { serialNo, customerID } = this
|
const res = await qryCustomerBasicInfo({
|
applySerialNo: serialNo,
|
// customerId: customerID
|
})
|
|
this.customerInfo.customerName = res.result.customername.value
|
this.customerInfo.idCard = res.result.certid.value
|
},
|
// 客服事件-显隐
|
showAddServiceView() {
|
this.dialogVisible = !this.dialogVisible
|
},
|
// 投诉事件-显隐
|
showAddComplainView() {
|
this.dialogComplainVisible = !this.dialogComplainVisible
|
},
|
|
addCustomerService() {
|
this.dialogVisible = false
|
this.fetch()
|
},
|
|
addCustomerComplain() {
|
this.dialogComplainVisible = false
|
this.fetch()
|
},
|
|
init() {
|
this.tableHeader = [...ComplainAndEventListHeader]
|
this.fetch()
|
},
|
|
async fetch() {
|
this.loading = true
|
const { serialNo, pageInfo } = this
|
const res = await selectComplainAndEventList({
|
serialNo,
|
...pageInfo
|
})
|
this.loading = false
|
const { result } = res
|
this.records = result.records
|
this.pageInfo.total = result.total
|
this.$emit('countHeight', true)
|
},
|
|
// 表单事件回调
|
doAction(name, item, index) {
|
const { objectType, customerID } = this
|
|
// 点击申请编号的处理
|
if (name === 'serialno') {
|
// 接口需加flowno字段
|
let { serialno, flowno, objecttype, customerid, occurtype } = item
|
objecttype = objecttype || objectType
|
customerid = customerid || customerID
|
this.toDetail(serialno, occurtype, flowno, objecttype, customerid)
|
}
|
},
|
|
// 修改翻页条数
|
handleSizeChange(val) {
|
this.pageInfo.pageSize = val
|
this.init()
|
},
|
|
// 修改翻页数
|
handleCurrentChange(val) {
|
this.pageInfo.currentPage = val
|
this.init()
|
},
|
|
async toDetail(serialno, occurtype, flowno, objecttype, customerid) {
|
// 接口出错则不跳转
|
await queryTabTree({
|
objectno: serialno,
|
objecttype
|
})
|
|
let params = `${serialno}?from=newCts&occurType=${occurtype}&flowno=${flowno}&objectType=${objecttype}&customerID=${customerid}`
|
if (parent.g_menu_id) {
|
params = `${params}&menuId=${parent.g_menu_id}`
|
}
|
const url = `${location.origin}/cts-web/#/comprehensiveTransaction/loanDetail/${params}`
|
|
window.open(
|
url,
|
'newDetailWindow',
|
'height=600px, width=1200px, top=100px,left=300px'
|
)
|
}
|
},
|
watch: {
|
serialNo() {
|
this.init()
|
}
|
}
|
}
|
</script>
|
|
<style lang="postcss" scoped>
|
.form-section {
|
display: flex;
|
align-items: baseline;
|
& .search {
|
margin: 10px 0 0 50px;
|
padding: 0;
|
}
|
}
|
.header-block {
|
margin-bottom: 25px;
|
& .section-title {
|
margin: 30px 0 20px 0;
|
padding: 0 0 0 10px;
|
border-left: solid 2px #0081F0;
|
line-height: 16px;
|
font-size: 14px;
|
color: #222222;
|
}
|
}
|
|
</style>
|