Merge remote-tracking branch 'origin/master'

master
夜笙歌 5 months ago
commit 1edf058137

@ -100,3 +100,12 @@ export function selectProductPlans(query) {
params: query params: query
}) })
} }
// 生产工单新增生产派工List
export function orderAddProductPlanList(data) {
return request({
url: '/mes/planInfo/orderAddProductPlanList',
method: 'post',
data: data
})
}

@ -289,7 +289,7 @@ export interface PlanInfoForm extends BaseEntity {
/** /**
* 0 1 2 * 0 1 2
*/ */
finishFlag?: string; finishFlag?: string | [];
/** /**
* *
@ -321,6 +321,8 @@ export interface PlanInfoForm extends BaseEntity {
*/ */
workshopId?: number; workshopId?: number;
materialBoMName?: string | number;
} }
export interface PlanInfoQuery extends PageQuery { export interface PlanInfoQuery extends PageQuery {

@ -51,6 +51,18 @@ export const updateInstockOrder = (data: InstockOrderForm) => {
}); });
}; };
/**
*
* @param data
*/
export const approveInstockOrder = (data: InstockOrderForm) => {
return request({
url: '/wms/instockOrder/approveInstockOrder',
method: 'put',
data: data
});
};
/** /**
* *
* @param instockId * @param instockId

@ -165,7 +165,12 @@
<el-input v-model="form.shiftName" placeholder="请输入班次名称" /> <el-input v-model="form.shiftName" placeholder="请输入班次名称" />
</el-form-item> </el-form-item>
<el-form-item label="开始时间" prop="startTime"> <el-form-item label="开始时间" prop="startTime">
<el-input v-model="form.startTime" placeholder="请输入开始时间" /> <!-- <el-input v-model="form.startTime" placeholder="请输入开始时间" />-->
<el-time-picker
v-model="form.startTime"
placeholder="请选择开始时间"
value-format="HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item label="开始跨天标识" prop="startCrossFlag"> <el-form-item label="开始跨天标识" prop="startCrossFlag">
<el-select v-model="form.startCrossFlag" placeholder="请选择开始跨天标识"> <el-select v-model="form.startCrossFlag" placeholder="请选择开始跨天标识">
@ -178,7 +183,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="结束时间" prop="endTime"> <el-form-item label="结束时间" prop="endTime">
<el-input v-model="form.endTime" placeholder="请输入结束时间" /> <!-- <el-input v-model="form.endTime" placeholder="请输入结束时间" />-->
<el-time-picker
v-model="form.endTime"
placeholder="请选择结束时间"
value-format="HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item label="结束跨天标识" prop="endCrossFlag"> <el-form-item label="结束跨天标识" prop="endCrossFlag">
<el-select v-model="form.endCrossFlag" placeholder="请选择结束跨天标识"> <el-select v-model="form.endCrossFlag" placeholder="请选择结束跨天标识">
@ -205,14 +215,13 @@
<span>&nbsp;分钟&nbsp;</span> <span>&nbsp;分钟&nbsp;</span>
</el-form-item> </el-form-item>
<el-form-item label="激活标识" prop="activeFlag"> <el-form-item label="激活标识" prop="activeFlag">
<el-select v-model="form.activeFlag" placeholder="请选择激活标识"> <el-radio-group v-model="form.activeFlag">
<el-option <el-radio
v-for="dict in active_flag" v-for="dict in active_flag"
:key="dict.value" :key="dict.value"
:label="dict.label" :value="dict.value"
:value="dict.value" >{{dict.label}}</el-radio>
></el-option> </el-radio-group>
</el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="创建部门" prop="createDept"> <!-- <el-form-item label="创建部门" prop="createDept">
<el-input v-model="form.createDept" placeholder="请输入创建部门" /> <el-input v-model="form.createDept" placeholder="请输入创建部门" />
@ -276,8 +285,6 @@ const total = ref(0);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const baseShiftInfoFormRef = ref<ElFormInstance>(); const baseShiftInfoFormRef = ref<ElFormInstance>();
let classTeamList = ref([])
const dialog = reactive<DialogOption>({ const dialog = reactive<DialogOption>({
visible: false, visible: false,
title: '' title: ''
@ -491,12 +498,6 @@ const handleExport = () => {
}, `baseShiftInfo_${new Date().getTime()}.xlsx`) }, `baseShiftInfo_${new Date().getTime()}.xlsx`)
} }
const selectClassTeamList = async () => {
let res = await selectClassTeamList({});
classTeamList.value = res.data;
};
onMounted(() => { onMounted(() => {
getList(); getList();

@ -184,7 +184,7 @@
<el-form-item label='激活标识' prop='activeFlag'> <el-form-item label='激活标识' prop='activeFlag'>
<el-radio-group v-model='form.activeFlag'> <el-radio-group v-model='form.activeFlag'>
<el-radio <el-radio
v-for='dict in station_type' v-for='dict in active_flag'
:key='dict.value' :key='dict.value'
:value='dict.value' :value='dict.value'
>{{ dict.label }} >{{ dict.label }}

@ -589,9 +589,9 @@ const generateMaterialBomList = async () => {
materialName: undefined, materialName: undefined,
materialBomDesc: '', materialBomDesc: '',
materialBomVersion: '', materialBomVersion: '',
standardAmount: undefined, standardAmount: 1,
checkType: undefined, checkType: "0",
activeFlag: undefined, activeFlag: "1",
remark: '', remark: '',
children: item.children && item.children.length > 0 children: item.children && item.children.length > 0
? processBomTree(item.children) ? processBomTree(item.children)

@ -227,13 +227,13 @@
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="下达ID" prop="releaseId"> <el-form-item label="机台" prop="releaseId">
<el-select v-model="form.releaseId" placeholder="请选择"> <el-select v-model="form.releaseId" placeholder="请选择">
<el-option <el-option
v-for="item in stationList" v-for="item in releaseList"
:key="item.stationId" :key="item.machineId"
:label="item.stationName" :label="item.machineName"
:value="item.stationId" :value="item.machineId"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -338,6 +338,7 @@ import BomSelect from '@/views/mes/materialBom/addBom.vue';
import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue'; import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue';
import { getProcessInfoList } from '@/api/mes/baseProcessInfo'; import { getProcessInfoList } from '@/api/mes/baseProcessInfo';
import { getStationInfoList } from '@/api/mes/baseStationInfo'; import { getStationInfoList } from '@/api/mes/baseStationInfo';
import { getProdBaseMachineInfoList } from '@/api/mes/prodBaseMachineInfo';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { mes_import_flag, active_flag, mes_plan_status, mes_release_type, mes_finish_flag, mes_model_code } = toRefs<any>(proxy?.useDict('mes_import_flag', 'active_flag', 'mes_plan_status', 'mes_release_type', 'mes_finish_flag', 'mes_model_code')); const { mes_import_flag, active_flag, mes_plan_status, mes_release_type, mes_finish_flag, mes_model_code } = toRefs<any>(proxy?.useDict('mes_import_flag', 'active_flag', 'mes_plan_status', 'mes_release_type', 'mes_finish_flag', 'mes_model_code'));
@ -362,7 +363,7 @@ const dialog = reactive<DialogOption>({
const shiftList = ref([]); const shiftList = ref([]);
const classTeamList = ref([]); const classTeamList = ref([]);
const processList = ref([]); const processList = ref([]);
let stationList = ref([]); let releaseList = ref([]);
const materialBomOpen = ref(false); const materialBomOpen = ref(false);
const bomSelectRef = ref(); const bomSelectRef = ref();
const materialOpen = ref(false); const materialOpen = ref(false);
@ -389,9 +390,9 @@ const getProcessSelect = async () => {
}; };
/*获取工位下拉框*/ /*获取工位下拉框*/
const getStationSelect = async () => { const getReleaseSelect = async () => {
let res = await getStationInfoList(null); let res = await getProdBaseMachineInfoList({ processId: form.value.processId});
stationList.value = res.data; releaseList.value = res.data;
}; };
// //
@ -660,7 +661,15 @@ onMounted(() => {
getShiftSelect(); getShiftSelect();
getClassTeamSelect(); getClassTeamSelect();
getProcessSelect(); getProcessSelect();
getStationSelect(); getReleaseSelect();
getList(); getList();
}); });
// processId
watch(
() => form.value.processId, (newValue, oldValue) => {
//
getReleaseSelect(); //
}
);
</script> </script>

