This commit is contained in:
77
2024-03-24 23:19:32 +08:00
parent 97328cbd26
commit 7d02e357cc
3 changed files with 147 additions and 790 deletions

View File

@@ -115,24 +115,6 @@ export const userGiftTypeList = [
{ value: 3, label: '视频页'},
]
// 类型 1-充值 2-礼物 3-守护 4-通话
export const consumeLogTypeList = [
{ value: 1, label: '充值'},
{ value: 2, label: '礼物'},
{ value: 3, label: '守护'},
{ value: 4, label: '通话'},
]
export const consumeLogStatusList = [
{ value: -1, label: '无须分销',listClass: listClass.info},
{ value: 0, label: '待分销',listClass: listClass.warning},
{ value: 1, label: '已分销',listClass: listClass.primary},
]
export const consumeLogCalculateStatusList = [
{ value: false, label: '待计算',listClass: listClass.warning},
{ value: true, label: '已计算',listClass: listClass.primary},
]
// 1 个人详情页 2 视频结束 3 动态 4.IM页面
export const reportTypeList = [
@@ -559,3 +541,18 @@ export const wxTransOrderSourceList = [
{ value: 2, label: 'VIP赠送',listClass: listClass.warning},
{ value: 3, label: '后台管理新增',listClass: listClass.danger},
]
export const consumeLogTypeList = [
{ value: 1, label: 'VIP'},
]
export const consumeLogStatusList = [
{ value: -1, label: '无须分销',listClass: listClass.info},
{ value: 0, label: '待分销',listClass: listClass.warning},
{ value: 1, label: '已分销',listClass: listClass.primary},
]
export const consumeLogCalculateStatusList = [
{ value: false, label: '待计算',listClass: listClass.warning},
{ value: true, label: '已计算',listClass: listClass.primary},
]

View File

@@ -1,66 +1,26 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户ID" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户号" prop="usercode">
<el-form-item label="用户编号" prop="usercode">
<el-input
v-model="queryParams.usercode"
placeholder="请输入用户号"
placeholder="请输入用户号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="目标用户ID" prop="tarUserId">
<el-form-item label="昵称" prop="nickname">
<el-input
v-model="queryParams.tarUserId"
placeholder="请输入目标用户ID"
v-model="queryParams.nickname"
placeholder="请输入昵称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="目标用户基本信息备份" prop="tarJson">
<el-form-item label="手机号" prop="mobile">
<el-input
v-model="queryParams.tarJson"
placeholder="请输入目标用户基本信息备份"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="类别CODE" prop="cateId">
<el-input
v-model="queryParams.cateId"
placeholder="请输入类别CODE"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="变化编号" prop="changeValue">
<el-input
v-model="queryParams.changeValue"
placeholder="请输入变化编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="变化值,为正 或者为负" prop="traceId">
<el-input
v-model="queryParams.traceId"
placeholder="请输入变化值,为正 或者为负"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否为后台用户手动调整" prop="isAdmin">
<el-input
v-model="queryParams.isAdmin"
placeholder="请输入是否为后台用户手动调整"
v-model="queryParams.mobile"
placeholder="请输入手机号"
clearable
@keyup.enter.native="handleQuery"
/>
@@ -70,84 +30,31 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['xq:accountChangeLog:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['xq:accountChangeLog:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['xq:accountChangeLog:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['xq:accountChangeLog:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="accountChangeLogList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" v-if="true"/>
<el-table-column label="用户ID" align="center" prop="userId" />
<el-table-column label="用户号" align="center" prop="usercode" />
<el-table-column label="账户类型 1-余额 2-收益" align="center" prop="accountType" />
<el-table-column label="目标用户ID" align="center" prop="tarUserId" />
<el-table-column label="目标用户基本信息备份" align="center" prop="tarJson" />
<el-table-column label="类别CODE" align="center" prop="cateId" />
<el-table-column label="变化编号" align="center" prop="changeType" />
<el-table-column label="变化编号" align="center" prop="changeValue" />
<el-table-column label="变化值,为正 或者为负" align="center" prop="traceId" />
<el-table-column label="是否为后台用户手动调整" align="center" prop="isAdmin" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['xq:accountChangeLog:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['xq:accountChangeLog:remove']"
>删除</el-button>
<el-table-column label="用户编号" align="center" prop="usercode"/>
<el-table-column label="昵称" align="center" prop="nickname" show-overflow-tooltip/>
<el-table-column label="手机号" align="center" prop="mobile" width="100"/>
<el-table-column label="头像" align="center" prop="avatar">
<template v-slot="scope">
<image-avatar :src="scope.row.avatar"/>
</template>
</el-table-column>
<el-table-column label="变动" align="center" prop="changeValue" >
<template v-slot="scope" >
<span :class="scope.row.changeValue >= 0 ?'font-red':'font-green'">{{scope.row.changeValue}}</span>
</template>
</el-table-column>
<el-table-column label="业务操作" align="center" prop="cateName" />
<el-table-column label="说明" align="center" prop="content" min-width="200"/>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="后台操作" align="center" prop="isAdmin" >
<template v-slot="scope">
<cai-dict-tag :options="yesOrNoList" :value="scope.row.isAdmin"/>
</template>
</el-table-column>
<el-table-column label="操作时间" align="center" prop="createTime" />
<el-table-column label="链路" align="center" prop="traceId" show-overflow-tooltip/>
</el-table>
<pagination
@@ -157,52 +64,18 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改账户明细对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="用户ID" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户ID" />
</el-form-item>
<el-form-item label="用户号" prop="usercode">
<el-input v-model="form.usercode" placeholder="请输入用户号" />
</el-form-item>
<el-form-item label="目标用户ID" prop="tarUserId">
<el-input v-model="form.tarUserId" placeholder="请输入目标用户ID" />
</el-form-item>
<el-form-item label="目标用户基本信息备份" prop="tarJson">
<el-input v-model="form.tarJson" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="类别CODE" prop="cateId">
<el-input v-model="form.cateId" placeholder="请输入类别CODE" />
</el-form-item>
<el-form-item label="变化编号" prop="changeValue">
<el-input v-model="form.changeValue" placeholder="请输入变化编号" />
</el-form-item>
<el-form-item label="变化值,为正 或者为负" prop="traceId">
<el-input v-model="form.traceId" placeholder="请输入变化值,为正 或者为负" />
</el-form-item>
<el-form-item label="是否为后台用户手动调整" prop="isAdmin">
<el-input v-model="form.isAdmin" placeholder="请输入是否为后台用户手动调整" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAccountChangeLog, getAccountChangeLog, delAccountChangeLog, addAccountChangeLog, updateAccountChangeLog } from "@/api/xq/accountChangeLog";
import { listAccountChangeLog } from '@/api/xq/accountChangeLog'
import { yesOrNoList } from '@/constant/statusMap'
export default {
name: "AccountChangeLog",
data() {
return {
// 按钮loading
buttonLoading: false,
yesOrNoList,
// 遮罩层
loading: true,
// 选中数组
@@ -225,58 +98,10 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
userId: undefined,
usercode: undefined,
accountType: undefined,
tarUserId: undefined,
tarJson: undefined,
cateId: undefined,
changeType: undefined,
changeValue: undefined,
traceId: undefined,
isAdmin: undefined,
nickname: undefined,
mobile: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "用户ID不能为空", trigger: "blur" }
],
usercode: [
{ required: true, message: "用户号不能为空", trigger: "blur" }
],
accountType: [
{ required: true, message: "账户类型 1-余额 2-收益不能为空", trigger: "change" }
],
tarUserId: [
{ required: true, message: "目标用户ID不能为空", trigger: "blur" }
],
tarJson: [
{ required: true, message: "目标用户基本信息备份不能为空", trigger: "blur" }
],
cateId: [
{ required: true, message: "类别CODE不能为空", trigger: "blur" }
],
changeType: [
{ required: true, message: "变化编号不能为空", trigger: "change" }
],
changeValue: [
{ required: true, message: "变化编号不能为空", trigger: "blur" }
],
traceId: [
{ required: true, message: "变化值,为正 或者为负不能为空", trigger: "blur" }
],
isAdmin: [
{ required: true, message: "是否为后台用户手动调整不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
}
};
},
created() {
@@ -292,30 +117,6 @@ export default {
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
userId: undefined,
usercode: undefined,
accountType: undefined,
tarUserId: undefined,
tarJson: undefined,
cateId: undefined,
changeType: undefined,
changeValue: undefined,
traceId: undefined,
isAdmin: undefined,
createTime: undefined,
updateTime: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@@ -332,70 +133,22 @@ export default {
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加账户明细";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids
getAccountChangeLog(id).then(response => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改账户明细";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateAccountChangeLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} else {
addAccountChangeLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除账户明细编号为"' + ids + '"的数据项?').then(() => {
this.loading = true;
return delAccountChangeLog(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
}).finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download('xq/accountChangeLog/export', {
...this.queryParams
}, `accountChangeLog_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style lang="scss" scoped>
.context-avatar-center {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
.font-red {
color: red;
}
.font-green {
color: green;
}
.font-blue {
color: blue;
}
</style>

View File

@@ -1,247 +1,87 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="业务参数" prop="businessParam">
<el-input
v-model="queryParams.businessParam"
placeholder="请输入业务参数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="跟踪ID" prop="traceId">
<el-input
v-model="queryParams.traceId"
placeholder="请输入跟踪ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发生金额" prop="amount">
<el-input
v-model="queryParams.amount"
placeholder="请输入发生金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="一级金额" prop="oneAmount">
<el-input
v-model="queryParams.oneAmount"
placeholder="请输入一级金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="消费方用户" prop="sourceUserId">
<el-input
v-model="queryParams.sourceUserId"
placeholder="请输入消费方用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="消费方用户编码" prop="sourceUsercode">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="110px">
<el-form-item label="消费方用户号" prop="sourceUsercode">
<el-input
v-model="queryParams.sourceUsercode"
placeholder="请输入消费方用户编"
placeholder="请输入用户编"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="消费方用户手机" prop="sourcePhone">
<el-input
v-model="queryParams.sourcePhone"
placeholder="请输入消费方用户手机"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="一级分销方" prop="oneUserId">
<el-input
v-model="queryParams.oneUserId"
placeholder="请输入一级分销方"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="一级分销方" prop="oneUsercode">
<el-form-item label="邀请方用户编号" prop="oneUsercode">
<el-input
v-model="queryParams.oneUsercode"
placeholder="请输入一级分销方"
placeholder="请输入邀请方用户编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="一级分销方" prop="onePhone">
<el-input
v-model="queryParams.onePhone"
placeholder="请输入一级分销方"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="一级分销方抽成比例" prop="oneRate">
<el-input
v-model="queryParams.oneRate"
placeholder="请输入一级分销方抽成比例"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否参与分销" prop="oneJoin">
<el-input
v-model="queryParams.oneJoin"
placeholder="请输入是否参与分销"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态 0-否 1-是" prop="admin">
<el-input
v-model="queryParams.admin"
placeholder="请输入状态 0-否 1-是"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="管理员ID" prop="adminId">
<el-input
v-model="queryParams.adminId"
placeholder="请输入管理员ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="名称" prop="adminName">
<el-input
v-model="queryParams.adminName"
placeholder="请输入名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分销人ID" prop="opId">
<el-input
v-model="queryParams.opId"
placeholder="请输入分销人ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分销人名称" prop="opName">
<el-input
v-model="queryParams.opName"
placeholder="请输入分销人名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分销时间" prop="opCreate">
<el-date-picker clearable
v-model="queryParams.opCreate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择分销时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['xq:consumeLog:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['xq:consumeLog:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['xq:consumeLog:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['xq:consumeLog:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="consumeLogList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" v-if="true"/>
<el-table-column label="类型 1-VIP" align="center" prop="type" />
<el-table-column label="业务参数" align="center" prop="businessParam" />
<el-table-column label="跟踪ID" align="center" prop="traceId" />
<el-table-column label="发生金额" align="center" prop="amount" />
<el-table-column label="一级金额" align="center" prop="oneAmount" />
<el-table-column label="消费方用户" align="center" prop="sourceUserId" />
<el-table-column label="消费方用户编码" align="center" prop="sourceUsercode" />
<el-table-column label="消费方用户手机" align="center" prop="sourcePhone" />
<el-table-column label="一级分销方" align="center" prop="oneUserId" />
<el-table-column label="一级分销方" align="center" prop="oneUsercode" />
<el-table-column label="一级分销方" align="center" prop="onePhone" />
<el-table-column label="一级分销方抽成比例" align="center" prop="oneRate" />
<el-table-column label="是否参与分销" align="center" prop="oneJoin" />
<el-table-column label="状态 0-待计算分销 1-已计算分销" align="center" prop="calculateStatus" />
<el-table-column label="状态 -1-无须分销 0-待分销 1-已分销" align="center" prop="status" />
<el-table-column label="状态 0-否 1-是" align="center" prop="admin" />
<el-table-column label="管理员ID" align="center" prop="adminId" />
<el-table-column label="名称" align="center" prop="adminName" />
<el-table-column label="分销人ID" align="center" prop="opId" />
<el-table-column label="分销人名称" align="center" prop="opName" />
<el-table-column label="分销时间" align="center" prop="opCreate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.opCreate, '{y}-{m}-{d}') }}</span>
<el-table-column label="类型" align="center" prop="type" width="50">
<template v-slot="scope">
<cai-dict-tag :options="consumeLogTypeList" :value="scope.row.type"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-table-column label="状态" align="center" prop="status" width="80" >
<template v-slot="scope">
<cai-dict-tag :options="consumeLogStatusList" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="消费方" align="center" prop="amount" min-width="200">
<template v-slot="scope">
<span style="font-weight: bold">用户编号:</span><span>{{scope.row.sourceUsercode}}</span> <br>
<span style="font-weight: bold">手机号:</span><span>{{scope.row.sourcePhone}}</span><br>
</template>
</el-table-column>
<el-table-column label="发生金额" align="center" prop="amount" width="80" />
<el-table-column label="邀请方" align="center" prop="invite" min-width="200" >
<template v-slot="scope">
<div v-if="scope.row.oneUsercode">
<span style="font-weight: bold">邀请人:</span><span>{{scope.row.oneUsercode}}({{scope.row.onePhone}})</span> <br>
<span style="font-weight: bold">分销:</span><span :class="joinColor(scope.row.oneJoin)">{{scope.row.oneJoin ? '参与' : '不参与'}}</span><br>
<span style="font-weight: bold">费率/金额:</span>
<span>
<span class="font-green">{{scope.row.oneRate}}</span>
/
<span class="font-red">{{scope.row.oneAmount}}</span>
</span> <br>
</div>
<span v-if="!scope.row.oneUsercode">-</span>
</template>
</el-table-column>
<el-table-column label="是否计算" align="center" prop="calculateStatus">
<template v-slot="scope">
<cai-dict-tag :options="consumeLogCalculateStatusList" :value="scope.row.calculateStatus"/>
</template>
</el-table-column>
<el-table-column label="创建/分销时间" align="center" prop="opCreate" width="180" >
<template v-slot="scope">
<span>{{scope.row.createTime}}</span><br/>
<span>{{scope.row.opCreate}}</span>
</template>
</el-table-column>
<el-table-column label="链路号" align="center" prop="traceId" show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="80" fixed="right">
<template v-slot="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleInfo(scope.row)"
>详情</el-button>
<el-button
size="mini"
type="text"
v-if="scope.row.status === 0"
@click="handleUpdate(scope.row)"
v-hasPermi="['xq:consumeLog:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['xq:consumeLog:remove']"
>删除</el-button>
>分销</el-button>
</template>
</el-table-column>
</el-table>
@@ -254,89 +94,18 @@
@pagination="getList"
/>
<!-- 添加或修改分销记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="业务参数" prop="businessParam">
<el-input v-model="form.businessParam" placeholder="请输入业务参数" />
</el-form-item>
<el-form-item label="跟踪ID" prop="traceId">
<el-input v-model="form.traceId" placeholder="请输入跟踪ID" />
</el-form-item>
<el-form-item label="发生金额" prop="amount">
<el-input v-model="form.amount" placeholder="请输入发生金额" />
</el-form-item>
<el-form-item label="一级金额" prop="oneAmount">
<el-input v-model="form.oneAmount" placeholder="请输入一级金额" />
</el-form-item>
<el-form-item label="消费方用户" prop="sourceUserId">
<el-input v-model="form.sourceUserId" placeholder="请输入消费方用户" />
</el-form-item>
<el-form-item label="消费方用户编码" prop="sourceUsercode">
<el-input v-model="form.sourceUsercode" placeholder="请输入消费方用户编码" />
</el-form-item>
<el-form-item label="消费方用户手机" prop="sourcePhone">
<el-input v-model="form.sourcePhone" placeholder="请输入消费方用户手机" />
</el-form-item>
<el-form-item label="一级分销方" prop="oneUserId">
<el-input v-model="form.oneUserId" placeholder="请输入一级分销方" />
</el-form-item>
<el-form-item label="一级分销方" prop="oneUsercode">
<el-input v-model="form.oneUsercode" placeholder="请输入一级分销方" />
</el-form-item>
<el-form-item label="一级分销方" prop="onePhone">
<el-input v-model="form.onePhone" placeholder="请输入一级分销方" />
</el-form-item>
<el-form-item label="一级分销方抽成比例" prop="oneRate">
<el-input v-model="form.oneRate" placeholder="请输入一级分销方抽成比例" />
</el-form-item>
<el-form-item label="是否参与分销" prop="oneJoin">
<el-input v-model="form.oneJoin" placeholder="请输入是否参与分销" />
</el-form-item>
<el-form-item label="状态 0-否 1-是" prop="admin">
<el-input v-model="form.admin" placeholder="请输入状态 0-否 1-是" />
</el-form-item>
<el-form-item label="管理员ID" prop="adminId">
<el-input v-model="form.adminId" placeholder="请输入管理员ID" />
</el-form-item>
<el-form-item label="名称" prop="adminName">
<el-input v-model="form.adminName" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="分销人ID" prop="opId">
<el-input v-model="form.opId" placeholder="请输入分销人ID" />
</el-form-item>
<el-form-item label="分销人名称" prop="opName">
<el-input v-model="form.opName" placeholder="请输入分销人名称" />
</el-form-item>
<el-form-item label="分销时间" prop="opCreate">
<el-date-picker clearable
v-model="form.opCreate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择分销时间">
</el-date-picker>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listConsumeLog, getConsumeLog, delConsumeLog, addConsumeLog, updateConsumeLog } from "@/api/xq/consumeLog";
import { listConsumeLog } from '@/api/xq/consumeLog'
import { consumeLogCalculateStatusList, consumeLogStatusList, consumeLogTypeList } from '@/constant/statusMap'
export default {
name: "ConsumeLog",
data() {
return {
// 按钮loading
buttonLoading: false,
consumeLogTypeList,consumeLogStatusList,consumeLogCalculateStatusList,
// 遮罩层
loading: true,
// 选中数组
@@ -360,110 +129,18 @@ export default {
pageNum: 1,
pageSize: 10,
type: undefined,
businessParam: undefined,
traceId: undefined,
amount: undefined,
oneAmount: undefined,
sourceUserId: undefined,
sourceUsercode: undefined,
sourcePhone: undefined,
oneUserId: undefined,
oneUsercode: undefined,
onePhone: undefined,
oneRate: undefined,
oneJoin: undefined,
calculateStatus: undefined,
status: undefined,
admin: undefined,
adminId: undefined,
adminName: undefined,
opId: undefined,
opName: undefined,
opCreate: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "不能为空", trigger: "blur" }
],
type: [
{ required: true, message: "类型 1-VIP不能为空", trigger: "change" }
],
businessParam: [
{ required: true, message: "业务参数不能为空", trigger: "blur" }
],
traceId: [
{ required: true, message: "跟踪ID不能为空", trigger: "blur" }
],
amount: [
{ required: true, message: "发生金额不能为空", trigger: "blur" }
],
oneAmount: [
{ required: true, message: "一级金额不能为空", trigger: "blur" }
],
sourceUserId: [
{ required: true, message: "消费方用户不能为空", trigger: "blur" }
],
sourceUsercode: [
{ required: true, message: "消费方用户编码不能为空", trigger: "blur" }
],
sourcePhone: [
{ required: true, message: "消费方用户手机不能为空", trigger: "blur" }
],
oneUserId: [
{ required: true, message: "一级分销方不能为空", trigger: "blur" }
],
oneUsercode: [
{ required: true, message: "一级分销方不能为空", trigger: "blur" }
],
onePhone: [
{ required: true, message: "一级分销方不能为空", trigger: "blur" }
],
oneRate: [
{ required: true, message: "一级分销方抽成比例不能为空", trigger: "blur" }
],
oneJoin: [
{ required: true, message: "是否参与分销不能为空", trigger: "blur" }
],
calculateStatus: [
{ required: true, message: "状态 0-待计算分销 1-已计算分销不能为空", trigger: "change" }
],
status: [
{ required: true, message: "状态 -1-无须分销 0-待分销 1-已分销不能为空", trigger: "change" }
],
admin: [
{ required: true, message: "状态 0-否 1-是不能为空", trigger: "blur" }
],
adminId: [
{ required: true, message: "管理员ID不能为空", trigger: "blur" }
],
adminName: [
{ required: true, message: "名称不能为空", trigger: "blur" }
],
opId: [
{ required: true, message: "分销人ID不能为空", trigger: "blur" }
],
opName: [
{ required: true, message: "分销人名称不能为空", trigger: "blur" }
],
opCreate: [
{ required: true, message: "分销时间不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
joinColor(join){
return join ? 'font-blue' : 'font-red'
},
/** 查询分销记录列表 */
getList() {
this.loading = true;
@@ -473,42 +150,6 @@ export default {
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
type: undefined,
businessParam: undefined,
traceId: undefined,
amount: undefined,
oneAmount: undefined,
sourceUserId: undefined,
sourceUsercode: undefined,
sourcePhone: undefined,
oneUserId: undefined,
oneUsercode: undefined,
onePhone: undefined,
oneRate: undefined,
oneJoin: undefined,
calculateStatus: undefined,
status: undefined,
admin: undefined,
adminId: undefined,
adminName: undefined,
opId: undefined,
opName: undefined,
opCreate: undefined,
remark: undefined,
createTime: undefined,
updateTime: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@@ -525,70 +166,36 @@ export default {
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加分销记录";
handleInfo(row) {
this.consumeLogInfoVisible = true
this.$nextTick(() => {
this.$refs.consumeLogInfo.init(row.id)
})
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids
getConsumeLog(id).then(response => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改分销记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateConsumeLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} else {
addConsumeLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除分销记录编号为"' + ids + '"的数据项?').then(() => {
handleUpdate(row){
this.$modal.confirm('确定要分销该数据项?').then(() => {
this.loading = true;
return delConsumeLog(ids);
// return fenxiaoConsumeLog(row.id);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess("操作成功");
}).catch(() => {
}).finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download('xq/consumeLog/export', {
...this.queryParams
}, `consumeLog_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style lang="scss" scoped>
.font-red {
color: red;
}
.font-green {
color: green;
}
.font-blue {
color: blue;
}
</style>