【招生小程序】 优化# 主账号-团队:数据简报移除新增客户,添加线索未领取数量
parent
d06d3f7c78
commit
1d966f3d10
|
@ -31,7 +31,7 @@
|
|||
<text class="text-muted w-[128rpx]">跟进时间</text>
|
||||
<text class="flex-1">{{ item.followUpTime }}</text>
|
||||
</view>
|
||||
<view class="flex gap-[20rpx] mb-[16rpx]">
|
||||
<view class="flex gap-[20rpx] mb-[16rpx]" v-if="item.recruitTeacherId !== null">
|
||||
<text class="text-muted w-[128rpx]">招生老师</text>
|
||||
<text class="flex-1">{{ item.recruitTeacherName }}</text>
|
||||
</view>
|
||||
|
@ -39,17 +39,33 @@
|
|||
<text class="text-muted w-[128rpx]">领取时间</text>
|
||||
<text class="flex-1">{{ item.getTime }}</text>
|
||||
</view>
|
||||
<view class="flex gap-[20rpx] mb-[16rpx]">
|
||||
<view
|
||||
class="flex gap-[20rpx] mb-[16rpx]"
|
||||
v-if="
|
||||
(item.situation == converStatusEnum.ADD_RELATION ||
|
||||
item.situation == converStatusEnum.EXCEPTION) &&
|
||||
item.state !== null
|
||||
"
|
||||
>
|
||||
<text class="text-muted w-[128rpx]">状态</text>
|
||||
<text class="flex-1 text-orage">{{ parseStateText }}</text>
|
||||
</view>
|
||||
<view class="flex gap-[20rpx] mb-[16rpx]">
|
||||
<view
|
||||
class="flex gap-[20rpx] mb-[16rpx]"
|
||||
v-if="
|
||||
item.situation == converStatusEnum.CONVERTED ||
|
||||
item.situation == converStatusEnum.FAILED
|
||||
"
|
||||
>
|
||||
<text class="text-muted w-[128rpx]">备注</text>
|
||||
<view class="flex gap-[12rpx] flex-1">
|
||||
<text class="text-error">{{ item.remark }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex gap-[20rpx] mb-[16rpx]">
|
||||
<view
|
||||
class="flex gap-[20rpx] mb-[16rpx]"
|
||||
v-if="item.situation == converStatusEnum.CONVERTED"
|
||||
>
|
||||
<text class="text-muted w-[128rpx]">成交时间</text>
|
||||
<text class="flex-1">{{ item.accomplishTime }}</text>
|
||||
</view>
|
||||
|
|
|
@ -115,8 +115,8 @@ const handleSubmit = () => {
|
|||
}
|
||||
await apiAddCluseProgress(data)
|
||||
toast('添加进展成功')
|
||||
uni.navigateBack()
|
||||
uni.$emit('refreshPage')
|
||||
uni.navigateBack()
|
||||
} catch (error) {}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -68,7 +68,7 @@ const dateDropdownPickerRef = ref<InstanceType<typeof dateDropdownPicker>>()
|
|||
const teamDropdownRef = ref<InstanceType<typeof selectDropdown>>()
|
||||
const orgDropdownRef = ref<InstanceType<typeof selectDropdown>>()
|
||||
const uDropdownRef = ref()
|
||||
const defaultValue = ref() //保存组织默认值
|
||||
const defaultValue = ref('') //保存组织默认值
|
||||
const organizationList = ref([])
|
||||
|
||||
const localValue = computed({
|
||||
|
|
|
@ -45,12 +45,12 @@ interface ICluseStatus {
|
|||
const data = ref<ICluseStatus[]>([])
|
||||
const loading = ref(false)
|
||||
const dataMap: Record<string, string> = {
|
||||
unclaimedCount: '待领取',
|
||||
conversionCount: '转化中',
|
||||
addedCount: '已添加',
|
||||
abnormalCount: '异常待处理',
|
||||
tradedCount: '已成交',
|
||||
failCount: '已战败'
|
||||
unclaimed: '待领取',
|
||||
conversion: '转化中',
|
||||
added: '已添加',
|
||||
abnormal: '异常待处理',
|
||||
traded: '已成交',
|
||||
fail: '已战败'
|
||||
}
|
||||
const fetchData = async (payload: IForm) => {
|
||||
loading.value = true
|
||||
|
@ -59,7 +59,7 @@ const fetchData = async (payload: IForm) => {
|
|||
data.value = Object.keys(dataMap).map(item => {
|
||||
return {
|
||||
label: dataMap[item],
|
||||
value: result[item] * 100 || 0
|
||||
value: parseFloat(result[item].replace('%', '')) || 0
|
||||
}
|
||||
})
|
||||
console.log(data.value)
|
||||
|
|
|
@ -40,12 +40,13 @@ const fetchData = async (payload: IForm) => {
|
|||
const result = await convertedSuccessApi(payload)
|
||||
console.log(result)
|
||||
data.value = result.map(item => {
|
||||
const { clientCount, clueCount, percentConversion } = item.leadToCustomerStatisticsVo
|
||||
const { transactionClient, clueCount, percentConversion } =
|
||||
item.leadToCustomerStatisticsVo
|
||||
return {
|
||||
name: item.organizationName,
|
||||
children: [
|
||||
{ label: '线索', value: clueCount ?? 0 + '个' },
|
||||
{ label: '成交客户', value: clientCount ?? 0 + '个' },
|
||||
{ label: '成交客户', value: transactionClient ?? 0 + '个' },
|
||||
{ label: '转化率', value: percentConversion }
|
||||
]
|
||||
}
|
||||
|
|
|
@ -36,7 +36,8 @@ const loading = ref(false)
|
|||
const data = ref<DataItem[]>([])
|
||||
const dataMap: Record<string, string> = {
|
||||
followUpRecord: '新增跟进',
|
||||
newCustomer: '新增客户',
|
||||
// newCustomer: '新增客户',
|
||||
unclaimedQuantity: '未领取',
|
||||
transactionClient: '成交客户',
|
||||
convertingClient: '转化中客户',
|
||||
exceptionPending: '异常待处理',
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<template>
|
||||
<view @click="handleClick">
|
||||
<view @click.stop="handleClick">
|
||||
<slot>复制</slot>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: "xy-copy",
|
||||
name: 'xy-copy',
|
||||
props: {
|
||||
content: {
|
||||
type: String,
|
||||
|
@ -23,48 +23,47 @@ export default {
|
|||
emits: ['success'],
|
||||
methods: {
|
||||
handleClick() {
|
||||
let content = this.content;
|
||||
let content = this.content
|
||||
if (!content) {
|
||||
uni.showToast({
|
||||
title: '暂无',
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
});
|
||||
return false;
|
||||
duration: 2000
|
||||
})
|
||||
return false
|
||||
}
|
||||
content = typeof content === 'string' ? content : content.toString() // 复制内容,必须字符串,数字需要转换为字符串
|
||||
/**
|
||||
* 小程序端 和 app端的复制逻辑
|
||||
*/
|
||||
let that = this;
|
||||
let that = this
|
||||
uni.setClipboardData({
|
||||
data: content,
|
||||
success: function() {
|
||||
success: function () {
|
||||
if (that.alertStyle == 'modal') {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: that.notice
|
||||
});
|
||||
})
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: that.notice,
|
||||
icon: 'none'
|
||||
});
|
||||
})
|
||||
}
|
||||
that.$emit('success');
|
||||
that.$emit('success')
|
||||
},
|
||||
fail:function(){
|
||||
fail: function () {
|
||||
uni.showToast({
|
||||
title: '复制失败',
|
||||
icon: 'none',
|
||||
duration:3000,
|
||||
});
|
||||
duration: 3000
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
Loading…
Reference in New Issue