|
@@ -28,11 +28,15 @@ |
|
|
" |
|
|
" |
|
|
> |
|
|
> |
|
|
<div v-if="permissions.rec_index_checkoutSales"> |
|
|
<div v-if="permissions.rec_index_checkoutSales"> |
|
|
<div @click="showSalesBusiness = true;marketingBusiness=userinformationlist.marketingBusiness" style="display: flex; align-items: center;margin-right: 12px;"> |
|
|
|
|
|
|
|
|
<div |
|
|
|
|
|
@click="showMethods" |
|
|
|
|
|
style="display: flex; align-items: center; margin-right: 12px" |
|
|
|
|
|
> |
|
|
<span style="font-size: 14px; color: #333333; margin-left: 4px" |
|
|
<span style="font-size: 14px; color: #333333; margin-left: 4px" |
|
|
>切换销讲业务</span> |
|
|
|
|
|
|
|
|
>切换销讲业务</span |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
<div v-if="rec_index_addJ && mg == 0" @click="Addtodigest()"> |
|
|
<div v-if="rec_index_addJ && mg == 0" @click="Addtodigest()"> |
|
|
<div |
|
|
<div |
|
|
v-if="arr[aplayerId].status == 0" |
|
|
v-if="arr[aplayerId].status == 0" |
|
@@ -616,17 +620,25 @@ |
|
|
style="padding: 0px 10px 10px 10px" |
|
|
style="padding: 0px 10px 10px 10px" |
|
|
> |
|
|
> |
|
|
<template v-if="prohibitedlist.guwen.length > 0"> |
|
|
<template v-if="prohibitedlist.guwen.length > 0"> |
|
|
<div style="font-size: 26x;padding: 12px 24px;">顾问</div> |
|
|
|
|
|
<div class="title1-12" v-for="(item,index) in prohibitedlist.guwen" :key='index'> |
|
|
|
|
|
{{index+1}}、{{item}} |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="prohibitedlist.kehu.length > 0"> |
|
|
|
|
|
<div style="font-size: 26px;padding: 12px 24px;">客户</div> |
|
|
|
|
|
<div class="title1-12" v-for="(item,index) in prohibitedlist.kehu" :key='index'> |
|
|
|
|
|
{{index+1}}、{{item}} |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
<div style="font-size: 26x; padding: 12px 24px">顾问</div> |
|
|
|
|
|
<div |
|
|
|
|
|
class="title1-12" |
|
|
|
|
|
v-for="(item, index) in prohibitedlist.guwen" |
|
|
|
|
|
:key="index" |
|
|
|
|
|
> |
|
|
|
|
|
{{ index + 1 }}、{{ item }} |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="prohibitedlist.kehu.length > 0"> |
|
|
|
|
|
<div style="font-size: 26px; padding: 12px 24px">客户</div> |
|
|
|
|
|
<div |
|
|
|
|
|
class="title1-12" |
|
|
|
|
|
v-for="(item, index) in prohibitedlist.kehu" |
|
|
|
|
|
:key="index" |
|
|
|
|
|
> |
|
|
|
|
|
{{ index + 1 }}、{{ item }} |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 需求挖掘 --> |
|
|
<!-- 需求挖掘 --> |
|
|
<div v-if="zhixingcenterindex == 2" class="wajueBox"> |
|
|
<div v-if="zhixingcenterindex == 2" class="wajueBox"> |
|
@@ -649,171 +661,170 @@ |
|
|
style="height: calc(70vh - 230px)" |
|
|
style="height: calc(70vh - 230px)" |
|
|
v-if="zhixingcenterindex == 2" |
|
|
v-if="zhixingcenterindex == 2" |
|
|
> |
|
|
> |
|
|
<div style="flex-grow: 1;"> |
|
|
|
|
|
|
|
|
|
|
|
<div |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
v-for="(item, index) in keyWordsList" |
|
|
|
|
|
:key="index" |
|
|
|
|
|
> |
|
|
|
|
|
<!-- 有二级--> |
|
|
|
|
|
<div v-if="item.children.length"> |
|
|
|
|
|
<div |
|
|
|
|
|
class="rateboxcenttit" |
|
|
|
|
|
@click="changeshow1(item)" |
|
|
|
|
|
style="cursor: pointer" |
|
|
|
|
|
> |
|
|
|
|
|
<div style="flex: 1">{{ item.name }}</div> |
|
|
|
|
|
<div style="flex: 1">执行{{ item.fraction || 0 }}%</div> |
|
|
|
|
|
|
|
|
<div style="flex-grow: 1"> |
|
|
|
|
|
<div |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
v-for="(item, index) in keyWordsList" |
|
|
|
|
|
:key="index" |
|
|
|
|
|
> |
|
|
|
|
|
<!-- 有二级--> |
|
|
|
|
|
<div v-if="item.children.length"> |
|
|
<div |
|
|
<div |
|
|
style="flex: 1" |
|
|
|
|
|
v-if="item.keywordsList && item.keywordsList.length" |
|
|
|
|
|
|
|
|
class="rateboxcenttit" |
|
|
|
|
|
@click="changeshow1(item)" |
|
|
|
|
|
style="cursor: pointer" |
|
|
> |
|
|
> |
|
|
已匹配({{ item.keywordsList && item.keywordsList.length }}) |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="flex: 1" v-else>未匹配</div> |
|
|
|
|
|
<div style="flex: 0 0 18px"> |
|
|
|
|
|
<i |
|
|
|
|
|
v-if="item.show" |
|
|
|
|
|
style="font-size: 18px" |
|
|
|
|
|
class="el-icon-arrow-up" |
|
|
|
|
|
></i> |
|
|
|
|
|
<i |
|
|
|
|
|
v-else |
|
|
|
|
|
style="font-size: 18px" |
|
|
|
|
|
class="el-icon-arrow-down" |
|
|
|
|
|
></i> |
|
|
|
|
|
|
|
|
<div style="flex: 1">{{ item.name }}</div> |
|
|
|
|
|
<div style="flex: 1">执行{{ item.fraction || 0 }}%</div> |
|
|
|
|
|
<div |
|
|
|
|
|
style="flex: 1" |
|
|
|
|
|
v-if="item.keywordsList && item.keywordsList.length" |
|
|
|
|
|
> |
|
|
|
|
|
已匹配({{ item.keywordsList && item.keywordsList.length }}) |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="flex: 1" v-else>未匹配</div> |
|
|
|
|
|
<div style="flex: 0 0 18px"> |
|
|
|
|
|
<i |
|
|
|
|
|
v-if="item.show" |
|
|
|
|
|
style="font-size: 18px" |
|
|
|
|
|
class="el-icon-arrow-up" |
|
|
|
|
|
></i> |
|
|
|
|
|
<i |
|
|
|
|
|
v-else |
|
|
|
|
|
style="font-size: 18px" |
|
|
|
|
|
class="el-icon-arrow-down" |
|
|
|
|
|
></i> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div |
|
|
|
|
|
v-if="item.show" |
|
|
|
|
|
v-for="(subitem, i) in item.children" |
|
|
|
|
|
:key="i" |
|
|
|
|
|
> |
|
|
|
|
|
<el-tooltip placement="bottom" effect="light"> |
|
|
|
|
|
<div slot="content"> |
|
|
|
|
|
<div class="huashu-title"> |
|
|
|
|
|
客户标签:{{ getKeywordsList(subitem.keywordsList) }} |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="huashu-title">需求挖掘话术</div> |
|
|
|
|
|
<div class="huashu"> |
|
|
|
|
|
<div |
|
|
|
|
|
class="huashu-item" |
|
|
|
|
|
v-for="(question, questionindex) in subitem.modelList" |
|
|
|
|
|
:key="questionindex" |
|
|
|
|
|
> |
|
|
|
|
|
<i |
|
|
|
|
|
class="el-icon-success" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
></i> |
|
|
|
|
|
|
|
|
<div |
|
|
|
|
|
v-if="item.show" |
|
|
|
|
|
v-for="(subitem, i) in item.children" |
|
|
|
|
|
:key="i" |
|
|
|
|
|
> |
|
|
|
|
|
<el-tooltip placement="bottom" effect="light"> |
|
|
|
|
|
<div slot="content"> |
|
|
|
|
|
<div class="huashu-title"> |
|
|
|
|
|
客户标签:{{ getKeywordsList(subitem.keywordsList) }} |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="huashu-title">需求挖掘话术</div> |
|
|
|
|
|
<div class="huashu"> |
|
|
<div |
|
|
<div |
|
|
class="text" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color:#666' |
|
|
|
|
|
" |
|
|
|
|
|
|
|
|
class="huashu-item" |
|
|
|
|
|
v-for="(question, questionindex) in subitem.modelList" |
|
|
|
|
|
:key="questionindex" |
|
|
> |
|
|
> |
|
|
{{ |
|
|
|
|
|
question.showFormatExpression || |
|
|
|
|
|
question.keywordsName |
|
|
|
|
|
}} |
|
|
|
|
|
|
|
|
<i |
|
|
|
|
|
class="el-icon-success" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
></i> |
|
|
|
|
|
<div |
|
|
|
|
|
class="text" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color:#666' |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
|
|
|
{{ |
|
|
|
|
|
question.showFormatExpression || |
|
|
|
|
|
question.keywordsName |
|
|
|
|
|
}} |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="rateboxcent"> |
|
|
|
|
|
<div>{{ subitem.name }}</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<div |
|
|
|
|
|
class="ratebutton" |
|
|
|
|
|
v-if="subitem.isAskQuestions == 0" |
|
|
|
|
|
> |
|
|
|
|
|
已执行 |
|
|
|
|
|
|
|
|
<div class="rateboxcent"> |
|
|
|
|
|
<div>{{ subitem.name }}</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<div |
|
|
|
|
|
class="ratebutton" |
|
|
|
|
|
v-if="subitem.isAskQuestions == 0" |
|
|
|
|
|
> |
|
|
|
|
|
已执行 |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="ratebutton1" v-else>未执行</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="ratebutton1" v-else>未执行</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<div class="ratebutton" v-if="subitem.selected == 0"> |
|
|
|
|
|
已匹配 |
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
<div class="ratebutton" v-if="subitem.selected == 0"> |
|
|
|
|
|
已匹配 |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="ratebutton1" v-else>未匹配</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="ratebutton1" v-else>未匹配</div> |
|
|
|
|
|
|
|
|
<div style="flex: 0 0 18px"></div> |
|
|
</div> |
|
|
</div> |
|
|
<div style="flex: 0 0 18px"></div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-tooltip> |
|
|
|
|
|
|
|
|
</el-tooltip> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<!-- 只有一级标签 --> |
|
|
|
|
|
<div v-if="item.children.length == 0"> |
|
|
|
|
|
<div class="rateboxcenttit" style="cursor: pointer"> |
|
|
|
|
|
<el-tooltip placement="bottom" effect="light"> |
|
|
|
|
|
<div slot="content"> |
|
|
|
|
|
<div class="huashu-title"> |
|
|
|
|
|
客户标签:{{ getKeywordsList(item.keywordsList) }} |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="huashu-title">需求挖掘话术</div> |
|
|
|
|
|
<div class="huashu"> |
|
|
|
|
|
<div |
|
|
|
|
|
class="huashu-item" |
|
|
|
|
|
v-for="(question, index) in item.modelList" |
|
|
|
|
|
:key="index" |
|
|
|
|
|
> |
|
|
|
|
|
<i |
|
|
|
|
|
class="el-icon-success" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
></i> |
|
|
|
|
|
|
|
|
<!-- 只有一级标签 --> |
|
|
|
|
|
<div v-if="item.children.length == 0"> |
|
|
|
|
|
<div class="rateboxcenttit" style="cursor: pointer"> |
|
|
|
|
|
<el-tooltip placement="bottom" effect="light"> |
|
|
|
|
|
<div slot="content"> |
|
|
|
|
|
<div class="huashu-title"> |
|
|
|
|
|
客户标签:{{ getKeywordsList(item.keywordsList) }} |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="huashu-title">需求挖掘话术</div> |
|
|
|
|
|
<div class="huashu"> |
|
|
<div |
|
|
<div |
|
|
class="text" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
|
|
|
class="huashu-item" |
|
|
|
|
|
v-for="(question, index) in item.modelList" |
|
|
|
|
|
:key="index" |
|
|
> |
|
|
> |
|
|
{{ |
|
|
|
|
|
question.showFormatExpression || |
|
|
|
|
|
question.keywordsName |
|
|
|
|
|
}} |
|
|
|
|
|
|
|
|
<i |
|
|
|
|
|
class="el-icon-success" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
></i> |
|
|
|
|
|
<div |
|
|
|
|
|
class="text" |
|
|
|
|
|
:style=" |
|
|
|
|
|
question.isAskQuestions == 0 |
|
|
|
|
|
? 'color: #409eff' |
|
|
|
|
|
: question.isAskQuestions == 2 |
|
|
|
|
|
? 'color: orange' |
|
|
|
|
|
: 'color: #666' |
|
|
|
|
|
" |
|
|
|
|
|
> |
|
|
|
|
|
{{ |
|
|
|
|
|
question.showFormatExpression || |
|
|
|
|
|
question.keywordsName |
|
|
|
|
|
}} |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div style="display: flex"> |
|
|
|
|
|
<div style="flex: 1">{{ item.name }}</div> |
|
|
|
|
|
<div style="flex: 1">执行{{ item.fraction || 0 }}%</div> |
|
|
|
|
|
<div |
|
|
|
|
|
style="flex: 1" |
|
|
|
|
|
v-if="item.keywordsList && item.keywordsList.length" |
|
|
|
|
|
> |
|
|
|
|
|
已匹配({{ |
|
|
|
|
|
item.keywordsList && item.keywordsList.length |
|
|
|
|
|
}}) |
|
|
|
|
|
|
|
|
<div style="display: flex"> |
|
|
|
|
|
<div style="flex: 1">{{ item.name }}</div> |
|
|
|
|
|
<div style="flex: 1">执行{{ item.fraction || 0 }}%</div> |
|
|
|
|
|
<div |
|
|
|
|
|
style="flex: 1" |
|
|
|
|
|
v-if="item.keywordsList && item.keywordsList.length" |
|
|
|
|
|
> |
|
|
|
|
|
已匹配({{ |
|
|
|
|
|
item.keywordsList && item.keywordsList.length |
|
|
|
|
|
}}) |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="flex: 1" v-else>未匹配</div> |
|
|
|
|
|
<div style="flex: 0 0 18px"></div> |
|
|
</div> |
|
|
</div> |
|
|
<div style="flex: 1" v-else>未匹配</div> |
|
|
|
|
|
<div style="flex: 0 0 18px"></div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-tooltip> |
|
|
|
|
|
|
|
|
</el-tooltip> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mydesc" v-if="zhixingcenterindex == 2"> |
|
|
<div class="mydesc" v-if="zhixingcenterindex == 2"> |
|
|
<span style="color: #409eff" |
|
|
<span style="color: #409eff" |
|
|
><i class="el-icon-success" style="margin-right: 5px"></i |
|
|
><i class="el-icon-success" style="margin-right: 5px"></i |
|
@@ -893,7 +904,7 @@ |
|
|
> |
|
|
> |
|
|
<div |
|
|
<div |
|
|
class="viewclace" |
|
|
class="viewclace" |
|
|
:class="{bosdttom: item.checked}" |
|
|
|
|
|
|
|
|
:class="{ bosdttom: item.checked }" |
|
|
@click="biaojixuanze(item)" |
|
|
@click="biaojixuanze(item)" |
|
|
v-for="(item, index) in tablists" |
|
|
v-for="(item, index) in tablists" |
|
|
:key="index" |
|
|
:key="index" |
|
@@ -963,12 +974,20 @@ |
|
|
> |
|
|
> |
|
|
<div style="width: 80%; margin: 0 auto; font-size: 30px"> |
|
|
<div style="width: 80%; margin: 0 auto; font-size: 30px"> |
|
|
<div> |
|
|
<div> |
|
|
<el-radio v-model="effectiveindex" :label="1">没电指派无录音</el-radio> |
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="2">离线指派无录音</el-radio> |
|
|
|
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="1" |
|
|
|
|
|
>没电指派无录音</el-radio |
|
|
|
|
|
> |
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="2" |
|
|
|
|
|
>离线指派无录音</el-radio |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<el-radio v-model="effectiveindex" :label="3">系统测试误操作</el-radio> |
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="4">非接访场景录音</el-radio> |
|
|
|
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="3" |
|
|
|
|
|
>系统测试误操作</el-radio |
|
|
|
|
|
> |
|
|
|
|
|
<el-radio v-model="effectiveindex" :label="4" |
|
|
|
|
|
>非接访场景录音</el-radio |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<el-radio v-model="effectiveindex" :label="5">其他</el-radio> |
|
|
<el-radio v-model="effectiveindex" :label="5">其他</el-radio> |
|
@@ -1286,8 +1305,6 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
<el-dialog |
|
|
title="更换销讲业务" |
|
|
title="更换销讲业务" |
|
|
:visible.sync="showSalesBusiness" |
|
|
:visible.sync="showSalesBusiness" |
|
@@ -1295,7 +1312,17 @@ |
|
|
width="600px" |
|
|
width="600px" |
|
|
:close-on-click-modal="false" |
|
|
:close-on-click-modal="false" |
|
|
> |
|
|
> |
|
|
<div style="display: flex;align-items: center;"> |
|
|
|
|
|
|
|
|
<div style="display: flex; align-items: center; height: 40px"> |
|
|
|
|
|
<div class="titel-text" style="margin-left: 20px">模板类型:</div> |
|
|
|
|
|
<el-radio-group |
|
|
|
|
|
v-model="templateStatus" |
|
|
|
|
|
@change="marketingBusinessNoApi" |
|
|
|
|
|
> |
|
|
|
|
|
<el-radio :label="0">首访模板</el-radio> |
|
|
|
|
|
<el-radio :label="1">复访模板</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="display: flex; align-items: center"> |
|
|
<div class="titel-text" style="margin-left: 20px">销讲业务:</div> |
|
|
<div class="titel-text" style="margin-left: 20px">销讲业务:</div> |
|
|
<el-select |
|
|
<el-select |
|
|
class="div-inp" |
|
|
class="div-inp" |
|
@@ -1303,6 +1330,7 @@ |
|
|
clearable |
|
|
clearable |
|
|
filterable |
|
|
filterable |
|
|
collapse-tags |
|
|
collapse-tags |
|
|
|
|
|
:disabled="templateStatus != 0 && templateStatus != 1" |
|
|
placeholder="请选择" |
|
|
placeholder="请选择" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
@@ -1338,7 +1366,7 @@ export default { |
|
|
return { |
|
|
return { |
|
|
showSalesBusiness: false, // 更换销讲业务 |
|
|
showSalesBusiness: false, // 更换销讲业务 |
|
|
templateList: [], // 销讲业务列表 |
|
|
templateList: [], // 销讲业务列表 |
|
|
marketingBusiness: '', // 选中的销讲业务 |
|
|
|
|
|
|
|
|
marketingBusiness: "", // 选中的销讲业务 |
|
|
|
|
|
|
|
|
keyWordsList: [], |
|
|
keyWordsList: [], |
|
|
imgArr: [ |
|
|
imgArr: [ |
|
@@ -1428,13 +1456,14 @@ export default { |
|
|
searchText: "", |
|
|
searchText: "", |
|
|
tablists: [], // 角色列表 |
|
|
tablists: [], // 角色列表 |
|
|
roleSelectArr: [0], // 当前选中的角色标记点 |
|
|
roleSelectArr: [0], // 当前选中的角色标记点 |
|
|
consultant: '', // 多顾问角色 |
|
|
|
|
|
|
|
|
consultant: "", // 多顾问角色 |
|
|
|
|
|
|
|
|
|
|
|
templateStatus: 0, // 选择的模板类型 |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
|
|
|
|
|
|
// 添加日志 |
|
|
// 添加日志 |
|
|
this.addOperatingLog() |
|
|
|
|
|
|
|
|
this.addOperatingLog(); |
|
|
this.rec_index_flag = this.permissions["rec_index_flag"]; //标记顾问 |
|
|
this.rec_index_flag = this.permissions["rec_index_flag"]; //标记顾问 |
|
|
this.rec_index_addJ = this.permissions["rec_index_addJ"]; //加精 |
|
|
this.rec_index_addJ = this.permissions["rec_index_addJ"]; //加精 |
|
|
this.rec_index_wrongword = this.permissions["rec_index_wrongword"]; //常错词 |
|
|
this.rec_index_wrongword = this.permissions["rec_index_wrongword"]; //常错词 |
|
@@ -1509,38 +1538,52 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
// 切换销讲业务 |
|
|
|
|
|
showMethods() { |
|
|
|
|
|
this.showSalesBusiness = true; |
|
|
|
|
|
this.marketingBusiness = this.userinformationlist.marketingBusiness; |
|
|
|
|
|
|
|
|
|
|
|
this.marketingBusinessNoApi(); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 添加日志 |
|
|
// 添加日志 |
|
|
addOperatingLog() { |
|
|
addOperatingLog() { |
|
|
this.$api.http.addOperatingLog({ logType: 10 }); |
|
|
this.$api.http.addOperatingLog({ logType: 10 }); |
|
|
}, |
|
|
}, |
|
|
// 确认切换销讲业务 |
|
|
// 确认切换销讲业务 |
|
|
enterSalesBusiness() { |
|
|
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); |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
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() { |
|
|
marketingBusinessNoApi() { |
|
|
this.$api.http.marketingBusinessNoApi({ |
|
|
|
|
|
houseId: localStorage.getItem("houseId"), |
|
|
|
|
|
|
|
|
this.templateList = [] |
|
|
|
|
|
let obj = { |
|
|
|
|
|
houseId: |
|
|
|
|
|
localStorage.getItem("houseId") || this.userinformationlist.projectId, |
|
|
status: 0, // 固定传0 |
|
|
status: 0, // 固定传0 |
|
|
}).then(res => { |
|
|
|
|
|
console.log(res, 'asdklasjdkasljsalkd') |
|
|
|
|
|
|
|
|
templateStatus: this.templateStatus, |
|
|
|
|
|
}; |
|
|
|
|
|
this.$api.http.marketingBusinessNoApi(obj).then((res) => { |
|
|
|
|
|
console.log(res, "asdklasjdkasljsalkd"); |
|
|
if (res.code == 10000) { |
|
|
if (res.code == 10000) { |
|
|
this.templateList = res.data |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
this.templateList = res.data; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// 修改销讲业务模板 |
|
|
// 修改销讲业务模板 |
|
@@ -2018,7 +2061,9 @@ export default { |
|
|
id: this.fileId, |
|
|
id: this.fileId, |
|
|
validInvalid: 0, |
|
|
validInvalid: 0, |
|
|
invalidReason: "", |
|
|
invalidReason: "", |
|
|
houseId: localStorage.getItem("houseId"), |
|
|
|
|
|
|
|
|
houseId: |
|
|
|
|
|
localStorage.getItem("houseId") || |
|
|
|
|
|
this.userinformationlist.projectId, |
|
|
}) |
|
|
}) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
this.$message({ |
|
|
this.$message({ |
|
@@ -2056,7 +2101,9 @@ export default { |
|
|
validInvalid: 1, |
|
|
validInvalid: 1, |
|
|
invalidReason: Number(this.effectiveindex), |
|
|
invalidReason: Number(this.effectiveindex), |
|
|
invalidNote: this.effectiveitext, |
|
|
invalidNote: this.effectiveitext, |
|
|
houseId: localStorage.getItem("houseId"), |
|
|
|
|
|
|
|
|
houseId: |
|
|
|
|
|
localStorage.getItem("houseId") || |
|
|
|
|
|
this.userinformationlist.projectId, |
|
|
}) |
|
|
}) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
this.dialogFormVisible13 = false; |
|
|
this.dialogFormVisible13 = false; |
|
@@ -2183,7 +2230,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
//标记 |
|
|
//标记 |
|
|
biaoji() { |
|
|
biaoji() { |
|
|
this.tablists = this.tablist.slice(1, this.tablist.length) |
|
|
|
|
|
|
|
|
this.tablists = this.tablist.slice(1, this.tablist.length); |
|
|
this.dialogFormVisible11 = true; |
|
|
this.dialogFormVisible11 = true; |
|
|
}, |
|
|
}, |
|
|
//取消标记 |
|
|
//取消标记 |
|
@@ -2192,36 +2239,40 @@ export default { |
|
|
this.roleindexbiaoji = this.dshfkjsdkksodofydwfkhwdfkjh; |
|
|
this.roleindexbiaoji = this.dshfkjsdkksodofydwfkhwdfkjh; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置顾问 |
|
|
|
|
|
setConsultant() { |
|
|
|
|
|
let arr = this.consultant.split(',') || [] |
|
|
|
|
|
console.log(this.consultant,arr) |
|
|
|
|
|
this.tablist.map(obj => { |
|
|
|
|
|
if (arr.includes(obj.speaker.toString())) { |
|
|
|
|
|
obj.name += '顾问' |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 设置顾问 |
|
|
|
|
|
setConsultant() { |
|
|
|
|
|
let arr = this.consultant.split(",") || []; |
|
|
|
|
|
console.log(this.consultant, arr); |
|
|
|
|
|
this.tablist.map((obj) => { |
|
|
|
|
|
if (arr.includes(obj.speaker.toString())) { |
|
|
|
|
|
obj.name += "顾问"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 标记选择 |
|
|
// 标记选择 |
|
|
biaojixuanze(item) { |
|
|
biaojixuanze(item) { |
|
|
item.checked = !item.checked |
|
|
|
|
|
|
|
|
item.checked = !item.checked; |
|
|
}, |
|
|
}, |
|
|
//确认标记 |
|
|
//确认标记 |
|
|
subMsg11() { |
|
|
subMsg11() { |
|
|
|
|
|
|
|
|
let arr = this.tablists.filter(item => item.checked) |
|
|
|
|
|
|
|
|
let arr = this.tablists.filter((item) => item.checked); |
|
|
if (arr.lenght == 0) { |
|
|
if (arr.lenght == 0) { |
|
|
this.$message.error('请选择标记角色~'); |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.$message.error("请选择标记角色~"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
this.$api.http |
|
|
this.$api.http |
|
|
.markConsultant({ |
|
|
.markConsultant({ |
|
|
speaker: arr.map(item => { return item.speaker }).join(","), |
|
|
|
|
|
|
|
|
speaker: arr |
|
|
|
|
|
.map((item) => { |
|
|
|
|
|
return item.speaker; |
|
|
|
|
|
}) |
|
|
|
|
|
.join(","), |
|
|
id: this.isd, |
|
|
id: this.isd, |
|
|
customerId: this.fileId, |
|
|
customerId: this.fileId, |
|
|
houseId: localStorage.getItem("houseId"), |
|
|
|
|
|
|
|
|
houseId: |
|
|
|
|
|
localStorage.getItem("houseId") || |
|
|
|
|
|
this.userinformationlist.projectId, |
|
|
}) |
|
|
}) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
this.dialogFormVisible11 = false; |
|
|
this.dialogFormVisible11 = false; |
|
@@ -2253,7 +2304,6 @@ export default { |
|
|
this.findCARKeywords(); |
|
|
this.findCARKeywords(); |
|
|
this.findBannedWordsByCusId(); |
|
|
this.findBannedWordsByCusId(); |
|
|
this.Getsthetransliteratecontent(); |
|
|
this.Getsthetransliteratecontent(); |
|
|
this.marketingBusinessNoApi(); |
|
|
|
|
|
this.findTabooWordsByCusId(); |
|
|
this.findTabooWordsByCusId(); |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
@@ -2264,7 +2314,6 @@ export default { |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
this.prohibitedlist = res.data; |
|
|
this.prohibitedlist = res.data; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
//常错词确认 |
|
|
//常错词确认 |
|
|
subMsg() { |
|
|
subMsg() { |
|
@@ -2325,7 +2374,7 @@ export default { |
|
|
|
|
|
|
|
|
//常错词点击 |
|
|
//常错词点击 |
|
|
checkMsg(row, index) { |
|
|
checkMsg(row, index) { |
|
|
console.log(this.rec_index_wrongword) |
|
|
|
|
|
|
|
|
console.log(this.rec_index_wrongword); |
|
|
if (!this.rec_index_wrongword) { |
|
|
if (!this.rec_index_wrongword) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
@@ -2345,7 +2394,8 @@ export default { |
|
|
}, |
|
|
}, |
|
|
correctListFun() { |
|
|
correctListFun() { |
|
|
let obj = { |
|
|
let obj = { |
|
|
houseId: localStorage.getItem("houseId"), |
|
|
|
|
|
|
|
|
houseId: |
|
|
|
|
|
localStorage.getItem("houseId") || this.userinformationlist.projectId, |
|
|
}; |
|
|
}; |
|
|
this.$api.api.correctList(obj).then((res) => { |
|
|
this.$api.api.correctList(obj).then((res) => { |
|
|
this.mistakenList = res.data.map((item) => { |
|
|
this.mistakenList = res.data.map((item) => { |
|
@@ -2360,44 +2410,42 @@ export default { |
|
|
}, |
|
|
}, |
|
|
//获取销讲词违禁词 |
|
|
//获取销讲词违禁词 |
|
|
findBannedWordsByCusId() { |
|
|
findBannedWordsByCusId() { |
|
|
this.$api.http |
|
|
|
|
|
.findBycusId({ cusId: this.fileId }) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
let list1 = res.data || []; |
|
|
|
|
|
let level1 = []; // 一级 |
|
|
|
|
|
list1.forEach((item) => { |
|
|
|
|
|
if (item.pid == 0) { |
|
|
|
|
|
level1.push({ |
|
|
|
|
|
id: item.marketingId, |
|
|
|
|
|
|
|
|
this.$api.http.findBycusId({ cusId: this.fileId }).then((res) => { |
|
|
|
|
|
let list1 = res.data || []; |
|
|
|
|
|
let level1 = []; // 一级 |
|
|
|
|
|
list1.forEach((item) => { |
|
|
|
|
|
if (item.pid == 0) { |
|
|
|
|
|
level1.push({ |
|
|
|
|
|
id: item.marketingId, |
|
|
|
|
|
rate: item.fraction, |
|
|
|
|
|
name: item.name, |
|
|
|
|
|
percent: 0, |
|
|
|
|
|
ratepercent: 0, |
|
|
|
|
|
show: false, |
|
|
|
|
|
children: [], |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
list1.forEach((item) => { |
|
|
|
|
|
level1.forEach((el) => { |
|
|
|
|
|
if (item.pid == el.id) { |
|
|
|
|
|
if (item.selected == 0) { |
|
|
|
|
|
el.ratepercent += item.fraction; |
|
|
|
|
|
} |
|
|
|
|
|
el.children.push({ |
|
|
|
|
|
id: item.id, |
|
|
rate: item.fraction, |
|
|
rate: item.fraction, |
|
|
|
|
|
selected: item.selected, |
|
|
name: item.name, |
|
|
name: item.name, |
|
|
percent: 0, |
|
|
|
|
|
ratepercent: 0, |
|
|
|
|
|
show: false, |
|
|
|
|
|
children: [], |
|
|
|
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
list1.forEach((item) => { |
|
|
|
|
|
level1.forEach((el) => { |
|
|
|
|
|
if (item.pid == el.id) { |
|
|
|
|
|
if (item.selected == 0) { |
|
|
|
|
|
el.ratepercent += item.fraction; |
|
|
|
|
|
} |
|
|
|
|
|
el.children.push({ |
|
|
|
|
|
id: item.id, |
|
|
|
|
|
rate: item.fraction, |
|
|
|
|
|
selected: item.selected, |
|
|
|
|
|
name: item.name, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
if (level1.length != 0) { |
|
|
|
|
|
level1[0].show = true; |
|
|
|
|
|
} |
|
|
|
|
|
this.ratelist = level1; |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
if (level1.length != 0) { |
|
|
|
|
|
level1[0].show = true; |
|
|
|
|
|
} |
|
|
|
|
|
this.ratelist = level1; |
|
|
|
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//系统分析切换人工校准 |
|
|
//系统分析切换人工校准 |
|
@@ -2512,8 +2560,8 @@ export default { |
|
|
this.roleList = this.tablist.slice(1); |
|
|
this.roleList = this.tablist.slice(1); |
|
|
if (audopbj[this.AudioIdx].speaker) { |
|
|
if (audopbj[this.AudioIdx].speaker) { |
|
|
this.yibiaoji = "已标记"; |
|
|
this.yibiaoji = "已标记"; |
|
|
this.consultant = audopbj[this.AudioIdx].speaker |
|
|
|
|
|
this.setConsultant() |
|
|
|
|
|
|
|
|
this.consultant = audopbj[this.AudioIdx].speaker; |
|
|
|
|
|
this.setConsultant(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
this.corpusId = audopbj[this.AudioIdx].id; |
|
|
this.corpusId = audopbj[this.AudioIdx].id; |
|
|