<template> <div> <div style="display: flex;justify-content: right;margin-bottom: 15px"> <el-button type="primary" style="text-align: right" @click="customerFollow.dialogVisible = true">新增</el-button> </div> <el-table :data="customerFollowList" style="width: 100%" > <el-table-column type="index" label="#" > </el-table-column> <el-table-column prop="followType" label="跟进类型" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOW_TYPE, cellValue)" > </el-table-column> <el-table-column prop="contactName" label="联系人" > </el-table-column> <el-table-column prop="followMethod" label="跟进方式" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOW_METHOD, cellValue)" > </el-table-column> <el-table-column prop="followTime" label="跟进时间" :formatter="(row, column, cellValue) => parseTime(cellValue)" > </el-table-column> <el-table-column prop="feedback" label="客户反馈" > </el-table-column> <el-table-column prop="result" label="处理结果" > </el-table-column> <el-table-column prop="followUserId" label="跟进业务" :formatter="(row, column, cellValue) => serviceUserList.find(e => e.id === cellValue) ? serviceUserList.find(e => e.id === cellValue).nickname : ''" > </el-table-column> </el-table> <el-dialog append-to-body title="客户跟进" :visible.sync="customerFollow.dialogVisible" :close-on-click-modal="false" width="680px"> <el-form ref="customerFollowForm" :model="customerFollow.form" label-width="80px"> <el-row :gutter="10"> <el-col> <el-form-item label="跟进类型" required> <dict-selector form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="跟进时间" required> <el-date-picker v-model="customerFollow.form.followTime" type="datetime" placeholder="选择跟进时间"></el-date-picker> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="联系人" required> <el-select v-model="customerFollow.form.contactName" placeholder="请选择"> <el-option v-for="(item, index) in customerContactsList" :key="index" :label="item.name" :value="item.name"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="跟进业务" required> <el-select v-model="customerFollow.form.followUserId" placeholder="请选择"> <el-option v-for="item in serviceUserList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="跟进方式" required> <dict-selector v-model="customerFollow.form.followMethod" :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"></dict-selector> </el-form-item> </el-col> <el-col> <el-form-item label="客户反馈" required> <el-input type="textarea" v-model="customerFollow.form.feedback"></el-input> </el-form-item> </el-col> <el-col> <el-form-item label="处理结果" required> <el-input type="textarea" v-model="customerFollow.form.result"></el-input> </el-form-item> </el-col> </el-row> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="customerFollow.dialogVisible = false">取 消</el-button> <el-button type="primary" @click="customerFollowSubmit">确 定</el-button> </span> </el-dialog> </div> </template> <script> import {createCustomerFollow, getCustomerFollowPage} from "@/api/ecw/customerFollow" import { DICT_TYPE, getDictDataLabel } from '@/utils/dict' import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts' import {listServiceUser} from "@/api/system/user" import { parseTime } from '@/utils/ruoyi' export default { /** * 客户跟进 * 客户投诉跟进 */ name: "CustomerFollow", props: { /** * 如果是客户投诉跟进,则id为客户投诉id;如果是客户跟进,则id为客户id */ id: Number, customerId: Number, }, data() { return { DICT_TYPE, getDictDataLabel, parseTime, customerFollowList: [], serviceUserList: [], customerContactsList: [], customerFollow: { dialogVisible: false, form: {} }, } }, created() { this.resetCustomerFollowForm() if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => { this.customerContactsList = r.data }) listServiceUser().then(r => { this.serviceUserList = r.data }) this.getCustomerFollowList() }, methods: { customerFollowSubmit() { this.$refs["customerFollowForm"].validate(valid => { if (!valid) { return } createCustomerFollow(this.customerFollow.form).then(r => { this.resetCustomerFollowForm() this.getCustomerFollowList() this.customerFollow.dialogVisible = false }) }) }, resetCustomerFollowForm() { this.customerFollow.form = { "bizId": this.id, "contactName": undefined, "feedback": undefined, "followMethod": undefined, "followTime": undefined, "followType": undefined, "followUserId": undefined, "result": undefined } }, getCustomerFollowList() { getCustomerFollowPage({bizId: this.id}).then(r => { this.customerFollowList = r.data.list }) } } } </script> <style scoped> </style>