feat(商品管理): 添加商品所属类型字段及筛选功能

- 在商品查询接口和DTO中添加belongType字段
- 在商品列表页和详情页添加所属类型筛选和显示
- 根据所属类型控制编辑按钮的显示(仅智借还商品可编辑)
- 在柜机商品配置弹窗中添加所属类型筛选
This commit is contained in:
dzq 2025-06-05 17:30:41 +08:00
parent c1a1861e09
commit 128afe950e
4 changed files with 25 additions and 5 deletions

View File

@ -6,6 +6,7 @@ export interface GoodsQuery extends BasePageQuery {
status?: number;
goodsId?: number;
autoApproval?: number;
belongType?: number;
}
/** 商品DTO */
@ -50,6 +51,8 @@ export interface GoodsDTO {
totalStock?: number;
/** 商品使用说明 */
usageInstruction?: string;
/** 所属类型0智借还 1固资通 */
belongType: number;
}
/** 商品请求参数 */

View File

@ -21,7 +21,8 @@ const closeModal = () => {
const searchFormParams = ref({
goodsName: "",
status: null
status: null,
belongType: null
});
const pagination = ref({
@ -93,14 +94,21 @@ defineExpose({ getList });
<template>
<div class="config-modal">
<el-form :inline="true" :model="searchFormParams" class="search-form">
<el-form-item label="商品名称:">
<el-form-item>
<el-input v-model="searchFormParams.goodsName" placeholder="请输入商品名称" clearable />
</el-form-item>
<el-form-item label="状态:">
<!-- <el-form-item label="状态:">
<el-select v-model="searchFormParams.status" placeholder="请选择状态" clearable>
<el-option label="已上架" :value="1" />
<el-option label="已下架" :value="2" />
</el-select>
</el-form-item> -->
<el-form-item prop="belongType">
<el-select v-model="searchFormParams.belongType" placeholder="请选择商品所属" clearable @change="getList"
class="!w-[180px]">
<el-option label="智柜通" :value="0" />
<el-option label="固资通" :value="1" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="useRenderIcon(Search)" @click="getList">

View File

@ -30,7 +30,8 @@ const goodsInfo = ref<GoodsDTO>({
status: 0,
autoApproval: 0,
coverImg: "",
goodsDetail: ""
goodsDetail: "",
belongType: 0
});
const loading = ref(false);
const activeTab = ref('basic');
@ -116,7 +117,7 @@ watch(goodsId, () => {
<el-tab-pane label="基本信息" name="basic"></el-tab-pane>
<el-tab-pane label="购买记录" name="order"></el-tab-pane>
</el-tabs>
<el-button type="primary" @click="handleEdit(goodsInfo)" style="margin-bottom: 12px" :size="'default'">
<el-button v-if="goodsInfo.belongType == 0" type="primary" @click="handleEdit(goodsInfo)" style="margin-bottom: 12px" :size="'default'">
编辑商品
</el-button>
</div>

View File

@ -28,6 +28,7 @@ const modalVisible = ref(false);
//
const searchFormParams = ref({
belongType: null,
goodsName: "",
status: null
});
@ -158,6 +159,13 @@ const handleViewDetail = (row: GoodsDTO) => {
<el-input @keydown.enter.prevent="onSearch" v-model="searchFormParams.goodsName" placeholder="请输入商品名称" clearable
class="!w-[200px]" />
</el-form-item>
<el-form-item prop="belongType">
<el-select v-model="searchFormParams.belongType" placeholder="请选择商品所属" clearable @change="onSearch"
class="!w-[180px]">
<el-option label="智柜通" :value="0" />
<el-option label="固资通" :value="1" />
</el-select>
</el-form-item>
<!-- <el-form-item label="状态:" prop="status">
<el-select v-model="searchFormParams.status" placeholder="请选择状态" clearable class="!w-[180px]">
<el-option label="已上架" :value="1" />