|
|
@@ -210,31 +210,62 @@
|
|
|
v-model="regionValue" clearable filterable @change="getRegion" />
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
- <label class="form-label">行业</label>
|
|
|
+ <!-- <label class="form-label">行业</label>
|
|
|
<el-select v-model="newCampaign.filters.industry" clearable placeholder="全部行业">
|
|
|
<el-option label="数据中心" value="datacenter" />
|
|
|
<el-option label="消费电子" value="consumer" />
|
|
|
<el-option label="电子分销" value="distributor" />
|
|
|
<el-option label="零售" value="retail" />
|
|
|
<el-option label="制造业" value="manufacturing" />
|
|
|
+ </el-select> -->
|
|
|
+ <label class="form-label">客户状态</label>
|
|
|
+ <el-select v-model="customerParams.customerStatusDictValue" clearable placeholder="客户状态">
|
|
|
+ <el-option label="暂无需求" value="1" />
|
|
|
+ <el-option label="潜在客户" value="2" />
|
|
|
+ <el-option label="意向客户" value="3" />
|
|
|
+ <el-option label="忠诚客户" value="4" />
|
|
|
+ <el-option label="了解产品" value="11" />
|
|
|
+ <el-option label="正在跟进" value="22" />
|
|
|
+ <el-option label="寄样试用" value="33" />
|
|
|
+ <el-option label="意向购买" value="44" />
|
|
|
+ <el-option label="准备付款" value="55" />
|
|
|
+ <el-option label="暂时搁置" value="66" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="filter-row">
|
|
|
<div class="form-group">
|
|
|
- <label class="form-label">意向分数</label>
|
|
|
+ <!-- <label class="form-label">意向分数</label>
|
|
|
<el-select v-model="newCampaign.filters.scoreRange" clearable placeholder="不限">
|
|
|
<el-option label="80-100分" value="high" />
|
|
|
<el-option label="60-79分" value="medium" />
|
|
|
<el-option label="40-59分" value="low" />
|
|
|
+ </el-select> -->
|
|
|
+ <label class="form-label">客户类型</label>
|
|
|
+ <el-select v-model="customerParams.customerTypeDictValue" clearable placeholder="客户类型">
|
|
|
+ <el-option label="供应厂商" value="4" />
|
|
|
+ <el-option label="代理合作" value="5" />
|
|
|
+ <el-option label="普通客户" value="1" />
|
|
|
+ <el-option label="友商客户" value="3" />
|
|
|
+ <el-option label="定制客户" value="2" />
|
|
|
+ <el-option label="内部客户" value="6" />
|
|
|
+ <el-option label="客户保护" value="10" />
|
|
|
+ <el-option label="协助项目" value="11" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
- <label class="form-label">客户规模</label>
|
|
|
+ <!-- <label class="form-label">客户规模</label>
|
|
|
<el-select v-model="newCampaign.filters.companySize" clearable placeholder="不限">
|
|
|
<el-option label="大型企业(500+)" value="large" />
|
|
|
<el-option label="中型企业(100-500)" value="medium" />
|
|
|
<el-option label="小微企业(<100)" value="small" />
|
|
|
+ </el-select> -->
|
|
|
+ <label class="form-label">客户等级</label>
|
|
|
+ <el-select v-model="customerParams.customerLevelDictValue" clearable placeholder="客户等级">
|
|
|
+ <el-option label="A级" value="1" />
|
|
|
+ <el-option label="B级" value="2" />
|
|
|
+ <el-option label="C级" value="3" />
|
|
|
+ <el-option label="D级" value="4" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -884,6 +915,7 @@
|
|
|
import PreviewCustomerModal from './PreviewCustomerModal.vue'
|
|
|
import { getSopList, addMarketing, editMarketing, addSop, editSop } from '@/api/marketing'
|
|
|
import { getCustomerList } from '@/api/customer'
|
|
|
+ import { getListTree } from '@/api/layout'
|
|
|
import { getUserEmails } from '@/api/emails'
|
|
|
import { region } from '@/utils/region';
|
|
|
|
|
|
@@ -1154,10 +1186,19 @@
|
|
|
region: '', industry: '', scoreRange: '', stage: '', companySize: '', purchaseCycle: '',
|
|
|
keyword: '', selectedTags: []
|
|
|
}
|
|
|
+ customerParams.value = {
|
|
|
+ blurry: '',
|
|
|
+ country: '',
|
|
|
+ customerStatusDictValue: '',
|
|
|
+ customerTypeDictValue: '',
|
|
|
+ customerLevelDictValue: ''
|
|
|
+ }
|
|
|
+ getCustomerData()
|
|
|
}
|
|
|
const removeTag = (tag) => {
|
|
|
const idx = newCampaign.value.filters.selectedTags.indexOf(tag)
|
|
|
if (idx > -1) newCampaign.value.filters.selectedTags.splice(idx, 1)
|
|
|
+ customerList.value = customerList.value.filter(c => !c.customerName.includes(tag))
|
|
|
}
|
|
|
const applySuggestion = (type) => {
|
|
|
if (type === 'name') {
|
|
|
@@ -1282,6 +1323,13 @@
|
|
|
getSop(data?.sopId || '')
|
|
|
customerList.value = []
|
|
|
getEmails()
|
|
|
+ getTree()
|
|
|
+ }
|
|
|
+
|
|
|
+ const getTree = () => {
|
|
|
+ getListTree({isIncludeResign: false, reviewTag: 1, pageIndex: 1, pageSize: 10000 }).then(res => {
|
|
|
+ console.log('res :>> ', res);
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const regionValue = ref([])
|
|
|
@@ -1289,13 +1337,18 @@
|
|
|
customerParams.value.country = value ? value[1] : ''
|
|
|
}
|
|
|
const customerParams = ref({
|
|
|
- country: ''
|
|
|
+ blurry: '',
|
|
|
+ country: '',
|
|
|
+ customerStatusDictValue: '',
|
|
|
+ customerTypeDictValue: '',
|
|
|
+ customerLevelDictValue: ''
|
|
|
})
|
|
|
const customerList = ref([])
|
|
|
const sourceData = ref({})
|
|
|
const getCustomerData = () => {
|
|
|
getCustomerList({ pageIndex: 1, pageSize: 10000, ...customerParams.value }).then(res => {
|
|
|
customerList.value = res.result.records || []
|
|
|
+ newCampaign.value.filters.selectedTags = customerList.value.map(item => item.customerName)
|
|
|
sourceData.value = {}
|
|
|
customerList.value.map(item => {
|
|
|
if(!item.customerSourceName) return
|
|
|
@@ -1305,7 +1358,6 @@
|
|
|
sourceData.value[item.customerSourceName] = 1
|
|
|
}
|
|
|
})
|
|
|
- console.log('sourceData.value :>> ', sourceData.value);
|
|
|
})
|
|
|
}
|
|
|
|