feat: 添加用户余额查询功能并优化搜索输入框交互
- 新增用户余额查询页面,支持查看用户余额及总余额 - 在多个搜索输入框中添加回车键触发搜索功能 - 移除不必要的岗位选项代码 - 优化角色表单的菜单选中逻辑 - 调整部分页面的样式和布局
This commit is contained in:
parent
c01a01519a
commit
b4451bd2ea
|
@ -69,6 +69,7 @@ export interface QyUserQuery extends BasePageQuery {
|
|||
mainDepartment?: number;
|
||||
roleId?: number;
|
||||
sysRoleId?: number;
|
||||
balancePage?: number;
|
||||
}
|
||||
|
||||
export interface AddQyUserCommand {
|
||||
|
@ -127,4 +128,10 @@ export const exportQyUserExcelApi = (params: QyUserQuery, fileName: string) => {
|
|||
|
||||
export const getQyUserDetailApi = (id: number) => {
|
||||
return http.request<ResponseData<QyUserDTO>>("get", `/qywx/users/detail/${id}`);
|
||||
};
|
||||
|
||||
export const getTotalBalanceApi = (corpid: string) => {
|
||||
return http.request<ResponseData<number>>("get", `/qywx/users/getTotalBalance`, {
|
||||
params: { corpid }
|
||||
});
|
||||
};
|
|
@ -204,10 +204,12 @@ const switchCellType = (cellType: number) => {
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="柜体ID:" prop="cabinetId">
|
||||
<el-input v-model.number="searchFormParams.cabinetId" placeholder="请输入柜体ID" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.cabinetId" placeholder="请输入柜体ID" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单元格号:" prop="cellNo">
|
||||
<el-input v-model.number="searchFormParams.cellNo" placeholder="请输入单元格号" clearable class="!w-[180px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.cellNo" placeholder="请输入单元格号" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单元格类型:" prop="cellType">
|
||||
<el-select v-model="searchFormParams.cellType" placeholder="请选择类型" clearable class="!w-[180px]">
|
||||
|
|
|
@ -122,10 +122,12 @@ getList();
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="服务地址:" prop="serverUrl">
|
||||
<el-input v-model="searchFormParams.serverUrl" placeholder="请输入服务地址" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.serverUrl" placeholder="请输入服务地址" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名:" prop="username">
|
||||
<el-input v-model="searchFormParams.username" placeholder="请输入用户名" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.username" placeholder="请输入用户名" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :icon="useRenderIcon(Search)" @click="onSearch">
|
||||
|
|
|
@ -84,7 +84,8 @@ getList();
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="格口ID:" prop="cellId">
|
||||
<el-input v-model="searchFormParams.cellId" placeholder="请输入格口ID" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.cellId" placeholder="请输入格口ID" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="操作类型:" prop="operationType">
|
||||
<el-select v-model="searchFormParams.operationType" placeholder="请选择类型" clearable class="!w-[180px]">
|
||||
|
|
|
@ -138,7 +138,8 @@ getList();
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="商店名称:" prop="shopName">
|
||||
<el-input v-model="searchFormParams.shopName" placeholder="请输入商店名称" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.shopName" placeholder="请输入商店名称" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :icon="useRenderIcon(Search)" @click="onSearch">
|
||||
|
|
|
@ -92,7 +92,8 @@ onMounted(() => {
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color flex w-[99/100] pl-[22px] pt-[12px]">
|
||||
<el-form-item label="" prop="cabinetName">
|
||||
<el-input v-model="searchFormParams.cabinetName" placeholder="请输入柜体名称" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.cabinetName" placeholder="请输入柜体名称" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="cabinetType">
|
||||
<el-select v-model="searchFormParams.cabinetType" placeholder="请选择柜体类型" clearable class="!w-[180px]">
|
||||
|
|
|
@ -160,7 +160,8 @@ getList();
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="柜体名称:" prop="cabinetName">
|
||||
<el-input v-model="searchFormParams.cabinetName" placeholder="请输入柜体名称" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.cabinetName" placeholder="请输入柜体名称" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="柜体类型:" prop="cabinetType">
|
||||
<el-select v-model="searchFormParams.cabinetType" placeholder="请选择类型" clearable class="!w-[180px]">
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from "vue";
|
||||
import { PureTableBar } from "@/components/RePureTableBar";
|
||||
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
|
||||
import { getQyUserListApi, getTotalBalanceApi, QyUserDTO, QyUserQuery } from "@/api/qy/qyUser";
|
||||
import Search from "@iconify-icons/ep/search";
|
||||
import Refresh from "@iconify-icons/ep/refresh";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { useWxStore } from "@/store/modules/wx";
|
||||
|
||||
defineOptions({
|
||||
name: "UserBalance"
|
||||
});
|
||||
|
||||
const wxStore = useWxStore(); // 微信相关状态管理
|
||||
const formRef = ref();
|
||||
const tableRef = ref();
|
||||
|
||||
// 搜索表单
|
||||
const searchFormParams = ref<QyUserQuery>({
|
||||
name: null,
|
||||
mobile: null,
|
||||
corpid: wxStore.corpid, // 企业ID
|
||||
balancePage: 1
|
||||
});
|
||||
|
||||
// 分页参数
|
||||
const pagination = ref({
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 0
|
||||
});
|
||||
|
||||
const loading = ref(false);
|
||||
const dataList = ref<QyUserDTO[]>([]);
|
||||
const totalBalance = ref(0);
|
||||
|
||||
// 获取用户余额列表
|
||||
const getList = async () => {
|
||||
try {
|
||||
loading.value = true;
|
||||
const { data } = await getQyUserListApi({
|
||||
...searchFormParams.value,
|
||||
pageSize: pagination.value.pageSize,
|
||||
pageNum: pagination.value.currentPage
|
||||
});
|
||||
dataList.value = data.rows;
|
||||
pagination.value.total = data.total;
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
// 搜索
|
||||
const onSearch = () => {
|
||||
pagination.value.currentPage = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
// 重置
|
||||
const resetForm = () => {
|
||||
formRef.value.resetFields();
|
||||
onSearch();
|
||||
};
|
||||
|
||||
// 分页变化
|
||||
const handlePaginationChange = () => getList();
|
||||
|
||||
// 获取总余额
|
||||
const getTotalBalance = async () => {
|
||||
try {
|
||||
const { data } = await getTotalBalanceApi(wxStore.corpid);
|
||||
totalBalance.value = data;
|
||||
} catch (error) {
|
||||
console.error('获取总余额失败:', error);
|
||||
}
|
||||
};
|
||||
|
||||
// 在getList中调用获取总余额
|
||||
getList().then(() => getTotalBalance());
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="main">
|
||||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="姓名:" prop="name">
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.name" placeholder="请输入姓名" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号:" prop="mobile">
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.mobile" placeholder="请输入手机号" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :icon="useRenderIcon(Search)" @click="onSearch">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<PureTableBar :title="`用户总余额: ${totalBalance}元`" @refresh="getList">
|
||||
<el-table ref="tableRef" v-loading="loading" :data="dataList" border>
|
||||
<el-table-column label="用户ID" prop="id" width="80" />
|
||||
<el-table-column label="姓名" prop="name" width="100" />
|
||||
<el-table-column label="余额" prop="balance" width="130">
|
||||
<template #default="{ row }">{{ row.balance || 0 }}元</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号" prop="mobile" />
|
||||
<!-- <el-table-column label="所属部门" prop="department" /> -->
|
||||
</el-table>
|
||||
<el-pagination v-model:current-page="pagination.currentPage" v-model:page-size="pagination.pageSize"
|
||||
:page-sizes="[10, 20, 50]" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
|
||||
@size-change="handlePaginationChange" @current-change="handlePaginationChange" />
|
||||
</PureTableBar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.main {
|
||||
padding: 16px;
|
||||
}
|
||||
</style>
|
|
@ -133,13 +133,16 @@ getList();
|
|||
value-format="YYYY-MM-DD HH:mm:ss" class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批ID:" prop="approvalId">
|
||||
<el-input v-model.number="searchFormParams.approvalId" placeholder="请输入审批ID" clearable class="!w-[180px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.approvalId" placeholder="请输入审批ID" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单ID:" prop="orderId">
|
||||
<el-input v-model.number="searchFormParams.orderId" placeholder="请输入订单ID" clearable class="!w-[180px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.orderId" placeholder="请输入订单ID" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商品ID:" prop="goodsId">
|
||||
<el-input v-model.number="searchFormParams.goodsId" placeholder="请输入商品ID" clearable class="!w-[180px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.goodsId" placeholder="请输入商品ID" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:" prop="status">
|
||||
<el-select v-model="searchFormParams.status" placeholder="请选择状态" clearable class="!w-[180px]">
|
||||
|
|
|
@ -231,7 +231,8 @@ const handleClearGoods = async (row: CabinetCellDTO) => {
|
|||
<div class="flex-1 pl-4">
|
||||
<el-form ref="formRef" :inline="true" :model="searchFormParams" class="search-form bg-bg_color w-full pt-[12px]">
|
||||
<el-form-item label="单元格号:" prop="cellNo">
|
||||
<el-input v-model.number="searchFormParams.cellNo" placeholder="请输入单元格号" clearable class="!w-[180px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model.number="searchFormParams.cellNo" placeholder="请输入单元格号" clearable
|
||||
class="!w-[180px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单元格类型:" prop="cellType">
|
||||
<el-select v-model="searchFormParams.cellType" placeholder="请选择类型" clearable class="!w-[180px]">
|
||||
|
@ -311,8 +312,8 @@ const handleClearGoods = async (row: CabinetCellDTO) => {
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination v-model:current-page="pagination.currentPage" v-model:page-size="pagination.pageSize"
|
||||
:page-sizes="[5,8,10,11,12,13,14,15,16,18,20]" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"
|
||||
@size-change="onSizeChange" @current-change="onCurrentChange" class="pagination" />
|
||||
:page-sizes="[5,8,10,11,12,13,14,15,16,18,20]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pagination.total" @size-change="onSizeChange" @current-change="onCurrentChange" class="pagination" />
|
||||
</div>
|
||||
<el-dialog v-model="configVisible" title="配置商品" width="80%">
|
||||
<CabinetGoodsConfigModal v-model="configVisible" :cell-id="currentCellId" @refresh="getList" />
|
||||
|
|
|
@ -158,10 +158,11 @@ getList();
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="分类名称:" prop="categoryName">
|
||||
<el-input v-model="searchFormParams.categoryName" placeholder="请输入分类名称" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.categoryName" placeholder="请输入分类名称" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序:" prop="sort">
|
||||
<el-input-number v-model="searchFormParams.sort" :min="0" class="!w-[120px]" />
|
||||
<el-input-number @keyup.enter="onSearch" v-model="searchFormParams.sort" :min="0" class="!w-[120px]" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :icon="useRenderIcon(Search)" @click="onSearch">
|
||||
|
|
|
@ -134,7 +134,8 @@ const handleEdit = (row: GoodsDTO) => {
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="商品名称:" prop="goodsName">
|
||||
<el-input v-model="searchFormParams.goodsName" placeholder="请输入商品名称" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.goodsName" placeholder="请输入商品名称" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:" prop="status">
|
||||
<el-select v-model="searchFormParams.status" placeholder="请选择状态" clearable class="!w-[180px]">
|
||||
|
|
|
@ -142,10 +142,12 @@ getList();
|
|||
value-format="YYYY-MM-DD HH:mm:ss" class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单编号:" prop="orderId">
|
||||
<el-input v-model="searchFormParams.orderId" placeholder="请输入订单编号" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.orderId" placeholder="请输入订单编号" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="格口ID:" prop="cellId">
|
||||
<el-input v-model="searchFormParams.cellId" placeholder="请输入格口ID" clearable class="!w-[200px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.cellId" placeholder="请输入格口ID" clearable
|
||||
class="!w-[200px]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单状态:" prop="status">
|
||||
<el-select v-model="searchFormParams.status" placeholder="请选择状态" clearable class="!w-[180px]">
|
||||
|
|
|
@ -103,7 +103,7 @@ async function openDialog(type: "add" | "update", row?: RoleDTO) {
|
|||
</el-form>
|
||||
|
||||
<PureTableBar
|
||||
title="角色列表(仅演示,操作后不生效)"
|
||||
title="角色列表"
|
||||
:columns="columns"
|
||||
@refresh="onSearch"
|
||||
>
|
||||
|
@ -133,9 +133,6 @@ async function openDialog(type: "add" | "update", row?: RoleDTO) {
|
|||
background: 'var(--el-table-row-hover-bg-color)',
|
||||
color: 'var(--el-text-color-primary)'
|
||||
}"
|
||||
@selection-change="handleSelectionChange"
|
||||
@page-size-change="handleSizeChange"
|
||||
@page-current-change="handleCurrentChange"
|
||||
>
|
||||
<template #operation="{ row }">
|
||||
<el-button
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import VDialog from "@/components/VDialog/VDialog.vue";
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import { useUserStoreHook } from "@/store/modules/user";
|
||||
import { ElMessage, FormInstance, FormRules } from "element-plus";
|
||||
import { ElMessage, ElTree, FormInstance, FormRules } from "element-plus";
|
||||
import {
|
||||
AddRoleCommand,
|
||||
RoleDTO,
|
||||
|
@ -71,6 +71,7 @@ function handleOpened() {
|
|||
if (props.row) {
|
||||
Object.assign(formData, props.row);
|
||||
formData.menuIds = props.row.selectedMenuList;
|
||||
treeRef.value!.setCheckedKeys(props.row.selectedMenuList);
|
||||
} else {
|
||||
formRef.value?.resetFields();
|
||||
}
|
||||
|
|
|
@ -53,7 +53,8 @@ watch(
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="姓名:" prop="nickname">
|
||||
<el-input v-model="searchFormParams.nickname" placeholder="请输入" clearable class="!w-[160px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.nickname" placeholder="请输入" clearable
|
||||
class="!w-[160px]" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="用户编号:" prop="userId">
|
||||
<el-input
|
||||
|
|
|
@ -93,13 +93,16 @@ onMounted(() => {
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="姓名:" prop="name">
|
||||
<el-input v-model="searchFormParams.name" placeholder="请输入" clearable class="!w-[160px]" />
|
||||
<el-input v-model="searchFormParams.name" placeholder="请输入" clearable class="!w-[160px]"
|
||||
@keyup.enter="onSearch" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号:" prop="tel">
|
||||
<el-input v-model="searchFormParams.tel" placeholder="请输入" clearable class="!w-[160px]" />
|
||||
<el-input v-model="searchFormParams.tel" placeholder="请输入" clearable class="!w-[160px]"
|
||||
@keyup.enter="onSearch" />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证:" prop="idnum">
|
||||
<el-input v-model="searchFormParams.idnum" placeholder="请输入" clearable class="!w-[160px]" />
|
||||
<el-input v-model="searchFormParams.idnum" placeholder="请输入" clearable class="!w-[160px]"
|
||||
@keyup.enter="onSearch" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签:" prop="tagName">
|
||||
<el-select v-model="searchFormParams.tagName" placeholder="请选择" clearable class="!w-[160px]">
|
||||
|
|
|
@ -55,7 +55,6 @@ export function useHook() {
|
|||
|
||||
// 下拉选项数据
|
||||
const deptTreeList = ref([]); // 部门树形数据
|
||||
const postOptions = ref([]); // 岗位选项
|
||||
const roleOptions = ref([]); // 角色选项
|
||||
|
||||
/**
|
||||
|
@ -107,10 +106,6 @@ export function useHook() {
|
|||
"status"
|
||||
);
|
||||
|
||||
// 获取岗位选项
|
||||
const postResponse = await getPostListApi({});
|
||||
postOptions.value = postResponse.data.rows;
|
||||
|
||||
// 获取角色选项
|
||||
const roleResponse = await getRoleListApi({});
|
||||
roleOptions.value = roleResponse.data.rows;
|
||||
|
|
|
@ -51,7 +51,8 @@ watch(
|
|||
<el-form ref="formRef" :inline="true" :model="searchFormParams"
|
||||
class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px]">
|
||||
<el-form-item label="姓名:" prop="name">
|
||||
<el-input v-model="searchFormParams.name" placeholder="请输入" clearable class="!w-[160px]" />
|
||||
<el-input @keyup.enter="onSearch" v-model="searchFormParams.name" placeholder="请输入" clearable
|
||||
class="!w-[160px]" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :icon="useRenderIcon(Search)" :loading="pageLoading" @click="onSearch">
|
||||
|
|
|
@ -353,6 +353,8 @@ onMounted(async () => {
|
|||
}
|
||||
|
||||
.goods-container {
|
||||
margin-bottom: 0;
|
||||
|
||||
.goods-right {
|
||||
width: 150px;
|
||||
}
|
||||
|
@ -363,6 +365,8 @@ onMounted(async () => {
|
|||
}
|
||||
|
||||
.order-container {
|
||||
margin-bottom: 0;
|
||||
|
||||
.goods-right {
|
||||
width: 250px;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue