feat(智能柜): 增加柜格租赁相关字段和用户详情跳转功能
在 CabinetCellDTO 中新增租赁相关字段,包括租赁状态、订单信息和用户信息 添加 handleAb98ViewDetail 方法处理用户详情页跳转,并显示租赁用户信息 修改柜格卡片显示逻辑,支持展示租赁用户头像和姓名
This commit is contained in:
parent
c8b44f3620
commit
363721b0c2
|
@ -38,6 +38,20 @@ export interface CabinetCellDTO {
|
||||||
orderCount?: number;
|
orderCount?: number;
|
||||||
/** 商品价格 */
|
/** 商品价格 */
|
||||||
cellPrice?: number;
|
cellPrice?: number;
|
||||||
|
/** 是否已租用:0-未租用,1-已租用 */
|
||||||
|
isRented?: number;
|
||||||
|
/** 关联订单商品ID */
|
||||||
|
orderGoodsId?: number;
|
||||||
|
/** 关联订单ID */
|
||||||
|
orderId?: number;
|
||||||
|
/** 购买人姓名 */
|
||||||
|
name?: string;
|
||||||
|
/** 购买人手机号 */
|
||||||
|
mobile?: string;
|
||||||
|
/** 购买人人脸图片 */
|
||||||
|
faceImg?: string;
|
||||||
|
/** 购买人98ab用户ID */
|
||||||
|
ab98UserId?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AddCabinetCellCommand {
|
export interface AddCabinetCellCommand {
|
||||||
|
|
|
@ -24,6 +24,7 @@ import EditCabinetDrawer from "./edit-cabinet-drawer.vue";
|
||||||
import { CabinetMainboardDTO, deleteMainboard, getMainboardList, updateMainboard } from "@/api/cabinet/mainboards";
|
import { CabinetMainboardDTO, deleteMainboard, getMainboardList, updateMainboard } from "@/api/cabinet/mainboards";
|
||||||
import { getShopById, ShopDTO, getModeText } from "@/api/shop/shop";
|
import { getShopById, ShopDTO, getModeText } from "@/api/shop/shop";
|
||||||
import { useBtnPermissionStore } from "@/store/modules/btnPermission";
|
import { useBtnPermissionStore } from "@/store/modules/btnPermission";
|
||||||
|
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: "SmartCabinetDetail"
|
name: "SmartCabinetDetail"
|
||||||
|
@ -268,6 +269,26 @@ async function handleDeleteMainboard(row: CabinetMainboardDTO) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleAb98ViewDetail = (ab98UserId: number, name: string) => {
|
||||||
|
// 保存信息到标签页
|
||||||
|
useMultiTagsStoreHook().handleTags("push", {
|
||||||
|
path: `/user/ab98/detail`,
|
||||||
|
name: "ab98Detail",
|
||||||
|
query: { id: ab98UserId },
|
||||||
|
meta: {
|
||||||
|
title: `${name}`,
|
||||||
|
dynamicLevel: 3
|
||||||
|
}
|
||||||
|
});
|
||||||
|
router.push({
|
||||||
|
path: '/user/ab98/detail',
|
||||||
|
query: {
|
||||||
|
id: ab98UserId
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
cabinetId.value = Number(route.query.id);
|
cabinetId.value = Number(route.query.id);
|
||||||
fetchCabinetDetail();
|
fetchCabinetDetail();
|
||||||
|
@ -360,7 +381,8 @@ onMounted(() => {
|
||||||
<el-card class="cell-card" :body-style="{ padding: '8px 10px' }">
|
<el-card class="cell-card" :body-style="{ padding: '8px 10px' }">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<el-image v-if="item.coverImg" :src="item.coverImg" class="cell-image" fit="contain" />
|
<el-image v-if="item.coverImg" :src="item.coverImg" class="cell-image" fit="contain" />
|
||||||
<svg v-if="!item.coverImg" width="80" height="80" viewBox="0 0 100 100"
|
<el-image v-if="item.faceImg" :src="item.faceImg" class="cell-image" fit="contain" />
|
||||||
|
<svg v-if="!item.coverImg && !item.faceImg" width="80" height="80" viewBox="0 0 100 100"
|
||||||
xmlns="http://www.w3.org/2000/svg" class="cell-image">
|
xmlns="http://www.w3.org/2000/svg" class="cell-image">
|
||||||
<rect x="5" y="5" width="90" height="90" rx="10" fill="#E8F5E9" stroke="#81C784" stroke-width="2" />
|
<rect x="5" y="5" width="90" height="90" rx="10" fill="#E8F5E9" stroke="#81C784" stroke-width="2" />
|
||||||
<!-- 添加在矩形和文本之间的虚线 -->
|
<!-- 添加在矩形和文本之间的虚线 -->
|
||||||
|
@ -392,10 +414,16 @@ onMounted(() => {
|
||||||
@click="handleEditCell(item)" class="cell-btn">
|
@click="handleEditCell(item)" class="cell-btn">
|
||||||
{{ item.goodsName }}
|
{{ item.goodsName }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="!item.goodsId && shopInfo && shopInfo.mode == 3" :disabled="!hasPermission('shop:cabinet:write')" link type="primary"
|
<el-button v-if="!item.goodsId && !item.isRented && shopInfo && shopInfo.mode == 3"
|
||||||
@click="handleEditCell(item)" class="cell-btn">
|
:disabled="!hasPermission('shop:cabinet:write')" link type="primary" @click="handleEditCell(item)"
|
||||||
|
class="cell-btn">
|
||||||
格口配置
|
格口配置
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button v-if="!item.goodsId && item.isRented && shopInfo && shopInfo.mode == 3"
|
||||||
|
link type="primary" @click="handleAb98ViewDetail(item.ab98UserId, item.name)"
|
||||||
|
class="cell-btn">
|
||||||
|
{{ item.name }}
|
||||||
|
</el-button>
|
||||||
<!-- <el-button v-if="item.goodsId" type="warning" link :icon="useRenderIcon(EditPen)"
|
<!-- <el-button v-if="item.goodsId" type="warning" link :icon="useRenderIcon(EditPen)"
|
||||||
@click="handleStockConfig(item)">
|
@click="handleStockConfig(item)">
|
||||||
库存
|
库存
|
||||||
|
|
Loading…
Reference in New Issue