|
@@ -20,7 +20,11 @@
|
|
|
@search="search(3)"
|
|
|
@init="init"
|
|
|
/>
|
|
|
- <picture-list ref="pictureList" :list="showStatisticsList"></picture-list>
|
|
|
+ <picture-list
|
|
|
+ ref="pictureList"
|
|
|
+ :list="showStatisticsList"
|
|
|
+ :info="statisticsInfo"
|
|
|
+ ></picture-list>
|
|
|
<table-list
|
|
|
rowKey="id"
|
|
|
ref="tableList"
|
|
@@ -30,7 +34,7 @@
|
|
|
:loading="loading"
|
|
|
>
|
|
|
<template slot="customize">
|
|
|
- <el-button v-if="isEdit" @click="exportSH" type="primary">
|
|
|
+ <el-button v-if="isEdit" @click="batchAudit" type="primary">
|
|
|
批量审核
|
|
|
</el-button>
|
|
|
<el-button v-else @click="batchExport" type="info" plain>
|
|
@@ -51,24 +55,14 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
<template slot="divideCheckStatus" slot-scope="props">
|
|
|
- <div v-if="props.scope.row.billType != 7">
|
|
|
- {{
|
|
|
- divideCheckStatus(
|
|
|
- props.scope.row.orderSn,
|
|
|
- props.scope.row.payStatus,
|
|
|
- props.scope.row.checkStatus
|
|
|
- )
|
|
|
- }}
|
|
|
- <span style="color: #409eff" v-if="props.scope.row.roleName">
|
|
|
- ({{ props.scope.row.roleName }})
|
|
|
- </span>
|
|
|
- </div>
|
|
|
+ <div>{{ props.scope.row.checkStatus > 0 ? "已通过" : "未通过" }}</div>
|
|
|
</template>
|
|
|
<template slot="btn" slot-scope="props">
|
|
|
- <el-button type="text" @click="openDialog(props.scope.row, 1)">
|
|
|
+ <el-button type="text" @click="handelDetail(props.scope.row)">
|
|
|
详情
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
+ v-if="isEdit"
|
|
|
type="text"
|
|
|
:disabled="
|
|
|
props.scope.row.checkStatus !== 0 ||
|
|
@@ -86,11 +80,24 @@
|
|
|
:currentPage.sync="formData.pageNum"
|
|
|
@search="search(3)"
|
|
|
/>
|
|
|
+ <!-- 订单详情 -->
|
|
|
+ <dislog-order-details
|
|
|
+ :appendToBody="true"
|
|
|
+ :orderSn="activeOrderInfo.orderSn"
|
|
|
+ :orderFrom="activeOrderInfo.orderFrom"
|
|
|
+ :dialogVisible.sync="orderDialogVisible"
|
|
|
+ />
|
|
|
</BaseDialog>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import pictureList from "@/components/Comon/pictureList.vue";
|
|
|
+import dislogOrderDetails from "../../components/dislogOrderDetails.vue";
|
|
|
+import {
|
|
|
+ tenantExport,
|
|
|
+ monthOrderList,
|
|
|
+ monthOrderCount,
|
|
|
+} from "@/api/financed/index";
|
|
|
export default {
|
|
|
name: "SaasMasterPlatformDislogOrderList",
|
|
|
props: {
|
|
@@ -104,6 +111,10 @@ export default {
|
|
|
return {};
|
|
|
},
|
|
|
},
|
|
|
+ divideModel: {
|
|
|
+ type: String,
|
|
|
+ default: "1",
|
|
|
+ },
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -111,22 +122,22 @@ export default {
|
|
|
{
|
|
|
label: "订单金额",
|
|
|
img: "未收款",
|
|
|
- value: 0,
|
|
|
+ prop: "orderTotalPrice",
|
|
|
},
|
|
|
{
|
|
|
label: "税前佣金",
|
|
|
img: "已退款",
|
|
|
- value: 0,
|
|
|
+ prop: "pretaxTotalBrokerage",
|
|
|
},
|
|
|
{
|
|
|
label: "完单分成",
|
|
|
img: "成本金额",
|
|
|
- value: 0,
|
|
|
+ prop: "accomplishTotalMoney",
|
|
|
},
|
|
|
{
|
|
|
- label: "应付分成",
|
|
|
+ label: "应付分成(不含坏账)",
|
|
|
img: "成本金额",
|
|
|
- value: 0,
|
|
|
+ prop: "divideTotalMoney",
|
|
|
},
|
|
|
],
|
|
|
loading: false,
|
|
@@ -139,7 +150,7 @@ export default {
|
|
|
addHide: true,
|
|
|
dontNum: true,
|
|
|
openCheckMore: false,
|
|
|
- changeWidth: "280px",
|
|
|
+ changeWidth: "220px",
|
|
|
custom: false,
|
|
|
tableColor: true,
|
|
|
},
|
|
@@ -147,104 +158,87 @@ export default {
|
|
|
pageSize: 10,
|
|
|
pageNum: 1,
|
|
|
},
|
|
|
- formList: [
|
|
|
- {
|
|
|
- prop: "checkStatus",
|
|
|
- placeholder: "审核状态",
|
|
|
- scope: "select",
|
|
|
- options: [
|
|
|
- { label: "待审核", value: 2 },
|
|
|
- { label: "已通过", value: 1 },
|
|
|
- ],
|
|
|
- },
|
|
|
- {
|
|
|
- prop: "checkStatus",
|
|
|
- placeholder: "分成类型",
|
|
|
- scope: "select",
|
|
|
- options: [
|
|
|
- { label: "退款扣除", value: 2 },
|
|
|
- { label: "完单分成", value: 1 },
|
|
|
- ],
|
|
|
- },
|
|
|
- {
|
|
|
- prop: "date",
|
|
|
- scope: "datePickerA",
|
|
|
- placeholder: "完单时间",
|
|
|
- type: "date",
|
|
|
- },
|
|
|
- {
|
|
|
- prop: "orderSn",
|
|
|
- placeholder: "输入订单号",
|
|
|
- },
|
|
|
- ],
|
|
|
tableSet: [
|
|
|
{
|
|
|
label: "完单时间",
|
|
|
hidden: true,
|
|
|
- width: 140,
|
|
|
+ prop: "orderTime",
|
|
|
+ width: 160,
|
|
|
+ scope: "aTimeList",
|
|
|
},
|
|
|
{
|
|
|
label: "订单日期",
|
|
|
- prop: "orderSn",
|
|
|
- width: "180",
|
|
|
+ prop: "orderCreateTime",
|
|
|
+ width: 160,
|
|
|
+ scope: "aTimeList",
|
|
|
hidden: true,
|
|
|
},
|
|
|
{
|
|
|
label: "订单号",
|
|
|
prop: "orderSn",
|
|
|
- width: "180",
|
|
|
+ width: 220,
|
|
|
hidden: true,
|
|
|
},
|
|
|
{
|
|
|
label: "分成类型",
|
|
|
- prop: "billType",
|
|
|
+ prop: "orderType",
|
|
|
scope: "type",
|
|
|
hidden: true,
|
|
|
+ width: 100,
|
|
|
values: {
|
|
|
- 1: "退款扣除",
|
|
|
- 2: "完单分成",
|
|
|
+ 1: "完单分成",
|
|
|
+ 2: "退款扣除",
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
label: "订单金额",
|
|
|
- prop: "tenantName",
|
|
|
- hidden: true,
|
|
|
- },
|
|
|
- {
|
|
|
- label: "税前佣金",
|
|
|
- prop: "payMoney",
|
|
|
+ prop: "orderPrice",
|
|
|
hidden: true,
|
|
|
+ width: 100,
|
|
|
scope: "formatPrice",
|
|
|
},
|
|
|
{
|
|
|
- label: "完单分成",
|
|
|
- prop: "closeOrderMoney",
|
|
|
+ label: "税前佣金",
|
|
|
+ prop: "pretaxBrokerage",
|
|
|
hidden: true,
|
|
|
+ width: 100,
|
|
|
scope: "formatPrice",
|
|
|
},
|
|
|
{
|
|
|
- label: "税前佣金",
|
|
|
- prop: "deductMoney",
|
|
|
+ label: "应付分成",
|
|
|
+ prop: "payMoney",
|
|
|
hidden: true,
|
|
|
+ width: 100,
|
|
|
scope: "formatPrice",
|
|
|
},
|
|
|
{
|
|
|
label: "审核状态",
|
|
|
prop: "divideCheckStatus",
|
|
|
hidden: true,
|
|
|
+ width: 100,
|
|
|
scope: "solt",
|
|
|
soltName: "divideCheckStatus",
|
|
|
},
|
|
|
],
|
|
|
tableData: [],
|
|
|
total: 0,
|
|
|
+ orderDialogVisible: false,
|
|
|
+ activeOrderInfo: {},
|
|
|
+ statisticsInfo: {},
|
|
|
};
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ getMonthDay(date) {
|
|
|
+ date = new Date(date);
|
|
|
+ date.setMonth(date.getMonth() + 1);
|
|
|
+ date.setDate(0);
|
|
|
+ var days = date.getDate();
|
|
|
+ return days;
|
|
|
+ },
|
|
|
init() {
|
|
|
- console.log(this.info, 789);
|
|
|
- // this.navText.choice = !!this.isEdit;
|
|
|
+ this.navText.choice = !!this.isEdit;
|
|
|
+ this.search(2);
|
|
|
},
|
|
|
batchExport() {
|
|
|
tenantExport(this.formData).then((res) => {
|
|
@@ -255,6 +249,74 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ search(v) {
|
|
|
+ this.loading = true;
|
|
|
+ if (v === 2) {
|
|
|
+ this.formData = {
|
|
|
+ pageSize: 10,
|
|
|
+ pageNum: 1,
|
|
|
+ divideLogId: this.info.id,
|
|
|
+ };
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.tableList.clearMoreActive();
|
|
|
+ });
|
|
|
+ this.getStatistics();
|
|
|
+ }
|
|
|
+ let { accomplishTime } = this.formData;
|
|
|
+ if (accomplishTime) {
|
|
|
+ this.formData.accomplishStartTime = accomplishTime[0];
|
|
|
+ this.formData.accomplishEndTime = accomplishTime[1];
|
|
|
+ }
|
|
|
+ monthOrderList(this.formData)
|
|
|
+ .then((res) => {
|
|
|
+ this.tableData = res.rows;
|
|
|
+ this.total = res.total;
|
|
|
+ this.navText.index = res.total;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getStatistics() {
|
|
|
+ monthOrderCount({ ...this.formData, divideModel: this.divideModel }).then(
|
|
|
+ (res) => {
|
|
|
+ this.statisticsInfo = res.data;
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
+ getRoles(roleId) {
|
|
|
+ if (
|
|
|
+ (this.rolesId?.length > 0 && this.rolesId.includes(roleId)) ||
|
|
|
+ this.rolesId.includes(1)
|
|
|
+ ) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handelDetail(data) {
|
|
|
+ this.activeOrderInfo = data;
|
|
|
+ this.orderDialogVisible = true;
|
|
|
+ },
|
|
|
+ batchAudit() {
|
|
|
+ let selectList = this.$refs.tableList.allCheckData.filter(
|
|
|
+ (e) => e.checkStatus === 0 && !this.getRoles(e.roleId)
|
|
|
+ );
|
|
|
+ if (selectList.length === 0) {
|
|
|
+ this.$message.error("请先勾选待审核数据");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$confirm("审核通过不可撤销,确定审核通过吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }).then(() => {
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "批量审核成功!",
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
isShow: {
|
|
@@ -266,20 +328,73 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
isEdit() {
|
|
|
+ return true;
|
|
|
return this.info.isEdit;
|
|
|
},
|
|
|
title() {
|
|
|
return this.isEdit ? "订单审核" : "订单列表";
|
|
|
},
|
|
|
showStatisticsList() {
|
|
|
- if (this.isEdit) {
|
|
|
+ if (!this.isEdit) {
|
|
|
this.statisticsList.splice(2, 1);
|
|
|
}
|
|
|
return this.statisticsList;
|
|
|
},
|
|
|
+ rolesId() {
|
|
|
+ return this.$store.state.user.rolesId;
|
|
|
+ },
|
|
|
+ formList() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ prop: "checkStatus",
|
|
|
+ placeholder: "审核状态",
|
|
|
+ scope: "select",
|
|
|
+ options: [
|
|
|
+ { label: "待审核", value: 0 },
|
|
|
+ { label: "已通过", value: 1 },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: "orderType",
|
|
|
+ placeholder: "分成类型",
|
|
|
+ scope: "select",
|
|
|
+ options: [
|
|
|
+ { label: "退款扣除", value: 2 },
|
|
|
+ { label: "完单分成", value: 1 },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: "accomplishTime",
|
|
|
+ scope: "datePicker",
|
|
|
+ type: "daterange",
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate: (time) => {
|
|
|
+ let timeStamp = new Date(this.info.monthTime).setHours(
|
|
|
+ 0,
|
|
|
+ 0,
|
|
|
+ 0,
|
|
|
+ 0
|
|
|
+ );
|
|
|
+ return (
|
|
|
+ time.getTime() < timeStamp ||
|
|
|
+ time.getTime() >
|
|
|
+ timeStamp +
|
|
|
+ (this.getMonthDay(timeStamp) - 1) * 24 * 60 * 60 * 1000
|
|
|
+ );
|
|
|
+ },
|
|
|
+ },
|
|
|
+ defaultValue: this.info.monthTime,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: "orderSn",
|
|
|
+ placeholder: "输入订单号",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ },
|
|
|
},
|
|
|
components: {
|
|
|
pictureList,
|
|
|
+ dislogOrderDetails,
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -292,11 +407,16 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.search_box_page {
|
|
|
- /deep/ .el-select {
|
|
|
- width: 120px;
|
|
|
- }
|
|
|
- /deep/ .el-form-item__content > .el-input {
|
|
|
- width: 190px;
|
|
|
+ /deep/ {
|
|
|
+ .el-date-editor {
|
|
|
+ width: 240px;
|
|
|
+ }
|
|
|
+ .el-select {
|
|
|
+ width: 120px;
|
|
|
+ }
|
|
|
+ .el-form-item__content > .el-input {
|
|
|
+ width: 190px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|