新增入库登记

This commit is contained in:
weipengfei 2024-06-13 15:59:44 +08:00
parent a1ab6200e5
commit 25be510191
4 changed files with 173 additions and 20 deletions

View File

@ -4,75 +4,90 @@ import request from '@/utils/axios.js'
* @description 商品列表 * @description 商品列表
*/ */
export function storeListApi(id, data) { export function storeListApi(id, data) {
return request.get(`server/${id}/product/lst`, { params: data }) return request.get(`server/${id}/product/lst`, { params: data })
} }
/** /**
* @description 商品详情 * @description 商品详情
*/ */
export function getAttrValue(id, data) { export function getAttrValue(id, data) {
return request.get(`store/product/detail/${id}`, { params: data }) return request.get(`store/product/detail/${id}`, { params: data })
} }
/** /**
* @description 免审编辑 * @description 免审编辑
*/ */
export function userFreeTrialApi(id, data) { export function userFreeTrialApi(id, data) {
return request.post(`user_free_trial/${id}`, data) return request.post(`user_free_trial/${id}`, data)
} }
/** /**
* @description 商品状态分类数量 * @description 商品状态分类数量
*/ */
export function productTitleApi(id, data) { export function productTitleApi(id, data) {
return request.get(`server/${id}/product/title`, { params: data }) return request.get(`server/${id}/product/title`, { params: data })
} }
/** /**
* @description 上下架 * @description 上下架
*/ */
export function productStatusApi(store_id, id, data) { export function productStatusApi(store_id, id, data) {
return request.post(`server/${store_id}/product/status/${id}`, data) return request.post(`server/${store_id}/product/status/${id}`, data)
} }
/** /**
* @description 平台分类 * @description 平台分类
*/ */
export function categoryListApi(store_id, data) { export function categoryListApi(store_id, data) {
return request.get(`server/${store_id}/category/list`, { params: data }) return request.get(`server/${store_id}/category/list`, { params: data })
} }
/** /**
* @description 添加商品 * @description 添加商品
*/ */
export function productCreateApi(store_id, data) { export function productCreateApi(store_id, data) {
return request.post(`server/${store_id}/product/create`, data) return request.post(`server/${store_id}/product/create`, data)
} }
/** /**
* @description 编辑商品 * @description 编辑商品
*/ */
export function productUpdateApi(store_id, id, data) { export function productUpdateApi(store_id, id, data) {
return request.post(`server/${store_id}/product/update/${id}`, data) return request.post(`server/${store_id}/product/update/${id}`, data)
} }
/** /**
* @description 商品详情 * @description 商品详情
*/ */
export function productDetailApi(store_id, id, data) { export function productDetailApi(store_id, id, data) {
return request.get(`server/${store_id}/product/detail/${id}`, { params: data }) return request.get(`server/${store_id}/product/detail/${id}`, { params: data })
} }
/** /**
* @description 批发商品列表 * @description 批发商品列表
*/ */
export function saleStoreListApi(data) { export function saleStoreListApi(data) {
return request.get(`/store_product/storeProduct/lists`, { params: data }) return request.get(`/store_product/storeProduct/lists`, { params: data })
} }
/** /**
* @description 店铺商品分类 * @description 店铺商品分类
*/ */
export function merchantCategoryListApi(data) { export function merchantCategoryListApi(data) {
return request.get(`goods/goodsclass/lists`, { params: data }) return request.get(`goods/goodsclass/lists`, { params: data })
}
/**
* @description 门店入库操作列表
*/
export function storeStorageInfoListsApi(data) {
return request.get('/system_store_storage/systemstorestorage/lists', { params: data })
}
/**
* @description 门店入库操作入库
*/
export function storeStorageInfoEditApi(data) {
return request.post('/system_store_storage/systemstorestorage/edit', data)
} }

View File

@ -72,10 +72,16 @@ const list = ref([
}, },
{ {
name: "statistics", name: "statistics",
title: "盈收统计 ", title: "盈收统计",
ico: "TrendCharts", ico: "TrendCharts",
count: 0, count: 0,
}, },
{
name: "putStorage",
title: "入库登记",
ico: "Van",
count: 0,
},
// { name: "purchaseOrder", title: "", ico: "Van", count: 0 }, // { name: "purchaseOrder", title: "", ico: "Van", count: 0 },
// { name: "orderCount", title: "", ico: "DocumentRemove", count: 0 }, // { name: "orderCount", title: "", ico: "DocumentRemove", count: 0 },
// { name: "wallet", title: "", ico: "Wallet", count: 0 }, // { name: "wallet", title: "", ico: "Wallet", count: 0 },