@ -69,7 +69,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label='菜单ID' align='center' prop='menuId' v-if='columns[4].visible' /> <el-table-column label='菜单ID' align='center' prop='menuId' v-if='columns[4].visible' />
<el-table-column label='路由参数' align='center' prop='queryParam' v-if='columns[5].visible' /> <el-table-column label='路由参数' align='center' prop='queryParam' v-if='columns[5].visible' width="130"/>
<el-table-column label='主数据标题' align='center' prop='masterDataTitle' v-if='columns[6].visible' width="100"/> <el-table-column label='主数据标题' align='center' prop='masterDataTitle' v-if='columns[6].visible' width="100"/>
<el-table-column label='预留字段1名称' align='center' prop='fieldName1' v-if='columns[7].visible' /> <el-table-column label='预留字段1名称' align='center' prop='fieldName1' v-if='columns[7].visible' />
<el-table-column label='预留字段1显示标识' align='center' prop='displayFlag1' v-if='columns[8].visible' width="90"> <el-table-column label='预留字段1显示标识' align='center' prop='displayFlag1' v-if='columns[8].visible' width="90">
@ -148,7 +148,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label='菜单ID' prop='menuId'> <el-form-item label='菜单ID' prop='menuId'>
<el-input v-model='form.menuId' placeholder='请输入菜单ID' /> <el-input v-model='form.menuId' disabled/>
</el-form-item> </el-form-item>
<el-form-item label='路由参数' prop='queryParam'> <el-form-item label='路由参数' prop='queryParam'>
<el-input v-model='form.queryParam' placeholder='请输入路由参数' /> <el-input v-model='form.queryParam' placeholder='请输入路由参数' />

