|
|
@@ -45,7 +45,7 @@
|
|
|
<el-option :label="$t('离职')" value="2"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="inline-16 mt-10" v-if="typeSelect">
|
|
|
+ <div class="inline-16 mt-10" v-if="titleHeader == '关联客户数'">
|
|
|
<label class="search__label">{{ $t("客户类型") }}:</label>
|
|
|
<el-select
|
|
|
class="inline-16"
|
|
|
@@ -64,7 +64,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="mt-10 inline-16" v-if="statusSelect">
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联客户数'">
|
|
|
<label class="search__label">{{ $t("合作状态") }}:</label>
|
|
|
<el-select
|
|
|
class="inline-16"
|
|
|
@@ -83,7 +83,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="mt-10 inline-16" v-if="tradingstatusSelect">
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联客户数'">
|
|
|
<label class="search__label">{{ $t("成交状态") }}:</label>
|
|
|
<el-select
|
|
|
class="inline-16"
|
|
|
@@ -102,7 +102,55 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="inline-16 mt-10" v-if="tagSelect">
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联项目数'">
|
|
|
+ <label class="search__label">{{$t(`项目阶段`)}}:</label>
|
|
|
+ <el-select class="inline-16" v-model="paramDetail.content.where.stagename" :placeholder="$t(`请选择项目阶段`)" @change="selectChange" size="small" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in option.stageList"
|
|
|
+ :key="item.stagename"
|
|
|
+ :label="$t(item.stagename)"
|
|
|
+ :value="item.stagename">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联项目数'">
|
|
|
+ <label class="search__label">{{$t(`报备进度`)}}:</label>
|
|
|
+ <el-select class="inline-16" v-model="paramDetail.content.where.reportstatus" :placeholder="$t(`请选择报备进度`)" @change="selectChange" size="small" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in option.reportstatus"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.label)"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联项目数'">
|
|
|
+ <label class="search__label">{{$t(`项目类型`)}}:</label>
|
|
|
+ <el-select class="inline-16" v-model="paramDetail.content.where.projecttype" :placeholder="$t('请选择项目类型')" @change="selectChange" size="small" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in projectType"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value">
|
|
|
+ <span style="float: left">{{ $t(item.value) }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?$t(item.remarks):$t('暂无描述') }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联项目数' || titleHeader == '关联客户成交金额'">
|
|
|
+ <label class="search__label">{{$t('领域')}}:</label>
|
|
|
+ <el-select class="inline-16" v-model="paramDetail.content.where.tradefield" :placeholder="$t('请选择领域')" @change="selectChange" size="small" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in tradefieldSelect"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value">
|
|
|
+ <span style="float: left">{{ $t(item.value) }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?$t(item.remarks):$t('暂无描述') }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="inline-16 mt-10" v-if="titleHeader == '联系人总数' || titleHeader == '关联项目数' || titleHeader == '关联客户数'">
|
|
|
<span class="search__label">{{$t('标签')}}:</span>
|
|
|
<el-select v-model="tags" :placeholder="$t('请选择标签')" size="small" @change="selectChange" clearable @clear="selectChange" filterable class="inline-16" multiple>
|
|
|
<el-option
|
|
|
@@ -114,7 +162,18 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="inline-16" v-if="associationSelect">
|
|
|
+ <div class="mt-10 inline-16" v-if="titleHeader == '关联项目数'">
|
|
|
+ <label class="search__label">{{$t(`项目状态`)}}:</label>
|
|
|
+ <el-select class="inline-24" v-model="paramDetail.content.where.status" :placeholder="$t(`请选择项目状态`)" @change="selectChange" size="small" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in option.statusTab"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.label)"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="inline-16" v-if="titleHeader == '联系人总数'">
|
|
|
<label class="search__label">{{ $t('关联') }}:</label>
|
|
|
<el-select v-model="paramDetail.content.where.contactstype" :placeholder="$t('请选择关联')" size="small" @change="selectChange" clearable @clear="selectChange" class="inline-16">
|
|
|
<el-option :label="$t(`关联线索`)" value="关联线索"></el-option>
|
|
|
@@ -174,6 +233,8 @@ export default {
|
|
|
"type": 1,
|
|
|
"dataid": 58,
|
|
|
"dateType": "本年",
|
|
|
+ "pageNumber":1,
|
|
|
+ "pageSize":100,
|
|
|
"where": {
|
|
|
"isleave": "",
|
|
|
"condition": "",
|
|
|
@@ -181,7 +242,11 @@ export default {
|
|
|
"contactstype": "", //关联线索,关联客户,关联项目
|
|
|
"type":"",
|
|
|
"status":"",
|
|
|
- "tradingstatus":""
|
|
|
+ "tradingstatus":"",
|
|
|
+ "stagename":'',
|
|
|
+ "projecttype":'',
|
|
|
+ "tradefield":'',
|
|
|
+ "reportstatus":''
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
@@ -189,18 +254,16 @@ export default {
|
|
|
detailTitle:'',
|
|
|
tagList:[],
|
|
|
tags:[],
|
|
|
- tagSelect:false,
|
|
|
- associationSelect:false,
|
|
|
- typeSelect:false,
|
|
|
- statusSelect:false,
|
|
|
- tradingstatusSelect:false,
|
|
|
titleHeader:'',
|
|
|
+ projectType:[],
|
|
|
+ tradefieldSelect:[],
|
|
|
option: {
|
|
|
typeData: [],
|
|
|
customerClassification: [],
|
|
|
customerGrade: [],
|
|
|
industryData: [],
|
|
|
tagData: [],
|
|
|
+ stageList:[],
|
|
|
status: [
|
|
|
{
|
|
|
value: "潜在",
|
|
|
@@ -226,6 +289,38 @@ export default {
|
|
|
value: "多次成交",
|
|
|
},
|
|
|
],
|
|
|
+ reportstatus:[
|
|
|
+ {
|
|
|
+ value:"未报备",
|
|
|
+ label:"未报备"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value:"报备中",
|
|
|
+ label:"报备中"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value:"已报备",
|
|
|
+ label:"已报备"
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ statusTab:[
|
|
|
+ {
|
|
|
+ value:"跟进中",
|
|
|
+ label:"跟进中"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value:"已成交",
|
|
|
+ label:"已成交"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value:"已失败",
|
|
|
+ label:"已失败"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value:"已结案",
|
|
|
+ label:"已结案"
|
|
|
+ }
|
|
|
+ ],
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
@@ -420,16 +515,9 @@ export default {
|
|
|
},
|
|
|
goDetail(data){
|
|
|
this.titleHeader = data
|
|
|
- this.tagSelect = false
|
|
|
- this.associationSelect = false
|
|
|
- this.typeSelect = false
|
|
|
- this.statusSelect = false
|
|
|
- this.tradingstatusSelect = false
|
|
|
if (data == '联系人总数'){
|
|
|
this.paramDetail.id =2025072213574102
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).contactsTotalTable.tablecols
|
|
|
- this.tagSelect = true
|
|
|
- this.associationSelect = true
|
|
|
this.getTagList()
|
|
|
}else if (data == '联系人跟进次数'){
|
|
|
this.paramDetail.id = 2025072213575402
|
|
|
@@ -437,24 +525,24 @@ export default {
|
|
|
}else if (data == '关联客户数'){
|
|
|
this.paramDetail.id = 2025072213580402
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).associatedCustomersTable.tablecols
|
|
|
- this.typeSelect = true
|
|
|
- this.statusSelect = true
|
|
|
- this.tradingstatusSelect = true
|
|
|
- this.tagSelect = true
|
|
|
this.getSelectData()
|
|
|
this.getTagList()
|
|
|
}else if (data == '关联项目数'){
|
|
|
this.paramDetail.id = 2025072213581302
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).associatedProjectsTable.tablecols
|
|
|
+ this.stageData()
|
|
|
+ this.getSelectData()
|
|
|
+ this.getTagList()
|
|
|
}else if (data == '关联客户成交金额'){
|
|
|
this.paramDetail.id = 2025072213582002
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).associatedAmountTable.tablecols
|
|
|
+ this.getSelectData()
|
|
|
}else if (data == '关联项目成交金额'){
|
|
|
this.paramDetail.id = 2025072213582602
|
|
|
this.tablecols = this.tool.tabelCol(this.$route.name).associatedAmountTable.tablecols
|
|
|
+ this.getSelectData()
|
|
|
}
|
|
|
this.detailTitle = this.$t(this.dateType) + '_' + this.$t(data)
|
|
|
- this.titleHeader = data
|
|
|
this.paramDetail.content.dataid = this.paramMain.content.dataid
|
|
|
this.paramDetail.content.type = this.paramMain.content.type
|
|
|
this.paramDetail.content.dateType = this.paramMain.content.dateType
|
|
|
@@ -463,8 +551,6 @@ export default {
|
|
|
},
|
|
|
/*获取联系人标签*/
|
|
|
async getTagList () {
|
|
|
- console.log('联系人标签')
|
|
|
- console.log(this.titleHeader,'titleHeader')
|
|
|
if (this.titleHeader == '联系人总数'){
|
|
|
let res = await this.$api.requested({
|
|
|
"id": 20220929085401,
|
|
|
@@ -487,10 +573,28 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
});
|
|
|
- this.tagList = res.data
|
|
|
-
|
|
|
+ this.tagList = this.unique(res.data)
|
|
|
+ }else if (this.titleHeader == '关联项目数'){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id":20221013104401,
|
|
|
+ "content":{
|
|
|
+ "isExport":1,
|
|
|
+ "pageNumber":1,
|
|
|
+ "pageSize":100,
|
|
|
+ "sys_systemtagid":1,
|
|
|
+ "where":{
|
|
|
+ "condition":""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.tagList = this.unique(res.data)
|
|
|
}
|
|
|
},
|
|
|
+ /*去重*/
|
|
|
+ unique(arr) {
|
|
|
+ const res = new Map();
|
|
|
+ return arr.filter((arr) => !res.has(arr.tag) && res.set(arr.tag, 1));
|
|
|
+ },
|
|
|
selectChange(){
|
|
|
this.paramDetail.content.where.tag = this.tags
|
|
|
this.$refs.detailRef.listData()
|
|
|
@@ -514,9 +618,35 @@ export default {
|
|
|
},
|
|
|
/*获取自定义选项数据*/
|
|
|
async getSelectData(){
|
|
|
- const res = await this.$store.dispatch("optiontypeselect", "customertypemx")
|
|
|
- this.option.typeData = res.data
|
|
|
- }
|
|
|
+ if (this.titleHeader == '关联客户数'){
|
|
|
+ const res = await this.$store.dispatch("optiontypeselect", "customertypemx")
|
|
|
+ this.option.typeData = res.data
|
|
|
+ }else if (this.titleHeader == '关联项目数'){
|
|
|
+ const res = await this.$store.dispatch("optiontypeselect", "projecttype")
|
|
|
+ this.projectType = res.data
|
|
|
+ const res1 = await this.$store.dispatch("optiontypeselect", "tradefield")
|
|
|
+ this.tradefieldSelect = res1.data
|
|
|
+ }else {
|
|
|
+ const res1 = await this.$store.dispatch("optiontypeselect", "tradefield")
|
|
|
+ this.tradefieldSelect = res1.data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /*获取阶段*/
|
|
|
+ async stageData(){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20221128143604,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 99,
|
|
|
+ "where": {
|
|
|
+ "condition": "",
|
|
|
+ "allprojecttype":"",
|
|
|
+ "projecttype":""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.option.stageList = res.data
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
this.departmentrtment()
|