
7 changed files with 857 additions and 290 deletions
@ -0,0 +1,288 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar view-title="客户跟进记录" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
|||
<el-form-item class="formItem" label="跟进时间"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.start_follow_time" clearable type="date" placeholder="开始日期"/> |
|||
<span style="padding: 0 8px">至</span> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.end_follow_time" clearable type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
<el-form-item label="跟进形式"> |
|||
<el-select v-model="listQuery.params.follow_form_key" class="addinputw" placeholder="请输入"> |
|||
<el-option v-for="item in followupform" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="跟进状态"> |
|||
<el-select v-model="listQuery.params.follow_state_key" class="addinputw" placeholder=""> |
|||
<el-option v-for="item in followupstatus" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleReset()">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="handleFilter()">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">客户跟进记录列表</div> |
|||
<!-- 翻页分页 --> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%;" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" align="center" width="50"/> |
|||
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/> |
|||
<el-table-column label="跟进形式" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.follow_form }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="跟进时间" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.follow_time }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="跟进结果" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.follow_result }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="跟进状态" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.follow_state }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="业务员" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.staffName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="是否开启提醒" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.isOnRemind }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="提醒日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remind_day }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="见证材料" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span class="bluezi" @click="handleCheck(scope.row)">查看</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车辆需求" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span class="bluezi" @click="handleCheliang(scope.row)">{{ scope.row.xqcounts }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<div class="tit"/> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<el-dialog :visible.sync="dialogFormVisible" width="1000px" :close-on-click-modal="false"> |
|||
<div class="result-cont"> |
|||
<el-carousel indicator-position="outside" style="height: 500px;"> |
|||
<el-carousel-item v-for="(item,index) in material" :key="index" style="height: 500px;"> |
|||
<img style="width: 100%; height: 500px;" :src="item.filePath"> |
|||
</el-carousel-item> |
|||
</el-carousel> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</div> |
|||
<!--车辆需求--> |
|||
<yixiangchexinglook ref="divYiXiang" v-show="viewState == 2" @handleReturn="resetState"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { pagerList } from '@/api/jichuxinxi/crmvisit' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import { typeValues } from '@/api/dictcommons/shujuzidian' |
|||
import { getPcAppendix } from '@/api/jichuxinxi/commonappendix' |
|||
import yixiangchexinglook from './yixiangchexinglook' |
|||
|
|||
export default { |
|||
name: 'genjinlook', |
|||
components: { |
|||
Pagination, |
|||
pageye, |
|||
ButtonBar, |
|||
yixiangchexinglook |
|||
}, |
|||
data() { |
|||
return { |
|||
btndisabled: false, |
|||
btnList: [ |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
viewState: 1, |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
// 查询 ----------- |
|||
tableKey: 0, |
|||
list: [], |
|||
sids: [], |
|||
listLoading: false, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
start_follow_time: '', |
|||
end_follow_time: '', |
|||
follow_form_key: '', |
|||
follow_state_key: '', |
|||
customerSid: '', |
|||
staffSid: '' |
|||
} |
|||
}, |
|||
makings: { |
|||
attachType: '0004', |
|||
linkSid: '' |
|||
}, |
|||
material: [], |
|||
Kehu_Name: '', |
|||
kehu_uesrsid: '', |
|||
followupform: [], |
|||
followupstatus: [], |
|||
dialogFormVisible: false |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
methods: { |
|||
btnHandle(btnKey) { |
|||
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
|||
switch (btnKey) { |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
// 初始 |
|||
init() { |
|||
typeValues({ type: 'visitWay' }).then((response) => { |
|||
if (response.success) { |
|||
this.followupform = response.data |
|||
} |
|||
}) |
|||
typeValues({ type: 'followState' }).then((response) => { |
|||
if (response.success) { |
|||
this.followupstatus = response.data |
|||
} |
|||
}) |
|||
}, |
|||
// 接收客户管理值 |
|||
newpage(sid, name) { |
|||
this.Kehu_Name = name |
|||
this.kehu_uesrsid = sid |
|||
this.init() |
|||
this.getList() |
|||
}, |
|||
// 查询 |
|||
handleReset() { |
|||
this.listQuery.current = 1 |
|||
this.getList() |
|||
}, |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
this.listQuery.params.staffSid = window.sessionStorage.getItem('staffSid') |
|||
this.listQuery.params.customerSid = this.kehu_uesrsid |
|||
pagerList(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.success) { |
|||
this.list = response.data.records |
|||
this.listQuery.total = response.data.total |
|||
} else { |
|||
this.list = [] |
|||
this.listQuery.total = 0 |
|||
} |
|||
}) |
|||
}, |
|||
// 重置 |
|||
handleFilter() { |
|||
this.listQuery.current = 1 |
|||
this.listQuery.size = 10 |
|||
this.listQuery.total = 0 |
|||
this.listQuery.params.start_follow_time = '' |
|||
this.listQuery.params.end_follow_time = '' |
|||
this.listQuery.params.follow_form_key = '' |
|||
this.listQuery.params.follow_state_key = '' |
|||
this.listQuery.params.staffSid = '' |
|||
this.getList() |
|||
}, |
|||
// 勾选 |
|||
handleSelectionChange(row) { |
|||
const aa = [] |
|||
row.forEach((element) => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
// 查看詳情 |
|||
handleCheck(row) { |
|||
this.dialogFormVisible = true |
|||
this.makings.linkSid = row.sid |
|||
getPcAppendix(this.makings).then((response) => { |
|||
if (response.code === '200') { |
|||
this.material = response.data |
|||
console.log('2000', this.material) |
|||
} |
|||
}) |
|||
}, |
|||
// 查看车辆需求详情 |
|||
handleCheliang(row) { |
|||
this.viewState = 2 |
|||
this.$refs['divYiXiang'].cheLiang(this.kehu_uesrsid, this.Kehu_Name) |
|||
}, |
|||
doClose() { |
|||
this.$emit('handleReturn') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
|
|||
</style> |
@ -0,0 +1,307 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState ==1"> |
|||
<button-bar :view-title=" this.customerName + '客户-意向车型'" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header"> |
|||
<el-form-item label="品牌"> |
|||
<el-select v-model="listQuery.params.brandName" class="addinputw" placeholder="请选择" @change="changePinPai" style="width:200px"> |
|||
<el-option v-for="item in brand_list" :key="item.sid" :label="item.brandName" :value="item.sid"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="车型"> |
|||
<el-select v-model="listQuery.params.modelName" class="addinputw" placeholder="请选择" style="width:300px"> |
|||
<el-option v-for="item in figuration" :key="item.sid" :label="item.modelName" :value="item.modelName"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="购车方式"> |
|||
<el-select v-model="listQuery.params.purchaseMethodValue" class="addinputw" placeholder="请选择" style="width:200px"> |
|||
<el-option v-for="item in orgSid_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item class="formItem" label="创建时间"> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createTimeStart" clearable style="width: 160px;" type="date" placeholder="开始日期"/> |
|||
<span style="padding: 0 8px">至</span> |
|||
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createTimeEnd" clearable style="width: 160px;" type="date" placeholder="结束日期"/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleFilter">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetSearch">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">意向车型列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange"> |
|||
<el-table-column width="50px" type="selection" align="center"/> |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column label="品牌" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.brandName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车型" align="center" width="250"> |
|||
<template slot-scope="scope"> |
|||
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.modelName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="购车方式" align="center" width="120"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.purchaseMethodValue }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="销售指导价(万元)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.saleReferencePrice }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="车型报价" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.vehicleModelOffer }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="数量" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.number }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="预提车日期" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.estimatedPickupDate }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="创建时间" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.createTime }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="备注" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.remarks }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<div class="tit"/> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<cheliangxuqiuinfo v-show="viewState == 2" ref="divinfo" @handleReturn="resetState"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { pagerList } from '@/api/jichuxinxi/crmvehicle' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import { getSelectDown } from '@/api/dictcommons/basemanufacturer' |
|||
import { typeValues } from '@/api/dictcommons/shujuzidian' |
|||
import cheliangxuqiuinfo from '../cheliangxuqiu/cheliangxuqiuinfo' |
|||
import { brandDown, getPathSidByUserSid } from '@/api/chexingchaxun/modelinquire' |
|||
|
|||
export default { |
|||
name: 'yixiangchexinglook', |
|||
components: { |
|||
cheliangxuqiuinfo, |
|||
Pagination, |
|||
pageye, |
|||
ButtonBar |
|||
}, |
|||
data() { |
|||
return { |
|||
btndisabled: false, |
|||
btnList: [ |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
viewState: 1, |
|||
btnVisible: false, |
|||
customerSid: '', |
|||
customerName: '', |
|||
isSearchShow: false, |
|||
searchxianshitit: '隐藏查询条件', |
|||
tableKey: 0, |
|||
sids: [], |
|||
list: [], |
|||
total: 1, |
|||
FormLoading: false, |
|||
listLoading: false, |
|||
figuration: [], |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
brandName: '', |
|||
createTimeEnd: '', |
|||
createTimeStart: '', |
|||
customerSid: '', |
|||
modelName: '', |
|||
purchaseMethodValue: '' |
|||
} |
|||
}, |
|||
stateId: '', |
|||
brand_list: [], |
|||
orgSid_list: [] |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
methods: { |
|||
btnHandle(btnKey) { |
|||
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
|||
switch (btnKey) { |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
init() { |
|||
this.getShuJUZiDian() |
|||
this.getPathSid() |
|||
}, |
|||
getShuJUZiDian() { |
|||
typeValues({ type: 'purchaseType' }).then((res) => { |
|||
if (res.code === '200') { |
|||
this.orgSid_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
getPathSid() { |
|||
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
|||
if (res.success) { |
|||
brandDown({ useOrg: res.data }).then((resp) => { |
|||
if (resp.success) { |
|||
this.brand_list = resp.data |
|||
} |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
changePinPai(value) { |
|||
let bb = [] |
|||
this.brand_list.forEach((e) => { |
|||
if (e.sid === value) { |
|||
bb = { |
|||
name: e.brandName, |
|||
sid: e.sid |
|||
} |
|||
} |
|||
}) |
|||
this.listQuery.params.brandName = bb.name |
|||
this.getCheXingName(bb.sid) |
|||
}, |
|||
// 接收客户管理值 |
|||
cheLiang(sid, name) { |
|||
this.customerName = name |
|||
this.stateId = sid |
|||
this.getList() |
|||
this.init() |
|||
}, |
|||
// 车型名称 |
|||
getCheXingName(brandSid) { |
|||
var sid = { |
|||
sid: brandSid |
|||
} |
|||
getSelectDown(sid).then((response) => { |
|||
if (response.code === '200') { |
|||
this.figuration = response.data |
|||
} |
|||
}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
// 勾选 |
|||
handleSelectionChange(row) { |
|||
const aa = [] |
|||
row.forEach((element) => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
console.log('勾选记录', this.sids) |
|||
}, |
|||
// 打开查看详情 |
|||
handleCheck(row) { |
|||
this.viewState = 2 |
|||
this.$refs['divinfo'].openinfo(row.sid, this.stateId) |
|||
}, |
|||
// ----------功能打开结束-------- |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 返回 |
|||
doClose() { |
|||
this.btnVisible = false |
|||
this.$emit('handleReturn') |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
this.listQuery.params.customerSid = this.stateId |
|||
pagerList(this.listQuery).then((response) => { |
|||
this.listLoading = false |
|||
if (response.code === '200') { |
|||
this.list = response.data.records |
|||
} |
|||
}) |
|||
}, |
|||
resetSearch() { |
|||
this.listQuery = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
brandName: '', |
|||
createTimeEnd: '', |
|||
createTimeStart: '', |
|||
customerSid: '', |
|||
modelName: '', |
|||
purchaseMethodValue: '' |
|||
} |
|||
} |
|||
this.figuration = [] |
|||
this.getList() |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
this.listQuery.current = 1 |
|||
this.getList() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
</style> |
Loading…
Reference in new issue