提交 f1e0bed8 authored 作者: matian's avatar matian

updates

上级 0259b09d
...@@ -7,7 +7,6 @@ getConditionList({ channel: true }).then(res => { ...@@ -7,7 +7,6 @@ getConditionList({ channel: true }).then(res => {
t.push({ id: res.data.channel.tags.indexOf(cur), name: cur }) t.push({ id: res.data.channel.tags.indexOf(cur), name: cur })
return t return t
}, []) }, [])
console.log(tagsList.value)
}) })
// 列表配置 // 列表配置
...@@ -79,12 +78,12 @@ const listOptions = $computed(() => { ...@@ -79,12 +78,12 @@ const listOptions = $computed(() => {
}) })
</script> </script>
<template> <template>
<AppCard title="渠道信息"> <AppCard title="BP渠道信息">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template v-slot:createTime="{ params }"> <template v-slot:createTime="{ params }">
<el-date-picker <el-date-picker
v-model="params.createTime" v-model="params.createTime"
type="datetimerange" type="daterange"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
end-placeholder="创建结束时间" end-placeholder="创建结束时间"
value-format="yyyy-MM-dd HH-mm-ss" value-format="yyyy-MM-dd HH-mm-ss"
......
<script setup lang="ts"> <script setup lang="ts">
import { useInfoStore } from '@/stores/index' import { checkPermission } from '@/utils/permission'
import shortcuts from '@/utils/shortcut' import shortcuts from '@/utils/shortcut'
import { getConditionList, getAllUserList } from '../api' import { getConditionList, getAllUserList } from '../api'
const router = useRouter() const router = useRouter()
const store = useInfoStore()
const list = store.info
console.log(list)
const projectList = ref([]) const projectList = ref([])
const systemList = ref([]) const systemList = ref([])
getConditionList({ all: true }).then(res => { getConditionList({ all: true }).then(res => {
projectList.value = res.data.all.projects projectList.value = res.data.all.projects
systemList.value = res.data.all.system_id systemList.value = res.data.all.system_id
console.log(res)
}) })
// 列表配置 // 列表配置
...@@ -83,7 +78,7 @@ const listOptions = $computed(() => { ...@@ -83,7 +78,7 @@ const listOptions = $computed(() => {
label: '用户来源', label: '用户来源',
prop: 'system_id', prop: 'system_id',
computed(row: any) { computed(row: any) {
if (row.row.system_id === 'zws') { if (row.row.system_id === 'zws' && checkPermission('')) {
return 'zws' return 'zws'
} else if (row.row.system_id === 'wechat') { } else if (row.row.system_id === 'wechat') {
return '企微' return '企微'
...@@ -101,13 +96,13 @@ const listOptions = $computed(() => { ...@@ -101,13 +96,13 @@ const listOptions = $computed(() => {
}) })
const handleDetail = (row: any) => { const handleDetail = (row: any) => {
if (row.system_id === 'zws') { if (row.system_id === 'zws' && checkPermission('customer-zws-view')) {
router.push(`/user/zws/detail/?id=${row.id}`) router.push(`/user/zws/detail/?id=${row.id}`)
} else if (row.system_id === 'wechat') { } else if (row.system_id === 'wechat' && checkPermission('customer-wechat-view')) {
router.push(`/user/weixin/detail/?id=${row.id}`) router.push(`/user/weixin/detail/?id=${row.id}`)
} else if (row.system_id === 'dustess') { } else if (row.system_id === 'dustess' && checkPermission('customer-dustess-view')) {
router.push(`/user/chenfeng/detail/?id=${row.id}`) router.push(`/user/chenfeng/detail/?id=${row.id}`)
} else if (row.system_id === 'xiaoe') { } else if (row.system_id === 'xiaoe' && checkPermission('customer-xiaoe-view')) {
router.push(`/user/xiaoetong/detail/?id=${row.id}`) router.push(`/user/xiaoetong/detail/?id=${row.id}`)
} }
} }
...@@ -118,7 +113,7 @@ const handleDetail = (row: any) => { ...@@ -118,7 +113,7 @@ const handleDetail = (row: any) => {
<template v-slot:timeRange="{ params }"> <template v-slot:timeRange="{ params }">
<el-date-picker <el-date-picker
v-model="params.timeRange" v-model="params.timeRange"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
......
...@@ -13,7 +13,6 @@ getConditionList({ xiaoe: true }).then(res => { ...@@ -13,7 +13,6 @@ getConditionList({ xiaoe: true }).then(res => {
t.push({ id: res.data.xiaoe.province_map.indexOf(cur), name: cur }) t.push({ id: res.data.xiaoe.province_map.indexOf(cur), name: cur })
return t return t
}, []) }, [])
console.log(provinceMapList.value)
salesList.value = res.data.xiaoe.sales salesList.value = res.data.xiaoe.sales
}) })
...@@ -124,7 +123,7 @@ const listOptions = $computed(() => { ...@@ -124,7 +123,7 @@ const listOptions = $computed(() => {
<template v-slot:timeRange="{ params }"> <template v-slot:timeRange="{ params }">
<el-date-picker <el-date-picker
v-model="params.timeRange" v-model="params.timeRange"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
......
...@@ -2,14 +2,9 @@ ...@@ -2,14 +2,9 @@
import { getGooseUserDetail } from '../api' import { getGooseUserDetail } from '../api'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()
const props = defineProps<Props>()
interface Props {
id: string
}
const gooseInfo: any = ref({}) const gooseInfo: any = ref({})
const params: any = { id: route.query.id || props.id } getGooseUserDetail({ id: route.query.id }).then(res => {
getGooseUserDetail(params).then(res => {
gooseInfo.value = res.data gooseInfo.value = res.data
}) })
</script> </script>
...@@ -20,18 +15,21 @@ getGooseUserDetail(params).then(res => { ...@@ -20,18 +15,21 @@ getGooseUserDetail(params).then(res => {
type="primary" type="primary"
@click="router.push({ path: '/user/chenfeng/detail', query: { id: gooseInfo.other_system_customer?.dustess } })" @click="router.push({ path: '/user/chenfeng/detail', query: { id: gooseInfo.other_system_customer?.dustess } })"
v-if="gooseInfo?.other_system_customer?.dustess !== null" v-if="gooseInfo?.other_system_customer?.dustess !== null"
v-permission="'customer-dustess-view'"
>尘峰渠道</el-button >尘峰渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/weixin/detail', query: { id: gooseInfo.other_system_customer?.wechat } })" @click="router.push({ path: '/user/weixin/detail', query: { id: gooseInfo.other_system_customer?.wechat } })"
v-if="gooseInfo.other_system_customer?.wechat !== null" v-if="gooseInfo.other_system_customer?.wechat !== null"
v-permission="'customer-wechat-view'"
>企微渠道</el-button >企微渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/zws/detail', query: { id: gooseInfo.other_system_customer?.zws } })" @click="router.push({ path: '/user/zws/detail', query: { id: gooseInfo.other_system_customer?.zws } })"
v-if="gooseInfo.other_system_customer?.zws !== null" v-if="gooseInfo.other_system_customer?.zws !== null"
v-permission="'customer-zws-view'"
>ZWS渠道</el-button >ZWS渠道</el-button
> >
</el-row> </el-row>
......
...@@ -103,7 +103,7 @@ const listOptions = $computed(() => { ...@@ -103,7 +103,7 @@ const listOptions = $computed(() => {
<template v-slot:timeRange="{ params }"> <template v-slot:timeRange="{ params }">
<el-date-picker <el-date-picker
v-model="params.timeRange" v-model="params.timeRange"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
......
<script setup lang="ts"> <script setup lang="ts">
import { getPeakUserDetail } from '../api' import { getPeakUserDetail } from '../api'
interface Props {
id: string
}
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()
const props = defineProps<Props>()
const infoList: any = ref({}) const infoList: any = ref({})
const params: any = { id: route.query.id || props.id } getPeakUserDetail({ id: route.query.id }).then(res => {
getPeakUserDetail(params).then(res => {
res.data.custom_fields = JSON.parse(res.data.custom_fields) res.data.custom_fields = JSON.parse(res.data.custom_fields)
infoList.value = res.data infoList.value = res.data
}) })
...@@ -20,18 +16,21 @@ getPeakUserDetail(params).then(res => { ...@@ -20,18 +16,21 @@ getPeakUserDetail(params).then(res => {
type="primary" type="primary"
@click="router.push({ path: '/user/chenfeng/detail', query: { id: infoList.other_system_customer?.xiaoe } })" @click="router.push({ path: '/user/chenfeng/detail', query: { id: infoList.other_system_customer?.xiaoe } })"
v-if="infoList.other_system_customer?.xiaoe !== null" v-if="infoList.other_system_customer?.xiaoe !== null"
v-permission="'customer-xiaoe-view'"
>小鹅通渠道</el-button >小鹅通渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/weixin/detail', query: { id: infoList.other_system_customer?.wechat } })" @click="router.push({ path: '/user/weixin/detail', query: { id: infoList.other_system_customer?.wechat } })"
v-if="infoList.other_system_customer?.wechat !== null" v-if="infoList.other_system_customer?.wechat !== null"
v-permission="'customer-wechat-view'"
>企微渠道</el-button >企微渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/zws/detail', query: { id: infoList.other_system_customer?.zws } })" @click="router.push({ path: '/user/zws/detail', query: { id: infoList.other_system_customer?.zws } })"
v-if="infoList.other_system_customer?.zws !== null" v-if="infoList.other_system_customer?.zws !== null"
v-permission="'customer-zws-view'"
>ZWS渠道</el-button >ZWS渠道</el-button
> >
</el-row> </el-row>
...@@ -39,9 +38,12 @@ getPeakUserDetail(params).then(res => { ...@@ -39,9 +38,12 @@ getPeakUserDetail(params).then(res => {
<el-descriptions :column="4"> <el-descriptions :column="4">
<el-descriptions-item label="用户姓名">{{ infoList.name || '-' }}</el-descriptions-item> <el-descriptions-item label="用户姓名">{{ infoList.name || '-' }}</el-descriptions-item>
<el-descriptions-item label="联系电话"> <el-descriptions-item label="联系电话">
<template v-if="infoList.mobiles && infoList.mobiles.length > 0">
<span v-for="(item, index) in infoList.mobiles" :key="index"> <span v-for="(item, index) in infoList.mobiles" :key="index">
{{ item }} {{ item }}
</span> </span>
</template>
<span v-else>-</span>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="性别">{{ infoList.gender || '-' }}</el-descriptions-item> <el-descriptions-item label="性别">{{ infoList.gender || '-' }}</el-descriptions-item>
<el-descriptions-item label="邮箱">{{ infoList.email || '-' }}</el-descriptions-item> <el-descriptions-item label="邮箱">{{ infoList.email || '-' }}</el-descriptions-item>
...@@ -54,9 +56,12 @@ getPeakUserDetail(params).then(res => { ...@@ -54,9 +56,12 @@ getPeakUserDetail(params).then(res => {
<el-descriptions-item label="创建时间">{{ infoList.createtime || '-' }}</el-descriptions-item> <el-descriptions-item label="创建时间">{{ infoList.createtime || '-' }}</el-descriptions-item>
<el-descriptions-item></el-descriptions-item> <el-descriptions-item></el-descriptions-item>
<el-descriptions-item label="备注"> <el-descriptions-item label="备注">
<template v-if="infoList.custom_fields && infoList.custom_fields.length > 0">
<span v-for="(item, index) in infoList.custom_fields" :key="index"> <span v-for="(item, index) in infoList.custom_fields" :key="index">
{{ item }} {{ item }}
</span> </span>
</template>
<span v-else>-</span>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</AppCard> </AppCard>
......
...@@ -15,7 +15,6 @@ getConditionList({ wechat: true }).then(res => { ...@@ -15,7 +15,6 @@ getConditionList({ wechat: true }).then(res => {
}) })
return item return item
}) })
console.log(tagsList.value, '123123123')
}) })
// 列表配置 // 列表配置
...@@ -121,7 +120,7 @@ const listOptions = $computed(() => { ...@@ -121,7 +120,7 @@ const listOptions = $computed(() => {
<template v-slot:timeRange="{ params }"> <template v-slot:timeRange="{ params }">
<el-date-picker <el-date-picker
v-model="params.timeRange" v-model="params.timeRange"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
......
...@@ -2,15 +2,10 @@ ...@@ -2,15 +2,10 @@
import { getwechatUserDetail } from '../api' import { getwechatUserDetail } from '../api'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()
const props = defineProps<Props>()
interface Props {
id: string
}
const wechatFollow: any = ref([]) const wechatFollow: any = ref([])
const other_system_customers: any = ref({}) const other_system_customers: any = ref({})
const params: any = { id: route.query.id || props.id } getwechatUserDetail({ id: route.query.id }).then(res => {
getwechatUserDetail(params).then(res => {
const { follow, other_system_customer, ...info } = res.data const { follow, other_system_customer, ...info } = res.data
other_system_customers.value = other_system_customer other_system_customers.value = other_system_customer
wechatFollow.value = res.data.follow.map((item: any) => { wechatFollow.value = res.data.follow.map((item: any) => {
...@@ -26,22 +21,25 @@ getwechatUserDetail(params).then(res => { ...@@ -26,22 +21,25 @@ getwechatUserDetail(params).then(res => {
type="primary" type="primary"
@click="router.push({ path: '/user/chenfeng/detail', query: { id: other_system_customers.dustess } })" @click="router.push({ path: '/user/chenfeng/detail', query: { id: other_system_customers.dustess } })"
v-if="other_system_customers.dustess !== null" v-if="other_system_customers.dustess !== null"
v-permission="'customer-dustess-view'"
>尘峰渠道</el-button >尘峰渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/xiaoe/detail', query: { id: other_system_customers.xiaoe } })" @click="router.push({ path: '/user/xiaoe/detail', query: { id: other_system_customers.xiaoe } })"
v-if="other_system_customers.xiaoe !== null" v-if="other_system_customers.xiaoe !== null"
v-permission="'customer-xiaoe-view'"
>小鹅通渠道</el-button >小鹅通渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/zws/detail', query: { id: other_system_customers.zws } })" @click="router.push({ path: '/user/zws/detail', query: { id: other_system_customers.zws } })"
v-if="other_system_customers.zws !== null" v-if="other_system_customers.zws !== null"
v-permission="'customer-zws-view'"
>ZWS渠道</el-button >ZWS渠道</el-button
> >
</el-row> </el-row>
<div v-for="(item, index) in wechatFollow" :key="index" style="margin-top: 20px"> <el-card v-for="(item, index) in wechatFollow" :key="index" style="margin-top: 20px; background: rgb(248 248 248)">
<AppCard :title="`基本信息${index + 1}`"> <AppCard :title="`基本信息${index + 1}`">
<el-descriptions :column="4"> <el-descriptions :column="4">
<el-descriptions-item label="微信昵称">{{ item.wechatInfo.name || '-' }}</el-descriptions-item> <el-descriptions-item label="微信昵称">{{ item.wechatInfo.name || '-' }}</el-descriptions-item>
...@@ -64,5 +62,5 @@ getwechatUserDetail(params).then(res => { ...@@ -64,5 +62,5 @@ getwechatUserDetail(params).then(res => {
</el-descriptions> </el-descriptions>
<el-empty v-else></el-empty> <el-empty v-else></el-empty>
</AppCard> </AppCard>
</div> </el-card>
</template> </template>
...@@ -6,7 +6,6 @@ const projectsList = ref([]) ...@@ -6,7 +6,6 @@ const projectsList = ref([])
const applicationList = ref([]) const applicationList = ref([])
const channelsList = ref([]) const channelsList = ref([])
getConditionList({ zws: true }).then(res => { getConditionList({ zws: true }).then(res => {
console.log(res.data.zws.application_status_map)
agentsList.value = res.data.zws.agents agentsList.value = res.data.zws.agents
projectsList.value = res.data.zws.projects projectsList.value = res.data.zws.projects
applicationList.value = res.data.zws.application_status_map applicationList.value = res.data.zws.application_status_map
...@@ -121,7 +120,7 @@ const listOptions = $computed(() => { ...@@ -121,7 +120,7 @@ const listOptions = $computed(() => {
<template v-slot:createTime="{ params }"> <template v-slot:createTime="{ params }">
<el-date-picker <el-date-picker
v-model="params.createTime" v-model="params.createTime"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
...@@ -131,7 +130,7 @@ const listOptions = $computed(() => { ...@@ -131,7 +130,7 @@ const listOptions = $computed(() => {
<template v-slot:updatedTime="{ params }"> <template v-slot:updatedTime="{ params }">
<el-date-picker <el-date-picker
v-model="params.updatedTime" v-model="params.updatedTime"
type="datetimerange" type="daterange"
:shortcuts="shortcuts" :shortcuts="shortcuts"
range-separator="To" range-separator="To"
start-placeholder="创建开始时间" start-placeholder="创建开始时间"
......
...@@ -37,23 +37,26 @@ const handleView = () => { ...@@ -37,23 +37,26 @@ const handleView = () => {
type="primary" type="primary"
@click="router.push({ path: '/user/chenfeng/detail', query: { id: zwsInfo?.other_system_customer?.dustess } })" @click="router.push({ path: '/user/chenfeng/detail', query: { id: zwsInfo?.other_system_customer?.dustess } })"
v-if="zwsInfo?.other_system_customer?.dustess !== null" v-if="zwsInfo?.other_system_customer?.dustess !== null"
v-permission="'customer-dustess-view'"
>尘峰渠道</el-button >尘峰渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/xaioe/detail', query: { id: zwsInfo?.other_system_customer?.xiaoe } })" @click="router.push({ path: '/user/xaioe/detail', query: { id: zwsInfo?.other_system_customer?.xiaoe } })"
v-if="zwsInfo?.other_system_customer?.xiaoe !== null" v-if="zwsInfo?.other_system_customer?.xiaoe !== null"
v-permission="'customer-xiaoe-view'"
>小鹅通渠道</el-button >小鹅通渠道</el-button
> >
<el-button <el-button
type="primary" type="primary"
@click="router.push({ path: '/user/weixin/detail', query: { id: zwsInfo?.other_system_customer?.wechat } })" @click="router.push({ path: '/user/weixin/detail', query: { id: zwsInfo?.other_system_customer?.wechat } })"
v-if="zwsInfo?.other_system_customer?.wechat !== null" v-if="zwsInfo?.other_system_customer?.wechat !== null"
v-permission="'customer-wechat-view'"
>企微渠道</el-button >企微渠道</el-button
> >
</el-row> </el-row>
<AppCard title="基本信息" style="margin-top: 20px"> <AppCard title="基本信息" style="margin-top: 20px">
<el-descriptions :column="4"> <el-descriptions :column="3" border>
<el-descriptions-item label="用户姓名">{{ zwsInfo.user_name || '-' }}</el-descriptions-item> <el-descriptions-item label="用户姓名">{{ zwsInfo.user_name || '-' }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ zwsInfo.gender_name || '-' }}</el-descriptions-item> <el-descriptions-item label="性别">{{ zwsInfo.gender_name || '-' }}</el-descriptions-item>
<el-descriptions-item label="学历">{{ zwsInfo.degree_name || '-' }}</el-descriptions-item> <el-descriptions-item label="学历">{{ zwsInfo.degree_name || '-' }}</el-descriptions-item>
...@@ -67,9 +70,9 @@ const handleView = () => { ...@@ -67,9 +70,9 @@ const handleView = () => {
<el-descriptions-item label="微信">{{ zwsInfo.wechat || '-' }}</el-descriptions-item> <el-descriptions-item label="微信">{{ zwsInfo.wechat || '-' }}</el-descriptions-item>
<el-descriptions-item label="QQ">{{ zwsInfo.qq || '-' }}</el-descriptions-item> <el-descriptions-item label="QQ">{{ zwsInfo.qq || '-' }}</el-descriptions-item>
<el-descriptions-item label="系统账号">{{ zwsInfo.user_id || '-' }}</el-descriptions-item> <el-descriptions-item label="系统账号">{{ zwsInfo.user_id || '-' }}</el-descriptions-item>
<el-descriptions-item label="报名地址">{{ zwsInfo.referrer || '-' }}</el-descriptions-item>
<el-descriptions-item label="终端">{{ zwsInfo.device_name || '-' }}</el-descriptions-item> <el-descriptions-item label="终端">{{ zwsInfo.device_name || '-' }}</el-descriptions-item>
<el-descriptions-item label="所在城市">{{ zwsInfo.city_name || '-' }}</el-descriptions-item> <el-descriptions-item label="所在城市">{{ zwsInfo.city_name || '-' }}</el-descriptions-item>
<el-descriptions-item label="报名地址"> {{ zwsInfo.referrer || '-' }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</AppCard> </AppCard>
<AppCard title="状态信息"> <AppCard title="状态信息">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论