|
@@ -6,9 +6,82 @@
|
|
|
</view>
|
|
|
<view class="remarks-input">{{ questionMan }}</view>
|
|
|
<view class="list-view-title">
|
|
|
- <view class="list-view-h1"><text>*</text>咨询类别:</view>
|
|
|
+ <view class="list-view-h1"><text>*</text>沟通情况:</view>
|
|
|
</view>
|
|
|
<view class="remarks-category">
|
|
|
+ <radio-group @change="radioChange">
|
|
|
+ <label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value">
|
|
|
+ <radio
|
|
|
+ :value="item.value"
|
|
|
+ style="transform:scale(0.7)"
|
|
|
+ color="#FF5B00"
|
|
|
+ :checked="index === current"
|
|
|
+ />
|
|
|
+ <label :for="item.value" class="label">
|
|
|
+ <text>{{ item.name }}</text>
|
|
|
+ </label>
|
|
|
+ </label>
|
|
|
+ </radio-group>
|
|
|
+ <checkbox-group v-if="current === 0" @change="checkboxChange" style="margin-top: 10rpx;">
|
|
|
+ <label class="label" v-for="item in checkboItems" :key="item.value">
|
|
|
+ <checkbox :value="item.value" :checked="item.checked" style="transform:scale(0.7)" color="#FF5B00" />
|
|
|
+ {{item.name}}
|
|
|
+ </label>
|
|
|
+ </checkbox-group>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title"> <view class="list-view-h1">客户来源:</view> </view>
|
|
|
+ <view class="list-view-radio">
|
|
|
+ <picker @change="bindPickerChange(4, $event)" :value="index" :range="sourceActions" range-key="name">
|
|
|
+ <input
|
|
|
+ class="input"
|
|
|
+ type="text"
|
|
|
+ disabled="false"
|
|
|
+ v-model="sourceStateText"
|
|
|
+ value=""
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
+ <text class="iconfont icon-xiangyou"></text>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title"> <view class="list-view-h1">客户性别:</view> </view>
|
|
|
+ <view class="list-view-radio">
|
|
|
+ <picker @change="bindPickerChange(5, $event)" :value="index" :range="genderActions" range-key="name">
|
|
|
+ <input
|
|
|
+ class="input"
|
|
|
+ type="text"
|
|
|
+ disabled="false"
|
|
|
+ v-model="genderText"
|
|
|
+ value=""
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
+ <text class="iconfont icon-xiangyou"></text>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title"> <view class="list-view-h1">客户年龄:</view> </view>
|
|
|
+ <view class="list-view-radio">
|
|
|
+ <picker @change="bindPickerChange(6, $event)" :value="index" :range="ageActions" range-key="name">
|
|
|
+ <input class="input" type="text" disabled="false" v-model="customerAge" value="" placeholder="请选择" />
|
|
|
+ <text class="iconfont icon-xiangyou"></text>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title"> <view class="list-view-h1">加群情况:</view> </view>
|
|
|
+ <view class="list-view-radio">
|
|
|
+ <picker @change="bindPickerChange(7, $event)" :value="index" :range="additiveActions" range-key="name">
|
|
|
+ <input
|
|
|
+ class="input"
|
|
|
+ type="text"
|
|
|
+ disabled="false"
|
|
|
+ v-model="additiveText"
|
|
|
+ value=""
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
+ <text class="iconfont icon-xiangyou"></text>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title" v-if="current === 0">
|
|
|
+ <view class="list-view-h1"><text>*</text>咨询类别:</view>
|
|
|
+ </view>
|
|
|
+ <view class="remarks-category" v-if="current === 0">
|
|
|
<view
|
|
|
class="checkbox-list"
|
|
|
:class="category.isChecked ? 'checked' : ''"
|
|
@@ -20,7 +93,9 @@
|
|
|
{{ category.className }}
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="list-view-title"> <view class="list-view-h1">机构类型:</view> </view>
|
|
|
+ <!--<view class="list-view-title">
|
|
|
+ <view class="list-view-h1">机构类型:</view>
|
|
|
+ </view>
|
|
|
<view class="remarks-input">
|
|
|
<input
|
|
|
class="input"
|
|
@@ -30,7 +105,7 @@
|
|
|
placeholder="如美甲店,医院"
|
|
|
maxlength="15"
|
|
|
/>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
<view class="list-view-title"> <view class="list-view-h1">咨询商品:</view> </view>
|
|
|
<view class="tui-remarks-content">
|
|
|
<view class="tui-remarks-goods-input" v-if="handleGoods.length === 0" @click="handleShowGoodPopup">
|
|
@@ -52,13 +127,29 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="list-view-title">
|
|
|
- <view class="list-view-h1"><text>*</text>标签记录:</view>
|
|
|
- <view class="list-view-p"
|
|
|
- >(请总结客户的咨询内容,以商品或者服务的关键词形式填写,不需要填口语化的内容。)</view
|
|
|
- >
|
|
|
+ <view class="list-view-h1">标签记录:</view>
|
|
|
+ <view class="list-view-p">
|
|
|
+ 请总结客户的个人画像和咨询内容,尽量使用简短的描述性词语,杜绝口语化的词语 (优先选择以下展示的标签)
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="list-view-list-main">
|
|
|
- <view class="list-view-list" v-for="(item, index) in remarksList" :key="index">
|
|
|
+ <view class="list-label-list">
|
|
|
+ <text class="list-label"
|
|
|
+ :class="item.isChecked ? 'active' : ''"
|
|
|
+ v-for="(item, index) in labelsList"
|
|
|
+ :key="index"
|
|
|
+ @click="handleCheckedLabel(item,index)"
|
|
|
+ >
|
|
|
+ {{ item.label }}
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title">
|
|
|
+ <view class="list-view-h1">机构静态标签:</view>
|
|
|
+ <view class="list-view-p"> (若你对客户的静态特点有更多维度进行描述,请手动填) </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-list-main">
|
|
|
+ <view class="list-view-list" v-for="(item, index) in staticLabelsList" :key="index">
|
|
|
<view class="list-view-input">
|
|
|
<input
|
|
|
class="input"
|
|
@@ -66,17 +157,17 @@
|
|
|
v-model="item.label"
|
|
|
placeholder="请输入标签,不超过10个汉字"
|
|
|
maxlength="10"
|
|
|
- @focus="hideAssAction(item, $event)"
|
|
|
- @blur="hideAssAction(item, $event)"
|
|
|
- @input="bindRemarkAction(index, $event)"
|
|
|
+ @focus="hideStaticLabelsAction(item, $event)"
|
|
|
+ @blur="hideStaticLabelsAction(item, $event)"
|
|
|
+ @input="handleStaticLabelsAction(index, $event)"
|
|
|
/>
|
|
|
<view class="list-view-assAction" v-if="item.isAssociation">
|
|
|
<scroll-view class="tui-popup-scroll train" scroll-y="true">
|
|
|
<view
|
|
|
class="ass-list"
|
|
|
- v-for="(ass, assIndex) in assActionList"
|
|
|
+ v-for="(ass, assIndex) in staticLabelsActionList"
|
|
|
:key="assIndex"
|
|
|
- @click="SelectAssociationFn(ass.label,item)"
|
|
|
+ @click="handleSelectStaticLabels(ass.label, item)"
|
|
|
>{{ ass.label }}</view
|
|
|
>
|
|
|
</scroll-view>
|
|
@@ -85,13 +176,56 @@
|
|
|
<view class="list-view-btn">
|
|
|
<text
|
|
|
class="iconfont icon-zengjia"
|
|
|
- v-if="remarksList.length < 9 && index === remarksList.length - 1"
|
|
|
- @click="addListFn(item, index)"
|
|
|
+ v-if="staticLabelsList.length < 9 && index === staticLabelsList.length - 1"
|
|
|
+ @click="handleAddStaticLabels(item, index)"
|
|
|
></text>
|
|
|
<text
|
|
|
class="iconfont icon-shanchu4"
|
|
|
- v-if="remarksList.length > 1 && index != remarksList.length - 1"
|
|
|
- @click="deleteLogistItemFn(item, index)"
|
|
|
+ v-if="staticLabelsList.length > 1 && index != staticLabelsList.length - 1"
|
|
|
+ @click="handleDelStaticLabels(item, index)"
|
|
|
+ ></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-title">
|
|
|
+ <view class="list-view-h1">机构动态标签:</view>
|
|
|
+ <view class="list-view-p"> (若你对客户的购买诉求有更多维度进行描述,请手动填) </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-list-main">
|
|
|
+ <view class="list-view-list" v-for="(item, index) in trendsLabelsList" :key="index">
|
|
|
+ <view class="list-view-input">
|
|
|
+ <input
|
|
|
+ class="input"
|
|
|
+ type="text"
|
|
|
+ v-model="item.label"
|
|
|
+ placeholder="请输入标签,不超过10个汉字"
|
|
|
+ maxlength="10"
|
|
|
+ @focus="hideTrendsLabelsAction(item, $event)"
|
|
|
+ @blur="hideTrendsLabelsAction(item, $event)"
|
|
|
+ @input="handleTrendsLabelsAction(index, $event)"
|
|
|
+ />
|
|
|
+ <view class="list-view-assAction" v-if="item.isAssociation">
|
|
|
+ <scroll-view class="tui-popup-scroll train" scroll-y="true">
|
|
|
+ <view
|
|
|
+ class="ass-list"
|
|
|
+ v-for="(ass, assIndex) in trendsLabelsActionList"
|
|
|
+ :key="assIndex"
|
|
|
+ @click="handleSelectTrendsLabels(ass.label, item)"
|
|
|
+ >{{ ass.label }}</view
|
|
|
+ >
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="list-view-btn">
|
|
|
+ <text
|
|
|
+ class="iconfont icon-zengjia"
|
|
|
+ v-if="trendsLabelsList.length < 9 && index === trendsLabelsList.length - 1"
|
|
|
+ @click="handleAddTrendsLabels(item, index)"
|
|
|
+ ></text>
|
|
|
+ <text
|
|
|
+ class="iconfont icon-shanchu4"
|
|
|
+ v-if="trendsLabelsList.length > 1 && index != trendsLabelsList.length - 1"
|
|
|
+ @click="handleDelTrendsLabels(item, index)"
|
|
|
></text>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -113,10 +247,10 @@
|
|
|
/>
|
|
|
<text class="iconfont icon-xiangyou"></text>
|
|
|
</view>
|
|
|
- <view class="list-view-title">
|
|
|
+ <view class="list-view-title" v-if="current === 0">
|
|
|
<view class="list-view-h1"><text>*</text>价格敏感度:</view>
|
|
|
</view>
|
|
|
- <view class="list-view-radio">
|
|
|
+ <view class="list-view-radio" v-if="current === 0">
|
|
|
<picker @change="bindPickerChange(1, $event)" :value="index" :range="priceActions" range-key="name">
|
|
|
<input
|
|
|
class="input"
|
|
@@ -129,10 +263,10 @@
|
|
|
<text class="iconfont icon-xiangyou"></text>
|
|
|
</picker>
|
|
|
</view>
|
|
|
- <view class="list-view-title">
|
|
|
+ <view class="list-view-title" v-if="current === 0">
|
|
|
<view class="list-view-h1"><text>*</text>意向程度:</view>
|
|
|
</view>
|
|
|
- <view class="list-view-radio">
|
|
|
+ <view class="list-view-radio" v-if="current === 0">
|
|
|
<picker @change="bindPickerChange(2, $event)" :value="index" :range="intenActions" range-key="name">
|
|
|
<input
|
|
|
class="input"
|
|
@@ -145,10 +279,10 @@
|
|
|
<text class="iconfont icon-xiangyou"></text>
|
|
|
</picker>
|
|
|
</view>
|
|
|
- <view class="list-view-title">
|
|
|
+ <view class="list-view-title" v-if="current === 0">
|
|
|
<view class="list-view-h1"><text>*</text>跟进状态:</view>
|
|
|
</view>
|
|
|
- <view class="list-view-radio">
|
|
|
+ <view class="list-view-radio" v-if="current === 0">
|
|
|
<picker @change="bindPickerChange(3, $event)" :value="index" :range="stateActions" range-key="name">
|
|
|
<input
|
|
|
class="input"
|
|
@@ -239,9 +373,11 @@ import authorize from '@/common/config/authorize.js'
|
|
|
import { uploadFileImage, uploadFilePdfDocDocxXlsx } from '@/services/public.js'
|
|
|
import cmGoodspopup from '../components/cm-goods-popup'
|
|
|
import cmReportpopup from '../components/cm-report-popup'
|
|
|
+import addMixins from './mixins/addMixins.js'
|
|
|
|
|
|
var isPreviewImg
|
|
|
export default {
|
|
|
+ mixins: [addMixins],
|
|
|
components: {
|
|
|
cmGoodspopup,
|
|
|
cmReportpopup
|
|
@@ -254,7 +390,6 @@ export default {
|
|
|
productActions: [],
|
|
|
remarksParams: {
|
|
|
clubType:'', //机构类型
|
|
|
- remarks:[], // 关键词
|
|
|
extra: '',//额外说明
|
|
|
fileList: [],
|
|
|
imageList: [],
|
|
@@ -265,6 +400,15 @@ export default {
|
|
|
pinceSensitve:0,//价格敏感度
|
|
|
satisfied:0,// 意向程度
|
|
|
followup:0,// 跟进状态
|
|
|
+ communicationSituation:'', // 沟通情况 0 已沟通 1联系不上
|
|
|
+ communicationMethods:'', //沟通方式 1:电话 2:微信
|
|
|
+ customerSource:'',//客户来源 0 网址 1 小程序 2 公众号 3 小红书 4 微博 5 搜狐 6 其他
|
|
|
+ customerGender:'',// 客户性别 0 男 1 女
|
|
|
+ customerAge:'',// 客户年龄
|
|
|
+ groupAddition:'' ,// 加群情况 0 以加群 1 未加群
|
|
|
+ remarks: null, // 关键词
|
|
|
+ trendsKeyword:null,// 动态标签
|
|
|
+ stateKeyword:null // 静态标签
|
|
|
},
|
|
|
min: 0,
|
|
|
max: 200,
|
|
@@ -274,29 +418,7 @@ export default {
|
|
|
userInfo:{},
|
|
|
checkedCategorysList:[],
|
|
|
categorys:[],
|
|
|
- priceFlagText: '',
|
|
|
reportText:'',
|
|
|
- intenFlagText: '',
|
|
|
- followStateText: '',
|
|
|
- priceActions: [
|
|
|
- { name: '敏感', value: 1 },
|
|
|
- { name: '适中', value: 2 },
|
|
|
- { name: '不敏感', value: 3 },
|
|
|
- { name: '不明确', value: 4 }
|
|
|
- ],
|
|
|
- intenActions: [
|
|
|
- { name: '意向强烈', value: 1 },
|
|
|
- { name: '意向一般', value: 2 },
|
|
|
- { name: '意向平淡', value: 3 },
|
|
|
- { name: '随便看看', value: 4 }
|
|
|
- ],
|
|
|
- stateActions: [{ name: '跟进中', value: 1 }, { name: '跟进完成', value: 2 }, { name: '已放弃', value: 3 }],
|
|
|
- remarksList: [
|
|
|
- {
|
|
|
- label: '',
|
|
|
- isAssociation:false
|
|
|
- }
|
|
|
- ],
|
|
|
checkRemarkIndex:0,
|
|
|
assActionList: [],
|
|
|
isGoodspopup:false,
|
|
@@ -313,6 +435,7 @@ export default {
|
|
|
console.log(option)
|
|
|
if (option.type == 'edit') {
|
|
|
this.handleType = option.type
|
|
|
+ this.getPriorKeyword()
|
|
|
this.getUserClubConsults()
|
|
|
this.getUserRemarksVisitDetail(option.remarksId)
|
|
|
uni.setNavigationBarTitle({title:'修改记录'})
|
|
@@ -323,6 +446,7 @@ export default {
|
|
|
this.reportInfo.questionMan = option.questionMan
|
|
|
this.reportInfo.questionManId = option.questionManId
|
|
|
this.initGetStotage(option)
|
|
|
+ this.getPriorKeyword()
|
|
|
this.getUserClubConsults()
|
|
|
}
|
|
|
},
|
|
@@ -342,15 +466,29 @@ export default {
|
|
|
this.reportInfo.questionMan = data.questionMan
|
|
|
this.reportInfo.questionManId = data.questionManId
|
|
|
this.questionMan = data.questionMan
|
|
|
- this.remarksList = data.remarks.map((el, index) => {
|
|
|
- el.isAssociation = false
|
|
|
- return el
|
|
|
- })
|
|
|
this.remarksParams.questionManId = data.questionManId
|
|
|
+ this.remarksParams.communicationSituation = this.current = data.communicationSituation
|
|
|
+ this.remarksParams.communicationMethods = data.communicationMethods
|
|
|
+ if(data.communicationMethods === '1,2' || data.communicationMethods === '2,1'){
|
|
|
+ this.checkboItems = this.checkboItems.map(el => {
|
|
|
+ el.checked = true
|
|
|
+ return el
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.checkboItems = this.checkboItems.map(el => {
|
|
|
+ if (el.value*1 === data.communicationMethods*1) {
|
|
|
+ el.checked = true
|
|
|
+ }
|
|
|
+ return el
|
|
|
+ })
|
|
|
+ }
|
|
|
this.remarksParams.remarksId = data.remarksId
|
|
|
this.remarksParams.extra = data.extra
|
|
|
this.remarksParams.clubType = data.clubType
|
|
|
this.remarksParams.pinceSensitve = data.pinceSensitve
|
|
|
+ this.remarksParams.customerSource = data.customerSource
|
|
|
+ this.remarksParams.customerGender = data.customerGender
|
|
|
+ this.remarksParams.customerAge = this.customerAge = data.customerAge
|
|
|
this.remarksParams.satisfied = data.satisfied
|
|
|
this.remarksParams.followup = data.followup
|
|
|
this.remarksParams.fileList = data.fileList
|
|
@@ -378,118 +516,116 @@ export default {
|
|
|
}
|
|
|
this.handleGoods.push(pro)
|
|
|
}
|
|
|
+ const remarks = data.remarks.map((el, index) => {
|
|
|
+ if (!this.contains(this.labelsList, el.label)) {
|
|
|
+ el.isChecked = true
|
|
|
+ }
|
|
|
+ return el
|
|
|
+ })
|
|
|
+ this.firstLabelList = data.remarks.map((el, index) => {
|
|
|
+ return el.label
|
|
|
+ })
|
|
|
+ console.log('=========>firstLabelList',this.firstLabelList)
|
|
|
+ this.labelsList = [...remarks ,...this.labelsList]
|
|
|
+ console.log('=========>labelsList',this.labelsList)
|
|
|
+ this.staticLabelsList = data.stateKeyword.map((el, index) => {
|
|
|
+ el.isAssociation = false
|
|
|
+ return el
|
|
|
+ })
|
|
|
+ this.trendsLabelsList = data.trendsKeyword.map((el, index) => {
|
|
|
+ el.isAssociation = false
|
|
|
+ return el
|
|
|
+ })
|
|
|
this.reportText = data.reportText ? data.reportText : ''
|
|
|
this.priceFlagText = this.pinceFilters(data.pinceSensitve)
|
|
|
this.intenFlagText = this.intenActionsFilters(data.satisfied)
|
|
|
this.followStateText = this.followupFilters(data.followup)
|
|
|
+ this.sourceStateText = this.sourceActionsFilters(data.customerSource)
|
|
|
+ this.genderText = this.genderActionsFilters(data.customerGender)
|
|
|
+ this.additiveText = this.additiveActionsFilters(data.groupAddition)
|
|
|
this.initGetStotage()
|
|
|
})
|
|
|
.catch(error => {
|
|
|
this.$util.msg(error.msg, 2000)
|
|
|
})
|
|
|
},
|
|
|
- getUserClubConsults() {
|
|
|
- //查询咨询类别
|
|
|
- this.UserService.getUserClubConsults()
|
|
|
- .then(response => {
|
|
|
- this.categorys = response.data.map((el, index) => {
|
|
|
- el.isChecked = false
|
|
|
- return el
|
|
|
- })
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- console.log('=========>获取咨询类别列表失败')
|
|
|
- })
|
|
|
- },
|
|
|
- bindRemarkAction(index, event) {
|
|
|
- this.checkRemarkIndex = index
|
|
|
- this.assActionList = []
|
|
|
- if (event.detail.value != '') {
|
|
|
- this.UserService.getCmremarkslist({remarks : event.detail.value,type:0}).then(response => {
|
|
|
- if(response.data&&response.data.length>0){
|
|
|
- this.assActionList = response.data
|
|
|
- this.remarksList[index].isAssociation = true
|
|
|
- }else{
|
|
|
- this.assActionList = []
|
|
|
- this.remarksList[index].isAssociation = false
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
- console.log('=========>获取关键词联想失败')
|
|
|
+ async getPriorKeyword() {
|
|
|
+ //查询优先展示标签
|
|
|
+ try{
|
|
|
+ const res = await this.UserService.getPriorKeyword()
|
|
|
+ const data = res.data
|
|
|
+ this.labelsList = data.map((el, index) => {
|
|
|
+ el.isChecked = false
|
|
|
+ return el
|
|
|
})
|
|
|
- } else {
|
|
|
- this.remarksList[index].isAssociation = false
|
|
|
+ }catch(error){
|
|
|
+ console.log('=========>获取优先展示标签列表失败')
|
|
|
}
|
|
|
},
|
|
|
- hideAssAction(item, event){//隐藏对应的联想弹窗
|
|
|
- item.isAssociation = false
|
|
|
- },
|
|
|
- SelectAssociationFn(ass,item) {
|
|
|
- //选择关键词
|
|
|
- item.isAssociation = false
|
|
|
- item.label = ass
|
|
|
- },
|
|
|
- addListFn(item,index) {
|
|
|
- //添加
|
|
|
- let obj = { label: '',isAssociation:false}
|
|
|
- item.isAssociation = false
|
|
|
- this.remarksList.push(obj)
|
|
|
- },
|
|
|
- deleteLogistItemFn(item, index) {
|
|
|
- this.remarksList.splice(index, 1)
|
|
|
- },
|
|
|
- bindPickerChange(type, e) {
|
|
|
- //选择筛选条件
|
|
|
- switch (type) {
|
|
|
- case 1:
|
|
|
- this.priceFlagText = this.priceActions[e.target.value].name
|
|
|
- this.remarksParams.pinceSensitve = this.priceActions[e.target.value].value
|
|
|
- break
|
|
|
- case 2:
|
|
|
- this.intenFlagText = this.intenActions[e.target.value].name
|
|
|
- this.remarksParams.satisfied = this.intenActions[e.target.value].value
|
|
|
- break
|
|
|
- case 3:
|
|
|
- this.followStateText = this.stateActions[e.target.value].name
|
|
|
- this.remarksParams.followup = this.stateActions[e.target.value].value
|
|
|
- break
|
|
|
+ async getUserClubConsults() {
|
|
|
+ //查询咨询类别
|
|
|
+ try{
|
|
|
+ const res = await this.UserService.getUserClubConsults()
|
|
|
+ const data = res.data
|
|
|
+ this.categorys = data.map((el, index) => {
|
|
|
+ el.isChecked = false
|
|
|
+ return el
|
|
|
+ })
|
|
|
+ }catch(error){
|
|
|
+ console.log('=========>获取咨询类别列表失败')
|
|
|
}
|
|
|
},
|
|
|
editButtonConfim() {
|
|
|
- //保存资料备注
|
|
|
- if (this.remarksParams.consult == '') {
|
|
|
- this.$util.msg('请选择咨询类别', 2000)
|
|
|
- return
|
|
|
- }
|
|
|
- //统一处理关键词
|
|
|
- let remarksList = []
|
|
|
- for (const el of this.remarksList) {
|
|
|
- if(el.label!=''){
|
|
|
- remarksList.push(el.label)
|
|
|
+ if(this.current === 0){
|
|
|
+ if (this.remarksParams.consult == '') {
|
|
|
+ this.$util.msg('请选择咨询类别', 2000)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.remarksParams.pinceSensitve) {
|
|
|
+ this.$util.msg('请选择价格敏感度', 2000)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.remarksParams.satisfied) {
|
|
|
+ this.$util.msg('请选择意向程度', 2000)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.remarksParams.followup) {
|
|
|
+ this.$util.msg('请选择跟进状态', 2000)
|
|
|
+ return
|
|
|
}
|
|
|
}
|
|
|
- if (remarksList.length == 0) {
|
|
|
- this.$util.msg('请输入关键词记录', 2000)
|
|
|
- return
|
|
|
- }
|
|
|
- if (!this.remarksParams.pinceSensitve) {
|
|
|
- this.$util.msg('请选择价格敏感度', 2000)
|
|
|
- return
|
|
|
+ //统一处理静态标签
|
|
|
+ let staticLabelsList = []
|
|
|
+ this.staticLabelsList.forEach( el =>{
|
|
|
+ if(el.label !== ''){
|
|
|
+ staticLabelsList.push(el.label)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log('staticLabelsList', staticLabelsList)
|
|
|
+ //统一处理动态标签
|
|
|
+ let trendsLabelsList = []
|
|
|
+ this.trendsLabelsList.forEach( (el) =>{
|
|
|
+ if(el.label !== ''){
|
|
|
+ trendsLabelsList.push(el.label)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log('trendsLabelsList', trendsLabelsList)
|
|
|
+ if(this.firstLabelList.length > 0){
|
|
|
+ this.remarksParams.remarks = JSON.stringify(this.firstLabelList)
|
|
|
}
|
|
|
- if (!this.remarksParams.satisfied) {
|
|
|
- this.$util.msg('请选择意向程度', 2000)
|
|
|
- return
|
|
|
+ if(trendsLabelsList.length > 0){
|
|
|
+ this.remarksParams.trendsKeyword = JSON.stringify(trendsLabelsList)
|
|
|
}
|
|
|
- if (!this.remarksParams.followup) {
|
|
|
- this.$util.msg('请选择跟进状态', 2000)
|
|
|
- return
|
|
|
+ if(staticLabelsList.length > 0){
|
|
|
+ this.remarksParams.stateKeyword = JSON.stringify(staticLabelsList)
|
|
|
}
|
|
|
- this.remarksParams.remarks = JSON.stringify(remarksList)
|
|
|
console.log('remarksParams',this.remarksParams)
|
|
|
- this.UserService.getUserClubVisitorSaveAdd({
|
|
|
- params: JSON.stringify(this.remarksParams)
|
|
|
- })
|
|
|
- .then(response => {
|
|
|
+ this.getUserClubVisitorSaveAdd({ params: JSON.stringify(this.remarksParams) })
|
|
|
+ },
|
|
|
+ // 调用保存
|
|
|
+ async getUserClubVisitorSaveAdd(params){
|
|
|
+ try{
|
|
|
+ await this.UserService.getUserClubVisitorSaveAdd(params)
|
|
|
this.$util.msg('保存成功', 2000, true, 'success')
|
|
|
let VisitorInfo = {
|
|
|
questionManId: this.remarksParams.questionManId,
|
|
@@ -500,11 +636,10 @@ export default {
|
|
|
uni.navigateBack({
|
|
|
delta: 1
|
|
|
})
|
|
|
- }, 2000)
|
|
|
- })
|
|
|
- .catch(error => {
|
|
|
+ },2000)
|
|
|
+ }catch(error){
|
|
|
this.$util.msg(error.msg, 2000)
|
|
|
- })
|
|
|
+ }
|
|
|
},
|
|
|
choiceCategorys(category,index){
|
|
|
// 选择类别
|
|
@@ -634,6 +769,36 @@ export default {
|
|
|
4: '随便看看'
|
|
|
}
|
|
|
return map[value]
|
|
|
+ },
|
|
|
+ sourceActionsFilters(value) {
|
|
|
+ // 客户来源
|
|
|
+ const map = {
|
|
|
+ 0: '网站',
|
|
|
+ 1: '小程序',
|
|
|
+ 2: '公众号',
|
|
|
+ 3: '小红书',
|
|
|
+ 4: '微博',
|
|
|
+ 5: '搜狐',
|
|
|
+ 6: '其他'
|
|
|
+
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ },
|
|
|
+ genderActionsFilters(value) {
|
|
|
+ // 客户性别
|
|
|
+ const map = {
|
|
|
+ 0: '男',
|
|
|
+ 1: '女'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ },
|
|
|
+ additiveActionsFilters(value) {
|
|
|
+ // 加群情况
|
|
|
+ const map = {
|
|
|
+ 0: '已加群',
|
|
|
+ 1: '未加群'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
}
|
|
|
},
|
|
|
onShow() {}
|
|
@@ -827,6 +992,27 @@ page {
|
|
|
box-sizing: border-box;
|
|
|
margin-bottom: 30rpx;
|
|
|
position: relative;
|
|
|
+ .list-label-list{
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .list-label{
|
|
|
+ display: inline-block;
|
|
|
+ padding: 0 20rpx;
|
|
|
+ height: 48rpx;
|
|
|
+ line-height: 48rpx;
|
|
|
+ background: #F7F7F7;
|
|
|
+ text-align: center;
|
|
|
+ margin-right: 20rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ color: #666666;
|
|
|
+ &.active{
|
|
|
+ background: #FEF6F3;
|
|
|
+ color: #FF5B00;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
.list-view-list {
|
|
|
width: 100%;
|
|
|
height: 90rpx;
|
|
@@ -900,6 +1086,11 @@ page {
|
|
|
.remarks-category{
|
|
|
width: 100%;
|
|
|
float: left;
|
|
|
+ .label {
|
|
|
+ color: #666666;
|
|
|
+ font-size: 28rpx;
|
|
|
+ margin-right: 50rpx;
|
|
|
+ }
|
|
|
.checkbox-list {
|
|
|
height: 60rpx;
|
|
|
font-size: $font-size-28;
|