@ -259,9 +259,8 @@ const data = reactive<PageData<MasterDataDetailForm, MasterDataDetailQuery>>({
const {queryParams, form, rules} = toRefs(data); const {queryParams, form, rules} = toRefs(data);
console.log({ queryParam:Object.keys(router.currentRoute.value.query).length>0 ? JSON.stringify(router.currentRoute.value.query):'{"router": "brand"}' });
const routeParam = ref({ queryParam:Object.keys(router.currentRoute.value.query).length>0 ? JSON.stringify(router.currentRoute.value.query):'{"router": "brand"}' }) const routeParam = ref({ queryParam:Object.keys(router.currentRoute.value.query).length>0 ? router.currentRoute.value.query.router : 'null' })
const masterDataTitle = ref() const masterDataTitle = ref()
const tableTh = ref([]) const tableTh = ref([])
const masterDataId = ref() const masterDataId = ref()
@ -272,7 +271,6 @@ const isTree = ref(false)
listMasterData(routeParam.value).then(e => { listMasterData(routeParam.value).then(e => {
let data = e.rows?.[0] ||{} let data = e.rows?.[0] ||{}
isTree.value = data.parentFlag === '1' isTree.value = data.parentFlag === '1'
console.log(data)
masterDataId.value = data.masterDataId masterDataId.value = data.masterDataId
masterDataTitle.value = data.masterDataTitle masterDataTitle.value = data.masterDataTitle
let fieldNameList = ['1','2','3','4','5'] let fieldNameList = ['1','2','3','4','5']
@ -291,6 +289,9 @@ listMasterData(routeParam.value).then(e => {
/** 查询主数据维护明细列表 */ /** 查询主数据维护明细列表 */
const getList = async () => { const getList = async () => {
// const currentRoute = router.currentRoute.value.query;
// console.log("::", currentRoute.router);
loading.value = true; loading.value = true;
const res = await listMasterDataDetail({...queryParams.value,masterDataId:masterDataId.value}); const res = await listMasterDataDetail({...queryParams.value,masterDataId:masterDataId.value});
masterDataDetailList.value = res.rows; masterDataDetailList.value = res.rows;

@ -4,9 +4,9 @@
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="表主键" prop="configurationId"> <!-- <el-form-item label="表主键" prop="configurationId">
<el-input v-model="queryParams.configurationId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.configurationId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="节点代码" prop="nodeCode"> <el-form-item label="节点代码" prop="nodeCode">
<el-input v-model="queryParams.nodeCode" placeholder="请输入节点代码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.nodeCode" placeholder="请输入节点代码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
@ -14,7 +14,9 @@
<el-input v-model="queryParams.nodeName" placeholder="请输入节点名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.nodeName" placeholder="请输入节点名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="审批是否" prop="approveYesNo"> <el-form-item label="审批是否" prop="approveYesNo">
<el-input v-model="queryParams.approveYesNo" placeholder="请输入审批是否" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.approveYesNo" placeholder="请选择审批是否" clearable >
<el-option v-for="dict in wms_approve" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="审批类型" prop="approveType"> <el-form-item label="审批类型" prop="approveType">
<el-select v-model="queryParams.approveType" placeholder="请选择审批类型" clearable > <el-select v-model="queryParams.approveType" placeholder="请选择审批类型" clearable >
@ -24,11 +26,20 @@
<el-form-item label="审批代码" prop="approveRoleCode"> <el-form-item label="审批代码" prop="approveRoleCode">
<el-input v-model="queryParams.approveRoleCode" placeholder="请输入审批代码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.approveRoleCode" placeholder="请输入审批代码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
<el-input v-model="queryParams.warehouseId" placeholder="请输入仓库ID" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.warehouseId" placeholder="请选择所属仓库">
<el-option
v-for="item in baseStoreList"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="审批范围" prop="approveRange"> <el-form-item label="审批范围" prop="approveRange">
<el-input v-model="queryParams.approveRange" placeholder="请输入审批范围" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.approveRange" placeholder="请选择审批范围" clearable >
<el-option v-for='dict in approve_range' :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button> <el-button type="primary" icon="Search" @click="handleQuery"></el-button>
@ -60,7 +71,7 @@
<el-table v-loading="loading" :data="configurationList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="configurationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="表主键" align="center" prop="configurationId" v-if="columns[0].visible"/> <!-- <el-table-column label="表主键" align="center" prop="configurationId" v-if="columns[0].visible"/> -->
<el-table-column label="节点代码" align="center" prop="nodeCode" v-if="columns[3].visible"/> <el-table-column label="节点代码" align="center" prop="nodeCode" v-if="columns[3].visible"/>
<el-table-column label="节点名称" align="center" prop="nodeName" v-if="columns[4].visible"/> <el-table-column label="节点名称" align="center" prop="nodeName" v-if="columns[4].visible"/>
<el-table-column label="审批是否" align="center" prop="approveYesNo" v-if="columns[5].visible"> <el-table-column label="审批是否" align="center" prop="approveYesNo" v-if="columns[5].visible">
@ -80,6 +91,7 @@
<dict-tag :options="approve_range" :value="scope.row.approveRange"/> <dict-tag :options="approve_range" :value="scope.row.approveRange"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" prop="auditBy" v-if="columns[8].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
@ -128,14 +140,14 @@
<el-form-item label="审批代码" prop="approveRoleCode"> <el-form-item label="审批代码" prop="approveRoleCode">
<el-input v-model="form.approveRoleCode" placeholder="请输入审批代码" /> <el-input v-model="form.approveRoleCode" placeholder="请输入审批代码" />
</el-form-item> </el-form-item>
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="审批人" prop="auditBy" v-if="form.approveType==0">
<el-select v-model="form.warehouseId" placeholder="请选择所属仓库"> <el-select v-model="form.auditBy" placeholder="请选择审核人">
<el-option <el-option
v-for="item in baseStoreList" v-for="item in userList"
:key="item.warehouseId" :key="item.userId"
:label="item.warehouseName" :label="item.userName"
:value="item.warehouseId" :value="item.userName"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="审批范围" prop="approveRange"> <el-form-item label="审批范围" prop="approveRange">
@ -148,6 +160,16 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="仓库" prop="warehouseId" v-if="form.approveRange==1">
<el-select v-model="form.warehouseId" placeholder="请选择所属仓库">
<el-option
v-for="item in baseStoreList"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
></el-option>
</el-select>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -163,6 +185,7 @@
import { listConfiguration, getConfiguration, delConfiguration, addConfiguration, updateConfiguration } from '@/api/wms/configuration'; import { listConfiguration, getConfiguration, delConfiguration, addConfiguration, updateConfiguration } from '@/api/wms/configuration';
import { ConfigurationVO, ConfigurationQuery, ConfigurationForm } from '@/api/wms/configuration/types'; import { ConfigurationVO, ConfigurationQuery, ConfigurationForm } from '@/api/wms/configuration/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import {listUser} from "@/api/system/user";
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { approve_type } = toRefs<any>(proxy?.useDict('approve_type')); const { approve_type } = toRefs<any>(proxy?.useDict('approve_type'));
const { wms_approve } = toRefs<any>(proxy?.useDict('wms_approve')); const { wms_approve } = toRefs<any>(proxy?.useDict('wms_approve'));
@ -178,7 +201,7 @@ const total = ref(0);
let locationList = ref([]); let locationList = ref([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const configurationFormRef = ref<ElFormInstance>(); const configurationFormRef = ref<ElFormInstance>();
const userList = ref([]);
const dialog = reactive<DialogOption>({ const dialog = reactive<DialogOption>({
visible: false, visible: false,
title: '' title: ''
@ -284,7 +307,9 @@ const reset = () => {
form.value = {...initFormData}; form.value = {...initFormData};
configurationFormRef.value?.resetFields(); configurationFormRef.value?.resetFields();
} }
listUser().then(e => {
userList.value = e.rows;
})
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;

@ -10,7 +10,12 @@
<el-option v-for="dict in wms_instock_type" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in wms_instock_type" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="审核状态" prop="auditStatus">
<el-select v-model="queryForm.auditStatus" placeholder="请选择审核状态" clearable >
<el-option v-for="dict in approve_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="仓库" prop="warehouseId">
<el-select v-model="queryForm.warehouseId" placeholder="请选择所属仓库"> <el-select v-model="queryForm.warehouseId" placeholder="请选择所属仓库">
<el-option <el-option
v-for="item in baseStoreList" v-for="item in baseStoreList"
@ -53,7 +58,7 @@
@selection-change="selectionChange" ref="parentTableRef"> @selection-change="selectionChange" ref="parentTableRef">
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="入库单 主键" align="center" prop="instockId"/> <!-- <el-table-column label="入库单 主键" align="center" prop="instockId"/> -->
<el-table-column label="入库单号" align="center" prop="instockCode"/> <el-table-column label="入库单号" align="center" prop="instockCode"/>
<el-table-column label="物料大类" align="center" prop="materialCategories"> <el-table-column label="物料大类" align="center" prop="materialCategories">
<template #default="scope"> <template #default="scope">
@ -84,11 +89,14 @@
<dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/> <dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="操作" fixed="right" width="200"> <el-table-column label="操作" align="center" width="200">
<template #default="scope"> <template #default="scope">
<!-- <el-button size="small" @click.stop="viewDetails(scope.row)">--> <!-- <el-button size="small" @click.stop="viewDetails(scope.row)">-->
<!-- 查看--> <!-- 查看-->
<!-- </el-button>--> <!-- </el-button>-->
<el-button size="small" @click.stop="parentTableApprove(scope.row)" v-if="scope.row.auditStatus==0&&scope.row.auditBy!=''">
审批
</el-button>
<el-button size="small" @click.stop="parentTableUpdate(scope.row)"> <el-button size="small" @click.stop="parentTableUpdate(scope.row)">
修改 修改
</el-button> </el-button>
@ -170,7 +178,7 @@
<!-- <el-form-item label="订单编号" prop="orderNo"> <!-- <el-form-item label="订单编号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单编号" /> <el-input v-model="form.orderNo" placeholder="请输入订单编号" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="审核人" prop="auditBy"> <!-- <el-form-item label="审核人" prop="auditBy">
<el-select v-model="dialogForm.auditBy" placeholder="请选择审核人"> <el-select v-model="dialogForm.auditBy" placeholder="请选择审核人">
<el-option <el-option
v-for="item in userList" v-for="item in userList"
@ -179,7 +187,7 @@
:value="item.userName" :value="item.userName"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="仓库ID" prop="warehouseId">
<el-select v-model="dialogForm.warehouseId" placeholder="请选择所属仓库"> <el-select v-model="dialogForm.warehouseId" placeholder="请选择所属仓库">
<el-option <el-option
@ -362,11 +370,50 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog v-model="parentTableApproveVisible" title="审批" width="40%">
<el-form :model="parentTableApproveForm" label-width="120px">
<el-form-item label="审核人" prop="auditBy">
<el-select v-model="parentTableApproveForm.auditBy" placeholder="请选择审核人" style="width:100px;" :disabled="true">
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.userName"
:value="item.userName"
/>
</el-select>
</el-form-item>
<el-form-item label="审核状态" prop="auditStatus">
<el-radio-group v-model='parentTableApproveForm.auditStatus'>
<el-radio
v-for='dict in audit_behave'
:key='dict.value'
:value='dict.value'
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核意见" prop="auditComments">
<el-input
v-model='parentTableApproveForm.auditComments'
style="width: 500px"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
placeholder="Please input"/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="parentTableApproveVisible = false">关闭</el-button>
<el-button type="primary" @click="parentTableApproveSubmit">
确定
</el-button>
</div>
</template>
</el-dialog>
<el-dialog v-model="childrenTableInfoVisible" title="条码生成" width="40%"> <el-dialog v-model="childrenTableInfoVisible" title="条码生成" width="40%">
<el-form :model="childrenTableInfoForm" label-width="120px"> <el-form :model="childrenTableInfoForm" label-width="120px">
<el-form-item label="物料" prop="materialCode"> <el-form-item label="物料" prop="materialCode">
<el-select v-model="childrenTableInfoForm.materialId" placeholder="请选择物料" :disabled="true"> <el-select v-model="childrenTableInfoForm.materialCode" placeholder="请选择物料" :disabled="true">
<el-option <el-option
v-for="item in materialList" v-for="item in materialList"
:key="item.materialId" :key="item.materialId"
@ -410,7 +457,7 @@
</template> </template>
<script setup name="Linkage" lang="ts"> <script setup name="Linkage" lang="ts">
import { listInstockOrder, getInstockOrder, delInstockOrder, addInstockOrder, updateInstockOrder } from '@/api/wms/instockOrder'; import { listInstockOrder, getInstockOrder, delInstockOrder, addInstockOrder, updateInstockOrder, approveInstockOrder } from '@/api/wms/instockOrder';
import { InstockOrderVO, InstockOrderQuery, InstockOrderForm } from '@/api/wms/instockOrder/types'; import { InstockOrderVO, InstockOrderQuery, InstockOrderForm } from '@/api/wms/instockOrder/types';
import {reactive} from 'vue' import {reactive} from 'vue'
import {ElMessage, ElMessageBox} from 'element-plus' import {ElMessage, ElMessageBox} from 'element-plus'
@ -424,7 +471,7 @@ import {
} from '@/api/wms/linkage' } from '@/api/wms/linkage'
const {proxy} = getCurrentInstance() as ComponentInternalInstance; const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { const {audit_behave,
wms_barcode_if, wms_barcode_if,
wms_instock_type, wms_instock_type,
approve_status, approve_status,
@ -434,7 +481,7 @@ const {
wms_allocate_status, wms_allocate_status,
wms_allocate_create, wms_allocate_create,
wms_allocate_way wms_allocate_way
} = toRefs<any>(proxy?.useDict('wms_barcode_if', 'wms_instock_type', 'approve_status', 'erp_synchronous_status', 'material_mategories', 'mes_material_categories', 'wms_allocate_status', 'wms_allocate_create', 'wms_allocate_way')); } = toRefs<any>(proxy?.useDict('audit_behave', 'wms_barcode_if', 'wms_instock_type', 'approve_status', 'erp_synchronous_status', 'material_mategories', 'mes_material_categories', 'wms_allocate_status', 'wms_allocate_create', 'wms_allocate_way'));
interface User { interface User {
@ -446,12 +493,14 @@ interface User {
const parentTableTotal = ref(0) const parentTableTotal = ref(0)
const dialogVisible = ref(false) const dialogVisible = ref(false)
const parentTableInfoVisible = ref(false) const parentTableInfoVisible = ref(false)
const parentTableApproveVisible = ref(false)
const childrenTableInfoVisible = ref(false) const childrenTableInfoVisible = ref(false)
// const childrenTableInfoSubmit = ref(false) // const childrenTableInfoSubmit = ref(false)
const updateDialog = ref(false) const updateDialog = ref(false)
const dialogTitle = ref('添加') const dialogTitle = ref('添加')
const dialogForm = ref({}) const dialogForm = ref({})
const parentTableInfoForm = ref({}) const parentTableInfoForm = ref({})
const parentTableApproveForm = ref({})
const childrenTableInfoForm = ref({}) const childrenTableInfoForm = ref({})
const queryForm = ref({ const queryForm = ref({
@ -484,8 +533,9 @@ listUser().then(e => {
}) })
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
updateInstockDetail(childrenTableInfoForm.value).finally(() => childrenTableInfoVisible.value = false); updateInstockDetail(childrenTableInfoForm.value);
getChildrenTable({instockId: partntTableSelectCell.value.instockId}) getChildrenTable({instockId: partntTableSelectCell.value.instockId});
childrenTableInfoVisible.value = false;
} }
// //
@ -538,6 +588,7 @@ const reset = () => {
queryForm.value = { queryForm.value = {
instockId: '' instockId: ''
} }
getParentTable()
} }
// //
@ -565,6 +616,13 @@ const parentTableAdd = () => {
dialogForm.value = {} dialogForm.value = {}
dialogtable.value = [] dialogtable.value = []
} }
//
const parentTableApprove = async (e) => {
parentTableApproveForm.value = (await getInstockOrder(e.instockId)).data
parentTableApproveVisible.value = true
updateDialog.value = true
}
// //
const parentTableUpdate = async (e) => { const parentTableUpdate = async (e) => {
let id = ref(null) let id = ref(null)
@ -640,7 +698,29 @@ const dialogSubmit = () => {
}) })
} }
/**
* 入库单审批
*/
const parentTableApproveSubmit = () =>{
approveInstockOrder(parentTableApproveForm.value).then(e=>{
console.log(e)
if(e.data==0){
ElMessage({
type: 'error',
message: '请通知对应负责人审批',
})
}
if(e.data!=0){
ElMessage({
type: 'success',
message: '审批完成',
})
}
parentTableApproveVisible.value = false
getParentTable()
})
}
const parentTableInfoSubmit = () =>{ const parentTableInfoSubmit = () =>{
updateInstockOrder(parentTableInfoForm.value).then(e=>{ updateInstockOrder(parentTableInfoForm.value).then(e=>{
ElMessage({ ElMessage({

@ -4,27 +4,34 @@
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="入库单子表主键" prop="instockPrintId"> <!-- <el-form-item label="入库单子表主键" prop="instockPrintId">
<el-input v-model="queryParams.instockPrintId" placeholder="请输入入库单子表主键" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.instockPrintId" placeholder="请输入入库单子表主键" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="入库单号" prop="instockCode"> <el-form-item label="入库单号" prop="instockCode">
<el-input v-model="queryParams.instockCode" placeholder="请输入入库单号" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.instockCode" placeholder="请输入入库单号" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="批次码" prop="batchCode"> <el-form-item label="批次码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="条码数量" prop="materialQty"> <!-- <el-form-item label="条码数量" prop="materialQty">
<el-input v-model="queryParams.materialQty" placeholder="请输入条码数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialQty" placeholder="请输入条码数量" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="分包数量" prop="apportionQty"> <el-form-item label="分包数量" prop="apportionQty">
<el-input v-model="queryParams.apportionQty" placeholder="请输入分包数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.apportionQty" placeholder="请输入分包数量" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="物料" prop="materialId">
<el-select v-model="queryParams.materialId" placeholder="请选择物料">
<el-option
v-for="item in materialList"
:key="item.materialId"
:label="item.materialCode"
:value="item.materialId"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料id" prop="materialId"> <!-- <el-form-item label="物料编码" prop="materialCode">
<el-input v-model="queryParams.materialId" placeholder="请输入物料id" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="物料编码" prop="materialCode">
<el-input v-model="queryParams.materialCode" placeholder="请输入物料编码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCode" placeholder="请输入物料编码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="物料名称" prop="materialName"> <el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
@ -35,10 +42,24 @@
<el-input v-model="queryParams.unitName" placeholder="请输入计量单位名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.unitName" placeholder="请输入计量单位名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="是否有条码" prop="codeYesNo"> <el-form-item label="是否有条码" prop="codeYesNo">
<el-input v-model="queryParams.codeYesNo" placeholder="请输入是否有条码" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.codeYesNo" placeholder="请选择物料大类">
<el-option
v-for="dict in wms_barcode_if"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategories">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类">
<el-option
v-for="dict in material_mategories"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button> <el-button type="primary" icon="Search" @click="handleQuery"></el-button>
@ -73,12 +94,12 @@
<el-table v-loading="loading" :data="instockPrintList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="instockPrintList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="入库单子表主键" align="center" prop="instockPrintId" v-if="columns[0].visible"/> <!-- <el-table-column label="入库单子表主键" align="center" prop="instockPrintId" v-if="columns[0].visible"/> -->
<el-table-column label="入库单号" align="center" prop="instockCode" v-if="columns[1].visible"/> <el-table-column label="入库单号" align="center" prop="instockCode" v-if="columns[1].visible"/>
<el-table-column label="批次码" align="center" prop="batchCode" v-if="columns[3].visible"/> <el-table-column label="批次码" align="center" prop="batchCode" v-if="columns[3].visible"/>
<el-table-column label="条码数量" align="center" prop="materialQty" v-if="columns[4].visible"/> <el-table-column label="条码数量" align="center" prop="materialQty" v-if="columns[4].visible"/>
<el-table-column label="分包数量" align="center" prop="apportionQty" v-if="columns[5].visible"/> <el-table-column label="分包数量" align="center" prop="apportionQty" v-if="columns[5].visible"/>
<el-table-column label="物料id" align="center" prop="materialId" v-if="columns[6].visible"/> <!-- <el-table-column label="物料id" align="center" prop="materialId" v-if="columns[6].visible"/> -->
<el-table-column label="物料编码" align="center" prop="materialCode" v-if="columns[7].visible"/> <el-table-column label="物料编码" align="center" prop="materialCode" v-if="columns[7].visible"/>
<el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[8].visible"/> <el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[8].visible"/>
<el-table-column label="物料规格" align="center" prop="materialSpe" v-if="columns[9].visible"/> <el-table-column label="物料规格" align="center" prop="materialSpe" v-if="columns[9].visible"/>
@ -160,7 +181,9 @@
<script setup name="InstockPrint" lang="ts"> <script setup name="InstockPrint" lang="ts">
import { listInstockPrint, getInstockPrint, delInstockPrint, addInstockPrint, updateInstockPrint, printInstockPrint } from '@/api/wms/instockPrint'; import { listInstockPrint, getInstockPrint, delInstockPrint, addInstockPrint, updateInstockPrint, printInstockPrint } from '@/api/wms/instockPrint';
import { InstockPrintVO, InstockPrintQuery, InstockPrintForm } from '@/api/wms/instockPrint/types'; import { InstockPrintVO, InstockPrintQuery, InstockPrintForm } from '@/api/wms/instockPrint/types';
import {
getMaterialList
} from '@/api/wms/linkage'
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_barcode_if } = toRefs<any>(proxy?.useDict('material_mategories', 'wms_barcode_if')); const { material_mategories, wms_barcode_if } = toRefs<any>(proxy?.useDict('material_mategories', 'wms_barcode_if'));
const instockPrintList = ref<InstockPrintVO[]>([]); const instockPrintList = ref<InstockPrintVO[]>([]);
@ -172,7 +195,7 @@ const vos = ref<Array<InstockPrintVO>>([]);
const single = ref(true); const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
const materialList = ref([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const instockPrintFormRef = ref<ElFormInstance>(); const instockPrintFormRef = ref<ElFormInstance>();
@ -376,6 +399,9 @@ const handleExport = () => {
} }
onMounted(() => { onMounted(() => {
getMaterialList().then(e => {
materialList.value = e.data
})
getList(); getList();
}); });
</script> </script>

@ -7,10 +7,15 @@
<el-form-item label="批次码" prop="batchCode"> <el-form-item label="批次码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库" clearable > <el-select v-model="queryParams.warehouseId" placeholder="请选择所属仓库">
<!-- <el-option v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" :value="dict.value"/>--> <el-option
</el-select> v-for="item in baseStoreList"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="库位编码" prop="locationCode" label-width="120px"> <el-form-item label="库位编码" prop="locationCode" label-width="120px">
<el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" />
@ -18,9 +23,9 @@
<el-form-item label="物料编码" prop="materialCode" > <el-form-item label="物料编码" prop="materialCode" >
<el-input v-model="queryParams.materialCode" placeholder="请输入物料编码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCode" placeholder="请输入物料编码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料名称" prop="materialName"> <!-- <el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
@ -46,7 +51,7 @@
<el-card shadow="never"> <el-card shadow="never">
<template #header> <template #header>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['wms:instockRecord:add']"></el-button> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['wms:instockRecord:add']"></el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@ -54,7 +59,7 @@
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['wms:instockRecord:remove']"></el-button> <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['wms:instockRecord:remove']"></el-button>
</el-col> </el-col> -->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['wms:instockRecord:export']"></el-button> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['wms:instockRecord:export']"></el-button>
</el-col> </el-col>
@ -66,7 +71,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" prop="instockCode" v-if="columns[1].visible"/> <el-table-column label="入库单号" align="center" prop="instockCode" v-if="columns[1].visible"/>
<el-table-column label="批次码" align="center" prop="batchCode" v-if="columns[2].visible"/> <el-table-column label="批次码" align="center" prop="batchCode" v-if="columns[2].visible"/>
<el-table-column label="物料id" align="center" prop="materialId" v-if="columns[3].visible"/> <!-- <el-table-column label="物料id" align="center" prop="materialId" v-if="columns[3].visible"/> -->
<el-table-column label="仓库ID" align="center" prop="warehouseId" v-if="columns[4].visible"/> <el-table-column label="仓库ID" align="center" prop="warehouseId" v-if="columns[4].visible"/>
<el-table-column label="库位编码" align="center" prop="locationCode" v-if="columns[5].visible"/> <el-table-column label="库位编码" align="center" prop="locationCode" v-if="columns[5].visible"/>
<el-table-column label="物料编码" align="center" prop="materialCode" v-if="columns[6].visible"/> <el-table-column label="物料编码" align="center" prop="materialCode" v-if="columns[6].visible"/>
@ -176,7 +181,7 @@
<script setup name="InstockRecord" lang="ts"> <script setup name="InstockRecord" lang="ts">
import { listInstockRecord, getInstockRecord, delInstockRecord, addInstockRecord, updateInstockRecord } from '@/api/wms/instockRecord'; import { listInstockRecord, getInstockRecord, delInstockRecord, addInstockRecord, updateInstockRecord } from '@/api/wms/instockRecord';
import { InstockRecordVO, InstockRecordQuery, InstockRecordForm } from '@/api/wms/instockRecord/types'; import { InstockRecordVO, InstockRecordQuery, InstockRecordForm } from '@/api/wms/instockRecord/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, sys_common_status } = toRefs<any>(proxy?.useDict('material_mategories', 'sys_common_status')); const { material_mategories, sys_common_status } = toRefs<any>(proxy?.useDict('material_mategories', 'sys_common_status'));
@ -189,7 +194,7 @@ const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
const dateRangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']); const dateRangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']);
const baseStoreList = ref([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const instockRecordFormRef = ref<ElFormInstance>(); const instockRecordFormRef = ref<ElFormInstance>();
@ -288,7 +293,10 @@ const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
getList(); getList();
} }
//
getBaseWarehouseList().then(e => {
baseStoreList.value = e.data
})
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
dateRangeCreateTime.value = ['', '']; dateRangeCreateTime.value = ['', ''];

@ -4,33 +4,44 @@
<div v-show="showSearch" class="mb-[10px]"> <div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover"> <el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="表主键" prop="inventoryId"> <!-- <el-form-item label="表主键" prop="inventoryId">
<el-input v-model="queryParams.inventoryId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.inventoryId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="批次码" prop="batchCode"> <el-form-item label="批次码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料id" prop="materialId"> <el-form-item label="物料" prop="materialId">
<el-input v-model="queryParams.materialId" placeholder="请输入物料id" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.materialId" placeholder="请选择物料">
<el-option
v-for="item in materialList"
:key="item.materialId"
:label="item.materialCode"
:value="item.materialId"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="库位编码" prop="locationCode"> <el-form-item label="库位编码" prop="locationCode">
<el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategories">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="库存数量" prop="inventoryQty"> <!-- <el-form-item label="库存数量" prop="inventoryQty">
<el-input v-model="queryParams.inventoryQty" placeholder="请输入库存数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.inventoryQty" placeholder="请输入库存数量" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="锁定状态" prop="lockState"> <el-form-item label="锁定状态" prop="lockState">
<el-input v-model="queryParams.lockState" placeholder="请输入锁定状态" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.lockState" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in lock_state" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="库存状态" prop="inventoryStatus"> <!-- <el-form-item label="库存状态" prop="inventoryStatus">
<el-select v-model="queryParams.inventoryStatus" placeholder="请选择库存状态" clearable > <el-select v-model="queryParams.inventoryStatus" placeholder="请选择库存状态" clearable >
<el-option v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="仓库ID" prop="storeId"> <el-form-item label="仓库" prop="storeId">
<el-select v-model="form.warehouseId" placeholder="请选择所属仓库"> <el-select v-model="form.warehouseId" placeholder="请选择所属仓库">
<el-option <el-option
v-for="item in baseStoreList" v-for="item in baseStoreList"
@ -79,6 +90,7 @@
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/> <dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料" align="center" prop="materialCode" v-if="columns[6].visible"/>
<el-table-column label="库存数量" align="center" prop="inventoryQty" v-if="columns[6].visible"/> <el-table-column label="库存数量" align="center" prop="inventoryQty" v-if="columns[6].visible"/>
<el-table-column label="锁定状态" align="center" prop="lockState" v-if="columns[8].visible"> <el-table-column label="锁定状态" align="center" prop="lockState" v-if="columns[8].visible">
<template #default="scope"> <template #default="scope">
@ -90,7 +102,7 @@
<dict-tag :options="inventory_status" :value="scope.row.inventoryStatus"/> <dict-tag :options="inventory_status" :value="scope.row.inventoryStatus"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="仓库ID" align="center" prop="warehouseCode" v-if="columns[10].visible"/> <el-table-column label="仓库" align="center" prop="warehouseCode" v-if="columns[10].visible"/>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
@ -163,6 +175,9 @@
import { listInventory, getInventory, delInventory, addInventory, updateInventory } from '@/api/wms/inventory'; import { listInventory, getInventory, delInventory, addInventory, updateInventory } from '@/api/wms/inventory';
import { InventoryVO, InventoryQuery, InventoryForm } from '@/api/wms/inventory/types'; import { InventoryVO, InventoryQuery, InventoryForm } from '@/api/wms/inventory/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import {
getMaterialList
} from '@/api/wms/linkage'
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { lock_state, inventory_status, material_mategories } = toRefs<any>(proxy?.useDict('lock_state', 'inventory_status', 'material_mategories')); const { lock_state, inventory_status, material_mategories } = toRefs<any>(proxy?.useDict('lock_state', 'inventory_status', 'material_mategories'));
const inventoryList = ref<InventoryVO[]>([]); const inventoryList = ref<InventoryVO[]>([]);
@ -173,7 +188,7 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true); const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
const materialList = ref([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const inventoryFormRef = ref<ElFormInstance>(); const inventoryFormRef = ref<ElFormInstance>();
@ -357,6 +372,9 @@ const handleExport = () => {
} }
onMounted(() => { onMounted(() => {
getMaterialList().then(e => {
materialList.value = e.data
})
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();
}); });

@ -2,7 +2,7 @@
<div class="p-2"> <div class="p-2">
<el-card shadow="never"> <el-card shadow="never">
<el-form label-width="120px" label-position="right" :inline="true" :model="queryForm" class="demo-form-inline"> <el-form label-width="120px" label-position="right" :inline="true" :model="queryForm" class="demo-form-inline">
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
<el-select v-model="queryForm.warehouseId" placeholder="请选择所属仓库"> <el-select v-model="queryForm.warehouseId" placeholder="请选择所属仓库">
<el-option <el-option
v-for="item in baseStoreList" v-for="item in baseStoreList"
@ -44,7 +44,7 @@
@selection-change="selectionChange" ref="parentTableRef"> @selection-change="selectionChange" ref="parentTableRef">
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="仓库ID" align="center" prop="warehouseCode"/> <el-table-column label="仓库" align="center" prop="warehouseCode"/>
<el-table-column label="出库单号" align="center" prop="outstockCode"/> <el-table-column label="出库单号" align="center" prop="outstockCode"/>
<el-table-column label="出库类型" align="center" prop="outstockType"> <el-table-column label="出库类型" align="center" prop="outstockType">
<template #default="scope"> <template #default="scope">

@ -90,7 +90,7 @@
<el-tooltip content="删除" placement="top"> <el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['wms:outstockRecord:remove']"></el-button> <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['wms:outstockRecord:remove']"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="退货" placement="top"> <el-tooltip content="退货" placement="top" v-if="scope.row.returnFlag!=1">
<el-button link type="primary" @click="handleReturn(scope.row)" v-hasPermi="['wms:outstockRecord:remove']"> <el-button link type="primary" @click="handleReturn(scope.row)" v-hasPermi="['wms:outstockRecord:remove']">
<el-icon> <el-icon>
<DocumentAdd/> <DocumentAdd/>

@ -7,11 +7,13 @@
<!-- <el-form-item label="表主键" prop="roId"> <!-- <el-form-item label="表主键" prop="roId">
<el-input v-model="queryParams.roId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.roId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料ID" prop="materialId"> <!-- <el-form-item label="物料ID" prop="materialId">
<el-input v-model="queryParams.materialId" placeholder="请输入物料ID" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialId" placeholder="请输入物料ID" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategories">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="批次条码" prop="batchCode"> <el-form-item label="批次条码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次条码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.batchCode" placeholder="请输入批次条码" clearable @keyup.enter="handleQuery" />
@ -19,8 +21,15 @@
<!-- <el-form-item label="计划数量" prop="planAmount"> <!-- <el-form-item label="计划数量" prop="planAmount">
<el-input v-model="queryParams.planAmount" placeholder="请输入计划数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.planAmount" placeholder="请输入计划数量" clearable @keyup.enter="handleQuery" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="仓库ID" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
<el-input v-model="queryParams.warehouseId" placeholder="请输入仓库ID" clearable @keyup.enter="handleQuery" /> <el-select v-model="queryParams.warehouseId" placeholder="请选择所属仓库">
<el-option
v-for="item in baseStoreList"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="计划库位" prop="planLocationCode"> <el-form-item label="计划库位" prop="planLocationCode">
<el-input v-model="queryParams.planLocationCode" placeholder="请输入计划退库库位" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.planLocationCode" placeholder="请输入计划退库库位" clearable @keyup.enter="handleQuery" />
@ -30,13 +39,13 @@
<el-option v-for="dict in wms_return_status" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in wms_return_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="实际数量" prop="returnAmount"> <!-- <el-form-item label="实际数量" prop="returnAmount">
<el-input v-model="queryParams.returnAmount" placeholder="请输入实际数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.returnAmount" placeholder="请输入实际数量" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item> -->
<el-form-item label="实际库位" prop="returnLocationCode"> <el-form-item label="实际库位" prop="returnLocationCode">
<el-input v-model="queryParams.returnLocationCode" placeholder="请输入实际退库库位" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.returnLocationCode" placeholder="请输入实际退库库位" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="审核人" prop="auditBy"> <!-- <el-form-item label="审核人" prop="auditBy">
<el-input v-model="queryParams.auditBy" placeholder="请输入审核人" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.auditBy" placeholder="请输入审核人" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="审核时间" prop="auditTime"> <el-form-item label="审核时间" prop="auditTime">
@ -51,7 +60,7 @@
<el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态(0待审核,1审核通过,2审核未通过)" clearable > <el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态(0待审核,1审核通过,2审核未通过)" clearable >
<el-option v-for="dict in approve_status" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in approve_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<!-- <el-form-item label="审核意见" prop="auditComments"> <!-- <el-form-item label="审核意见" prop="auditComments">
<el-input v-model="queryParams.auditComments" placeholder="请输入审核意见" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.auditComments" placeholder="请输入审核意见" clearable @keyup.enter="handleQuery" />
</el-form-item> --> </el-form-item> -->
@ -234,7 +243,7 @@
<script setup name="ReturnOrder" lang="ts"> <script setup name="ReturnOrder" lang="ts">
import { listReturnOrder, getReturnOrder, delReturnOrder, addReturnOrder, updateReturnOrder } from '@/api/wms/returnOrder'; import { listReturnOrder, getReturnOrder, delReturnOrder, addReturnOrder, updateReturnOrder } from '@/api/wms/returnOrder';
import { ReturnOrderVO, ReturnOrderQuery, ReturnOrderForm } from '@/api/wms/returnOrder/types'; import { ReturnOrderVO, ReturnOrderQuery, ReturnOrderForm } from '@/api/wms/returnOrder/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_return_status, erp_synchronous_status, approve_status } = toRefs<any>(proxy?.useDict('material_mategories','wms_return_status','erp_synchronous_status','approve_status')); const { material_mategories, wms_return_status, erp_synchronous_status, approve_status } = toRefs<any>(proxy?.useDict('material_mategories','wms_return_status','erp_synchronous_status','approve_status'));
const returnOrderList = ref<ReturnOrderVO[]>([]); const returnOrderList = ref<ReturnOrderVO[]>([]);
@ -245,7 +254,7 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true); const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
const baseStoreList = ref([]);
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const returnOrderFormRef = ref<ElFormInstance>(); const returnOrderFormRef = ref<ElFormInstance>();
@ -389,7 +398,10 @@ const cancel = () => {
reset(); reset();
dialog.visible = false; dialog.visible = false;
} }
//
getBaseWarehouseList().then(e => {
baseStoreList.value = e.data
})
/** 表单重置 */ /** 表单重置 */
const reset = () => { const reset = () => {
form.value = {...initFormData}; form.value = {...initFormData};

Loading…
Cancel
Save