oa二期内容更新,库存方面ui优化:添加针对项目的直接添加出库效果
This commit is contained in:
@@ -53,6 +53,17 @@ public class SysOaWarehouseController extends BaseController {
|
|||||||
return iSysOaWarehouseService.queryPageList(bo, pageQuery);
|
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);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据一个name查询多个字段
|
||||||
|
*/
|
||||||
|
TableDataInfo<SysOaWarehouseVo> listByMultiQuery(SysOaWarehouseBo bo, PageQuery pageQuery);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,16 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
|||||||
return baseMapper.selectVoList(lqw);
|
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) {
|
private LambdaQueryWrapper<SysOaWarehouse> buildQueryWrapper(SysOaWarehouseBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<SysOaWarehouse> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SysOaWarehouse> lqw = Wrappers.lambdaQuery();
|
||||||
@@ -91,8 +101,7 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
|||||||
boolean flag;
|
boolean flag;
|
||||||
if (select == null) {
|
if (select == null) {
|
||||||
flag = baseMapper.insert(add) > 0;
|
flag = baseMapper.insert(add) > 0;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
select.setInventory(select.getInventory() + bo.getInventory());
|
select.setInventory(select.getInventory() + bo.getInventory());
|
||||||
flag = baseMapper.updateById(select) > 0;
|
flag = baseMapper.updateById(select) > 0;
|
||||||
}
|
}
|
||||||
@@ -130,4 +139,6 @@ public class SysOaWarehouseServiceImpl implements ISysOaWarehouseService {
|
|||||||
|
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,14 @@ export function listOaWarehouse(query) {
|
|||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 查询库存管理列表
|
||||||
|
export function listByMultiQuery(query) {
|
||||||
|
return request({
|
||||||
|
url: '/oa/oaWarehouse/listByMultiQuery',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 查询库存管理详细
|
// 查询库存管理详细
|
||||||
export function getOaWarehouse(id) {
|
export function getOaWarehouse(id) {
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<el-table-column label="关联项目" align="center" prop="projectName">
|
<el-table-column label="关联项目" align="center" prop="projectName">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div v-if="scope.row.projectName!==null">
|
<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
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
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 class="margin-top" title="物料数据" :column="3" border>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
@@ -205,19 +204,16 @@
|
|||||||
<!-- 添加或修改仓库出库对话框 -->
|
<!-- 添加或修改仓库出库对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
<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 ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="绑定项目"
|
label="绑定项目"
|
||||||
|
|
||||||
>
|
>
|
||||||
<el-radio-group v-model="projectFlag">
|
<el-radio-group v-model="projectFlag" :disabled="drawer">
|
||||||
<el-radio :label="true">是</el-radio>
|
<el-radio :label="true">是</el-radio>
|
||||||
<el-radio :label="false">否</el-radio>
|
<el-radio :label="false">否</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="projectFlag"
|
v-if="projectFlag&&!drawer"
|
||||||
prop="projectId"
|
prop="projectId"
|
||||||
label="项目名"
|
label="项目名"
|
||||||
>
|
>
|
||||||
@@ -231,6 +227,13 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item
|
||||||
|
v-if="drawer"
|
||||||
|
label="项目名"
|
||||||
|
>
|
||||||
|
<el-input :value="selectedProject.projectName" disabled></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-else
|
v-else
|
||||||
prop="remark"
|
prop="remark"
|
||||||
@@ -246,7 +249,7 @@
|
|||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-for="(item, index) in form.outWareHouseList"
|
v-for="(item, index) in form.outWareHouseList"
|
||||||
:label="'出库物料' + index"
|
:label="'出库物料' + (index+1)"
|
||||||
:key="item.warehouseId"
|
:key="item.warehouseId"
|
||||||
:prop="'outWareHouseList.' + index + '.warehouseId'"
|
:prop="'outWareHouseList.' + index + '.warehouseId'"
|
||||||
>
|
>
|
||||||
@@ -279,14 +282,14 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</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-if="item.inventory===undefined">请选择物料</el-tag>
|
||||||
<el-tag type="info" v-else>{{ item.inventory }}</el-tag>
|
<el-tag type="info" v-else>{{ item.inventory }}</el-tag>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-input-number v-model="item.amount" :min="1" :max="item.inventory"></el-input-number>
|
<el-input-number v-model="item.amount" :min="1" :max="item.inventory"></el-input-number>
|
||||||
</el-col>
|
</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-button @click.prevent="removeDomain(item)">删除</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -304,23 +307,9 @@
|
|||||||
|
|
||||||
<el-drawer
|
<el-drawer
|
||||||
size="70%"
|
size="70%"
|
||||||
title="我是标题"
|
:title="selectedProject.projectName+' 出库详情'"
|
||||||
:visible.sync="drawer"
|
: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
|
<el-button
|
||||||
style="margin: 25px"
|
style="margin: 25px"
|
||||||
@@ -337,6 +326,7 @@
|
|||||||
<el-table-column type="selection" width="55" align="center"/>
|
<el-table-column type="selection" width="55" align="center"/>
|
||||||
<el-table-column label="序号" align="center" type="index"/>
|
<el-table-column label="序号" align="center" type="index"/>
|
||||||
<el-table-column label="出库单" align="center" prop="id"/>
|
<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="amount"/>
|
||||||
<el-table-column label="出库时间" align="center" prop="createTime"/>
|
<el-table-column label="出库时间" align="center" prop="createTime"/>
|
||||||
<el-table-column label="备注" align="center" prop="remark"/>
|
<el-table-column label="备注" align="center" prop="remark"/>
|
||||||
@@ -370,7 +360,7 @@ import {
|
|||||||
queryOutWarehouseByProjectId
|
queryOutWarehouseByProjectId
|
||||||
} from "@/api/oa/oaOutWarehouse";
|
} from "@/api/oa/oaOutWarehouse";
|
||||||
import {listProject} from "@/api/oa/project";
|
import {listProject} from "@/api/oa/project";
|
||||||
import {listOaWarehouse} from "../../../api/oa/oaWarehouse";
|
import {listByMultiQuery, listOaWarehouse} from "../../../api/oa/oaWarehouse";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "OaOutWarehouse",
|
name: "OaOutWarehouse",
|
||||||
@@ -378,6 +368,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
// 抽屉
|
// 抽屉
|
||||||
drawer: false,
|
drawer: false,
|
||||||
|
// 选中项目名称
|
||||||
|
selectedProject:"",
|
||||||
// 查看详情弹窗
|
// 查看详情弹窗
|
||||||
outDetail:{},
|
outDetail:{},
|
||||||
// 弹窗标志
|
// 弹窗标志
|
||||||
@@ -429,7 +421,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {
|
form: {
|
||||||
productId: ''
|
projectId: ''
|
||||||
},
|
},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
@@ -504,6 +496,12 @@ export default {
|
|||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.open = true;
|
this.open = true;
|
||||||
|
if (this.drawer){
|
||||||
|
// 如果抽屉是打开的说明是从项目处进入的新增,从而加入projectId
|
||||||
|
this.projectFlag=true;
|
||||||
|
this.form.projectId = this.selectedProject.projectId;
|
||||||
|
console.log(this.form);
|
||||||
|
}
|
||||||
this.title = "添加仓库出库";
|
this.title = "添加仓库出库";
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
@@ -611,7 +609,7 @@ export default {
|
|||||||
remoteMethod(query) {
|
remoteMethod(query) {
|
||||||
this.warehouseParams.name = query
|
this.warehouseParams.name = query
|
||||||
this.selectLoading = true;
|
this.selectLoading = true;
|
||||||
listOaWarehouse(this.warehouseParams).then(res => {
|
listByMultiQuery(this.warehouseParams).then(res => {
|
||||||
this.oaWarehouseList = res.rows.filter(item => {
|
this.oaWarehouseList = res.rows.filter(item => {
|
||||||
const queryLower = query.toLowerCase();
|
const queryLower = query.toLowerCase();
|
||||||
return item.name.toLowerCase().indexOf(queryLower) > -1 ||
|
return item.name.toLowerCase().indexOf(queryLower) > -1 ||
|
||||||
@@ -626,7 +624,8 @@ export default {
|
|||||||
handleSearch(item) {
|
handleSearch(item) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.searchItem = item;
|
this.searchItem = item;
|
||||||
this.form.projectId = item.projectId
|
this.form.projectId = item.projectId;
|
||||||
|
this.selectedProject = item;
|
||||||
queryOutWarehouseByProjectId(item.projectId).then(response => {
|
queryOutWarehouseByProjectId(item.projectId).then(response => {
|
||||||
this.oaOutWarehouseList = response.rows;
|
this.oaOutWarehouseList = response.rows;
|
||||||
this.drawer = true;
|
this.drawer = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user