oa二期内容更新,库存方面ui优化:添加针对项目的直接添加出库效果
This commit is contained in:
@@ -53,6 +53,17 @@ public class SysOaWarehouseController extends BaseController {
|
||||
return iSysOaWarehouseService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过一个name查询多个字段
|
||||
*/
|
||||
@SaCheckPermission("oa:oaWarehouse:list")
|
||||
@GetMapping("/listByMultiQuery")
|
||||
public TableDataInfo<SysOaWarehouseVo> listByMultiQuery(SysOaWarehouseBo bo, PageQuery pageQuery) {
|
||||
return iSysOaWarehouseService.listByMultiQuery(bo, pageQuery);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出仓库管理列表
|
||||
*/
|
||||
|
||||
@@ -46,4 +46,9 @@ public interface ISysOaWarehouseService {
|
||||
* 校验并批量删除仓库管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 根据一个name查询多个字段
|
||||
*/
|
||||
TableDataInfo<SysOaWarehouseVo> listByMultiQuery(SysOaWarehouseBo bo, PageQuery pageQuery);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
* 查询仓库管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaWarehouseVo queryById(Long id){
|
||||
public SysOaWarehouseVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@@ -63,6 +63,16 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<SysOaWarehouseVo> listByMultiQuery(SysOaWarehouseBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaWarehouse> lqw = buildQueryWrapper(bo);
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), SysOaWarehouse::getName, bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), SysOaWarehouse::getBrand, bo.getName()).or()
|
||||
.like(StringUtils.isNotBlank(bo.getName()), SysOaWarehouse::getModel, bo.getName());
|
||||
Page<SysOaWarehouseVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaWarehouse> buildQueryWrapper(SysOaWarehouseBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaWarehouse> lqw = Wrappers.lambdaQuery();
|
||||
@@ -89,10 +99,9 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
SysOaWarehouse select = baseMapper.selectOne(lqw);
|
||||
// 2、 无则直接新增项目 有则直接增加库存数量
|
||||
boolean flag;
|
||||
if(select == null ) {
|
||||
if (select == null) {
|
||||
flag = baseMapper.insert(add) > 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
select.setInventory(select.getInventory() + bo.getInventory());
|
||||
flag = baseMapper.updateById(select) > 0;
|
||||
}
|
||||
@@ -115,7 +124,7 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaWarehouse entity){
|
||||
private void validEntityBeforeSave(SysOaWarehouse entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -124,10 +133,12 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
return baseMapper.deleteBatchIds(ids)>0;
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,14 @@ export function listOaWarehouse(query) {
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 查询库存管理列表
|
||||
export function listByMultiQuery(query) {
|
||||
return request({
|
||||
url: '/oa/oaWarehouse/listByMultiQuery',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询库存管理详细
|
||||
export function getOaWarehouse(id) {
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<el-table-column label="关联项目" align="center" prop="projectName">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.projectName!==null">
|
||||
<el-tooltip class="item" effect="dark" content="点击查看该项目出库情况" placement="bottom">
|
||||
<el-tooltip class="item" effect="dark" :content="'点击查看'+scope.row.projectName+'的出库情况'" placement="bottom">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@@ -98,8 +98,7 @@
|
||||
|
||||
|
||||
<!-- 详情描述弹窗 -->
|
||||
<el-dialog title="出库物料详情" :visible.sync="detail" width="800px" append-to-body>
|
||||
|
||||
<el-dialog title="出库物料详情" :visible.sync="detail" width="950px" append-to-body>
|
||||
<!-- 物料数据 -->
|
||||
<el-descriptions class="margin-top" title="物料数据" :column="3" border>
|
||||
<el-descriptions-item>
|
||||
@@ -205,19 +204,16 @@
|
||||
<!-- 添加或修改仓库出库对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
|
||||
|
||||
<el-form-item
|
||||
label="绑定项目"
|
||||
|
||||
>
|
||||
<el-radio-group v-model="projectFlag">
|
||||
<el-radio-group v-model="projectFlag" :disabled="drawer">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
<el-radio :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="projectFlag"
|
||||
v-if="projectFlag&&!drawer"
|
||||
prop="projectId"
|
||||
label="项目名"
|
||||
>
|
||||
@@ -231,6 +227,13 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
v-if="drawer"
|
||||
label="项目名"
|
||||
>
|
||||
<el-input :value="selectedProject.projectName" disabled></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
v-else
|
||||
prop="remark"
|
||||
@@ -246,7 +249,7 @@
|
||||
|
||||
<el-form-item
|
||||
v-for="(item, index) in form.outWareHouseList"
|
||||
:label="'出库物料' + index"
|
||||
:label="'出库物料' + (index+1)"
|
||||
:key="item.warehouseId"
|
||||
:prop="'outWareHouseList.' + index + '.warehouseId'"
|
||||
>
|
||||
@@ -279,14 +282,14 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-col :span="3">
|
||||
<el-tag type="info" v-if="item.inventory===undefined">请选择物料</el-tag>
|
||||
<el-tag type="info" v-else>{{ item.inventory }}</el-tag>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-input-number v-model="item.amount" :min="1" :max="item.inventory"></el-input-number>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-col :span="6" style="display: flex;justify-content: center" >
|
||||
<el-button @click.prevent="removeDomain(item)">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -304,23 +307,9 @@
|
||||
|
||||
<el-drawer
|
||||
size="70%"
|
||||
title="我是标题"
|
||||
:title="selectedProject.projectName+' 出库详情'"
|
||||
: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"
|
||||
@@ -337,6 +326,7 @@
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="序号" align="center" type="index"/>
|
||||
<el-table-column label="出库单" align="center" prop="id"/>
|
||||
<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"/>
|
||||
@@ -370,7 +360,7 @@ import {
|
||||
queryOutWarehouseByProjectId
|
||||
} from "@/api/oa/oaOutWarehouse";
|
||||
import {listProject} from "@/api/oa/project";
|
||||
import {listOaWarehouse} from "../../../api/oa/oaWarehouse";
|
||||
import {listByMultiQuery, listOaWarehouse} from "../../../api/oa/oaWarehouse";
|
||||
|
||||
export default {
|
||||
name: "OaOutWarehouse",
|
||||
@@ -378,6 +368,8 @@ export default {
|
||||
return {
|
||||
// 抽屉
|
||||
drawer: false,
|
||||
// 选中项目名称
|
||||
selectedProject:"",
|
||||
// 查看详情弹窗
|
||||
outDetail:{},
|
||||
// 弹窗标志
|
||||
@@ -429,7 +421,7 @@ export default {
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
productId: ''
|
||||
projectId: ''
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
@@ -504,6 +496,12 @@ export default {
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
if (this.drawer){
|
||||
// 如果抽屉是打开的说明是从项目处进入的新增,从而加入projectId
|
||||
this.projectFlag=true;
|
||||
this.form.projectId = this.selectedProject.projectId;
|
||||
console.log(this.form);
|
||||
}
|
||||
this.title = "添加仓库出库";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
@@ -611,7 +609,7 @@ export default {
|
||||
remoteMethod(query) {
|
||||
this.warehouseParams.name = query
|
||||
this.selectLoading = true;
|
||||
listOaWarehouse(this.warehouseParams).then(res => {
|
||||
listByMultiQuery(this.warehouseParams).then(res => {
|
||||
this.oaWarehouseList = res.rows.filter(item => {
|
||||
const queryLower = query.toLowerCase();
|
||||
return item.name.toLowerCase().indexOf(queryLower) > -1 ||
|
||||
@@ -626,7 +624,8 @@ export default {
|
||||
handleSearch(item) {
|
||||
this.loading = true
|
||||
this.searchItem = item;
|
||||
this.form.projectId = item.projectId
|
||||
this.form.projectId = item.projectId;
|
||||
this.selectedProject = item;
|
||||
queryOutWarehouseByProjectId(item.projectId).then(response => {
|
||||
this.oaOutWarehouseList = response.rows;
|
||||
this.drawer = true;
|
||||
|
||||
Reference in New Issue
Block a user