forked from BaoKaiWms/202501-Wms-Kate-Wuxi
1. 增加dbs界面---全部选择---按钮。
2. 增加生成需求以及生成看板时导出已选工单列表的功能。
This commit is contained in:
parent
cb69e558b2
commit
fba01e7a3f
|
|
@ -198,3 +198,12 @@ export const deleteKittingBom = (params) => {
|
|||
timeout: 5000
|
||||
})
|
||||
}
|
||||
// 获取筛选条件的所有工单号列表
|
||||
export const getTargetOrderList = (params) => {
|
||||
return request({
|
||||
url: '/kate/getTargetOrderList',
|
||||
method: 'post',
|
||||
data: params,
|
||||
timeout: 5000
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-button style="height: 32px; background-color: #40E0D0;" class="btn-search"
|
||||
@click="addAllListOfSearch()">全部添加
|
||||
</el-button>
|
||||
</el-row>
|
||||
<div style="align-content: center;">
|
||||
<el-row>
|
||||
|
|
@ -136,115 +139,6 @@
|
|||
<el-table-column prop="stockType" show-overflow-tooltip label="存放类型"/>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<!-- <el-dialog v-model="dialogVisible" title="库存信息" width="40%" draggable :show-close="false">
|
||||
<el-form ref="stockFormRef" :model="stockFormEntity" :label-position="labelPosition"
|
||||
label-width="100px" style="max-width: 100%" :rules="rules" status-icon>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="库存编号" prop="stockId">
|
||||
<el-input v-model="stockFormEntity.stockId" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="箱号" prop="vehicleId">
|
||||
<el-input v-model="stockFormEntity.vehicleId" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="料号" prop="goodsId">
|
||||
<el-input v-model="stockFormEntity.goodsId" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="料名" prop="goodsName">
|
||||
<el-input v-model="stockFormEntity.goodsName" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="入库数量" prop="totalNum">
|
||||
<el-input-number v-model.number="stockFormEntity.totalNum" controls-position="right"
|
||||
:min="0" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="剩余数量(为0时删除库存)" prop="remainNum">
|
||||
<el-input-number v-model.number="stockFormEntity.remainNum"
|
||||
controls-position="right" :min="0" :max="stockFormEntity.totalNum" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="库位" prop="locationId">
|
||||
<el-input v-model="stockFormEntity.locationId" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="未使用天数" prop="noUseDays">
|
||||
<el-input-number v-model.number="stockFormEntity.noUseDays"
|
||||
controls-position="right" :min="0" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="库存状态" prop="stockStatus">
|
||||
<el-select-v2 v-model="stockFormEntity.stockStatus" placeholder="请选择库存状态"
|
||||
:options="stockStatusOptions"></el-select-v2>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="物料状态" prop="goodsStatus">
|
||||
<el-select-v2 v-model="stockFormEntity.goodsStatus" placeholder="请选择物料状态"
|
||||
:options="goodsStatusOptions"></el-select-v2>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="盘点任务号" prop="inventoryTaskId">
|
||||
<el-input v-model="stockFormEntity.inventoryTaskId" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否盘点" prop="isInventory">
|
||||
<el-input v-model="stockFormEntity.isInventory" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="创建时间" prop="createTime">
|
||||
<el-input v-model="stockFormEntity.createTime" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="最近更新时间" prop="lastUpdateTime">
|
||||
<el-input v-model="stockFormEntity.lastUpdateTime" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="最近更新用户" prop="lastUpdateUser">
|
||||
<el-input v-model="stockFormEntity.lastUpdateUser" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitStockInfo(stockFormEntity)">
|
||||
确定
|
||||
</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog> -->
|
||||
<el-dialog v-model="showDbsUploadDialog" title="上传DBS" width="40%" draggable :show-close="true">
|
||||
<fieldset class="search-area">
|
||||
<legend>导入dbs</legend>
|
||||
|
|
@ -258,7 +152,13 @@
|
|||
|
||||
<script setup>
|
||||
import store from '@/store'
|
||||
import {queryDbsByPage, deleteDbsPlan, getGoodsRequirement, genClcKanbanRequirement} from '@/api/kateWork.js'
|
||||
import {
|
||||
queryDbsByPage,
|
||||
deleteDbsPlan,
|
||||
getGoodsRequirement,
|
||||
genClcKanbanRequirement,
|
||||
getTargetOrderList
|
||||
} from '@/api/kateWork.js'
|
||||
import {dateFormatter, timeFormatter} from '@/utils/formatter.js'
|
||||
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
|
||||
import {ref, reactive, onMounted, nextTick, onBeforeUnmount} from 'vue'
|
||||
|
|
@ -299,10 +199,7 @@ let dbsQueryFormEntity = reactive({
|
|||
planStartDate: null
|
||||
})
|
||||
let dbsQueryFormRef = ref()
|
||||
let showEbsEditFlag = ref(false)
|
||||
let dbsId = ''
|
||||
let dbsEditFormRef = ref()
|
||||
let dbsEditFormEntity = reactive({})
|
||||
let showDbsUploadDialog = ref(false)
|
||||
let selectedOrders = ref([])
|
||||
let orderOptions = ref([])
|
||||
|
|
@ -477,7 +374,9 @@ const addRequirement = (row) => {
|
|||
}
|
||||
// 判断之前是否选择过
|
||||
if (orderOptions.value.length > 0) {
|
||||
const oldOption = orderOptions.value.find((item) => {return item.value === workOrder})
|
||||
const oldOption = orderOptions.value.find((item) => {
|
||||
return item.value === workOrder
|
||||
})
|
||||
if (oldOption === undefined) {
|
||||
orderOptions.value.push({
|
||||
label: workOrder,
|
||||
|
|
@ -494,7 +393,9 @@ const addRequirement = (row) => {
|
|||
}
|
||||
// 添加选择列表
|
||||
const addSelectWorkOrders = (workOrder) => {
|
||||
if (selectedOrders.value.find((item) => {return item === workOrder}) === undefined) {
|
||||
if (selectedOrders.value.find((item) => {
|
||||
return item === workOrder
|
||||
}) === undefined) {
|
||||
selectedOrders.value.push(workOrder)
|
||||
} else {
|
||||
ElMessage.error('请勿重复添加工单')
|
||||
|
|
@ -521,6 +422,8 @@ const openRequirementDialog = () => {
|
|||
goodsRequireList.value = []
|
||||
}
|
||||
showGoodsRequireDialog.value = true
|
||||
// 下载工单号列表
|
||||
downloadSelectedOrders()
|
||||
} else {
|
||||
ElMessage.error(response.message)
|
||||
}
|
||||
|
|
@ -546,7 +449,6 @@ const exportRequirements = () => {
|
|||
console.log(e)
|
||||
ElMessage.error('导出需求异常。')
|
||||
}
|
||||
|
||||
}
|
||||
// 生成看板
|
||||
const genKanban = () => {
|
||||
|
|
@ -564,6 +466,8 @@ const genKanban = () => {
|
|||
const response = res.data
|
||||
if (response.code === 0) {
|
||||
ElMessage.success('生成看板需求成功。')
|
||||
// 下载工单号列表
|
||||
downloadSelectedOrders()
|
||||
// 跳转界面
|
||||
const menuItem = store.getters.getMenuItemByPath('/clcKanban')
|
||||
if (menuItem !== undefined) {
|
||||
|
|
@ -580,6 +484,82 @@ const genKanban = () => {
|
|||
loading.close()
|
||||
})
|
||||
}
|
||||
// 全部添加
|
||||
const addAllListOfSearch = () => {
|
||||
loading.open('添加中...')
|
||||
const request = {
|
||||
userName: USER_NAME,
|
||||
standId: STAND_ID,
|
||||
workOrder: dbsQueryFormEntity.workOrder.trim(),
|
||||
productId: dbsQueryFormEntity.productId.trim(),
|
||||
planStartDate: dateFormatter(dbsQueryFormEntity.planStartDate)
|
||||
}
|
||||
getTargetOrderList(request).then(res => {
|
||||
const response = res.data
|
||||
if (response.code === 0) {
|
||||
// 添加所有的需求
|
||||
addOrders(response.data)
|
||||
} else {
|
||||
ElMessage.error(response.message)
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
ElMessage.error('获取工单号列表异常。')
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
}
|
||||
// 添加需求进选项
|
||||
const addOrders = (orderList) => {
|
||||
if (orderList === undefined || orderList.length === 0) {
|
||||
// 空列表跳过
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < orderList.length; i++) {
|
||||
const workOrder = orderList[i]
|
||||
// 判断之前是否选择过
|
||||
if (orderOptions.value.length > 0) {
|
||||
const oldOption = orderOptions.value.find((item) => {
|
||||
return item.value === workOrder
|
||||
})
|
||||
if (oldOption === undefined) {
|
||||
orderOptions.value.push({
|
||||
label: workOrder,
|
||||
value: workOrder
|
||||
})
|
||||
}
|
||||
} else {
|
||||
orderOptions.value.push({
|
||||
label: workOrder,
|
||||
value: workOrder
|
||||
})
|
||||
}
|
||||
// 添加选择项
|
||||
if (selectedOrders.value.find((item) => {
|
||||
return item === workOrder
|
||||
}) === undefined) {
|
||||
selectedOrders.value.push(workOrder)
|
||||
}
|
||||
}
|
||||
}
|
||||
// 弹出下载
|
||||
const downloadSelectedOrders = () => {
|
||||
try {
|
||||
const header = {
|
||||
workOrder: '工单号'
|
||||
}
|
||||
// 将列表转化为实体
|
||||
const selectedOrdersEntity = selectedOrders.value.map((item) => {
|
||||
return {
|
||||
workOrder: item
|
||||
}
|
||||
})
|
||||
exportToExcel(header, selectedOrdersEntity, '已选工单列表', '已选工单列表')
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
ElMessage.error('导出选择的工单列表异常。')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.content {
|
||||
|
|
|
|||
|
|
@ -242,4 +242,14 @@ public class KateWorkController {
|
|||
public BaseWmsApiResponse deleteKittingBom(@RequestBody KittingBomRequest kittingBomRequest) {
|
||||
return kateWorkControllerService.deleteKittingBom(kittingBomRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取目标工单列表
|
||||
* @param dbsQuery 查询参数
|
||||
* @return 目标工单列表
|
||||
*/
|
||||
@PostMapping("/getTargetOrderList")
|
||||
public WmsApiResponse<List<String>> getTargetOrderList(@RequestBody DbsQuery dbsQuery) {
|
||||
return kateWorkControllerService.getTargetOrderList(dbsQuery);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -166,4 +166,11 @@ public interface IKateWorkControllerService {
|
|||
* @return 删除结果
|
||||
*/
|
||||
BaseWmsApiResponse deleteKittingBom(KittingBomRequest kittingBomRequest);
|
||||
|
||||
/**
|
||||
* 查询当前查询条件下的工单号列表
|
||||
* @param dbsQuery 查询条件
|
||||
* @return 工单列表
|
||||
*/
|
||||
WmsApiResponse<List<String>> getTargetOrderList(DbsQuery dbsQuery);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1361,6 +1361,30 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的所有工单号列表
|
||||
* @param dbsQuery 查询条件
|
||||
* @return 符合条件的所有工单号
|
||||
*/
|
||||
@Override
|
||||
public WmsApiResponse<List<String>> getTargetOrderList(DbsQuery dbsQuery) {
|
||||
if (dbsQuery == null) {
|
||||
return WmsApiResponse.error("请求参数不能为NULL。", null);
|
||||
}
|
||||
// 查询dbs表,筛选条件默认加上状态:
|
||||
List<TAppDbs> dbsList = appDbsService.list(new LambdaQueryWrapper<TAppDbs>()
|
||||
.ne(TAppDbs::getDbsStatus, DbsStatusEnums.FINISH.getValue())
|
||||
.like(StringUtils.isNotEmpty(dbsQuery.getWorkOrder()), TAppDbs::getWorkOrder, dbsQuery.getWorkOrder())
|
||||
.like(StringUtils.isNotEmpty(dbsQuery.getProductId()), TAppDbs::getProductId, dbsQuery.getProductId())
|
||||
.eq(dbsQuery.getPlanStartDate() != null, TAppDbs::getTestPlanStartDate, dbsQuery.getPlanStartDate())
|
||||
);
|
||||
// 返回结果
|
||||
if (dbsList == null || dbsList.isEmpty()) {
|
||||
return WmsApiResponse.success("未查询到符合条件的工单号。", Collections.emptyList());
|
||||
}
|
||||
return WmsApiResponse.success("查询工单号成功。", dbsList.stream().map(TAppDbs::getWorkOrder).distinct().toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取服务件成品号的物料需求
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user