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