增加团队过滤
This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@ module.exports = {
|
||||
'/api': {
|
||||
target: process.env.URL,
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/api/common': '/common' } //路由重写调用公共方法
|
||||
// pathRewrite: { '^/api/common': '/common' } //路由重写调用公共方法
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -41,3 +41,10 @@ export async function pageOrgNameList(params) {
|
||||
});
|
||||
return res.data;
|
||||
}
|
||||
|
||||
export async function pageTeamList(params) {
|
||||
const res = await request.get('/common/teamList', {
|
||||
params
|
||||
});
|
||||
return res.data;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
<!-- 团队选择组件 -->
|
||||
<template>
|
||||
<el-cascader
|
||||
clearable
|
||||
filterable
|
||||
collapse-tags
|
||||
:value="value"
|
||||
:options="regionsData"
|
||||
:placeholder="placeholder"
|
||||
popper-class="ele-pop-wrap-higher"
|
||||
:props="props"
|
||||
@input="updateValue"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { pageTeamList } from '@/api/auto';
|
||||
export default {
|
||||
name: 'TeamSelect',
|
||||
props: {
|
||||
value: Array,
|
||||
placeholder: String,
|
||||
options: Array,
|
||||
valueField: {
|
||||
type: String,
|
||||
validator: (val) => {
|
||||
return !val || val === 'label';
|
||||
}
|
||||
},
|
||||
props: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 级联选择器数据
|
||||
regionsData: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
/* 更新 value */
|
||||
updateValue(value) {
|
||||
this.$emit('input', value);
|
||||
},
|
||||
/* 级联选择器数据 value 处理 */
|
||||
formatData(data) {
|
||||
if (this.valueField === 'label') {
|
||||
return data.map((d) => {
|
||||
const item = {
|
||||
label: d.label,
|
||||
value: d.label
|
||||
};
|
||||
if (d.children) {
|
||||
item.children = d.children.map((c) => {
|
||||
const cItem = {
|
||||
label: c.label,
|
||||
value: c.label
|
||||
};
|
||||
if (c.children) {
|
||||
cItem.children = c.children.map((cc) => {
|
||||
return {
|
||||
label: cc.label,
|
||||
value: cc.label
|
||||
};
|
||||
});
|
||||
}
|
||||
return cItem;
|
||||
});
|
||||
}
|
||||
return item;
|
||||
});
|
||||
} else {
|
||||
return data;
|
||||
}
|
||||
},
|
||||
/* 省市区数据筛选 */
|
||||
filterData(data) {
|
||||
return this.formatData(data);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
options: {
|
||||
handler(options) {
|
||||
console.log(options);
|
||||
this.regionsData = this.filterData(options ?? []);
|
||||
if (!options) {
|
||||
pageTeamList().then((data) => {
|
||||
this.regionsData = this.filterData(data ?? []);
|
||||
this.$emit('load-data-done', data);
|
||||
});
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -131,6 +131,16 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="12" v-if="isShowTeamSearch">
|
||||
<el-form-item label="归属团队:">
|
||||
<team-select
|
||||
v-model="where.teamIds"
|
||||
placeholder="请选择团队"
|
||||
class="ele-fluid"
|
||||
:props="{multiple:true}"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="6" :sm="12">
|
||||
<div class="ele-form-actions">
|
||||
<el-button
|
||||
@@ -243,10 +253,11 @@ import BrandSelect from '@/components/BrandSelect/index.vue'
|
||||
import sendCoupon from '@/views/receiver/clues/components/send-coupon.vue'
|
||||
import { pageCenterList, pageOrgNameList } from '@/api/auto'
|
||||
import { utils, writeFile } from 'xlsx'
|
||||
import TeamSelect from '@/components/teamSelect/index.vue'
|
||||
|
||||
export default {
|
||||
name: 'receiverClues',
|
||||
components: { RegionsSelect, BrandSelect, sendCoupon },
|
||||
components: { TeamSelect, RegionsSelect, BrandSelect, sendCoupon },
|
||||
data() {
|
||||
return {
|
||||
where: {
|
||||
@@ -257,7 +268,8 @@ export default {
|
||||
userCode: '',
|
||||
centerNumber: '',
|
||||
orgName: '',
|
||||
level: ''
|
||||
level: '',
|
||||
teamIds: []
|
||||
},
|
||||
// 表格列配置
|
||||
columns: [
|
||||
@@ -402,7 +414,8 @@ export default {
|
||||
orgNameList: [],
|
||||
levelList: [],
|
||||
title: '线索列表',
|
||||
visibleSendCoupon: false
|
||||
visibleSendCoupon: false,
|
||||
isShowTeamSearch: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -441,6 +454,7 @@ export default {
|
||||
this.statusList = data.statusList
|
||||
this.belongOptions = data.belongList
|
||||
this.levelList = data.levelList
|
||||
this.isShowTeamSearch = data.isShowTeamSearch
|
||||
})
|
||||
.catch((e) => {
|
||||
this.$message.error(e.message)
|
||||
|
||||
@@ -9,7 +9,7 @@ module.exports = {
|
||||
'/pingan': {
|
||||
target: process.env.URL,
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/pingan/common': '/common' } //路由重写调用公共方法
|
||||
// pathRewrite: { '^/pingan/common': '/common' } //路由重写调用公共方法
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user