|
|
|
@ -5,12 +5,17 @@ |
|
|
|
|
<el-input v-model="searchForm.phone" placeholder="学员手机号" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item> |
|
|
|
|
<el-select v-model="searchForm.memberId" placeholder="选择分销人" clearable filterable> |
|
|
|
|
<el-select |
|
|
|
|
v-model="searchForm.distributionId" |
|
|
|
|
placeholder="选择分销人" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in vipOptions" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value" |
|
|
|
|
v-for="item in distributionOptions" |
|
|
|
|
:key="item.distributionId" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.distributionId" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
@ -19,6 +24,8 @@ |
|
|
|
|
v-model="searchForm.createDate" |
|
|
|
|
type="daterange" |
|
|
|
|
range-separator="-" |
|
|
|
|
value-format="YYYY-MM-DD" |
|
|
|
|
format="YYYY-MM-DD" |
|
|
|
|
start-placeholder="充值日期" |
|
|
|
|
end-placeholder="充值日期" |
|
|
|
|
/> |
|
|
|
@ -31,16 +38,12 @@ |
|
|
|
|
<el-table-column type="index" width="55" align="center" /> |
|
|
|
|
<el-table-column label="手机号" align="left" prop="phone" width="140" /> |
|
|
|
|
<el-table-column label="会员名" align="left" prop="memberName" min-width="140" /> |
|
|
|
|
<el-table-column label="支付金额" align="left" prop="operUser" min-width="100" /> |
|
|
|
|
<el-table-column label="车型" align="left" width="100"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
{{ row.carTypeId == 1001 ? '小车' : '摩托车' }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="支付金额" align="left" prop="money" min-width="100" /> |
|
|
|
|
<el-table-column label="车型" prop="carName" align="left" width="100" /> |
|
|
|
|
<el-table-column label="科目" align="left" prop="subjects" width="100" /> |
|
|
|
|
<el-table-column label="充值日期" align="left" prop="startDate" min-width="120" /> |
|
|
|
|
<el-table-column label="充值日期" align="left" prop="payTime" min-width="120" /> |
|
|
|
|
<el-table-column label="截止日期" align="left" prop="endDate" min-width="120" /> |
|
|
|
|
<el-table-column label="分销人" align="left" prop="useTypeName" min-width="100" /> |
|
|
|
|
<el-table-column label="分销人" align="left" prop="distributionName" min-width="100" /> |
|
|
|
|
</el-table> |
|
|
|
|
<pagination |
|
|
|
|
v-show="total > 0" |
|
|
|
@ -49,44 +52,17 @@ |
|
|
|
|
v-model:limit="searchForm.pageSize" |
|
|
|
|
@pagination="getList" |
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
<el-dialog title="赠送会员" v-model="showDialog" width="500px" :close-on-click-modal="false"> |
|
|
|
|
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px"> |
|
|
|
|
<el-form-item label="手机号" prop="phone"> |
|
|
|
|
<el-input v-model="form.phone" maxlength="11" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="会员类型" prop="memberId"> |
|
|
|
|
<el-select v-model="form.memberId" clearable filterable style="width: 100%"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in vipOptions" |
|
|
|
|
:key="item.memberId" |
|
|
|
|
:label="item.memberName" |
|
|
|
|
:value="item.memberId" |
|
|
|
|
> |
|
|
|
|
<span style="float: left">{{ item.memberName }}</span> |
|
|
|
|
<span style="float: right; color: #aaa">{{ item.carName }}</span> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
<template #footer> |
|
|
|
|
<span> |
|
|
|
|
<el-button @click="showDialog = false">取消</el-button> |
|
|
|
|
<el-button type="primary" @click="sureAdd">确定</el-button> |
|
|
|
|
</span> |
|
|
|
|
</template> |
|
|
|
|
</el-dialog> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script setup name="Recharge"> |
|
|
|
|
import { getUserMemberList, giveUserMember, getVipTypeOptions } from '@/api/xjapplet/vip' |
|
|
|
|
const message = useMessage() |
|
|
|
|
import { getRechargeRecords } from '@/api/xjapplet/vip' |
|
|
|
|
import { getResellSimpleList } from '@/api/xjapplet/resell' |
|
|
|
|
|
|
|
|
|
const searchForm = ref({ |
|
|
|
|
carTypeId: '1001', |
|
|
|
|
memberId: undefined, |
|
|
|
|
distributionId: undefined, |
|
|
|
|
phone: undefined, |
|
|
|
|
createDate: [], |
|
|
|
|
pageNo: 1, |
|
|
|
|
pageSize: 50 |
|
|
|
|
}) |
|
|
|
@ -95,15 +71,15 @@ const loading = ref(false) |
|
|
|
|
const tableList = ref([]) |
|
|
|
|
const total = ref(0) |
|
|
|
|
|
|
|
|
|
const vipOptions = ref([]) |
|
|
|
|
const distributionOptions = ref([]) |
|
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
|
changeCarType() |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
function changeCarType() { |
|
|
|
|
getVipTypeOptions({ carTypeId: searchForm.value.carTypeId }).then((response) => { |
|
|
|
|
vipOptions.value = response |
|
|
|
|
getResellSimpleList().then((response) => { |
|
|
|
|
distributionOptions.value = response |
|
|
|
|
}) |
|
|
|
|
searchList() |
|
|
|
|
} |
|
|
|
@ -115,43 +91,19 @@ function searchList() { |
|
|
|
|
|
|
|
|
|
function getList() { |
|
|
|
|
loading.value = true |
|
|
|
|
getUserMemberList(searchForm.value).then((response) => { |
|
|
|
|
if (searchForm.value.createDate && searchForm.value.createDate.length > 0) { |
|
|
|
|
searchForm.value.payTimeBegin = searchForm.value.createDate[0] + ' 00:00:00' |
|
|
|
|
searchForm.value.payTimeEnd = searchForm.value.createDate[1] + ' 23:59:59' |
|
|
|
|
} else { |
|
|
|
|
searchForm.value.payTimeBegin = undefined |
|
|
|
|
searchForm.value.payTimeEnd = undefined |
|
|
|
|
} |
|
|
|
|
getRechargeRecords(searchForm.value).then((response) => { |
|
|
|
|
tableList.value = response.list |
|
|
|
|
total.value = response.total |
|
|
|
|
loading.value = false |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const showDialog = ref(false) |
|
|
|
|
const form = ref({ |
|
|
|
|
phone: '', |
|
|
|
|
memberId: '' |
|
|
|
|
}) |
|
|
|
|
const rules = ref({ |
|
|
|
|
phone: [{ required: true, message: '请输入用户手机号', trigger: 'blur' }], |
|
|
|
|
memberId: [{ required: true, message: '请选择会员类型', trigger: 'change' }] |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
function addVipUser() { |
|
|
|
|
showDialog.value = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const formRef = ref(null) |
|
|
|
|
async function sureAdd() { |
|
|
|
|
if (!formRef.value) return |
|
|
|
|
const valid = await formRef.value.validate() |
|
|
|
|
if (!valid) return |
|
|
|
|
|
|
|
|
|
giveUserMember(form.value).then((response) => { |
|
|
|
|
if (response) { |
|
|
|
|
message.success('赠送成功') |
|
|
|
|
showDialog.value = false |
|
|
|
|
searchList() |
|
|
|
|
} else { |
|
|
|
|
message.error('赠送失败') |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped></style> |
|
|
|
|