5.16(添加维修分佣

This commit is contained in:
Hong
2024-05-16 18:45:49 +08:00
parent 59e7959bd6
commit 48141f69dd
4 changed files with 252 additions and 2 deletions

View File

@@ -4,11 +4,11 @@ ENV = 'development'
# base api
# VUE_APP_BASE_API = '/dev-api'
# 线上
VUE_APP_BASE_API = 'https://cms.diyouzhijia.com/car_admin_api'
# VUE_APP_BASE_API = 'https://cms.diyouzhijia.com/car_admin_api'
# 花花
# VUE_APP_BASE_API = 'http://192.168.31.16:8080/car_admin_api'
# 薛磊
# VUE_APP_BASE_API = 'http://192.168.31.226:8080/car_admin_api'
VUE_APP_BASE_API = 'http://192.168.31.226:8080/car_admin_api'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().

View File

@@ -248,3 +248,22 @@ export function rebateInfoApi(id) {
method: 'get',
});
}
/**
* 维修分佣分页列表 /api/admin/platform/car/reservation/order/split/split/list
*/
export function splitLstApi(params) {
return request({
url: `/admin/platform/car/reservation/order/split/split/list`,
method: 'get',
params,
});
}
/**
* 维修分佣分页列表详情 /api/admin/platform/car/reservation/order/split/info/{id}
*/
export function splitInfoApi(id) {
return request({
url: `/admin/platform/car/reservation/order/split/info/${id}`,
method: 'get',
});
}

View File

@@ -79,6 +79,12 @@ const financeRouter = {
name: 'rebate',
meta: { title: '用户返利', icon: '' },
},
{
path: 'repairRebate',
component: () => import('@/views/finance/repairRebate'),
name: 'repairRebate',
meta: { title: '维保返佣', icon: '' },
},
{
path: 'reconciliation',
component: () => import('@/views/finance/reconciliation'),

View File

@@ -0,0 +1,225 @@
<template>
<div class="divBox">
<el-card class="box-card">
<div class="container" v-hasPermi="['platform:rebate:money:list']">
<el-form ref="userFrom" size="small" label-width="90px" :inline="true" :model="userFrom">
<el-form-item label="维修店:">
<el-input v-model.trim="userFrom.merName" placeholder="请输入维修店" class="selWidth" size="small" clearable>
</el-input>
</el-form-item>
<el-form-item label="车商:">
<el-input v-model.trim="userFrom.carDealerName" placeholder="请输入车商" class="selWidth" size="small" clearable>
</el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="getList(1)">查询</el-button>
<el-button size="small" @click="reset('userFrom')">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-table v-loading="listLoading" :data="tableData" style="width: 100%" class="mt20" size="small"
highlight-current-row>
<el-table-column prop="id" label="编号" />
<el-table-column prop="merName" label="维修店" />
<el-table-column prop="carDealerName" label="维修对象" />
<el-table-column prop="carNo" label="车牌号" />
<el-table-column prop="repairType" label="维修类型">
<template slot-scope="scope">
<span>{{ scope.row.repairType == 3 ? '事故维修' : scope.row.repairType == 3 ? '退车' : scope.row.repairType == 1 ? '常规保养' : '故障维修'
}}</span>
</template>
</el-table-column>
<el-table-column prop="linkNo" label="工单编号" />
<el-table-column prop="closingPrice" label="金额" />
<el-table-column prop="price" label="返佣金额" />
<el-table-column prop="ratio" label="佣金比例">
</el-table-column>
<el-table-column prop="createTime" label="时间" />
</el-table>
<!-- 详情 -->
<el-dialog title="详情" :visible.sync="dialogVisible" width="50%">
<span>
<el-descriptions class="margin-top" title="" :column="2" border>
<el-descriptions-item>
<template slot="label"> 编号 </template>
{{ detailedList.id }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 用户id </template>
{{ detailedList.uid }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 关联id(订单号充值单号) </template>
{{ detailedList.linkId }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 备注 </template>
{{ detailedList.remark }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 金额 </template>
{{ detailedList.amount }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 剩余 </template>
{{ detailedList.balance }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 类型 </template>
<span>{{ detailedList.type == 1 ? '增加' : '扣减' }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 关联类型 </template>
<span>{{ detailedList.linkType | rebateTypeFilter }}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 状态 </template>
<span v-show="detailedList.status == 1">订单创建</span>
<span v-show="detailedList.status == 2">冻结期</span>
<span v-show="detailedList.status == 3">完成</span>
<span v-show="detailedList.status == 4">失效订单退款/申请被拒</span>
<span v-show="detailedList.status == 5">提现申请</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 到账时间 </template>
{{ detailedList.accountingTime }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 创建时间 </template>
{{ detailedList.createTime }}
</el-descriptions-item>
</el-descriptions>
</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
<div class="block">
<el-pagination :page-sizes="[10, 20, 30, 40]" :page-size="userFrom.limit" :current-page="userFrom.page"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
@current-change="pageChange" />
</div>
</el-card>
</div>
</template>
<script>
import { splitLstApi, splitInfoApi } from '@/api/finance';
import { checkPermi } from '@/utils/permission'; // 权限判断函数
export default {
data() {
return {
timeVal: [],
fromList: this.$constants.fromList,
detailedList: {},
userFrom: {
limit: 10,
page: 1,
merName: '',
carDealerName: ''
},
total: 0,
StatusList: [
{ label: '订单创建', value: 1 },
{ label: '冻结期', value: 2 },
{ label: '完成', value: 3 },
{ label: '失效(订单退款/申请被拒)', value: 4 },
{ label: '提现申请', value: 5 },
],
Statustype: [
{ label: '增加', value: 1 },
{ label: '扣减', value: 2 },
],
status: {
'1': {
type: 'info',
text: '订单创建'
},
'2': {
type: 'warning',
text: '冻结期'
},
'3': {
type: 'success',
text: '完成'
},
'4': {
type: 'danger',
text: '失效(订单退款/申请被拒)'
},
'5': {
type: 'primary',
text: '提现申请'
}
},
listLoading: false,
dialogVisible: false,
tableData: [],
}
},
mounted() {
if (checkPermi(['platform:rebate:money:list'])) this.getList();
},
methods: {
// 具体日期
onchangeTime(e) {
this.timeVal = e;
this.userFrom.dateLimit = e ? this.timeVal.join(',') : '';
this.getList(1);
},
// 选择时间
selectChange(tab) {
this.userFrom.dateLimit = tab;
this.timeVal = [];
this.getList(1);
},
/**查看详情 */
lookDetailed(row) {
let id = row.id;
this.dialogVisible = true;
splitInfoApi(id)
.then((res) => {
console.log(res);
this.detailedList = res;
})
.catch((err) => {
console.log(err);
});
},
getList() {
this.listLoading = true;
splitLstApi(this.userFrom)
.then((res) => {
console.log(res);
this.tableData = res.list;
this.total = res.total;
this.listLoading = false;
})
.catch((res) => {
this.listLoading = false;
});
},
reset(formName) {
this.$refs[formName].resetFields();
this.getList();
},
pageChange(page) {
this.userFrom.page = page;
this.getList();
},
handleSizeChange(val) {
this.userFrom.limit = val;
this.getList();
},
}
}
</script>
<style scoped lang="scss">
.container {
min-width: 821px;
}
</style>