库存欠缺入库测试

This commit is contained in:
2024-11-06 14:50:00 +08:00
parent 57a88d5959
commit 660b2ca640
14 changed files with 278 additions and 81 deletions

View File

@@ -87,6 +87,18 @@ public class SysOaOutWarehouseController extends BaseController {
return iSysOaOutWarehouseService.queryWarehouseIdList(WarehouseId);
}
/**
* 查询仓库出库产品id的列表
*
* @param projectId 出库产品id
*/
@SaCheckPermission("oa:oaOutWarehouse:query")
@GetMapping("/project/{projectId}")
public TableDataInfo<SysOaOutWarehouseVo> queryOutWarehouseByProjectId(@NotNull(message = "项目名不能为空")
@PathVariable Long projectId) {
return iSysOaOutWarehouseService.queryOutWarehouseByProjectId(projectId);
}
/**

View File

@@ -5,6 +5,8 @@ import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo;
import com.ruoyi.oa.mapper.SysOaTaskMapper;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
@@ -40,6 +42,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
public class SysOaProjectController extends BaseController {
private final ISysOaProjectService iSysOaProjectService;
private final SysOaTaskMapper sysOaTaskMapper;
/**
@@ -113,4 +116,13 @@ public class SysOaProjectController extends BaseController {
});
return toAjax(iSysOaProjectService.deleteWithValidByIds(Arrays.asList(projectIds), true));
}
/**
* 查询项目是否存在出库记录
*/
@SaCheckPermission("oa:project:list")
@GetMapping("/outWare/list")
public TableDataInfo<SysOaOutWarehouseListVo> outWareList(SysOaOutWarehouseBo bo, PageQuery pageQuery) {
return iSysOaProjectService.queryOutWarePageList(bo, pageQuery);
}
}

View File

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.List;
/**
@@ -16,21 +17,11 @@ import lombok.Data;
@ExcelIgnoreUnannotated
public class SysOaOutWarehouseListVo {
/**
* 主键id
*/
private Long id;
/**
* 出库后对应的项目id
*/
private Long projectId;
/**
* 出库数量
*/
private Long amount;
/**
* 项目名称
@@ -38,19 +29,13 @@ public class SysOaOutWarehouseListVo {
private String projectName;
/**
* 出库备注
* 出库
*/
private String remark;
private List<SysOaOutWarehouseVo> outWarehouseVoList;
/**
* 出库对象id
*/
private Long warehouseId;
/**
* 出库物料名称
*/
private String warehouseName;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
@@ -14,7 +15,7 @@ import lombok.Data;
*/
@Data
@ExcelIgnoreUnannotated
public class SysOaOutWarehouseVo {
public class SysOaOutWarehouseVo extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -48,5 +49,11 @@ public class SysOaOutWarehouseVo {
@ExcelProperty(value = "出库对象id")
private Long warehouseId;
/** 库存物料名 */
private String warehouseName;
/** 项目名 */
private String projectName;
}

View File

@@ -23,7 +23,7 @@ public interface SysOaOutWarehouseMapper extends BaseMapperPlus<SysOaOutWarehous
/**
* 仓库出库筛选(联查)
*/
List<SysOaOutWarehouseListVo> defineselectList(@Param(value = "bo") SysOaOutWarehouseBo bo, @Param(value = "page") PageQuery pageQuery);
List<SysOaOutWarehouseListVo> defineSelectList(@Param(value = "bo") SysOaOutWarehouseBo bo, @Param(value = "page") PageQuery pageQuery);
}

View File

@@ -1,9 +1,16 @@
package com.ruoyi.oa.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.oa.domain.SysOaOutWarehouse;
import com.ruoyi.oa.domain.SysOaProject;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo;
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/**
* 项目管理Mapper接口
@@ -13,4 +20,6 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
*/
public interface SysOaProjectMapper extends BaseMapperPlus<SysOaProjectMapper, SysOaProject, SysOaProjectVo> {
Page<SysOaOutWarehouseListVo> selectPageOutList(@Param("page") Page<SysOaOutWarehouseListVo> page,@Param(Constants.WRAPPER) Wrapper<SysOaProject> queryWrapper);
}

