优化结算单详情以及分销相关页面展示

This commit is contained in:
pikachu1995@126.com 2024-07-02 14:56:10 +08:00
parent e3a5583802
commit bab54570fe
8 changed files with 229 additions and 57 deletions

View File

@ -348,14 +348,6 @@ export default {
//
trigger: "blur",
},
{
validator: (rule, value, callback) => {
// truefalse
// this.$u.test.mobile()truefalse
return checkBankno(value);
},
message: "银行账号不正确",
},
],
},
tabName: "goodsChecked", // tab
@ -415,7 +407,7 @@ export default {
this.$refs.form.validate((valid) => {
if (valid) {
this.applyLoading = true;
applyDistribution(this.form).then((res) => {
applyDistribution(this.applyForm).then((res) => {
this.applyLoading = false;
if (res.success) {
this.$Message.success("申请已提交,请等待管理员审核");

View File

@ -2,21 +2,24 @@
// 统一请求路径前缀在libs/axios.js中修改
import {getRequest, postRequest, putRequest, deleteRequest} from '@/libs/axios';
//查询分销
//查询分销
export const getDistributionListData = (params) => {
return getRequest('/distribution/distribution/getByPage', params)
}
//审核分销
//审核分销
export const auditDistribution = (id, params) => {
return putRequest(`/distribution/distribution/audit/${id}`, params)
}
// 清退分销
// 清退分销
export const retreatDistribution = (id, params) => {
return putRequest(`/distribution/distribution/retreat/${id}`, params)
}
//修改分销员
export const editDistribution = (params) => {
return putRequest(`/distribution/distribution/${params.id}`, params)
}
// 恢复分销商
// 恢复分销员
export const resumeDistribution = (id, params) => {
return putRequest(`/distribution/distribution/resume/${id}`, params)
}

View File

@ -27,7 +27,8 @@
v-for="item in distributionStatusList"
:value="item.value"
:key="item.value"
>{{ item.label }}</Option
>{{ item.label }}
</Option
>
</Select>
</Form-item>
@ -36,7 +37,8 @@
type="primary"
icon="ios-search"
class="search-btn"
>搜索</Button
>搜索
</Button
>
</Form>
</Row>
@ -63,16 +65,37 @@
></Page>
</Row>
</Card>
<Modal title="修改分销员" v-model="modalVisible" :mask-closable="false" :width="600">
<Form ref="distributionForm" :model="distributionForm" :label-width="150" :rules="distributionFormValidate">
<FormItem label="姓名" prop="name">
<Input v-model="distributionForm.name" clearable style="width: 100%"/>
</FormItem>
<FormItem label="身份证号" prop="idNumber">
<Input v-model="distributionForm.idNumber" clearable style="width: 100%"/>
</FormItem>
<FormItem label="结算银行开户行名称" prop="settlementBankAccountName">
<Input v-model="distributionForm.settlementBankAccountName" clearable style="width: 100%"/>
</FormItem>
<FormItem label="结算银行开户账号" prop="settlementBankAccountNum">
<Input v-model="distributionForm.settlementBankAccountNum" clearable style="width: 100%"/>
</FormItem>
<FormItem label="结算银行开户支行名称" prop="settlementBankBranchName">
<Input v-model="distributionForm.settlementBankBranchName" clearable style="width: 100%"/>
</FormItem>
</Form>
<div slot="footer">
<Button type="text" @click="modalVisible = false">取消</Button>
<Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button>
</div>
</Modal>
</div>
</template>
<script>
import {
getDistributionListData,
resumeDistribution,
retreatDistribution
} from "@/api/distribution";
import { distributionStatusList } from "./dataJson.js";
import {editDistribution, getDistributionListData, resumeDistribution, retreatDistribution} from "@/api/distribution";
import {distributionStatusList} from "./dataJson.js";
import {regular} from "@/utils";
export default {
name: "distribution",
components: {},
@ -80,6 +103,38 @@ export default {
return {
distributionStatusList, //
loading: true, //
modalVisible: false, //
distributionForm: {
name: "",
idNumber: "",
settlementBankAccountName: "",
settlementBankAccountNum: "",
settlementBankBranchName: ""
},
//
distributionFormValidate: {
name: [
regular.REQUIRED,
regular.VARCHAR20
],
idNumber: [
regular.REQUIRED,
regular.VARCHAR20
],
settlementBankAccountName: [
regular.REQUIRED,
regular.VARCHAR20
],
settlementBankAccountNum: [
regular.REQUIRED,
regular.VARCHAR20
],
settlementBankBranchName: [
regular.REQUIRED,
regular.VARCHAR20
],
},
submitLoading: false, //
searchForm: {
//
pageNumber: 1, //
@ -92,29 +147,63 @@ export default {
minWidth: 120,
tooltip: true,
},
{
title: "姓名",
key: "name",
minWidth: 100,
},
{
title: "身份证号",
key: "idNumber",
minWidth: 120,
},
{
title: "结算银行开户行名称",
key: "settlementBankAccountName",
minWidth: 120,
},
{
title: "结算银行开户账号",
key: "settlementBankAccountNum",
minWidth: 120,
},
{
title: "结算银行开户支行名称",
key: "settlementBankBranchName",
minWidth: 120,
},
{
title: "推广单数",
key: "distributionOrderCount",
minWidth: 120,
width: 150,
},
{
title: "分销订单金额",
key: "distributionOrderPrice",
width: 150,
sortable: false,
render: (h, params) => {
return h("priceColorScheme", {props: {value: params.row.distributionOrderPrice, color: this.$mainColor}});
},
},
{
title: "分销金额",
key: "rebateTotal",
width: 150,
sortable: false,
render: (h, params) => {
return h("priceColorScheme", {props:{value:params.row.rebateTotal,color:this.$mainColor}} );
return h("priceColorScheme", {props: {value: params.row.rebateTotal, color: this.$mainColor}});
},
},
{
title: "可用金额",
title: "待提现金额",
key: "canRebate",
width: 150,
sortable: false,
render: (h, params) => {
return h("priceColorScheme", {props:{value:params.row.canRebate,color:'green'}} );
return h("priceColorScheme", {props: {value: params.row.canRebate, color: 'green'}});
},
},
{
@ -123,7 +212,7 @@ export default {
width: 150,
sortable: false,
render: (h, params) => {
return h("priceColorScheme", {props:{value:params.row.commissionFrozen,color:'#347dda'}} );
return h("priceColorScheme", {props: {value: params.row.commissionFrozen, color: '#347dda'}});
},
},
{
@ -133,13 +222,13 @@ export default {
sortable: false,
render: (h, params) => {
if (params.row.distributionStatus == "PASS") {
return h("Tag", {props: {color: "green",},},"通过");
return h("Tag", {props: {color: "green",},}, "通过");
} else if (params.row.distributionStatus == "APPLY") {
return h("Tag", {props: {color: "geekblue",},},"待审核");
return h("Tag", {props: {color: "geekblue",},}, "待审核");
} else if (params.row.distributionStatus == "RETREAT") {
return h("Tag", {props: {color: "volcano",},},"清退");
return h("Tag", {props: {color: "volcano",},}, "清退");
} else if (params.row.distributionStatus == "REFUSE") {
return h("Tag", {props: {color: "red",},},"拒绝");
return h("Tag", {props: {color: "red",},}, "拒绝");
}
},
},
@ -203,6 +292,31 @@ export default {
},
"恢复"
),
h(
"Button",
{
props: {
type: "info",
size: "small",
},
style: {
marginRight: "5px",
},
on: {
click: () => {
this.edit(params.row);
},
},
},
"编辑"
), h(
"div",
{
style: {
display: "flex",
justifyContent: "center",
},
})
]
);
},
@ -283,6 +397,36 @@ export default {
},
});
},
//
edit(v) {
this.$refs.distributionForm.resetFields();
// null""
for (let attr in v) {
if (v[attr] === null) {
v[attr] = "";
}
}
let str = JSON.stringify(v);
let data = JSON.parse(str);
this.distributionForm = data;
this.modalVisible = true;
},
//
handleSubmit() {
this.$refs.distributionForm.validate((valid) => {
if (valid) {
//
editDistribution(this.distributionForm).then((res) => {
this.submitLoading = false;
if (res.success) {
this.$Message.success("操作成功");
this.getDataList();
this.modalVisible = false;
}
});
}
});
},
},
mounted() {
this.init();

View File

@ -73,18 +73,38 @@ export default {
{
title: "会员名称",
key: "memberName",
minWidth: 150,
minWidth: 100,
tooltip: true,
},
{
title: "会员姓名",
title: "姓名",
key: "name",
minWidth: 100,
},
{
title: "身份证号",
key: "idNumber",
minWidth: 120,
},
{
title: "结算银行开户行名称",
key: "settlementBankAccountName",
minWidth: 120,
},
{
title: "结算银行开户账号",
key: "settlementBankAccountNum",
minWidth: 120,
},
{
title: "结算银行开户支行名称",
key: "settlementBankBranchName",
minWidth: 120,
},
{
title: "提交时间",
key: "createTime",
minWidth: 150,
minWidth: 100,
},
{
title: "操作",

View File

@ -105,6 +105,31 @@ export default {
key: "createTime",
minWidth: 130
},
{
title: "姓名",
key: "name",
minWidth: 100,
},
{
title: "身份证号",
key: "idNumber",
minWidth: 120,
},
{
title: "结算银行开户行名称",
key: "settlementBankAccountName",
minWidth: 120,
},
{
title: "结算银行开户账号",
key: "settlementBankAccountNum",
minWidth: 120,
},
{
title: "结算银行开户支行名称",
key: "settlementBankBranchName",
minWidth: 120,
},
{
title: "处理时间",
key: "updateTime",

View File

@ -209,10 +209,7 @@
filterStatus (status) { //
const arr = [
{status: 'WAIT_BILL', title: '待结算'},
{status: 'NO_COMPLETED', title: '未完成'},
{status: 'WAIT_CASH', title: '待提现'},
{status: 'COMPLETE_CASH', title: '提现完成'},
{status: 'CANCEL', title: '订单取消'},
{status: 'COMPLETE', title: '完成'},
{status: 'REFUND', title: '退款'},
]
for (let i=0;i<arr.length;i++) {

View File

@ -13,9 +13,6 @@
<FormItem label="分销关系绑定天数" prop="distributionDay">
<InputNumber :min="1" :max="365" style="width:100px;" v-model="form.distributionDay"></InputNumber>
</FormItem>
<FormItem label="分销结算天数" prop="cashDay">
<InputNumber :min="0" :max="365" style="width:100px;" v-model="form.cashDay"></InputNumber>
</FormItem>
<FormItem>
<Button type="primary" @click="submit">保存</Button>
</FormItem>
@ -34,7 +31,6 @@ export default {
//
isOpen: true,
distributionDay: 0, //
cashDay: 0, //
},
formRule: {
isOpen: [
@ -43,9 +39,6 @@ export default {
distributionDay: [
regular.REQUIRED
],
cashDay: [
regular.REQUIRED
],
}
};
},

View File

@ -354,7 +354,7 @@ export default {
return h("div", this.$options.filters.unitPrice(params.row.billPrice, "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - params.row.finalPrice), color: this.$mainColor}});
return h("priceColorScheme", {props: {value: (0 - params.row.billPrice), color: this.$mainColor}});
}
},
},
@ -383,10 +383,10 @@ export default {
key: "billPrice",
render: (h, params) => {
if (params.row.flowType == "PAY") {
return h("div", this.$options.filters.unitPrice(params.row.siteCouponCommission, "¥")
return h("div", this.$options.filters.unitPrice(params.row.finalPrice, "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - params.row.siteCouponCommission)}});
return h("priceColorScheme", {props: {value: (0 - params.row.finalPrice)}});
}
},
},
@ -398,7 +398,7 @@ export default {
return h("div", this.$options.filters.unitPrice(params.row.finalPrice, "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - params.row.billPrice)}});
return h("priceColorScheme", {props: {value: (0 - params.row.finalPrice)}});
}
},
},
@ -415,10 +415,10 @@ export default {
if (params.row.commissionPrice == 0) {
return h("div", "-");
} else if (params.row.flowType == "PAY") {
return h("div", this.$options.filters.unitPrice(params.row.commissionPrice, "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - params.row.commissionPrice)}});
} else {
return h("div", this.$options.filters.unitPrice(params.row.commissionPrice, "¥"));
}
},
},
@ -429,10 +429,9 @@ export default {
if (params.row.distributionRebate == 0) {
return h("div", "-");
} else if (params.row.flowType == "PAY") {
return h("div", this.$options.filters.unitPrice(params.row.distributionRebate, "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - params.row.distributionRebate)}});
} else {
return h("div", this.$options.filters.unitPrice(params.row.distributionRebate, "¥"));
}
},
},
@ -441,10 +440,9 @@ export default {
key: "billPrice",
render: (h, params) => {
if (params.row.flowType == "PAY") {
return h("div", this.$options.filters.unitPrice((params.row.commissionPrice + params.row.distributionRebate), "¥")
);
} else {
return h("priceColorScheme", {props: {value: (0 - (params.row.commissionPrice + params.row.distributionRebate))}});
} else {
return h("div", this.$options.filters.unitPrice((params.row.commissionPrice + params.row.distributionRebate), "¥"));
}
},
}]