@@ -411,6 +411,15 @@ export function findKeywords(query) { | |||
}) | |||
} | |||
// 置业顾问 | |||
export function findUserListByHouseId(query) { | |||
return request({ | |||
url: 'autoSR/cushouseuserrelationmid/findUserListByHouseId', | |||
method:'get', | |||
params:query | |||
}) | |||
} | |||
// 常错词列表 | |||
export function correctFindbypage(query) { | |||
return request({ | |||
@@ -435,3 +444,39 @@ export function correctUpdate(query) { | |||
params:query | |||
}) | |||
} | |||
// | |||
// 客户管理客户裂变 | |||
export function customerManagement(query) { | |||
return request({ | |||
url: '/autoSR/customer/customerManagement', | |||
method:'get', | |||
params:query | |||
}) | |||
} | |||
// 销售阶段列表 | |||
export function lifeTrackDefineList(query) { | |||
return request({ | |||
url: '/autoSR/lifeTrackDefine/list', | |||
method:'get', | |||
params:query | |||
}) | |||
} | |||
// 修改 | |||
export function lifeTrackDefineUpdate(data) { | |||
return request({ | |||
url: '/autoSR/lifeTrackDefine/update', | |||
method:'post', | |||
data | |||
}) | |||
} | |||
// 添加 | |||
export function lifeTrackDefineAdd(data) { | |||
return request({ | |||
url: '/autoSR/lifeTrackDefine/add', | |||
method:'post', | |||
data | |||
}) | |||
} | |||
@@ -1,5 +1,26 @@ | |||
<template> | |||
<div class="box-center"> | |||
<div class="app-titel"> | |||
<div class="titel-text">时间</div> | |||
<div class="toptimeqhuan"> | |||
<div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">近7天</div> | |||
<div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)"> 近15天 </div> | |||
<div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)"> 近30天 </div> | |||
</div> | |||
<div style="margin-left: 26px"> | |||
<el-date-picker | |||
@change="confirmtime()" | |||
v-model="customtime" | |||
type="daterange" | |||
range-separator="-" | |||
:default-time="['00:00:00', '23:59:59']" | |||
value-format="yyyy-MM-dd" | |||
start-placeholder="开始日期" | |||
end-placeholder="结束日期" | |||
> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
<!-- 卡片部分 --> | |||
<div class="page-container"> | |||
<div class="pagechen"> | |||
@@ -7,7 +28,7 @@ | |||
<div class="pageboxtitle2"> | |||
<div class="span1">5020</div> | |||
<div class="span2"> | |||
<span class="span2-1"> 昨日:288</span> | |||
<span class="span2-1"> 环比:288</span> | |||
<span class="span2-2">25%</span> | |||
</div> | |||
</div> | |||
@@ -43,7 +64,7 @@ | |||
<div class="pageboxtitle2"> | |||
<div class="span1">5020</div> | |||
<div class="span2"> | |||
<span class="span2-1"> 昨日:288</span> | |||
<span class="span2-1"> 环比:288</span> | |||
<span class="span2-2">25%</span> | |||
</div> | |||
</div> | |||
@@ -53,7 +74,7 @@ | |||
<div class="pageboxtitle2"> | |||
<div class="span1">20</div> | |||
<div class="span2"> | |||
<span class="span2-1"> 昨日:288</span> | |||
<span class="span2-1"> 环比:288</span> | |||
<span class="span2-2">25%</span> | |||
</div> | |||
</div> | |||
@@ -63,7 +84,7 @@ | |||
<div class="pageboxtitle2"> | |||
<div class="span1">50</div> | |||
<div class="span2"> | |||
<span class="span2-1"> 昨日:288</span> | |||
<span class="span2-1"> 环比:288</span> | |||
<span class="span2-2">25%</span> | |||
</div> | |||
</div> | |||
@@ -73,7 +94,7 @@ | |||
<div class="pageboxtitle2"> | |||
<div class="span1">80</div> | |||
<div class="span2"> | |||
<span class="span2-1"> 昨日:288</span> | |||
<span class="span2-1"> 环比:288</span> | |||
<span class="span2-2">25%</span> | |||
</div> | |||
</div> | |||
@@ -85,41 +106,113 @@ | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 列表部分 --> | |||
<div class="table-box"> | |||
<div class="title">急需充电的工牌</div> | |||
<div class="tabbox"> | |||
<el-table | |||
:header-cell-style="{background:'#F2F4F5'}" | |||
:data="tableData" | |||
height="300" | |||
style="width: 100%"> | |||
<el-table-column | |||
prop="name" | |||
label="顾问" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="num" | |||
label="电话" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="状态" | |||
align="center"> | |||
</el-table-column> | |||
<div class="app-box-san"> | |||
<div class="zuo"> | |||
<div class="title"> | |||
<div class="text1">违禁提醒</div> | |||
</div> | |||
<div class="tabbox"> | |||
<el-table | |||
:header-cell-style="{background:'#F2F4F5'}" | |||
:data="tableData" | |||
height="320" | |||
style="width: 100%"> | |||
<el-table-column | |||
prop="name" | |||
label="顾问" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="num" | |||
label="禁忌执行率" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="接待时间" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="date" | |||
label="操作" | |||
align="center"> | |||
<template slot-scope=""> | |||
<div style="color: #2671E2;">查看</div> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
</div> | |||
<el-table-column | |||
prop="date" | |||
label="电量" | |||
align="center"> | |||
</el-table-column> | |||
</el-table> | |||
</div> | |||
</div> | |||
<div class="you"> | |||
<div class="title"> | |||
<div class="text1" @click="tabclick('1')" :class="{ colostyle: classatec == 1 }">低电工牌</div> | |||
<div class="text1" @click="tabclick('2')" :class="{ colostyle: classatec == 2 }">离线工牌</div> | |||
</div> | |||
<div class="tabbox" v-if="classatec==1"> | |||
<el-table | |||
:header-cell-style="{background:'#F2F4F5'}" | |||
:data="tableData" | |||
height="320" | |||
style="width: 100%"> | |||
<el-table-column | |||
prop="name" | |||
label="顾问" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="num" | |||
label="电话" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="状态" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="date" | |||
label="电量" | |||
align="center"> | |||
</el-table-column> | |||
</el-table> | |||
</div> | |||
<div class="tabbox" v-if="classatec==2"> | |||
<el-table | |||
:header-cell-style="{background:'#F2F4F5'}" | |||
:data="tableData" | |||
height="320" | |||
style="width: 100%"> | |||
<el-table-column | |||
prop="name" | |||
label="顾问" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="num" | |||
label="电话" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="离线时间" | |||
align="center"> | |||
</el-table-column> | |||
</el-table> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</template> | |||
@@ -128,6 +221,9 @@ export default { | |||
name: 'Wel', | |||
data() { | |||
return { | |||
classatec:1, | |||
customtime:[], | |||
TimetoAhoose:0, | |||
tableData: [ | |||
{ | |||
date: '80%', | |||
@@ -211,8 +307,15 @@ export default { | |||
} | |||
}, | |||
methods: { | |||
tabclick(i){ | |||
this.classatec=i; | |||
}, | |||
tabtimetap(i){ | |||
this.TimetoAhoose=i | |||
}, | |||
confirmtime() { | |||
console.log(this.customtime) | |||
}, | |||
} | |||
} | |||
</script> | |||
@@ -227,6 +330,7 @@ export default { | |||
.page-container{ | |||
width: 100%; | |||
display: flex; | |||
margin-top: 16px; | |||
.pagechen{ | |||
flex: 1; | |||
min-width: 223px; | |||
@@ -273,6 +377,9 @@ export default { | |||
} | |||
} | |||
} | |||
.colostyle{ | |||
color: red; | |||
} | |||
.table-box{ | |||
width:98.8%; | |||
height: 400px; | |||
@@ -287,7 +394,7 @@ export default { | |||
text-indent: 30px; | |||
font-weight: 500; | |||
color: #32363D; | |||
border-bottom: 1px solid #E6E6E6; | |||
// border-bottom: 1px solid #E6E6E6; | |||
} | |||
.tabbox{ | |||
padding-left: 30px; | |||
@@ -301,4 +408,86 @@ export default { | |||
margin-bottom: 0; | |||
} | |||
} | |||
.app-box-san{ | |||
width: 100%; | |||
height: 400px; | |||
display: flex; | |||
margin-top: 15px; | |||
.zuo{ | |||
// flex: 1; | |||
height: 100%; | |||
margin-right: 15px; | |||
background: #FFFFFF; | |||
border-radius: 4px; | |||
width: 48.7%; | |||
.title{ | |||
width: 100%; | |||
height: 55px; | |||
// border-bottom: 1px solid #E0E0E0; | |||
display: flex; | |||
align-content: center; | |||
.text1{ | |||
flex: 2; | |||
line-height: 55px; | |||
text-indent: 20px; | |||
font-weight: 500; | |||
font-size: 16px; | |||
} | |||
} | |||
} | |||
.you{ | |||
height: 100%; | |||
width: 49%; | |||
background: #FFFFFF; | |||
border-radius: 4px; | |||
.title{ | |||
width: 100%; | |||
height: 55px; | |||
// border-bottom: 1px solid #E0E0E0; | |||
display: flex; | |||
align-content: center; | |||
.text1{ | |||
line-height: 55px; | |||
text-indent: 20px; | |||
font-weight: 500; | |||
font-size: 16px; | |||
} | |||
} | |||
} | |||
} | |||
.tophove { | |||
color: #ffffff; | |||
background: #2671e2; | |||
} | |||
.app-titel { | |||
width: 100%; | |||
display: flex; | |||
align-items: center; | |||
.titel-text { | |||
height: 100%; | |||
font-size: 16px; | |||
color: #32363d; | |||
} | |||
.toptimeqhuan { | |||
width: 190px; | |||
height: 32px; | |||
background: #ffffff; | |||
border-radius: 4px; | |||
border: 1px solid #e0e0e0; | |||
display: flex; | |||
align-items: center; | |||
overflow: hidden; | |||
margin-left: 20px; | |||
cursor: pointer; | |||
} | |||
.toptimeqhuan div { | |||
flex: 1; | |||
text-align: center; | |||
line-height: 32px; | |||
font-size: 14px; | |||
} | |||
} | |||
</style> |
@@ -0,0 +1,283 @@ | |||
<template> | |||
<div class="box-center"> | |||
<!-- 头 --> | |||
<div class="app-top"> | |||
<div class="app-titel"> | |||
<div | |||
class="label" | |||
style="color: #32363d; font-weight: 400; font-size: 16px" | |||
> | |||
楼盘选择: | |||
</div> | |||
<div> | |||
<el-select | |||
v-model="houseId" | |||
@change="houseChange" | |||
placeholder="请选择" | |||
> | |||
<el-option | |||
v-for="item in houseList" | |||
:key="item.id" | |||
:label="item.propertyName" | |||
:value="item.id" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button | |||
@click="infoadd()" | |||
style="background: #2671e2; color: #ffffff" | |||
>新增</el-button | |||
> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<el-table :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="houseName" label="楼盘名称" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="stageName" label="阶段名称" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="sort" label="顺序" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="remarks" label="备注" align="center"> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" width="150"> | |||
<template slot-scope="{ row }"> | |||
<el-button type="text" @click="edit(row)">编辑</el-button> | |||
<el-button type="text" @click="toinifodelete(row)">删除</el-button> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
</div> | |||
<el-dialog title="新增阶段" :visible.sync="dialogVisible" @close="clear"> | |||
<el-form | |||
:model="ruleForm" | |||
label-position="labelPosition" | |||
:rules="rules" | |||
ref="ruleForm" | |||
label-width="140px" | |||
style="width: 60%; margin: 0 auto" | |||
> | |||
<el-form-item label="阶段名称:" prop="stageName"> | |||
<el-input v-model="ruleForm.stageName"></el-input> | |||
</el-form-item> | |||
<el-form-item label="顺序:" prop="sort"> | |||
<el-input v-model="ruleForm.sort"></el-input> | |||
</el-form-item> | |||
<el-form-item label="备注:"> | |||
<el-input v-model="ruleForm.remarks"></el-input> | |||
</el-form-item> | |||
</el-form> | |||
<div slot="footer" class="dialog-footer"> | |||
<el-button @click="dialogVisible = false">取 消</el-button> | |||
<el-button type="primary" @click="addSure()">保存</el-button> | |||
</div> | |||
</el-dialog> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
data() { | |||
return { | |||
houseId: "", | |||
houseList: [], | |||
ruleForm: { | |||
stageName: "", // 公司名称 | |||
sort: "", // 联系人 | |||
remarks: "", // 联系人手机号 | |||
}, | |||
rules: { | |||
stageName: [ | |||
{ required: true, message: "请输入阶段名称:", trigger: "blur" }, | |||
], | |||
sort: [{ required: true, message: "请输入顺序", trigger: "blur" }], | |||
}, | |||
tableData: [], | |||
dialogVisible: false, | |||
editFlag: false, | |||
options: [], | |||
value: "", | |||
}; | |||
}, | |||
mounted() { | |||
// 获取楼盘列表 | |||
this.zkhousePage(); | |||
}, | |||
methods: { | |||
houseChange() { | |||
this.findbypage(); | |||
}, | |||
clear() { | |||
this.ruleForm = { | |||
stageName: "", // 公司名称 | |||
sort: "", // 联系人 | |||
remarks: "", // 联系人手机号 | |||
}; | |||
}, | |||
zkhousePage() { | |||
this.$api.api | |||
.findHouseByUser({ | |||
orgType: localStorage.getItem("orgType"), | |||
}) | |||
.then((res) => { | |||
// console.log(res) | |||
this.houseList = res.data; | |||
this.houseId = res.data[0].id; | |||
// 获取列表 | |||
this.findbypage(); | |||
}); | |||
}, | |||
findbypage() { | |||
let obj = { | |||
// current: this.currentPage, | |||
// size: this.size, | |||
houseId: this.houseId, | |||
}; | |||
this.$api.api.lifeTrackDefineList(obj).then((res) => { | |||
// console.log(res) | |||
this.tableData = res.data; | |||
// this.total = res.data.total; | |||
}); | |||
}, | |||
//删除 | |||
toinifodelete(item) { | |||
this.$confirm("此操作将永久删除, 是否继续?", "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
axios({ | |||
url: `/autoSR/lifeTrackDefine/del`, | |||
method: "post", | |||
data: { | |||
id: row.id, | |||
}, | |||
}).then((res) => { | |||
if (res.code == 0) { | |||
this.$message({ | |||
type: "success", | |||
message: "删除成功!", | |||
}); | |||
this.findbypage(); | |||
} else { | |||
this.$message.error(res.message); | |||
} | |||
}); | |||
}) | |||
.catch(() => { | |||
this.$message({ | |||
type: "info", | |||
message: "已取消删除", | |||
}); | |||
}); | |||
}, | |||
//新增 | |||
infoadd() { | |||
this.editFlag = false; | |||
this.dialogVisible = true; | |||
}, | |||
edit(row) { | |||
console.log(row); | |||
// console.log(this.time) | |||
this.ruleForm = Object.assign({}, row); | |||
// 获取地区选择数据,在这里对回显的时候进行操作,首先先获取一级省的数据 | |||
this.editFlag = true; | |||
this.dialogVisible = true; | |||
}, | |||
addSure() { | |||
// console.log(this.addressOptions) | |||
this.$refs.ruleForm.validate((valid) => { | |||
if (valid) { | |||
console.log(this.ruleForm); | |||
// 编辑 | |||
if (this.editFlag) { | |||
console.log("编辑"); | |||
this.$api.api.lifeTrackDefineUpdate(this.ruleForm).then((res) => { | |||
console.log(res); | |||
if (res.code == 0) { | |||
this.dialogVisible = false; | |||
this.$message.success("编辑成功"); | |||
this.zkhousePage(); | |||
} | |||
}); | |||
} else { | |||
// 添加 | |||
console.log("添加"); | |||
this.$api.api.lifeTrackDefineAdd(this.ruleForm).then((res) => { | |||
console.log(res); | |||
if (res.code == 0) { | |||
this.dialogVisible = false; | |||
this.$message.success("新增成功"); | |||
this.zkhousePage(); | |||
} | |||
}); | |||
} | |||
} | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped="scoped" lang="scss" > | |||
.box-center { | |||
width: 100%; | |||
padding: 15px; | |||
min-width: 1200px; | |||
padding-bottom: 100px; | |||
} | |||
.cen-tab { | |||
width: 100%; | |||
padding: 15px; | |||
min-height: 400px; | |||
background: #ffffff; | |||
margin-top: 15px; | |||
} | |||
.tophove { | |||
color: #ffffff; | |||
background: #2671e2; | |||
} | |||
.app-top { | |||
width: 100%; | |||
background: #ffffff; | |||
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04); | |||
border-radius: 4px; | |||
padding-top: 15px; | |||
padding-bottom: 15px; | |||
.app-titel { | |||
width: 100%; | |||
display: flex; | |||
align-items: center; | |||
.label { | |||
font-size: 14px; | |||
font-weight: 400; | |||
color: #32363d; | |||
line-height: 14px; | |||
margin-left: 15px; | |||
} | |||
.toptimeqhuan { | |||
height: 30px; | |||
background: #ffffff; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.toptimeqhuan div { | |||
padding-left: 20px; | |||
padding-right: 20px; | |||
text-align: center; | |||
line-height: 30px; | |||
font-size: 14px; | |||
margin-right: 15px; | |||
border-radius: 4px; | |||
border: 1px solid #e0e0e0; | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,14 +1,41 @@ | |||
<template> | |||
<div class="box-center"> | |||
<!-- 头 --> | |||
<div class="app-top"> | |||
<div class="app-titel"> | |||
<div class="label" style="color: #32363D;font-weight: 400;font-size: 16px;">楼盘选择:</div> | |||
<div class="app-titel"> | |||
<div | |||
class="label" | |||
style="color: #32363d; font-weight: 400; font-size: 16px" | |||
> | |||
楼盘选择: | |||
</div> | |||
<div> | |||
<el-select v-model="value" placeholder="请选择"> | |||
<el-select | |||
v-model="searchForm.projectId" | |||
@change="houseChange" | |||
placeholder="请选择" | |||
> | |||
<el-option | |||
v-for="item in options" | |||
v-for="item in houseList" | |||
:key="item.id" | |||
:label="item.propertyName" | |||
:value="item.id" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label" style="margin-left: 20px; margin-right: 20px"> | |||
<!-- 时间: --> | |||
<el-select | |||
v-model="searchForm.timeType" | |||
@change="houseChange" | |||
placeholder="请选择" | |||
style="width: 125px" | |||
> | |||
<el-option | |||
v-for="item in timeTypeList" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
@@ -16,53 +43,95 @@ | |||
</el-option> | |||
</el-select> | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label">最近接待:</div> | |||
<div class="toptimeqhuan"> | |||
<div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)"> | |||
全部 | |||
<div | |||
:class="{ tophove: searchForm.dateType == 0 }" | |||
@click="tabtimetap(0)" | |||
> | |||
今日 | |||
</div> | |||
<div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)"> | |||
15天内 | |||
<div | |||
:class="{ tophove: searchForm.dateType == 2 }" | |||
@click="tabtimetap(2)" | |||
> | |||
近7天 | |||
</div> | |||
<div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)"> | |||
30天内 | |||
<div | |||
:class="{ tophove: searchForm.dateType == 6 }" | |||
@click="tabtimetap(6)" | |||
> | |||
近30天 | |||
</div> | |||
</div> | |||
<div> | |||
<el-date-picker | |||
v-model="value1" | |||
<el-date-picker | |||
v-model="time" | |||
type="daterange" | |||
range-separator="至" | |||
class="div-inp" | |||
range-separator="-" | |||
start-placeholder="开始日期" | |||
end-placeholder="结束日期"> | |||
:default-time="['00:00:00', '23:59:59']" | |||
value-format="yyyy-MM-dd" | |||
end-placeholder="结束日期" | |||
@change="timeChange" | |||
> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label">客户名称:</div> | |||
<div> | |||
<el-input v-model="value"></el-input> | |||
<div class="div-lab"> | |||
<div class="label">客户名称:</div> | |||
<el-input class="div-inp" v-model="searchForm.name"></el-input> | |||
</div> | |||
<div class="label">客户画像:</div> | |||
<div > | |||
<el-select v-model="value" placeholder="请选择"> | |||
<div class="div-lab"> | |||
<div class="label">置业顾问:</div> | |||
<el-select | |||
v-model="searchForm.accountId" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
v-for="item in accountList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="label">客户等级:</div> | |||
<div> | |||
<el-select v-model="value" placeholder="请选择"> | |||
<div class="div-lab"> | |||
<div class="label">画像标签:</div> | |||
<el-select | |||
class="div-inp" | |||
multiple | |||
clearable | |||
collapse-tags | |||
v-model="searchForm.keywordsId" | |||
placeholder="请选择" | |||
> | |||
<el-option | |||
v-for="item in keywordsList" | |||
:key="item.keywordsId" | |||
:label="item.name" | |||
:value="item.keywordsId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="div-lab"> | |||
<div class="label">客户等级:</div> | |||
<el-select | |||
v-model="searchForm.level" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options2" | |||
v-for="item in levelList" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
@@ -70,14 +139,17 @@ | |||
</el-option> | |||
</el-select> | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label">置业顾问:</div> | |||
<div> | |||
<el-select v-model="value" placeholder="请选择"> | |||
<div class="div-lab"> | |||
<!-- 默认全部 --> | |||
<div class="label">客户阶段:</div> | |||
<el-select | |||
v-model="searchForm.markAdvisor" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options" | |||
v-for="item in options5" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
@@ -85,9 +157,15 @@ | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="label">接待时长:</div> | |||
<div > | |||
<el-select v-model="value" placeholder="请选择"> | |||
<div class="div-lab"> | |||
<div class="label">接待时长:</div> | |||
<el-select | |||
clearable | |||
v-model="searchForm.recDurationInterval" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options3" | |||
:key="item.value" | |||
@@ -97,9 +175,15 @@ | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="label">到访次数:</div> | |||
<div> | |||
<el-select v-model="value" placeholder="请选择"> | |||
<div class="div-lab"> | |||
<div class="label">到访次数:</div> | |||
<el-select | |||
v-model="searchForm.visitRecord" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options4" | |||
:key="item.value" | |||
@@ -111,113 +195,112 @@ | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"></div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label" style="color: #ffffff">筛选相关:</div> | |||
<div> | |||
<el-button style="background: #2671e2; color: #ffffff" | |||
>批量转交</el-button | |||
> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button style="background: #2671e2; color: #ffffff" | |||
<el-button style="background: #2671e2; color: #ffffff" @click="screen" | |||
>筛选</el-button | |||
> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button>清空筛选条件</el-button> | |||
<el-button @click="clearScreen">清空筛选条件</el-button> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<el-table | |||
:data="tableData" | |||
stripe | |||
height="400" | |||
@selection-change="handleSelectionChange" | |||
style="width: 100%"> | |||
<el-table-column | |||
type="selection" | |||
width="55"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="date" | |||
label="客户" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="name" | |||
label="联系电话" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="销售顾问" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="date" | |||
label="客户等级" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="name" | |||
label="客户阶段" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="到访次数" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="date" | |||
label="接待时长" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="name" | |||
label="销讲执行率" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="添加时间" | |||
align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="address" | |||
label="最近到访时间" | |||
align="center"> | |||
</el-table-column> | |||
<!-- scope --> | |||
<el-table-column label="操作" align="center"> | |||
<template slot-scope=""> | |||
<div style="color: #2671E2;">详情</div> | |||
<div style="color: #2671E2;">转交</div> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex;justify-content:flex-end;margin-top: 10px;"> | |||
<el-pagination | |||
@size-change="handleSizeChange" | |||
@current-change="handleCurrentChange" | |||
:current-page="currentPage4" | |||
:page-sizes="[100, 200, 300, 400]" | |||
:page-size="100" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="400"> | |||
</el-pagination> | |||
</div> | |||
<el-table :data="tableData" stripe style="width: 100%"> | |||
<el-table-column type="index" label="序号" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="name" label="客户" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="phone" | |||
label="联系电话" | |||
width="150" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="agentName" label="销售顾问" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="level" label="客户等级" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ | |||
row.level == 1 | |||
? "A" | |||
: row.level == 2 | |||
? "B" | |||
: row.level == 3 | |||
? "C" | |||
: row.level == 4 | |||
? "D" | |||
: "" | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="recording" label="客户阶段" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ | |||
row.recording == 0 | |||
? "没有录音" | |||
: row.recording == 1 | |||
? "部分录音" | |||
: "完整录音" | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="visitRecord" label="到访次数" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ row.visitRecord || "0" }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="mm" label="接待时长" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="fraction" label="销奖执行率" align="center"> | |||
<template slot-scope="{ row }"> {{ row.fraction || "0" }}% </template> | |||
</el-table-column> | |||
<el-table-column | |||
prop="createTime" | |||
label="添加时间" | |||
width="200" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="endAssignedTime" | |||
label="最近到访时间" | |||
width="200" | |||
align="center" | |||
> | |||
<template slot-scope="{ row }"> | |||
{{ row.endAssignedTime || "暂无" }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" width="250" fixed="right"> | |||
<template slot-scope="{ row }"> | |||
<el-button type="text">客户详情</el-button> | |||
<el-button type="text">接待详情</el-button> | |||
<!-- <el-button type="text">更多</el-button> --> | |||
<el-button type="text">转交</el-button> | |||
<el-button type="text">删除</el-button> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> | |||
<el-pagination | |||
@size-change="handleSizeChange" | |||
@current-change="handleCurrentChange" | |||
:current-page="currentPage" | |||
:page-sizes="[10, 20, 30, 40]" | |||
:page-size="size" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total" | |||
> | |||
</el-pagination> | |||
</div> | |||
</div> | |||
</div> | |||
</template> | |||
@@ -227,21 +310,12 @@ export default { | |||
data() { | |||
return { | |||
TimetoAhoose: 2, | |||
options: [ | |||
{ | |||
value: "1", | |||
label: "全部", | |||
}, | |||
{ | |||
value: "2", | |||
label: "服务器内", | |||
}, | |||
{ | |||
value: "3", | |||
label: "已失效", | |||
}, | |||
], | |||
options2: [ | |||
time: [], | |||
houseList: [], | |||
options: [], | |||
keywordsList: [], | |||
accountList: [], | |||
levelList: [ | |||
{ | |||
value: "1", | |||
label: "A", | |||
@@ -259,7 +333,7 @@ export default { | |||
label: "D", | |||
}, | |||
], | |||
options3: [ | |||
options3: [ | |||
{ | |||
value: "1", | |||
label: "0-15分钟", | |||
@@ -299,78 +373,208 @@ export default { | |||
label: "三次以上", | |||
}, | |||
], | |||
currentPage4:4, | |||
value: "", | |||
input: "", | |||
tableData: [ | |||
timeTypeList: [ | |||
{ | |||
date: "2016-05-03", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
value: "0", | |||
label: "添加时间", | |||
}, | |||
{ | |||
date: "2016-05-02", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
}, | |||
{ | |||
date: "2016-05-04", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
}, | |||
{ | |||
date: "2016-05-01", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
value: "1", | |||
label: "最近接待时间", | |||
}, | |||
], | |||
options5: [ | |||
{ | |||
date: "2016-05-08", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
value: null, | |||
label: "全部", | |||
}, | |||
{ | |||
date: "2016-05-06", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
value: "1", | |||
label: "已标注", | |||
}, | |||
{ | |||
date: "2016-05-07", | |||
name: "王小虎", | |||
address: " 1518 弄", | |||
value: "2", | |||
label: "未标注", | |||
}, | |||
], | |||
multipleSelection:[] | |||
currentPage: 1, | |||
size: 10, | |||
total: 10, | |||
value: "", | |||
input: "", | |||
tableData: [], | |||
tophove: "", | |||
type: "0", | |||
searchForm: { | |||
name: "", | |||
keywordsId: [], | |||
markAdvisor: null, | |||
level: "", | |||
recDurationInterval: "", | |||
visitRecord: "", | |||
staDate: "", | |||
endDate: "", | |||
dateType: "0", | |||
projectId: "", | |||
timeType: "0", | |||
}, | |||
}; | |||
}, | |||
mounted() {}, | |||
mounted() { | |||
this.tabtimetap(0); | |||
// 获取楼盘列表 | |||
this.zkhousePage(); | |||
}, | |||
methods: { | |||
//删除 | |||
toinifodelete(){ | |||
this.$confirm('此操作将永久删除, 是否继续?', '提示', { | |||
confirmButtonText: '确定', | |||
cancelButtonText: '取消', | |||
type: 'warning' | |||
}).then(() => { | |||
this.$message({ | |||
type: 'success', | |||
message: '删除成功!' | |||
}); | |||
}).catch(() => { | |||
this.$message({ | |||
type: 'info', | |||
message: '已取消删除' | |||
}); | |||
// 接待记录列表 | |||
findbypage() { | |||
let obj = { | |||
current: this.currentPage, | |||
size: this.size, | |||
...this.searchForm, | |||
}; | |||
obj.keywordIds = obj.keywordsId.join(","); | |||
(obj.dateType = this.searchForm.staDate | |||
? null | |||
: this.searchForm.dateType), | |||
this.$api.api.customerManagement(obj).then((res) => { | |||
// console.log(res) | |||
this.tableData = res.data.records; | |||
this.total = res.data.total; | |||
}); | |||
}, | |||
handleSelectionChange(val) { | |||
this.multipleSelection = val; | |||
}, | |||
handleSizeChange(val) { | |||
console.log(`每页 ${val} 条`); | |||
}, | |||
handleCurrentChange(val) { | |||
console.log(`当前页: ${val}`); | |||
clearScreen() { | |||
this.currentPage = 1; | |||
this.searchForm = { | |||
name: "", | |||
keywordsId: [], | |||
markAdvisor: null, | |||
level: "", | |||
recDurationInterval: "", | |||
visitRecord: "", | |||
staDate: "", | |||
endDate: "", | |||
dateType: "0", | |||
projectId: "", | |||
timeType: "0", | |||
projectId: this.houseList[0].id, | |||
}; | |||
this.findbypage(); | |||
}, | |||
houseChange() { | |||
this.findbypage(); | |||
this.findKeywords(); | |||
// 获取置业顾问列表 | |||
this.findUserListByHouseId(); | |||
}, | |||
timeChange(e) { | |||
this.searchForm.staDate = e[0]; | |||
this.searchForm.endDate = e[1]; | |||
this.houseChange(); | |||
}, | |||
screen() { | |||
this.currentPage = 1; | |||
console.log(this.searchForm); | |||
this.findbypage(); | |||
}, | |||
findKeywords() { | |||
this.$api.api | |||
.findKeywords({ | |||
dateType: this.searchForm.staDate ? null : this.searchForm.dateType, | |||
statDateStart: this.searchForm.staDate, | |||
statDateEnd: this.searchForm.endDate, | |||
projectId: this.searchForm.projectId, | |||
type: this.type, | |||
}) | |||
.then((res) => { | |||
console.log(res); | |||
this.keywordsList = res.data; | |||
}); | |||
}, | |||
zkhousePage() { | |||
this.$api.api | |||
.findHouseByUser({ | |||
orgType: localStorage.getItem("orgType"), | |||
}) | |||
.then((res) => { | |||
// console.log(res) | |||
this.houseList = res.data; | |||
this.searchForm.projectId = res.data[0].id; | |||
// 获取接待记录列表 | |||
this.findbypage(); | |||
// 获取客户意向 | |||
this.findKeywords(); | |||
// 获取置业顾问列表 | |||
this.findUserListByHouseId(); | |||
}); | |||
}, | |||
// 置业顾问列表 | |||
async findUserListByHouseId() { | |||
let result = await this.$api.api.findUserListByHouseId({ | |||
orgType: localStorage.getItem("orgType"), | |||
projectId: this.searchForm.projectId, | |||
}); | |||
console.log(result); | |||
this.accountList = result.data; | |||
}, | |||
handleSizeChange(val) { | |||
console.log(`每页 ${val} 条`); | |||
this.size = val; | |||
this.findbypage(); | |||
}, | |||
handleCurrentChange(val) { | |||
console.log(`当前页: ${val}`); | |||
this.currentPage = val; | |||
this.findbypage(); | |||
}, | |||
tabtimetap(idx) { | |||
this.searchForm.staDate = ""; | |||
this.searchForm.endDate = ""; | |||
// this.$set(this, "time", null); | |||
this.searchForm.dateType = idx; | |||
let num = 24 * 3600 * 1000; | |||
// 获取当前时间戳转换为日期格式 | |||
if (idx == 0) { | |||
num = 24 * 3600 * 1000 * 0; | |||
} | |||
if (idx == 2) { | |||
num = 24 * 3600 * 1000 * 6; | |||
} | |||
if (idx == 6) { | |||
num = 24 * 3600 * 1000 * 29; | |||
} | |||
this.time = [ | |||
this.timestampToTime(new Date().getTime() - num), | |||
this.timestampToTime(new Date().getTime()), | |||
]; | |||
}, | |||
timestampToTime(timestamp) { | |||
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 | |||
// var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 | |||
var yyyy = date.getFullYear() + "-"; | |||
var MM = | |||
(date.getMonth() + 1 < 10 | |||
? "0" + (date.getMonth() + 1) | |||
: date.getMonth() + 1) + "-"; | |||
// var dd = date.getDate() + ' '; | |||
var dd = | |||
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " "; | |||
// var HH = date.getHours() + ':'; | |||
// var HH = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':'; | |||
// | |||
// // var mm = date.getMinutes() + ':'; | |||
// var mm = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':'; | |||
// | |||
// // var ss = date.getSeconds(); | |||
// var ss = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds()); | |||
// return yyyy+MM+dd+HH+mm+ss; | |||
return yyyy + MM + dd; | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -382,10 +586,10 @@ export default { | |||
min-width: 1200px; | |||
padding-bottom: 100px; | |||
} | |||
.cen-tab{ | |||
.cen-tab { | |||
width: 100%; | |||
padding: 15px; | |||
background: #FFFFFF; | |||
background: #ffffff; | |||
margin-top: 15px; | |||
} | |||
.tophove { | |||
@@ -403,12 +607,14 @@ export default { | |||
width: 100%; | |||
display: flex; | |||
align-items: center; | |||
flex-wrap: wrap; | |||
.label { | |||
font-size: 14px; | |||
font-weight: 400; | |||
color: #32363d; | |||
line-height: 14px; | |||
line-height: 32px; | |||
margin-left: 15px; | |||
min-width: 100px; | |||
} | |||
.toptimeqhuan { | |||
height: 30px; | |||
@@ -428,4 +634,11 @@ export default { | |||
} | |||
} | |||
} | |||
.div-lab { | |||
display: flex; | |||
margin: 5px; | |||
} | |||
.div-inp { | |||
width: 250px; | |||
} | |||
</style> |
@@ -4,8 +4,8 @@ | |||
{{ currentAudioName || audioList[0].name }} | |||
<audio-player | |||
ref="audioPlayer" | |||
:show-prev-button="false" | |||
:show-next-button="false" | |||
:show-prev-button="true" | |||
:show-next-button="true" | |||
:audio-list="audioList.map((elm) => elm.url)" | |||
:before-play="handleBeforePlay" | |||
theme-color="#ff2929" | |||
@@ -26,10 +26,10 @@ export default { | |||
name: "音频1", | |||
url: "https://static.quhouse.com/audio/d7879fbcdfcc436189ce79e643e0aeb8.mp3", | |||
}, | |||
// { | |||
// name: '音频2', | |||
// url: 'https://www.0dutv.com/upload/dance/20200316/C719452E3C7834080007662021EA968E.mp3' | |||
// } | |||
{ | |||
name: '音频2', | |||
url: 'https://static.quhouse.com/record/dev/2021-09-26/1632648911706-56129.mp3' | |||
} | |||
], | |||
}; | |||
}, | |||
@@ -11,7 +11,7 @@ | |||
</div> | |||
<div> | |||
<el-select | |||
v-model="searchForm.houseId" | |||
v-model="searchForm.projectId" | |||
@change="houseChange" | |||
placeholder="请选择" | |||
> | |||
@@ -26,7 +26,7 @@ | |||
</div> | |||
</div> | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label">时间:</div> | |||
<div class="label" style="margin-left: 20px">时间:</div> | |||
<div class="toptimeqhuan"> | |||
<div | |||
:class="{ tophove: searchForm.dateType == 0 }" | |||
@@ -74,6 +74,7 @@ | |||
<el-select | |||
class="div-inp" | |||
multiple | |||
clearable | |||
collapse-tags | |||
v-model="searchForm.keywordsId" | |||
placeholder="请选择" | |||
@@ -92,6 +93,7 @@ | |||
<div class="label">录音类型:</div> | |||
<el-select | |||
v-model="searchForm.recording" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
@@ -107,20 +109,30 @@ | |||
<div class="div-lab"> | |||
<div class="label">置业顾问:</div> | |||
<el-select v-model="value" placeholder="请选择" class="div-inp"> | |||
<el-select | |||
v-model="searchForm.accountId" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
v-for="item in accountList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="div-lab"> | |||
<div class="label">标注顾问:</div> | |||
<el-select v-model="value" placeholder="请选择" class="div-inp"> | |||
<!-- 默认全部 --> | |||
<div class="label">标记客户:</div> | |||
<el-select | |||
v-model="searchForm.markAdvisor" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options5" | |||
:key="item.value" | |||
@@ -133,7 +145,12 @@ | |||
<div class="div-lab"> | |||
<div class="label">接待时长:</div> | |||
<el-select v-model="value" placeholder="请选择" class="div-inp"> | |||
<el-select | |||
clearable | |||
v-model="searchForm.recDurationInterval" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options3" | |||
:key="item.value" | |||
@@ -146,7 +163,12 @@ | |||
<div class="div-lab"> | |||
<div class="label">到访次数:</div> | |||
<el-select v-model="value" placeholder="请选择" class="div-inp"> | |||
<el-select | |||
v-model="searchForm.visitRecord" | |||
clearable | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options4" | |||
:key="item.value" | |||
@@ -163,21 +185,25 @@ | |||
<div class="app-titel" style="margin-top: 15px"> | |||
<div class="label" style="color: #ffffff">筛选相关:</div> | |||
<div style="margin-left: 20px"> | |||
<el-button style="background: #2671e2; color: #ffffff" | |||
@click="screen" | |||
<el-button style="background: #2671e2; color: #ffffff" @click="screen" | |||
>筛选</el-button | |||
> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button>清空筛选条件</el-button> | |||
<el-button @click="clearScreen">清空筛选条件</el-button> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<el-table :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="staTime" label="接待开始时间" align="center" width="200"> | |||
<el-table :data="tableData" stripe style="width: 100%"> | |||
<el-table-column | |||
prop="staTime" | |||
label="接待开始时间" | |||
align="center" | |||
width="200" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="agentName" label="顾问" align="center"> | |||
</el-table-column> | |||
@@ -186,20 +212,30 @@ | |||
<el-table-column prop="mm" label="录音时长" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="name" label="录音类型" align="center"> | |||
<el-table-column prop="recording" label="录音类型" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ | |||
row.recording == 0 | |||
? "没有录音" | |||
: row.recording == 1 | |||
? "部分录音" | |||
: "完整录音" | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="ownerName" label="标注顾问" align="center"> | |||
<el-table-column prop="markAdvisor" label="标记客户" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ row.markAdvisor == 0 ? "已标记" : "未标记" }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="keywords" label="客户意向" align="center"> | |||
<el-table-column prop="total" label="语义词触达次数" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="fraction" label="执行率" align="center"> | |||
<template slot-scope="{row}"> | |||
{{row.fraction||'0'}}% | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="address" label="禁忌执行率" align="center"> | |||
<template slot-scope="{ row }"> {{ row.fraction || "0" }}% </template> | |||
</el-table-column> | |||
<!-- <el-table-column prop="address" label="禁忌执行率" align="center"> | |||
</el-table-column> --> | |||
<!-- scope --> | |||
<el-table-column label="操作" align="center" width="200" fixed="right"> | |||
<template slot-scope="{ row }"> | |||
@@ -215,7 +251,7 @@ | |||
@current-change="handleCurrentChange" | |||
:current-page="currentPage" | |||
:page-sizes="[10, 20, 30, 40]" | |||
:page-size="10" | |||
:page-size="size" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total" | |||
> | |||
@@ -234,6 +270,7 @@ export default { | |||
houseList: [], | |||
options: [], | |||
keywordsList: [], | |||
accountList: [], | |||
recordingList: [ | |||
{ | |||
value: "0", | |||
@@ -289,6 +326,10 @@ export default { | |||
}, | |||
], | |||
options5: [ | |||
{ | |||
value: null, | |||
label: "全部", | |||
}, | |||
{ | |||
value: "1", | |||
label: "已标注", | |||
@@ -297,13 +338,9 @@ export default { | |||
value: "2", | |||
label: "未标注", | |||
}, | |||
{ | |||
value: "3", | |||
label: "全部", | |||
}, | |||
], | |||
currentPage: 1, | |||
size: "", | |||
size: 10, | |||
total: 10, | |||
value: "", | |||
input: "", | |||
@@ -312,19 +349,21 @@ export default { | |||
type: "0", | |||
searchForm: { | |||
name: "", | |||
keywordsId: "", | |||
recording:'', | |||
startWorking: "", | |||
endWorking: "", | |||
keywordsId: [], | |||
recording: "", | |||
markAdvisor: null, | |||
recDurationInterval: "", | |||
visitRecord: "", | |||
staDate: "", | |||
endDate: "", | |||
houseType: "", | |||
dateType: 0, | |||
houseId: "", | |||
agentName: "", | |||
operationalPeople: "", | |||
dateType: "0", | |||
projectId: "", | |||
}, | |||
}; | |||
}, | |||
mounted() { | |||
this.tabtimetap(0) | |||
// 获取楼盘列表 | |||
this.zkhousePage(); | |||
}, | |||
@@ -334,35 +373,59 @@ export default { | |||
let obj = { | |||
current: this.currentPage, | |||
size: this.size, | |||
type: 1, | |||
...this.searchForm, | |||
}; | |||
this.$api.api.findbypage(obj).then((res) => { | |||
// console.log(res) | |||
this.tableData = res.data.records; | |||
this.total = res.data.total; | |||
}); | |||
obj.keywordIds = obj.keywordsId.join(","); | |||
(obj.dateType = this.searchForm.staDate | |||
? null | |||
: this.searchForm.dateType), | |||
this.$api.api.findbypage(obj).then((res) => { | |||
// console.log(res) | |||
this.tableData = res.data.records; | |||
this.total = res.data.total; | |||
}); | |||
}, | |||
clearScreen() { | |||
this.currentPage = 1; | |||
this.searchForm = { | |||
name: "", | |||
keywordsId: [], | |||
recording: "", | |||
markAdvisor: null, | |||
recDurationInterval: "", | |||
visitRecord: "", | |||
staDate: "", | |||
endDate: "", | |||
houseType: "", | |||
dateType: "0", | |||
projectId: this.houseList[0].id, | |||
}; | |||
this.findbypage(); | |||
}, | |||
houseChange() { | |||
this.findbypage(); | |||
this.findKeywords(); | |||
// 获取置业顾问列表 | |||
this.findUserListByHouseId(); | |||
}, | |||
timeChange(e) { | |||
this.searchForm.startWorking = e[0]; | |||
this.searchForm.endWorking = e[1]; | |||
this.searchForm.staDate = e[0]; | |||
this.searchForm.endDate = e[1]; | |||
this.houseChange(); | |||
}, | |||
screen(){ | |||
this.size=1 | |||
screen() { | |||
this.currentPage = 1; | |||
console.log(this.searchForm); | |||
this.findbypage(); | |||
}, | |||
findKeywords() { | |||
this.$api.api | |||
.findKeywords({ | |||
dateType: this.searchForm.startWorking | |||
? null | |||
: this.searchForm.dateType, | |||
statDateStart: this.searchForm.startWorking, | |||
statDateEnd: this.searchForm.endWorking, | |||
houseId: this.searchForm.houseId, | |||
dateType: this.searchForm.staDate ? null : this.searchForm.dateType, | |||
statDateStart: this.searchForm.staDate, | |||
statDateEnd: this.searchForm.endDate, | |||
projectId: this.searchForm.projectId, | |||
type: this.type, | |||
}) | |||
.then((res) => { | |||
@@ -378,13 +441,24 @@ export default { | |||
.then((res) => { | |||
// console.log(res) | |||
this.houseList = res.data; | |||
this.searchForm.houseId = res.data[0].id; | |||
this.searchForm.projectId = res.data[0].id; | |||
// 获取接待记录列表 | |||
this.findbypage(); | |||
// 获取客户意向 | |||
this.findKeywords(); | |||
// 获取置业顾问列表 | |||
this.findUserListByHouseId(); | |||
}); | |||
}, | |||
// 置业顾问列表 | |||
async findUserListByHouseId() { | |||
let result = await this.$api.api.findUserListByHouseId({ | |||
orgType: localStorage.getItem("orgType"), | |||
projectId: this.searchForm.projectId, | |||
}); | |||
console.log(result); | |||
this.accountList = result.data; | |||
}, | |||
handleSizeChange(val) { | |||
console.log(`每页 ${val} 条`); | |||
this.size = val; | |||
@@ -392,11 +466,58 @@ export default { | |||
}, | |||
handleCurrentChange(val) { | |||
console.log(`当前页: ${val}`); | |||
his.currentPage = val; | |||
this.currentPage = val; | |||
this.findbypage(); | |||
}, | |||
tabtimetap(idx) { | |||
this.searchForm.staDate = ""; | |||
this.searchForm.endDate = ""; | |||
// this.$set(this, "time", null); | |||
this.searchForm.dateType = idx; | |||
let num = 24 * 3600 * 1000; | |||
// 获取当前时间戳转换为日期格式 | |||
if (idx == 0) { | |||
num = 24 * 3600 * 1000 * 0; | |||
} | |||
if (idx == 1) { | |||
num = 24 * 3600 * 1000 * 1; | |||
} | |||
if (idx == 2) { | |||
num = 24 * 3600 * 1000 * 7; | |||
} | |||
this.time = [ | |||
this.timestampToTime(new Date().getTime() - num), | |||
this.timestampToTime(new Date().getTime()), | |||
]; | |||
}, | |||
timestampToTime(timestamp) { | |||
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 | |||
// var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 | |||
var yyyy = date.getFullYear() + "-"; | |||
var MM = | |||
(date.getMonth() + 1 < 10 | |||
? "0" + (date.getMonth() + 1) | |||
: date.getMonth() + 1) + "-"; | |||
// var dd = date.getDate() + ' '; | |||
var dd = | |||
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " "; | |||
// var HH = date.getHours() + ':'; | |||
// var HH = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':'; | |||
// | |||
// // var mm = date.getMinutes() + ':'; | |||
// var mm = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':'; | |||
// | |||
// // var ss = date.getSeconds(); | |||
// var ss = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds()); | |||
// return yyyy+MM+dd+HH+mm+ss; | |||
return yyyy + MM + dd; | |||
}, | |||
}, | |||
}; | |||