This commit is contained in:
weicw
2023-11-21 20:52:27 +08:00
parent fa23f190a5
commit 12004b1107
16 changed files with 144 additions and 44 deletions

View File

@@ -1,6 +1,7 @@
VITE_APP_NAME=后台管理系统 VITE_APP_NAME=后台管理系统
VITE_API_URL=http://localhost:9090/api #VITE_API_URL=http://localhost:9090/api
#VITE_API_URL=http://yxw.wsdns.cn/api
#VITE_SOCKET_URL=ws://localhost:9190 #VITE_SOCKET_URL=ws://localhost:9190
#VITE_API_URL=http://127.0.0.1:9090/api VITE_API_URL=http://127.0.0.1:9090/api
#VITE_API_URL=https://server.gxwebsoft.com/api #VITE_API_URL=https://server.gxwebsoft.com/api
VITE_SOCKET_URL=wss://server.gxwebsoft.com VITE_SOCKET_URL=wss://server.gxwebsoft.com

View File

@@ -1,5 +1,5 @@
VITE_APP_NAME=后台管理系统 VITE_APP_NAME=后台管理系统
#VITE_API_URL=https://server.jimeigroup.cn/api #VITE_API_URL=https://server.jimeigroup.cn/api
#VITE_API_URL=https://server.gxwebsoft.com/api #VITE_API_URL=https://server.gxwebsoft.com/api
VITE_API_URL=/api VITE_API_URL=http://yxw.wsdns.cn/api
VITE_SOCKET_URL=wss://server.gxwebsoft.com VITE_SOCKET_URL=wss://server.gxwebsoft.com

View File