View File

@@ -8,6 +8,7 @@ import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import javax.validation.constraints.NotNull;
import java.util.Collection;
import java.util.List;
@@ -62,4 +63,6 @@ public interface ISysOaOutWarehouseService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
TableDataInfo<SysOaOutWarehouseVo> queryOutWarehouseByProjectId(@NotNull(message = "项目名不能为空") Long projectId);
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.SysOaProject;
import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo;
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
import com.ruoyi.oa.domain.bo.SysOaProjectBo;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -46,4 +47,6 @@ public interface ISysOaProjectService {
* 校验并批量删除项目管理信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
TableDataInfo<SysOaOutWarehouseListVo> queryOutWarePageList(SysOaOutWarehouseBo bo, PageQuery pageQuery);
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -16,7 +17,9 @@ import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBoList;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo;
import com.ruoyi.oa.mapper.SysOaProjectMapper;
import com.ruoyi.oa.mapper.SysOaWarehouseMapper;
import com.ruoyi.oa.service.ISysOaWarehouseService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseVo;
@@ -43,7 +46,13 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
private final SysOaOutWarehouseMapper baseMapper;
private final SysOaWarehouseMapper baseMapper2;
@Autowired
private SysOaWarehouseMapper warehouseMapper;
@Autowired
private SysOaProjectMapper projectMapper;
/**
* 查询仓库出库
@@ -63,6 +72,9 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
public TableDataInfo<SysOaOutWarehouseVo> queryWarehouseIdList(Long WarehouseId) {
LambdaQueryWrapper<SysOaOutWarehouse> lqw = Wrappers.lambdaQuery();
lqw.eq(SysOaOutWarehouse::getWarehouseId, WarehouseId);
for (SysOaOutWarehouseVo sysOaOutWarehouseVo : baseMapper.selectVoList(lqw)) {
sysOaOutWarehouseVo.setWarehouseName( warehouseMapper.selectById(sysOaOutWarehouseVo.getWarehouseId()).getName());
}
return TableDataInfo.build(baseMapper.selectVoList(lqw));
}
@@ -74,6 +86,12 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
public TableDataInfo<SysOaOutWarehouseListVo> queryPageList(SysOaOutWarehouseBo bo, PageQuery pageQuery) {
// LambdaQueryWrapper<SysOaOutWarehouse> lqw = buildQueryWrapper(bo);
// Page<SysOaOutWarehouseVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// for (SysOaOutWarehouseVo record : result.getRecords()) {
// record.setWarehouseName(warehouseMapper.selectVoById(record.getWarehouseId()).getName());
// record.setProjectName(warehouseMapper.selectVoById(record.getProjectId()).getName());
// }
// TODO 这么写分页失效
pageQuery.setPageNum(ObjectUtil.defaultIfNull(pageQuery.getPageNum(), 1));
pageQuery.setPageSize(ObjectUtil.defaultIfNull(pageQuery.getPageSize(), Integer.MAX_VALUE));
if (pageQuery.getPageNum() <= 0) {
@@ -83,7 +101,11 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
pageQuery.setPageSize(Integer.MAX_VALUE);
}
pageQuery.setPageNum((pageQuery.getPageNum() - 1)*pageQuery.getPageSize());
List<SysOaOutWarehouseListVo> result = baseMapper.defineselectList(bo, pageQuery);
List<SysOaOutWarehouseListVo> result = baseMapper.defineSelectList(bo, pageQuery);
// IPage<SysOaOutWarehouseListVo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
// page.setRecords(result);
// page.setTotal()
return TableDataInfo.build(result);
}
@@ -114,7 +136,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
public Boolean insertByBo(SysOaOutWarehouseBo bo) {
SysOaOutWarehouse decrease = toBean(bo, SysOaOutWarehouse.class);
validEntityBeforeSave(decrease);
SysOaWarehouse warehouse = baseMapper2.selectById(decrease.getWarehouseId());
SysOaWarehouse warehouse = warehouseMapper.selectById(decrease.getWarehouseId());
// 1 如果对应仓库表项目数量-将要出库数量<0出库失败, 繁殖 增加该条
if(warehouse == null) {
throw new Error("已不存在该物料"+decrease.getWarehouseId());
@@ -124,7 +146,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
}
else {
warehouse.setInventory(warehouse.getInventory() - decrease.getAmount());
baseMapper2.updateById(warehouse);
warehouseMapper.updateById(warehouse);
}
// 2、减少仓库表中对应项目的数量
@@ -170,7 +192,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
//找出库存表对应的那条数据 的库存数量
LambdaQueryWrapper<SysOaWarehouse> lqw = Wrappers.lambdaQuery();
lqw.eq(SysOaWarehouse::getId, update.getWarehouseId());
SysOaWarehouse warehouse = baseMapper2.selectOne(lqw);
SysOaWarehouse warehouse = warehouseMapper.selectOne(lqw);
Long inventory = warehouse.getInventory();
//出库多了
@@ -180,7 +202,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
//可以减少差值
baseMapper.updateById(update);
warehouse.setInventory(inventory -( amount1 - amount));
baseMapper2.updateById(warehouse);
warehouseMapper.updateById(warehouse);
}
else {
throw new Error("库存数量不足,无法增加出库数量");
@@ -192,7 +214,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
//此时增加差值
baseMapper.updateById(update);
warehouse.setInventory(warehouse.getInventory() + amount - amount1);
baseMapper2.updateById(warehouse);
warehouseMapper.updateById(warehouse);
}
else {
throw new Error("出库数量不能为负");
@@ -230,15 +252,31 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
//选出相对应的 库存表中那一条的数据
LambdaQueryWrapper<SysOaWarehouse> lqw2 = Wrappers.lambdaQuery();
lqw2.eq(SysOaWarehouse::getId, sysOaOutWarehouse.getWarehouseId());
SysOaWarehouse warehouse = baseMapper2.selectOne(lqw2);
SysOaWarehouse warehouse = warehouseMapper.selectOne(lqw2);
// 恢复原本出库的数量
warehouse.setInventory(warehouse.getInventory() + sysOaOutWarehouse.getAmount());
baseMapper2.updateById(warehouse);
warehouseMapper.updateById(warehouse);
});
boolean flag = baseMapper.deleteBatchIds(ids) > 0;
return flag;
}
/**
* 根据项目id查出库
* @param projectId
* @return
*/
@Override
public TableDataInfo<SysOaOutWarehouseVo> queryOutWarehouseByProjectId(Long projectId) {
LambdaQueryWrapper<SysOaOutWarehouse> lqw = Wrappers.lambdaQuery();
lqw.eq(SysOaOutWarehouse::getProjectId, projectId);
List<SysOaOutWarehouseVo> sysOaOutWarehouseVos = baseMapper.selectVoList(lqw);
for (SysOaOutWarehouseVo sysOaOutWarehouseVo :sysOaOutWarehouseVos) {
sysOaOutWarehouseVo.setWarehouseName(warehouseMapper.selectById(sysOaOutWarehouseVo.getWarehouseId()).getName());
}
return TableDataInfo.build(sysOaOutWarehouseVos);
}
}

