@@ -824,6 +824,24 @@ export function keyWordsMatching(obj) { | |||||
}) | }) | ||||
} | } | ||||
// 修改销讲业务 | |||||
export function updateMarketingBusiness(obj) { | |||||
return request({ | |||||
url: 'autoSR/customer/updateMarketingBusiness', | |||||
method: 'post', | |||||
data: obj | |||||
}) | |||||
} | |||||
// 获取销讲业务模板 | |||||
export function marketingBusinessNoApi(params) { | |||||
return request({ | |||||
url: 'autoSR/customer/marketingBusiness', | |||||
method: 'get', | |||||
params: params | |||||
}) | |||||
} | |||||
//小程序权限 | //小程序权限 | ||||
export function geTmenu(query) { | export function geTmenu(query) { | ||||
@@ -63,7 +63,6 @@ axios.interceptors.response.use(res => { | |||||
NProgress.done() | NProgress.done() | ||||
const status = Number(res.status) || 200 | const status = Number(res.status) || 200 | ||||
const message = res.data.msg || errorCode[status] || errorCode['default'] | const message = res.data.msg || errorCode[status] || errorCode['default'] | ||||
// if (status === 401) { | |||||
if (status === 401 || status === 500) { | if (status === 401 || status === 500) { | ||||
idx++ | idx++ | ||||
if(idx==1){ | if(idx==1){ | ||||
@@ -27,6 +27,12 @@ | |||||
align-items: center; | align-items: center; | ||||
" | " | ||||
> | > | ||||
<div v-if="permissions.rec_index_checkoutSales"> | |||||
<div @click="showSalesBusiness = true;marketingBusiness=userinformationlist.marketingBusiness" style="display: flex; align-items: center;margin-right: 12px;"> | |||||
<span style="font-size: 14px; color: #333333; margin-left: 4px" | |||||
>切换销讲业务</span> | |||||
</div> | |||||
</div> | |||||
<div v-if="rec_index_addJ" @click="Addtodigest()"> | <div v-if="rec_index_addJ" @click="Addtodigest()"> | ||||
<div | <div | ||||
v-if="arr[aplayerId].status == 0" | v-if="arr[aplayerId].status == 0" | ||||
@@ -1271,6 +1277,40 @@ | |||||
<el-button type="primary" @click="editSure()">确认</el-button> | <el-button type="primary" @click="editSure()">确认</el-button> | ||||
</div> | </div> | ||||
</el-dialog> | </el-dialog> | ||||
<el-dialog | |||||
title="更换销讲业务" | |||||
:visible.sync="showSalesBusiness" | |||||
center | |||||
width="600px" | |||||
:close-on-click-modal="false" | |||||
> | |||||
<div style="display: flex;align-items: center;"> | |||||
<div class="titel-text" style="margin-left: 20px">销讲业务:</div> | |||||
<el-select | |||||
class="div-inp" | |||||
v-model="marketingBusiness" | |||||
clearable | |||||
filterable | |||||
collapse-tags | |||||
placeholder="请选择" | |||||
> | |||||
<el-option | |||||
v-for="item in templateList" | |||||
:key="item.id" | |||||
:label="item.templateName" | |||||
:value="item.id" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | |||||
<div slot="footer" class="dialog-footer"> | |||||
<el-button @click="showSalesBusiness = false">取消</el-button> | |||||
<el-button type="primary" @click="enterSalesBusiness()">确认</el-button> | |||||
</div> | |||||
</el-dialog> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -1288,6 +1328,10 @@ import { saveAs } from "file-saver"; | |||||
export default { | export default { | ||||
data() { | data() { | ||||
return { | return { | ||||
showSalesBusiness: false, // 更换销讲业务 | |||||
templateList: [], // 销讲业务列表 | |||||
marketingBusiness: '', // 选中的销讲业务 | |||||
keyWordsList: [], | keyWordsList: [], | ||||
imgArr: [ | imgArr: [ | ||||
"", | "", | ||||
@@ -1450,6 +1494,39 @@ export default { | |||||
}, | }, | ||||
methods: { | methods: { | ||||
// 确认切换销讲业务 | |||||
enterSalesBusiness() { | |||||
this.$api.http.updateMarketingBusiness({ | |||||
marketingBusiness: this.marketingBusiness, | |||||
id: this.fileId, | |||||
}).then(res=> { | |||||
console.log(res, 'cnmcm,cxcvnklfdkldflkfdalk') | |||||
if (res.code == 10000) { | |||||
this.$message.success(res.message); | |||||
this.init() | |||||
this.showSalesBusiness = false | |||||
} else { | |||||
this.$message.error(res.message); | |||||
} | |||||
}) | |||||
}, | |||||
// 销讲模板列表 | |||||
marketingBusinessNoApi() { | |||||
this.$api.http.marketingBusinessNoApi({ | |||||
houseId: localStorage.getItem("houseId"), | |||||
status: 0, // 固定传0 | |||||
}).then(res => { | |||||
console.log(res, 'asdklasjdkasljsalkd') | |||||
if (res.code == 10000) { | |||||
this.templateList = res.data | |||||
} | |||||
}) | |||||
}, | |||||
// 修改销讲业务模板 | |||||
updateMarketingBusiness() {}, | |||||
changeshow1(item) { | changeshow1(item) { | ||||
item.show = !item.show; | item.show = !item.show; | ||||
}, | }, | ||||
@@ -2137,6 +2214,7 @@ export default { | |||||
this.findCARKeywords(); | this.findCARKeywords(); | ||||
this.findBannedWordsByCusId(); | this.findBannedWordsByCusId(); | ||||
this.Getsthetransliteratecontent(); | this.Getsthetransliteratecontent(); | ||||
this.marketingBusinessNoApi(); | |||||
}); | }); | ||||
}, | }, | ||||
@@ -975,7 +975,7 @@ export default { | |||||
role: "", | role: "", | ||||
templateList: [], // 销讲业务列表 | templateList: [], // 销讲业务列表 | ||||
marketingBusiness: "", // 选中的销讲业务 | |||||
marketingBusiness: [], // 选中的销讲业务 | |||||
}; | }; | ||||
}, | }, | ||||
computed: { | computed: { | ||||
@@ -575,6 +575,7 @@ export default { | |||||
statDateEnd: this.statDateEnd, | statDateEnd: this.statDateEnd, | ||||
accountId: this.consultantlistid, | accountId: this.consultantlistid, | ||||
dateType: this.TimetoAhoose == 7 ? null : this.TimetoAhoose, | dateType: this.TimetoAhoose == 7 ? null : this.TimetoAhoose, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
exportMethodPost( | exportMethodPost( | ||||
"autoSR/cusStageStatistics/prohibitedStatisticsExport", | "autoSR/cusStageStatistics/prohibitedStatisticsExport", | ||||
@@ -746,6 +747,7 @@ export default { | |||||
userB: this.Pklistid, | userB: this.Pklistid, | ||||
type: 3, | type: 3, | ||||
marketingId: this.teamAllLevelid, | marketingId: this.teamAllLevelid, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 7) { | if (this.TimetoAhoose == 7) { | ||||
pamaet.dateType = null; | pamaet.dateType = null; | ||||
@@ -927,6 +929,7 @@ export default { | |||||
this.accountData4(); | this.accountData4(); | ||||
this.accountData5(); | this.accountData5(); | ||||
this.accountData6(); | this.accountData6(); | ||||
this.prohibitedStatistics() | |||||
}, | }, | ||||
// 获取一级 | // 获取一级 | ||||
@@ -54,6 +54,26 @@ | |||||
> | > | ||||
</el-date-picker> | </el-date-picker> | ||||
</div> | </div> | ||||
<div class="label" style="margin-left: 20px">销讲业务:</div> | |||||
<el-select | |||||
class="div-inp" | |||||
@change="packtaps" | |||||
v-model="marketingBusiness" | |||||
multiple | |||||
clearable | |||||
filterable | |||||
collapse-tags | |||||
placeholder="请选择" | |||||
> | |||||
<el-option | |||||
v-for="item in templateList" | |||||
:key="item.id" | |||||
:label="item.templateName" | |||||
:value="item.id" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -355,11 +375,7 @@ | |||||
</div> | </div> | ||||
<div | <div | ||||
v-if="Zxllist.length != 0" | v-if="Zxllist.length != 0" | ||||
style=" | |||||
min-height: 320px; | |||||
width: 94%; | |||||
margin: -18px auto 16px; | |||||
" | |||||
style="min-height: 320px; width: 94%; margin: -18px auto 16px" | |||||
> | > | ||||
<div class="jinbox" v-for="(item, i) in Zxllist" :key="i"> | <div class="jinbox" v-for="(item, i) in Zxllist" :key="i"> | ||||
<!-- <div class="jinboxtit">{{ item.name }}</div> --> | <!-- <div class="jinboxtit">{{ item.name }}</div> --> | ||||
@@ -469,11 +485,7 @@ | |||||
</div> | </div> | ||||
<div | <div | ||||
v-if="Zxllistchildren.length != 0" | v-if="Zxllistchildren.length != 0" | ||||
style=" | |||||
min-height: 320px; | |||||
width: 94%; | |||||
margin: -18px auto 16px; | |||||
" | |||||
style="min-height: 320px; width: 94%; margin: -18px auto 16px" | |||||
> | > | ||||
<div class="jinbox" v-for="(item, i) in Zxllistchildren" :key="i"> | <div class="jinbox" v-for="(item, i) in Zxllistchildren" :key="i"> | ||||
<!-- <div class="jinboxtit">{{ item.name }}</div> --> | <!-- <div class="jinboxtit">{{ item.name }}</div> --> | ||||
@@ -617,6 +629,9 @@ export default { | |||||
activeName: localStorage.getItem("activeName") || "0", // 顾问选项卡选中变量值 | activeName: localStorage.getItem("activeName") || "0", // 顾问选项卡选中变量值 | ||||
activeIndex: localStorage.getItem("activeIndex") || "", // 系统访问来源的下标 | activeIndex: localStorage.getItem("activeIndex") || "", // 系统访问来源的下标 | ||||
templateList: [], // 销讲业务列表 | |||||
marketingBusiness: [], // 选中的销讲业务 | |||||
}; | }; | ||||
}, | }, | ||||
watch: { | watch: { | ||||
@@ -641,6 +656,7 @@ export default { | |||||
this.overviewreceptionOverviewZxl(); | this.overviewreceptionOverviewZxl(); | ||||
this.overviewteamOrAccountSellingTrends(); | this.overviewteamOrAccountSellingTrends(); | ||||
this.overviewteamOrAccountSellingTrends1(); | this.overviewteamOrAccountSellingTrends1(); | ||||
this.getMarketingBusiness() | |||||
} else { | } else { | ||||
this.zkhousePage(); | this.zkhousePage(); | ||||
} | } | ||||
@@ -659,6 +675,17 @@ export default { | |||||
} | } | ||||
}, | }, | ||||
methods: { | methods: { | ||||
// 获取销讲业务 | |||||
getMarketingBusiness() { | |||||
this.$api.http | |||||
.marketingBusiness({ houseId: this.houseId }) | |||||
.then((res) => { | |||||
console.log(res); | |||||
if (res.code == 10000) { | |||||
this.templateList = res.data; | |||||
} | |||||
}); | |||||
}, | |||||
// 选项卡切换事件 | // 选项卡切换事件 | ||||
handleClick(tab) { | handleClick(tab) { | ||||
this.activeName = tab; | this.activeName = tab; | ||||
@@ -735,6 +762,7 @@ export default { | |||||
dateType: this.TimetoAhoose, | dateType: this.TimetoAhoose, | ||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -760,6 +788,7 @@ export default { | |||||
dateType: this.TimetoAhoose, | dateType: this.TimetoAhoose, | ||||
type: this.activeName, | type: this.activeName, | ||||
...this.fromobj, | ...this.fromobj, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1000,6 +1029,7 @@ export default { | |||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
flag: this.activeIndex, | flag: this.activeIndex, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1042,6 +1072,7 @@ export default { | |||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
deptId: this.departmentsri, | deptId: this.departmentsri, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1070,6 +1101,7 @@ export default { | |||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
accountId: this.consultantsri, | accountId: this.consultantsri, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1131,6 +1163,7 @@ export default { | |||||
dateType: this.TimetoAhoose, | dateType: this.TimetoAhoose, | ||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1149,6 +1182,7 @@ export default { | |||||
dateType: this.TimetoAhoose, | dateType: this.TimetoAhoose, | ||||
statDateStart: this.fromobj.statDateStart, | statDateStart: this.fromobj.statDateStart, | ||||
statDateEnd: this.fromobj.statDateEnd, | statDateEnd: this.fromobj.statDateEnd, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 8) { | if (this.TimetoAhoose == 8) { | ||||
parmo.dateType = null; | parmo.dateType = null; | ||||
@@ -1566,6 +1600,17 @@ export default { | |||||
this.systemAccessranking(); | this.systemAccessranking(); | ||||
this.overviewreceptionOverviewZxl(); | this.overviewreceptionOverviewZxl(); | ||||
}, | }, | ||||
packtaps() { | |||||
this.overviewreceptionOverview(); | |||||
this.overviewreceptionData(); | |||||
this.overviewteamOrAccountSellingTrends(); | |||||
this.overviewteamOrAccountSellingTrends1(); | |||||
this.overviewreceptionRanking(); | |||||
this.systemAccessranking(); | |||||
this.overviewreceptionOverviewZxl(); | |||||
}, | |||||
// 计算百分比 | // 计算百分比 | ||||
dealData(arr) { | dealData(arr) { | ||||
let num = Math.max.apply( | let num = Math.max.apply( | ||||
@@ -584,101 +584,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="you"> | |||||
<div class="title"> | |||||
<div class="text1">违禁话术雷达图</div> | |||||
</div> | |||||
<div | |||||
v-if="isshowcd == true" | |||||
id="main2" | |||||
style="width: 94%; margin: 0 auto" | |||||
></div> | |||||
<div class="nulllist" v-if="isshowcd == false"> | |||||
<div class="imgboxc"> | |||||
<img class="imgboxc-img" src="/img/nullnull.png" alt="" /> | |||||
<div class="nulltext" style="font-size: 14px">暂无数据</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="app-box-san"> | |||||
<div class="zuo" style="margin-right: 0"> | |||||
<div class="title"> | |||||
<div class="text1"> | |||||
违禁接待次数 | |||||
<el-tooltip | |||||
effect="light" | |||||
content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" | |||||
placement="bottom-end" | |||||
> | |||||
<i class="el-icon-question" style="color: #74a3ea"></i> | |||||
</el-tooltip> | |||||
</div> | |||||
<div class="text2"> | |||||
<el-select | |||||
@change="teamAllLeve2tap()" | |||||
style="width: 90%; margin: 0 auto" | |||||
v-model="teamAllLeve2id" | |||||
placeholder="请选择" | |||||
> | |||||
<el-option | |||||
v-for="item in teamAllLeve2" | |||||
:key="item.value" | |||||
:label="item.name" | |||||
:value="item.value" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | |||||
</div> | |||||
<div class="hejisan" style="margin: 0 auto"> | |||||
<div class="sanbox1" style="width: 50%"> | |||||
<div class="text1-1">团队总数</div> | |||||
<div class="text1-2">{{ teamobj5.num || 0 }}个</div> | |||||
</div> | |||||
<div class="sanbox1" style="width: 50%"> | |||||
<div class="text1-1">均值</div> | |||||
<div class="text1-2">{{ teamobj5.avg || 0 }}次</div> | |||||
</div> | |||||
</div> | |||||
<div | |||||
v-if="teamobj5.list.length != 0" | |||||
style="width: 94%; margin: 0 auto" | |||||
> | |||||
<div class="jinbox" v-for="(item, i) in teamobj5.list" :key="i"> | |||||
<div class="jinboxtit">{{ item.name }}</div> | |||||
<div class="jinbox-box"> | |||||
<div | |||||
class="boxbaifenbi" | |||||
:style="'width:' + item.zxl1 + '%;'" | |||||
></div> | |||||
</div> | |||||
<div class="jinboxbott">{{ item.zxl }}次</div> | |||||
</div> | |||||
</div> | |||||
<div class="nulllist" v-if="teamobj5.list.length == 0"> | |||||
<div class="imgboxc"> | |||||
<img class="imgboxc-img" src="/img/nullnull.png" alt="" /> | |||||
<div class="nulltext">暂无数据</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="you" v-if="false"> | |||||
<div class="title"> | |||||
<div class="text1">违禁话术雷达图</div> | |||||
</div> | |||||
<div | |||||
v-if="isshowcd == true" | |||||
id="main2" | |||||
style="width: 94%; margin: 0 auto" | |||||
></div> | |||||
<div class="nulllist" v-if="isshowcd == false"> | |||||
<div class="imgboxc"> | |||||
<img class="imgboxc-img" src="/img/nullnull.png" alt="" /> | |||||
<div class="nulltext">暂无数据</div> | |||||
</div> | |||||
</div> | |||||
<div class="you" style="opacity: 0;"> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -779,6 +685,7 @@ export default { | |||||
dateType: 0, | dateType: 0, | ||||
statDateStart: this.statDateStart, | statDateStart: this.statDateStart, | ||||
statDateEnd: this.statDateEnd, | statDateEnd: this.statDateEnd, | ||||
marketingBusiness: this.marketingBusiness.join(','), | |||||
}; | }; | ||||
if (this.TimetoAhoose == 7) { | if (this.TimetoAhoose == 7) { | ||||
pamaet.dateType = null; | pamaet.dateType = null; | ||||