@@ -1,7 +1,7 @@
import request from '@/utils/request'; import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api'; import type { ApiResult, PageResult } from '@/api';
import type { Order, OrderParam } from './model'; import type { Order, OrderParam } from './model';
import { App } from "@/api/app/model"; import { App } from '@/api/app/model';
/** /**
* 分页查询订单 * 分页查询订单
@@ -32,6 +32,20 @@ export async function listOrder(params?: OrderParam) {
return Promise.reject(new Error(res.data.message)); return Promise.reject(new Error(res.data.message));
} }
/**
* 查询订单列表
*/
export async function listOrderPay(params?: OrderParam) {
const res = await request.get<ApiResult<Order[]>>('/shop/order-pay', {
params
});
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/** /**
* 根据id查询订单 * 根据id查询订单
*/ */

View File

@@ -9,7 +9,7 @@ export interface Order {
// 订单类型 // 订单类型
orderType?: string; orderType?: string;
// 订单来源 // 订单来源
orderSource?: string; orderSource?: number;
// 来源记录ID // 来源记录ID
orderSourceId?: number; orderSourceId?: number;
// 来源记录的参数 (json格式) // 来源记录的参数 (json格式)

View File

@@ -44,6 +44,9 @@
<template v-if="column.key === 'user'"> <template v-if="column.key === 'user'">
<User v-if="record.user" :record="record.user" /> <User v-if="record.user" :record="record.user" />
</template> </template>
<template v-if="column.key === 'touziUser'">
<User v-if="record.touziUser" :record="record.touziUser" />
</template>
<template v-if="column.key === 'qrcode'"> <template v-if="column.key === 'qrcode'">
<a-image :src="record.qrcode" :width="50" /> <a-image :src="record.qrcode" :width="50" />
</template> </template>
@@ -180,6 +183,11 @@
dataIndex: 'user', dataIndex: 'user',
key: 'user' key: 'user'
}, },
{
title: '投资人',
dataIndex: 'touziUser',
key: 'touziUser'
},
{ {
title: '设备名称', title: '设备名称',
dataIndex: 'equipmentName', dataIndex: 'equipmentName',

View File

@@ -504,6 +504,11 @@
return '第' + (index + 1) + '期'; return '第' + (index + 1) + '期';
} }
}, },
{
title: '订单号',
dataIndex: 'orderNo',
key: 'orderNo'
},
{ {
title: '订单金额', title: '订单金额',
dataIndex: 'orderPrice', dataIndex: 'orderPrice',

View File

@@ -41,7 +41,7 @@
" "
> >
<a-form-item label="订单号" name="orderId"> <a-form-item label="订单号" name="orderId">
<span>{{ order.orderId }}</span> <span>{{ order.orderNo }}</span>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col <a-col

View File

@@ -9,6 +9,7 @@
:body-style="{ paddingBottom: '8px' }" :body-style="{ paddingBottom: '8px' }"
@update:visible="updateVisible" @update:visible="updateVisible"
:maskClosable="false" :maskClosable="false"
:destroy-on-close="true"
@ok="save" @ok="save"
> >
<a-form <a-form

View File

@@ -182,7 +182,7 @@
}, },
{ {
title: '订单号', title: '订单号',
dataIndex: 'orderId', dataIndex: 'orderNo',
key: 'orderId' key: 'orderId'
}, },
{ {

View File

@@ -197,7 +197,7 @@
</a-form-item> </a-form-item>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col> <a-col>
<a-form-item label="投资人收益" name="touziProfit"> <a-form-item :label="(form.equipmentCategory == '20' || form.equipmentCategory == '30')?'投资人每期收益':'投资人收益'" name="touziProfit">
<a-input-number <a-input-number
:min="0" :min="0"
:precision="2" :precision="2"
@@ -219,7 +219,7 @@
</a-row> </a-row>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col> <a-col>
<a-form-item label="推荐人收益" name="tuijianProfit"> <a-form-item :label="(form.equipmentCategory == '20' || form.equipmentCategory == '30')?'推荐人每期收益':'推荐人收益'" name="tuijianProfit">
<a-input-number <a-input-number
:min="0" :min="0"
:precision="2" :precision="2"
@@ -241,7 +241,7 @@
</a-row> </a-row>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col> <a-col>
<a-form-item label="门店收益" name="mendianProfit"> <a-form-item :label="(form.equipmentCategory == '20' || form.equipmentCategory == '30')?'门店每期收益':'门店收益'" name="mendianProfit">
<a-input-number <a-input-number
:min="0" :min="0"
:precision="2" :precision="2"
@@ -263,7 +263,7 @@
</a-row> </a-row>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col> <a-col>
<a-form-item label="区域经理收益" name="jingliProfit"> <a-form-item :label="(form.equipmentCategory == '20' || form.equipmentCategory == '30')?'区域经理每期收益':'区域经理收益'" name="jingliProfit">
<a-input-number <a-input-number
:min="0" :min="0"
:precision="2" :precision="2"
@@ -413,6 +413,14 @@
repayment: 0, repayment: 0,
serviceCharges: 0, serviceCharges: 0,
periodsType: 0, periodsType: 0,
touziProfit: 0,
touziFirstProfit: 0,
tuijianProfit: 0,
tuijianFirstProfit: 0,
mendianProfit: 0,
mendianFirstProfit: 0,
jingliProfit: 0,
jingliFirstProfit: 0,
tenantId: Number(localStorage.getItem('tenantId')) tenantId: Number(localStorage.getItem('tenantId'))
}); });

View File

@@ -295,6 +295,7 @@
batteryDeposit: 300, batteryDeposit: 300,
batteryInsurance: 0, batteryInsurance: 0,
batteryPrice: 0, batteryPrice: 0,
touziUserId: null,
tenantId: Number(localStorage.getItem('tenantId')) tenantId: Number(localStorage.getItem('tenantId'))
}); });

View File

@@ -41,6 +41,9 @@
</span> </span>
</div> </div>
</template> </template>
<template v-if="column.key === 'touziUser'">
<User v-if="record.touziUser" :record="record.touziUser" />
</template>
<template v-if="column.key === 'user'"> <template v-if="column.key === 'user'">
<User v-if="record.user" :record="record.user" /> <User v-if="record.user" :record="record.user" />
</template> </template>
@@ -76,6 +79,7 @@
{{ record.comments }} {{ record.comments }}
</a-tooltip> </a-tooltip>
</template> </template>
<template v-if="column.key === 'userId'"> <template v-if="column.key === 'userId'">
<a-tag v-if="record.userId === 0" color="orange">未绑定</a-tag> <a-tag v-if="record.userId === 0" color="orange">未绑定</a-tag>
<a-tag v-else color="green">已绑定</a-tag> <a-tag v-else color="green">已绑定</a-tag>
@@ -176,7 +180,12 @@
ellipsis: true ellipsis: true
}, },
{ {
title: '用户信息', title: '投资人',
dataIndex: 'touziUser',
key: 'touziUser'
},
{
title: '在租用户',
dataIndex: 'user', dataIndex: 'user',
key: 'user' key: 'user'
}, },

