This commit is contained in:
parent
421fad369c
commit
c2b84eae75
|
|
@ -1,8 +1,8 @@
|
||||||
<!-- 下拉选择用户,可远程搜索 -->
|
<!-- 下拉选择用户,可远程搜索 -->
|
||||||
<template>
|
<template>
|
||||||
<el-select :model-value="modelValue" placeholder="用户昵称/用户ID/用户手机" filterable remote reserve-keyword
|
<el-select :model-value="modelValue" :placeholder="placeholder" filterable remote reserve-keyword
|
||||||
:remote-method="remoteMethod" :loading="loading" @change="$emit('update:modelValue', $event)">
|
:remote-method="remoteMethod" :loading="loading" @change="$emit('update:modelValue', $event)">
|
||||||
<el-option v-for="item in options" :key="item.id" :label="item.nickName" :value="item.id" />
|
<el-option v-for="item in options" :key="item.id" :label="`${item.nickName} / ${item.phone}`" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -21,6 +21,13 @@ const userId = defineModel('modelValue', {
|
||||||
required: false
|
required: false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
placeholder: {
|
||||||
|
type: String,
|
||||||
|
default: '用户昵称/用户ID/用户手机'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// 远程搜索用户列表
|
// 远程搜索用户列表
|
||||||
const remoteMethod = _.debounce(async function (query) {
|
const remoteMethod = _.debounce(async function (query) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import dayjs from 'dayjs';
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { distributionOpenFlow } from '@/api/coupon'
|
import { distributionOpenFlow } from '@/api/coupon'
|
||||||
import selectUser from '../../components/selectUser.vue';
|
import selectUser from '../../components/selectUser.vue';
|
||||||
|
|
@ -89,7 +90,7 @@ function searchHandle() {
|
||||||
function resetHandle() {
|
function resetHandle() {
|
||||||
queryForm.value.key = ''
|
queryForm.value.key = ''
|
||||||
queryForm.value.startTime = ''
|
queryForm.value.startTime = ''
|
||||||
queryForm.value.startTime = ''
|
queryForm.value.endTime = ''
|
||||||
times.value = []
|
times.value = []
|
||||||
searchHandle()
|
searchHandle()
|
||||||
}
|
}
|
||||||
|
|
@ -105,8 +106,13 @@ const tableData = reactive({
|
||||||
// 选择日期
|
// 选择日期
|
||||||
const times = ref([])
|
const times = ref([])
|
||||||
function selectTimeChange(e) {
|
function selectTimeChange(e) {
|
||||||
queryForm.value.startTime = dayjs(e[0]).format('YYYY-MM-DD 00:00:00')
|
if (e !== null) {
|
||||||
queryForm.value.endTime = dayjs(e[1]).format('YYYY-MM-DD 23:59:59')
|
queryForm.value.startTime = dayjs(e[0]).format('YYYY-MM-DD 00:00:00')
|
||||||
|
queryForm.value.endTime = dayjs(e[1]).format('YYYY-MM-DD 23:59:59')
|
||||||
|
} else {
|
||||||
|
queryForm.value.startTime = ''
|
||||||
|
queryForm.value.endTime = ''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分页大小发生变化
|
// 分页大小发生变化
|
||||||
|
|
@ -131,6 +137,9 @@ async function getTableData() {
|
||||||
})
|
})
|
||||||
tableData.list = res.records
|
tableData.list = res.records
|
||||||
tableData.total = res.totalRow
|
tableData.total = res.totalRow
|
||||||
|
|
||||||
|
totalCount.value = res.totalCount
|
||||||
|
totalAmount.value = res.totalAmount
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="分销员" prop="distributionShops">
|
<el-table-column label="分销员" prop="distributionShops">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.distributionShops.length > 0" style="color: red;">是</span>
|
<span v-if="isDistribtion(scope.row.distributionShops) == 1" style="color: red;">是</span>
|
||||||
<span v-else>否</span>
|
<span v-else>否</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
<el-table-column label="注册时间" prop="createTime" width="200"></el-table-column>
|
<el-table-column label="注册时间" prop="createTime" width="200"></el-table-column>
|
||||||
<el-table-column label="操作" width="100" fixed="right">
|
<el-table-column label="操作" width="100" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" :disabled="!!scope.row.distributionShops.length"
|
<el-button type="primary" :disabled="isDistribtion(scope.row.distributionShops) == 1"
|
||||||
@click="selectHandle(scope.row)">选择</el-button>
|
@click="selectHandle(scope.row)">选择</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -121,6 +121,12 @@ function submitHandle() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 过滤条件
|
||||||
|
function isDistribtion(str) {
|
||||||
|
let s = str.split('_')
|
||||||
|
return s[1]
|
||||||
|
}
|
||||||
|
|
||||||
const selectUser = ref([])
|
const selectUser = ref([])
|
||||||
function tabSelect(e) {
|
function tabSelect(e) {
|
||||||
selectUser.value = e
|
selectUser.value = e
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,19 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<selectUser v-model="querForm.userId" />
|
<selectUser v-model="querForm.userId" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="tabIndex == 1">
|
<el-form-item v-if="tabIndex == 0">
|
||||||
<el-select v-model="querForm.distributionLevelId" placeholder="请选择等级" style="width: 200px;">
|
<el-select v-model="querForm.distributionLevelId" placeholder="请选择等级" style="width: 200px;">
|
||||||
<el-option v-for="item in distributionLevelIdList" :key="item.id" :label="item.name"
|
<el-option v-for="item in distributionLevelIdList" :key="item.id" :label="item.name"
|
||||||
:value="item.id"></el-option>
|
:value="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item v-if="tabIndex == 1">
|
||||||
|
<el-select v-model="querForm.status" placeholder="请选择状态" style="width: 200px;">
|
||||||
|
<el-option label="已入账" value="success"></el-option>
|
||||||
|
<el-option label="待入账" value="pending"></el-option>
|
||||||
|
<el-option label="已退款" value="refund"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="searchHandle" :loading="tableData.loading" icon="Search">搜索</el-button>
|
<el-button type="primary" @click="searchHandle" :loading="tableData.loading" icon="Search">搜索</el-button>
|
||||||
<el-button @click="resetHandle" :loading="tableData.loading" icon="Refresh">重置</el-button>
|
<el-button @click="resetHandle" :loading="tableData.loading" icon="Refresh">重置</el-button>
|
||||||
|
|
@ -73,8 +80,16 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="等级" prop="levelName"></el-table-column>
|
<el-table-column label="等级" prop="levelName"></el-table-column>
|
||||||
<el-table-column label="总消费金额(元)" prop="oneIncome"></el-table-column>
|
<!-- <el-table-column label="总消费金额(元)" prop="oneIncome">
|
||||||
<el-table-column label="累计收益(元)" prop="totalIncome"></el-table-column>
|
<template #default="scope">
|
||||||
|
{{ multiplyAndFormat(scope.row.oneIncome || 0) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column label="累计收益(元)" prop="totalIncome">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ multiplyAndFormat(scope.row.totalIncome || 0) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="邀请时间" prop="inviteTime"></el-table-column>
|
<el-table-column label="邀请时间" prop="inviteTime"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- 收入明细 -->
|
<!-- 收入明细 -->
|
||||||
|
|
@ -95,6 +110,9 @@
|
||||||
<el-tag disable-transitions type="info" v-if="scope.row.status == 'pending'">
|
<el-tag disable-transitions type="info" v-if="scope.row.status == 'pending'">
|
||||||
待入账
|
待入账
|
||||||
</el-tag>
|
</el-tag>
|
||||||
|
<el-tag disable-transitions type="danger" v-if="scope.row.status == 'refund'">
|
||||||
|
已退款
|
||||||
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="关联订单号" prop="orderNo"></el-table-column>
|
<el-table-column label="关联订单号" prop="orderNo"></el-table-column>
|
||||||
|
|
@ -127,17 +145,18 @@ const visible = ref(false)
|
||||||
|
|
||||||
const rowInfo = ref('')
|
const rowInfo = ref('')
|
||||||
|
|
||||||
const querForm = ref({
|
const resetQuerForm = ref({
|
||||||
|
status: '',
|
||||||
userId: '',
|
userId: '',
|
||||||
distributionLevelId: ''
|
distributionLevelId: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const querForm = ref({ ...resetQuerForm.value })
|
||||||
|
|
||||||
const distributionLevelIdList = ref([])
|
const distributionLevelIdList = ref([])
|
||||||
|
|
||||||
function resetHandle() {
|
function resetHandle() {
|
||||||
tabIndex.value = 0
|
querForm.value = { ...resetQuerForm.value }
|
||||||
querForm.value.userId = ''
|
|
||||||
querForm.value.distributionLevelId = ''
|
|
||||||
searchHandle()
|
searchHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -156,6 +175,11 @@ const statusList = ref([
|
||||||
value: 'success',
|
value: 'success',
|
||||||
label: '已入账',
|
label: '已入账',
|
||||||
type: 'success'
|
type: 'success'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'refund',
|
||||||
|
label: '已退款',
|
||||||
|
type: 'danger'
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
@ -195,14 +219,16 @@ async function getTableData() {
|
||||||
id: rowInfo.value.id,
|
id: rowInfo.value.id,
|
||||||
page: tableData.page,
|
page: tableData.page,
|
||||||
size: tableData.size,
|
size: tableData.size,
|
||||||
shopUserId: querForm.value.userId
|
shopUserId: querForm.value.userId,
|
||||||
|
distributionLevelId: querForm.value.distributionLevelId
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
res = await distributionFlowGet({
|
res = await distributionFlowGet({
|
||||||
id: rowInfo.value.id,
|
id: rowInfo.value.id,
|
||||||
parentId: rowInfo.value.id,
|
parentId: rowInfo.value.id,
|
||||||
shopUserId: querForm.value.userId,
|
shopUserId: querForm.value.userId,
|
||||||
distributionLevelId: querForm.value.distributionLevelId
|
distributionLevelId: querForm.value.distributionLevelId,
|
||||||
|
status: querForm.value.status
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,15 @@
|
||||||
@change="selectTimeChange"></el-date-picker>
|
@change="selectTimeChange"></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<selectUser v-model="queryForm.key" />
|
<!-- <selectUser v-model="queryForm.key" /> -->
|
||||||
|
<el-select v-model="queryForm.status" placeholder="请选择状态" style="width: 200px;">
|
||||||
|
<el-option label="已入账" value="success"></el-option>
|
||||||
|
<el-option label="待入账" value="pending"></el-option>
|
||||||
|
<el-option label="已退款" value="refund"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<selectUser v-model="queryForm.id" placeholder="分销员昵称/手机号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<div class="between">
|
<div class="between">
|
||||||
|
|
@ -84,11 +92,13 @@
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag disable-transitions type="success" effect="dark" v-if="scope.row.status == 'success'">已入账</el-tag>
|
<el-tag disable-transitions type="success" effect="dark" v-if="scope.row.status == 'success'">已入账</el-tag>
|
||||||
<el-tag disable-transitions type="info" effect="dark" v-if="scope.row.status == 'pending'">待入账</el-tag>
|
<el-tag disable-transitions type="info" effect="dark" v-if="scope.row.status == 'pending'">待入账</el-tag>
|
||||||
|
<el-tag disable-transitions type="danger" effect="dark" v-if="scope.row.status == 'refund'">已退款</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="关联订单号" prop="orderNo" min-width="200"></el-table-column>
|
<el-table-column label="关联订单号" prop="orderNo" min-width="200"></el-table-column>
|
||||||
<el-table-column label="总收益(元)" prop="rewardAmount" min-width="120">
|
<el-table-column label="总收益(元)" prop="rewardAmount" min-width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<span v-if="scope.row.status == 'refund'">-</span>
|
||||||
{{ multiplyAndFormat(scope.row.rewardAmount || 0) }}
|
{{ multiplyAndFormat(scope.row.rewardAmount || 0) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -123,11 +133,14 @@ const infoObj = ref({
|
||||||
successAmount: 0
|
successAmount: 0
|
||||||
})
|
})
|
||||||
|
|
||||||
const queryForm = ref({
|
const resetQuerForm = ref({
|
||||||
|
id: '',
|
||||||
key: '',
|
key: '',
|
||||||
startTime: '',
|
startTime: '',
|
||||||
endTime: ''
|
endTime: '',
|
||||||
|
status: ''
|
||||||
})
|
})
|
||||||
|
const queryForm = ref({ ...resetQuerForm.value })
|
||||||
|
|
||||||
function searchHandle() {
|
function searchHandle() {
|
||||||
tableData.page = 1;
|
tableData.page = 1;
|
||||||
|
|
@ -135,11 +148,8 @@ function searchHandle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetHandle() {
|
function resetHandle() {
|
||||||
queryForm.value.key = ''
|
queryForm.value = { ...resetQuerForm.value }
|
||||||
queryForm.value.startTime = ''
|
|
||||||
queryForm.value.startTime = ''
|
|
||||||
times.value = []
|
times.value = []
|
||||||
|
|
||||||
searchHandle()
|
searchHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -154,8 +164,13 @@ const tableData = reactive({
|
||||||
// 选择日期
|
// 选择日期
|
||||||
const times = ref([])
|
const times = ref([])
|
||||||
function selectTimeChange(e) {
|
function selectTimeChange(e) {
|
||||||
queryForm.value.startTime = dayjs(e[0]).format('YYYY-MM-DD 00:00:00')
|
if (e) {
|
||||||
queryForm.value.endTime = dayjs(e[1]).format('YYYY-MM-DD 23:59:59')
|
queryForm.value.startTime = dayjs(e[0]).format('YYYY-MM-DD 00:00:00')
|
||||||
|
queryForm.value.endTime = dayjs(e[1]).format('YYYY-MM-DD 23:59:59')
|
||||||
|
} else {
|
||||||
|
queryForm.value.startTime = ''
|
||||||
|
queryForm.value.endTime = ''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分页大小发生变化
|
// 分页大小发生变化
|
||||||
|
|
@ -176,6 +191,7 @@ async function getTableData() {
|
||||||
const res = await distributionFlowGet({
|
const res = await distributionFlowGet({
|
||||||
page: tableData.page,
|
page: tableData.page,
|
||||||
size: tableData.size,
|
size: tableData.size,
|
||||||
|
...queryForm.value
|
||||||
})
|
})
|
||||||
tableData.list = res.records
|
tableData.list = res.records
|
||||||
tableData.total = res.totalRow
|
tableData.total = res.totalRow
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<div>
|
<div>
|
||||||
<el-form inline>
|
<el-form inline>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<selectUser v-model="queryForm.user" />
|
<selectUser v-model="queryForm.id" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-date-picker style="width: 300px" v-model="times" type="daterange" range-separator="至"
|
<el-date-picker style="width: 300px" v-model="times" type="daterange" range-separator="至"
|
||||||
|
|
@ -87,11 +87,12 @@ const addUserDialogRef = ref(null)
|
||||||
const editorUserDialogRef = ref(null)
|
const editorUserDialogRef = ref(null)
|
||||||
const distributionUserDetailRef = ref(null)
|
const distributionUserDetailRef = ref(null)
|
||||||
|
|
||||||
const queryForm = ref({
|
const resetQuerForm = ref({
|
||||||
user: '',
|
id: '',
|
||||||
startTime: '',
|
startTime: '',
|
||||||
endTime: ''
|
endTime: ''
|
||||||
})
|
})
|
||||||
|
const queryForm = ref({ ...resetQuerForm.value })
|
||||||
|
|
||||||
function searchHandle() {
|
function searchHandle() {
|
||||||
tableData.page = 1;
|
tableData.page = 1;
|
||||||
|
|
@ -99,11 +100,8 @@ function searchHandle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetHandle() {
|
function resetHandle() {
|
||||||
queryForm.value.user = ''
|
queryForm.value = { ...resetQuerForm.value }
|
||||||
queryForm.value.startTime = ''
|
|
||||||
queryForm.value.startTime = ''
|
|
||||||
times.value = []
|
times.value = []
|
||||||
|
|
||||||
searchHandle()
|
searchHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
<!-- 变动记录弹窗 -->
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="变动记录" width="1000px" v-model="visible">
|
<el-dialog title="变动记录" width="1000px" v-model="visible">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
@ -8,7 +9,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="queryForm.key" placeholder="请输入用户ID/昵称" style="width: 200px;"></el-input>
|
<selectUser v-model="queryForm.key" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="searchHandle" icon="Search" :loading="tableData.loading">搜索</el-button>
|
<el-button type="primary" @click="searchHandle" icon="Search" :loading="tableData.loading">搜索</el-button>
|
||||||
|
|
@ -64,6 +65,7 @@
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { multiplyAndFormat } from '@/utils'
|
import { multiplyAndFormat } from '@/utils'
|
||||||
import { distributionFlow } from '@/api/coupon'
|
import { distributionFlow } from '@/api/coupon'
|
||||||
|
import selectUser from '../../components/selectUser.vue'
|
||||||
|
|
||||||
const visible = ref(false)
|
const visible = ref(false)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue