Merge remote-tracking branch 'origin/master'

master
夜笙歌 5 months ago
commit 1edf058137

@ -100,3 +100,12 @@ export function selectProductPlans(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
*/
finishFlag?: string;
finishFlag?: string | [];
/**
*
@ -321,6 +321,8 @@ export interface PlanInfoForm extends BaseEntity {
*/
workshopId?: number;
materialBoMName?: string | number;
}
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

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

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

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

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

@ -69,7 +69,7 @@
</template>
</el-table-column>
<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='预留字段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">
@ -148,7 +148,7 @@
</el-radio-group>
</el-form-item>
<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 label='路由参数' prop='queryParam'>
<el-input v-model='form.queryParam' placeholder='请输入路由参数' />

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

@ -4,9 +4,9 @@
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<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-form-item>
</el-form-item> -->
<el-form-item label="节点代码" prop="nodeCode">
<el-input v-model="queryParams.nodeCode" placeholder="请输入节点代码" clearable @keyup.enter="handleQuery" />
</el-form-item>
@ -14,7 +14,9 @@
<el-input v-model="queryParams.nodeName" placeholder="请输入节点名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<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 label="审批类型" prop="approveType">
<el-select v-model="queryParams.approveType" placeholder="请选择审批类型" clearable >
@ -24,11 +26,20 @@
<el-form-item label="审批代码" prop="approveRoleCode">
<el-input v-model="queryParams.approveRoleCode" placeholder="请输入审批代码" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="仓库ID" prop="warehouseId">
<el-input v-model="queryParams.warehouseId" placeholder="请输入仓库ID" clearable @keyup.enter="handleQuery" />
<el-form-item label="仓库" prop="warehouseId">
<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 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-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-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="nodeName" v-if="columns[4].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"/>
</template>
</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">
<template #default="scope">
<el-tooltip content="修改" placement="top">
@ -128,14 +140,14 @@
<el-form-item label="审批代码" prop="approveRoleCode">
<el-input v-model="form.approveRoleCode" placeholder="请输入审批代码" />
</el-form-item>
<el-form-item label="仓库ID" prop="warehouseId">
<el-select v-model="form.warehouseId" placeholder="请选择所属仓库">
<el-form-item label="审批人" prop="auditBy" v-if="form.approveType==0">
<el-select v-model="form.auditBy" placeholder="请选择审核人">
<el-option
v-for="item in baseStoreList"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
></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="approveRange">
@ -148,6 +160,16 @@
></el-option>
</el-select>
</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>
<template #footer>
<div class="dialog-footer">
@ -163,6 +185,7 @@
import { listConfiguration, getConfiguration, delConfiguration, addConfiguration, updateConfiguration } from '@/api/wms/configuration';
import { ConfigurationVO, ConfigurationQuery, ConfigurationForm } from '@/api/wms/configuration/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import {listUser} from "@/api/system/user";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { approve_type } = toRefs<any>(proxy?.useDict('approve_type'));
const { wms_approve } = toRefs<any>(proxy?.useDict('wms_approve'));
@ -178,7 +201,7 @@ const total = ref(0);
let locationList = ref([]);
const queryFormRef = ref<ElFormInstance>();
const configurationFormRef = ref<ElFormInstance>();
const userList = ref([]);
const dialog = reactive<DialogOption>({
visible: false,
title: ''
@ -284,7 +307,9 @@ const reset = () => {
form.value = {...initFormData};
configurationFormRef.value?.resetFields();
}
listUser().then(e => {
userList.value = e.rows;
})
/** 搜索按钮操作 */
const handleQuery = () => {
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-select>
</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-option
v-for="item in baseStoreList"
@ -53,7 +58,7 @@
@selection-change="selectionChange" ref="parentTableRef">
<el-table-column type="selection" width="55"/>
<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="materialCategories">
<template #default="scope">
@ -84,11 +89,14 @@
<dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/>
</template>
</el-table-column> -->
<el-table-column label="操作" fixed="right" width="200">
<el-table-column label="操作" align="center" width="200">
<template #default="scope">
<!-- <el-button size="small" @click.stop="viewDetails(scope.row)">-->
<!-- 查看-->
<!-- </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>
@ -170,7 +178,7 @@
<!-- <el-form-item label="订单编号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单编号" />
</el-form-item> -->
<el-form-item label="审核人" prop="auditBy">
<!-- <el-form-item label="审核人" prop="auditBy">
<el-select v-model="dialogForm.auditBy" placeholder="请选择审核人">
<el-option
v-for="item in userList"
@ -179,7 +187,7 @@
:value="item.userName"
/>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="仓库ID" prop="warehouseId">
<el-select v-model="dialogForm.warehouseId" placeholder="请选择所属仓库">
<el-option
@ -362,11 +370,50 @@
</div>
</template>
</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-form :model="childrenTableInfoForm" label-width="120px">
<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
v-for="item in materialList"
:key="item.materialId"
@ -410,7 +457,7 @@
</template>
<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 {reactive} from 'vue'
import {ElMessage, ElMessageBox} from 'element-plus'
@ -424,7 +471,7 @@ import {
} from '@/api/wms/linkage'
const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const {
const {audit_behave,
wms_barcode_if,
wms_instock_type,
approve_status,
@ -434,7 +481,7 @@ const {
wms_allocate_status,
wms_allocate_create,
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 {
@ -446,12 +493,14 @@ interface User {
const parentTableTotal = ref(0)
const dialogVisible = ref(false)
const parentTableInfoVisible = ref(false)
const parentTableApproveVisible = ref(false)
const childrenTableInfoVisible = ref(false)
// const childrenTableInfoSubmit = ref(false)
const updateDialog = ref(false)
const dialogTitle = ref('添加')
const dialogForm = ref({})
const parentTableInfoForm = ref({})
const parentTableApproveForm = ref({})
const childrenTableInfoForm = ref({})
const queryForm = ref({
@ -484,8 +533,9 @@ listUser().then(e => {
})
/** 提交按钮 */
const submitForm = () => {
updateInstockDetail(childrenTableInfoForm.value).finally(() => childrenTableInfoVisible.value = false);
getChildrenTable({instockId: partntTableSelectCell.value.instockId})
updateInstockDetail(childrenTableInfoForm.value);
getChildrenTable({instockId: partntTableSelectCell.value.instockId});
childrenTableInfoVisible.value = false;
}
//
@ -538,6 +588,7 @@ const reset = () => {
queryForm.value = {
instockId: ''
}
getParentTable()
}
//
@ -565,6 +616,13 @@ const parentTableAdd = () => {
dialogForm.value = {}
dialogtable.value = []
}
//
const parentTableApprove = async (e) => {
parentTableApproveForm.value = (await getInstockOrder(e.instockId)).data
parentTableApproveVisible.value = true
updateDialog.value = true
}
//
const parentTableUpdate = async (e) => {
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 = () =>{
updateInstockOrder(parentTableInfoForm.value).then(e=>{
ElMessage({

@ -4,27 +4,34 @@
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<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-form-item>
</el-form-item> -->
<el-form-item label="入库单号" prop="instockCode">
<el-input v-model="queryParams.instockCode" placeholder="请输入入库单号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="批次码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次码" clearable @keyup.enter="handleQuery" />
</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-form-item>
<el-form-item label="分包数量" prop="apportionQty">
<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 label="物料id" prop="materialId">
<el-input v-model="queryParams.materialId" placeholder="请输入物料id" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="物料编码" prop="materialCode">
<!-- <el-form-item label="物料编码" prop="materialCode">
<el-input v-model="queryParams.materialCode" placeholder="请输入物料编码" clearable @keyup.enter="handleQuery" />
</el-form-item>
</el-form-item> -->
<el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
@ -35,10 +42,24 @@
<el-input v-model="queryParams.unitName" placeholder="请输入计量单位名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<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 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-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-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="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="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="materialName" v-if="columns[8].visible"/>
<el-table-column label="物料规格" align="center" prop="materialSpe" v-if="columns[9].visible"/>
@ -160,7 +181,9 @@
<script setup name="InstockPrint" lang="ts">
import { listInstockPrint, getInstockPrint, delInstockPrint, addInstockPrint, updateInstockPrint, printInstockPrint } from '@/api/wms/instockPrint';
import { InstockPrintVO, InstockPrintQuery, InstockPrintForm } from '@/api/wms/instockPrint/types';
import {
getMaterialList
} from '@/api/wms/linkage'
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_barcode_if } = toRefs<any>(proxy?.useDict('material_mategories', 'wms_barcode_if'));
const instockPrintList = ref<InstockPrintVO[]>([]);
@ -172,7 +195,7 @@ const vos = ref<Array<InstockPrintVO>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const materialList = ref([]);
const queryFormRef = ref<ElFormInstance>();
const instockPrintFormRef = ref<ElFormInstance>();
@ -376,6 +399,9 @@ const handleExport = () => {
}
onMounted(() => {
getMaterialList().then(e => {
materialList.value = e.data
})
getList();
});
</script>

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

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

@ -2,7 +2,7 @@
<div class="p-2">
<el-card shadow="never">
<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-option
v-for="item in baseStoreList"
@ -44,7 +44,7 @@
@selection-change="selectionChange" ref="parentTableRef">
<el-table-column type="selection" width="55"/>
<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="outstockType">
<template #default="scope">

@ -90,7 +90,7 @@
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['wms:outstockRecord:remove']"></el-button>
</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-icon>
<DocumentAdd/>

@ -7,11 +7,13 @@
<!-- <el-form-item label="表主键" prop="roId">
<el-input v-model="queryParams.roId" placeholder="请输入表主键" clearable @keyup.enter="handleQuery" />
</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-form-item>
</el-form-item> -->
<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 label="批次条码" prop="batchCode">
<el-input v-model="queryParams.batchCode" placeholder="请输入批次条码" clearable @keyup.enter="handleQuery" />
@ -19,8 +21,15 @@
<!-- <el-form-item label="计划数量" prop="planAmount">
<el-input v-model="queryParams.planAmount" placeholder="请输入计划数量" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="仓库ID" prop="warehouseId">
<el-input v-model="queryParams.warehouseId" placeholder="请输入仓库ID" clearable @keyup.enter="handleQuery" />
<el-form-item label="仓库" prop="warehouseId">
<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 label="计划库位" prop="planLocationCode">
<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-select>
</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-form-item>
</el-form-item> -->
<el-form-item label="实际库位" prop="returnLocationCode">
<el-input v-model="queryParams.returnLocationCode" placeholder="请输入实际退库库位" clearable @keyup.enter="handleQuery" />
</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-form-item>
<el-form-item label="审核时间" prop="auditTime">
@ -51,7 +60,7 @@
<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-select>
</el-form-item>
</el-form-item> -->
<!-- <el-form-item label="审核意见" prop="auditComments">
<el-input v-model="queryParams.auditComments" placeholder="请输入审核意见" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
@ -234,7 +243,7 @@
<script setup name="ReturnOrder" lang="ts">
import { listReturnOrder, getReturnOrder, delReturnOrder, addReturnOrder, updateReturnOrder } from '@/api/wms/returnOrder';
import { ReturnOrderVO, ReturnOrderQuery, ReturnOrderForm } from '@/api/wms/returnOrder/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
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 returnOrderList = ref<ReturnOrderVO[]>([]);
@ -245,7 +254,7 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const baseStoreList = ref([]);
const queryFormRef = ref<ElFormInstance>();
const returnOrderFormRef = ref<ElFormInstance>();
@ -389,7 +398,10 @@ const cancel = () => {
reset();
dialog.visible = false;
}
//
getBaseWarehouseList().then(e => {
baseStoreList.value = e.data
})
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};

Loading…
Cancel
Save