View File

@@ -273,7 +273,7 @@
</a-table> </a-table>
</a-spin> </a-spin>
</a-card> </a-card>
<a-card title="续费订单" class="order-card"> <a-card title="缴费记录" class="order-card">
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<a-table <a-table
:data-source="renewOrderList" :data-source="renewOrderList"
@@ -368,7 +368,7 @@
import * as EquipmentApi from '@/api/apps/equipment'; import * as EquipmentApi from '@/api/apps/equipment';
import * as EquipmentRecordApi from '@/api/apps/equipment/record'; import * as EquipmentRecordApi from '@/api/apps/equipment/record';
import { ColumnItem } from 'ele-admin-pro/es/ele-pro-table/types'; import { ColumnItem } from 'ele-admin-pro/es/ele-pro-table/types';
import { listOrder } from '@/api/order'; import { listOrder, listOrderPay } from '@/api/order';
import { CopyOutlined } from '@ant-design/icons-vue'; import { CopyOutlined } from '@ant-design/icons-vue';
import { EquipmentRecord } from '@/api/apps/equipment/record/model'; import { EquipmentRecord } from '@/api/apps/equipment/record/model';
@@ -501,8 +501,26 @@
dataIndex: 'index', dataIndex: 'index',
key: 'index', key: 'index',
customRender: ({ index }) => { customRender: ({ index }) => {
return '第' + (index + 1) + '期'; console.log({ ...order });
if(props.data.orderSource == 20) {
if(index == 0) {
return '首期';
}else {
return '第' + index + '期';
} }
}else if(props.data.orderSource == 30 || props.data.orderSource == 40) {
return '第' + (index + 1) + '期';
}else if(props.data.orderSource == 10) {
return '一次性购买';
}
}
},
{
title: '订单号',
dataIndex: 'orderNo',
key: 'orderNo'
}, },
{ {
title: '订单金额', title: '订单金额',
@@ -640,13 +658,26 @@
const getRenewOrder = () => { const getRenewOrder = () => {
loading.value = true; loading.value = true;
listOrder({ console.log(order);
if(order.orderId > 28798) {
listOrderPay({
rentOrderId: order.orderId, rentOrderId: order.orderId,
payStatus: 20 sort: ' create_time asc'
}).then((data) => { }).then((data) => {
renewOrderList.value = data; renewOrderList.value = data;
loading.value = false; loading.value = false;
}); });
}else {
listOrder({
rentOrderId: order.orderId,
payStatus: 20,
sort: 'create_time asc',
}).then((data) => {
renewOrderList.value = data;
loading.value = false;
});
}
}; };
const getEquipmentRecordList = () => { const getEquipmentRecordList = () => {
@@ -660,8 +691,10 @@
const expirationDay = (order) => { const expirationDay = (order) => {
const setTime = new Date(order.expirationTime); const setTime = new Date(order.expirationTime);
const nowTime = new Date(order.payTime); const nowTime = new Date();
const restSec = setTime.getTime() - nowTime.getTime(); const restSec = setTime.getTime() - nowTime.getTime();
console.log("计算剩余天数");
console.log(restSec);
// 剩余天数 // 剩余天数
const day = parseInt(String(restSec / (60 * 60 * 24 * 1000))); const day = parseInt(String(restSec / (60 * 60 * 24 * 1000)));
if (day < 0) { if (day < 0) {

View File

@@ -73,7 +73,7 @@
</template> </template>
<template v-if="column.key === 'payStatus'"> <template v-if="column.key === 'payStatus'">
<div class="ele-text-placeholder"> <div class="ele-text-placeholder">
付款状态 <!-- 付款状态-->
<a-tag <a-tag
v-if="record.payStatus === 10" v-if="record.payStatus === 10"
@click="onAlipayQuery(record.orderId)" @click="onAlipayQuery(record.orderId)"
@@ -84,24 +84,27 @@
> >
</div> </div>
<div class="ele-text-placeholder"> <div class="ele-text-placeholder">
发货状态 <!-- 发货状态-->
<a-tag v-if="record.deliveryStatus === 10">未发货</a-tag> <a-tag v-if="record.deliveryStatus === 10">未发货</a-tag>
<a-tag v-if="record.deliveryStatus === 20" color="success" <a-tag v-if="record.deliveryStatus === 20" color="success"
>已发货</a-tag >已发货</a-tag
> >
</div> </div>
<div class="ele-text-placeholder"> <div class="ele-text-placeholder">
收货状态 <!-- 收货状态-->
<a-tag v-if="record.receiptStatus === 10">未收货</a-tag> <a-tag v-if="record.receiptStatus === 10">未收货</a-tag>
<a-tag v-if="record.receiptStatus === 20" color="success" <a-tag v-if="record.receiptStatus === 20" color="success"
>已收货</a-tag >已收货</a-tag
> >
<a-tag v-if="record.receiptStatus === 21" color="purple"
>退租中</a-tag
>
<a-tag v-if="record.receiptStatus === 30" color="error" <a-tag v-if="record.receiptStatus === 30" color="error"
>已退租</a-tag >已退租</a-tag
> >
</div> </div>
<div class="ele-text-placeholder" v-if="record.orderSource != 10"> <div class="ele-text-placeholder" v-if="record.orderSource != 10">
分期状态 <!-- 分期状态-->
<a-tag v-if="record.fenqiStatus == 1" color="success" <a-tag v-if="record.fenqiStatus == 1" color="success"
>已完成</a-tag >已完成</a-tag
> >
@@ -163,6 +166,12 @@
<template v-if="column.key === 'nickname'"> <template v-if="column.key === 'nickname'">
<User :record="record" /> <User :record="record" />
</template> </template>
<template v-if="column.key === 'batteryModel'">
{{ record.equipmentGoods.batteryModel }}
</template>
<template v-if="column.key === 'equipmentCode'">
{{ record.equipment?.equipmentCode }}
</template>
<template v-if="column.key === 'createTime'"> <template v-if="column.key === 'createTime'">
{{ record.createTime }} {{ record.createTime }}
</template> </template>
@@ -261,8 +270,8 @@
}, },
{ {
title: '订单号', title: '订单号',
dataIndex: 'orderId', dataIndex: 'orderNo',
key: 'orderId', key: 'orderNo',
sorter: true sorter: true
}, },
{ {
@@ -270,6 +279,16 @@
dataIndex: 'goodsId', dataIndex: 'goodsId',
key: 'goodsId' key: 'goodsId'
}, },
{
title: '电池型号',
dataIndex: 'batteryModel',
key: 'batteryModel'
},
{
title: '电池编号',
dataIndex: 'equipmentCode',
key: 'equipmentCode'
},
{ {
title: '所属商户', title: '所属商户',
dataIndex: 'merchantName', dataIndex: 'merchantName',
@@ -419,6 +438,7 @@
} }
where.tenantId = localStorage.getItem('tenantId'); where.tenantId = localStorage.getItem('tenantId');
where.isRenew = 0; where.isRenew = 0;
where.isFreeze = 1;
return pageOrder({ return pageOrder({
...where, ...where,
...orders, ...orders,

View File

@@ -1,18 +1,18 @@
<!-- 搜索表单 --> <!-- 搜索表单 -->
<template> <template>
<a-space :size="10" style="flex-wrap: wrap"> <a-space :size="10" style="flex-wrap: wrap">
<a-button <!-- <a-button-->
danger <!-- danger-->
type="primary" <!-- type="primary"-->
class="ele-btn-icon" <!-- class="ele-btn-icon"-->
:disabled="selection.length === 0" <!-- :disabled="selection.length === 0"-->
@click="removeBatch" <!-- @click="removeBatch"-->
> <!-- >-->
<template #icon> <!-- <template #icon>-->
<delete-outlined /> <!-- <delete-outlined />-->
</template> <!-- </template>-->
<span>批量删除</span> <!-- <span>批量删除</span>-->
</a-button> <!-- </a-button>-->
<a-input-search <a-input-search
allow-clear allow-clear
placeholder="请输入关键词" placeholder="请输入关键词"

View File

@@ -66,7 +66,7 @@
</template> </template>
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-space> <a-space>
<a-button @click="openEdit(record)">审核</a-button> <a-button v-if="record.auditStatus == 10" @click="openEdit(record)">审核</a-button>
</a-space> </a-space>
</template> </template>
</template> </template>
@@ -128,8 +128,8 @@
}, },
{ {
title: '订单号', title: '订单号',
dataIndex: 'orderId', dataIndex: 'orderNo',
key: 'orderId' key: 'orderNo'
}, },
{ {
title: '买家', title: '买家',