View File

@@ -1,13 +1,15 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.oa.domain.SysOaContract;
import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
import com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.SysOaProjectBo;
@@ -111,4 +113,25 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
}
return baseMapper.deleteBatchIds(ids) > 0;
}
/**
* 查询项目出库记录
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<SysOaOutWarehouseListVo> queryOutWarePageList(SysOaOutWarehouseBo bo, PageQuery pageQuery) {
Page<SysOaOutWarehouseListVo> page = baseMapper.selectPageOutList(pageQuery.build(), this.buildOutWareQueryWrapper(bo));
return TableDataInfo.build(page);
}
private QueryWrapper<SysOaProject> buildOutWareQueryWrapper(SysOaOutWarehouseBo bo) {
QueryWrapper<SysOaProject> lqw = Wrappers.query();
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), "sop.projec_name", bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getWarehouseName()), "sow.name", bo.getWarehouseName());
lqw.orderByDesc("sop.create_time");
return lqw;
}
}

View File

@@ -19,21 +19,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 仓库出库筛选(联查) -->
<select id="defineselectList" resultType="com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo">
<select id="defineSelectList" resultType="com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo">
select
ware.id as id,
ware.project_id as projectId,
ware.amount as amount,
ware.remark as remark,
ware.warehouse_id as warehouseId,
project.project_name as projectName
project.project_name as projectName,
warehouse.name as warehouseName
from
sys_oa_out_warehouse ware
join
sys_oa_project project on ware.project_id = project.project_id
<if test="bo.warehouseName != null and bo.warehouseName != ''">
join sys_oa_warehouse warehouse on warehouse.id = ware.warehouse_id
</if>
join sys_oa_warehouse warehouse on warehouse.id = ware.warehouse_id
<where>
<if test="bo.projectName != null and bo.projectName != ''">
and project.project_name like concat('%', #{bo.projectName}, '%')

View File

@@ -34,4 +34,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<resultMap type="com.ruoyi.oa.domain.vo.SysOaOutWarehouseListVo" id="SysOaOutWarehouseListVoResult">
<result property="projectId" column="project_id"/>
<result property="projectName" column="project_name"/>
<result property="projectName" column="create_time"/>
<association property="outWarehouseVoList" javaType="java.util.List" resultMap="outWarehouseResult"/>
</resultMap>
<resultMap type="com.ruoyi.oa.domain.vo.SysOaOutWarehouseVo" id="outWarehouseResult">
<result property="id" column="soow_id"/>
<result property="amount" column="amount"/>
<result property="warehouseId" column="warehouse_id"/>
<result property="warehouseName" column="name"/>
<result property="createTime" column="out_create_time"/>
</resultMap>
<select id="selectPageOutList" resultMap="SysOaOutWarehouseListVoResult">
select sop.project_id, project_name,soow.warehouse_id,soow.id as soow_id,soow.amount,soow.create_time as out_create_time,sow.name
from sys_oa_project sop
left join sys_oa_out_warehouse soow on soow.project_id = sop.project_id
left join sys_oa_warehouse sow on sow.id = soow.warehouse_id
${ew.getCustomSqlSegment}
</select>
</mapper>

View File

@@ -7,6 +7,14 @@ export function listOaOutWarehouse(query) {
method: 'get',
params: query
})
}// 查询仓库出库列表
export function outWareList(query) {
return request({
url: '/oa/project/outWare/list',
method: 'get',
params: query
})
}
// 查询仓库出库详细
@@ -17,6 +25,15 @@ export function getOaOutWarehouse(id) {
})
}
// 查询仓库出库详细
export function queryOutWarehouseByProjectId(id) {
return request({
url: '/oa/oaOutWarehouse/project/' + id,
method: 'get'
})
}
// 新增仓库出库
export function addOaOutWarehouse(data) {
return request({

View File

@@ -1,25 +1,16 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="项目名" prop="projectId">
<el-input
v-model="queryParams.projectId"
placeholder="请输入项目名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入物料名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="项目名" prop="projectId">-->
<!-- <el-input-->
<!-- v-model="queryParams.projectId"-->
<!-- placeholder="请输入项目名"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@@ -59,22 +50,21 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="oaOutWarehouseList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="projectList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" v-if="true"/>
<el-table-column label="出库后对应的项目id" align="center" prop="projectId" />
<el-table-column label="出库数量" align="center" prop="amount" />
<el-table-column label="出库备注" align="center" prop="remark" />
<el-table-column label="出库对象id" align="center" prop="warehouseId" />
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="项目名" align="center" prop="projectName" />
<el-table-column label="创建时间" align="center" prop="createtime" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
icon="el-icon-search"
@click="handleSearch(scope.row)"
v-hasPermi="['oa:oaOutWarehouse:remove']"
>删除</el-button>
>查看详情</el-button>
</template>
</el-table-column>
</el-table>
@@ -97,9 +87,9 @@
<el-select v-model="form.projectId" placeholder="请选择项目">
<el-option
v-for="item in projectList"
:key="item.id"
:key="item.projectId"
:label="item.projectName"
:value="item.id">
:value="item.projectId">
</el-option>
</el-select>
</el-form-item>
@@ -145,16 +135,73 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-drawer
size="70%"
title="我是标题"
:visible.sync="drawer"
:with-header="false">
<!-- <el-form :model="query" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">-->
<!-- <el-form-item label="项目名" prop="projectId">-->
<!-- <el-input-->
<!-- v-model="query.name"-->
<!-- placeholder="请输入物料名"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-button
style="margin: 25px"
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['oa:oaOutWarehouse:add']"
>新增</el-button>
<el-table v-loading="loading" :data="oaOutWarehouseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="物料名" align="center" prop="warehouseName" />
<el-table-column label="出库数量" align="center" prop="amount" />
<el-table-column label="出库时间" align="center" prop="createTime" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['oa:oaOutWarehouse:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-drawer>
</div>
</template>
<script>
import { listOaOutWarehouse, getOaOutWarehouse, delOaOutWarehouse, addOaOutWarehouse, updateOaOutWarehouse } from "@/api/oa/oaOutWarehouse";
import { listOaOutWarehouse, getOaOutWarehouse, delOaOutWarehouse, addOaOutWarehouse, updateOaOutWarehouse, outWareList,queryOutWarehouseByProjectId} from "@/api/oa/oaOutWarehouse";
import {listProject} from "@/api/oa/project";
export default {
name: "OaOutWarehouse",
data() {
return {
// 抽屉
drawer:false,
// 按钮loading
buttonLoading: false,
// 遮罩层
@@ -171,17 +218,19 @@ export default {
total: 0,
// 仓库出库表格数据
oaOutWarehouseList: [],
// 项目列表
projectList:[],
// 弹出层标题
title: "",
// 选择对象
searchItem:{},
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
projectId: undefined,
amount: undefined,
warehouseId: undefined,
projectName: undefined,
},
// 表单参数
form: {},
@@ -203,8 +252,8 @@ export default {
/** 查询仓库出库列表 */
getList() {
this.loading = true;
listOaOutWarehouse(this.queryParams).then(response => {
this.oaOutWarehouseList = response.rows;
listProject(this.queryParams).then(response => {
this.projectList = response.rows
this.total = response.total;
this.loading = false;
});
@@ -258,12 +307,12 @@ export default {
this.loading = true;
this.reset();
const id = row.id || this.ids
getOaOutWarehouse(id).then(response => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改仓库出库";
});
// getOaOutWarehouse(id).then(response => {
// this.loading = false;
// this.form = response.data;
// this.open = true;
// this.title = "修改仓库出库";
// });
},
/** 提交按钮 */
submitForm() {
@@ -297,8 +346,8 @@ export default {
this.loading = true;
return delOaOutWarehouse(ids);
}).then(() => {
this.loading = false;
this.getList();
this.handleSearch(this.searchItem);
this.$modal.msgSuccess("删除成功");
}).catch(() => {
}).finally(() => {
@@ -339,6 +388,18 @@ export default {
handleSelect(item,index) {
this.form.oaOutWarehouseList[index] = item
},
// 查看出库详情
handleSearch(item){
this.loading = true
this.searchItem = item;
this.form.projectId = item.projectId
queryOutWarehouseByProjectId(item.projectId).then(response => {
this.oaOutWarehouseList = response.rows;
this.drawer = true;
this.loading = false;
})
}
}
};