View File

@ -20,21 +20,15 @@ const routes = [
{ {
path: '/saleOrder', path: '/saleOrder',
name: 'saleOrder', name: 'saleOrder',
meta: { title: '采购订单' }, meta: { title: '收银订单' },
component: () => import('@/views/saleOrder/index.vue'), component: () => import('@/views/saleOrder/index.vue'),
}, },
{ {
path: '/order', path: '/order',
name: 'order', name: 'order',
meta: { title: '待提采购' }, meta: { title: '线上采购' },
component: () => import('@/views/order/index.vue'), component: () => import('@/views/order/index.vue'),
}, },
{
path: '/purchaseOrder',
name: 'purchaseOrder',
meta: { title: '采购订单' },
component: () => import('@/views/purchaseOrder/index.vue'),
},
{ {
path: '/orderCount', path: '/orderCount',
name: 'orderCount', name: 'orderCount',
@ -59,6 +53,12 @@ const routes = [
meta: { title: '盈收统计' }, meta: { title: '盈收统计' },
component: () => import('@/views/statistics/index.vue'), component: () => import('@/views/statistics/index.vue'),
}, },
{
path: '/putStorage',
name: 'putStorage',
meta: { title: '入库登记' },
component: () => import('@/views/putStorage/index.vue'),
},
{ {
path: '/test', path: '/test',
name: 'test', name: 'test',

View File

@ -0,0 +1,132 @@
<script setup>
import { ref, nextTick } from "vue";
import { storeStorageInfoEditApi, storeStorageInfoListsApi } from "@/api/shop.js"
import { ElMessage } from "element-plus";
const orderList = ref([]);
const where = ref({
page_no: 1,
page_size: 20,
loadend: false
});
const loading = ref(false);
const getOrderList = () => {
if(where.value.loadend) return ;
loading.value = true;
storeStorageInfoListsApi({
page_no: where.value.page_no,
page_size: where.value.page_size
}).then((res) => {
orderList.value = [...orderList.value, ...res.data.lists];
if(res.data.lists.length<where.value.page_size) where.value.loadend = true;
where.value.page_no++;
loading.value = false;
});
};
getOrderList();
//
const handleEdit = async (data) => {
storeStorageInfoEditApi({
id: data.id
}).then(res => {
data.status = 1;
ElMessage.success("入库成功");
})
}
</script>
<template>
<div class="my-card put-storage">
<div
class="order-lists"
v-loading="loading"
v-infinite-scroll="getOrderList"
:infinite-scroll-distance="300"
:infinite-scroll-delay="500"
:infinite-scroll-immediate="false"
style="overflow: auto">
<el-table :data="orderList" >
<el-table-column label="导入人员" prop="admin_name" />
<el-table-column label="门店确认人员" prop="staff_name" />
<el-table-column label="商品图" prop="image" >
<template #default="{ row }">
<el-image class="image" :src="row.image" />
</template>
</el-table-column>
<el-table-column label="商品" prop="store_name" />
<el-table-column label="数量" prop="nums" />
<el-table-column label="状态" prop="status" >
<template #default="{ row }">
<el-tag type="success" v-if="row.status === 1">已入库</el-tag>
<el-tag type="warning" v-else-if="row.status === 0">待确认</el-tag>
<el-tag type="danger" v-else-if="row.status === -1">库存不足</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="mark" />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-if="row.status == 0"
type="success" @click="handleEdit(row)">
确认入库
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<style lang="scss">
.put-storage {
background-color: #fff;
border-radius: 1.2rem;
box-sizing: border-box;
padding: 1rem;
height: 100%;
.image{
width: 4rem;
height: 4rem;
}
.order-lists{
height: 100%;
width: 100%;
}
}
.my-card {}
/* 修改滚动条的样式 */
::-webkit-scrollbar {
width: 0.315rem;
/* 设置滚动条的宽度 */
}
/* 设置滚动条的轨道样式 */
::-webkit-scrollbar-track {
background-color: #f1f1f1;
/* 设置轨道的背景色 */
/* margin: 1.25rem 0; */
}
/* 设置滚动条的滑块样式 */
::-webkit-scrollbar-thumb {
background-color: #ccc;
/* 设置滑块的背景色 */
border-radius: 0.315rem;
/* 设置滑块的圆角 */
}
/* 设置滚动条鼠标悬停时的滑块样式 */
::-webkit-scrollbar-thumb:hover {
background-color: #999;
/* 设置鼠标悬停时滑块的背景色 */
}
</style>