refactor(wms): 重构物料大类相关代码

- 修改物料大类相关的属性名称,统一为 materialCategoryId
- 更新物料大类的获取方式,使用 getBaseMaterialCategoryList 方法
- 调整物料大类在表格和表单中的显示方式
- 优化物料大类的选择逻辑
master
zch 1 year ago
parent 37b4f1b127
commit ea88772e71

@ -12,7 +12,9 @@ export interface AllocateOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName: string;
/** /**
* ID * ID
@ -90,7 +92,9 @@ export interface AllocateOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID
@ -169,7 +173,9 @@ export interface AllocateOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID

@ -17,7 +17,9 @@ export interface BaseWarehouseVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName: string;
/** /**
* *
@ -75,7 +77,9 @@ export interface BaseWarehouseForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *
@ -129,7 +133,9 @@ export interface BaseWarehouseQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -66,8 +66,9 @@ export interface InstockDetailVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
} }
@ -135,7 +136,9 @@ export interface InstockDetailForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
} }
@ -204,7 +207,9 @@ export interface InstockDetailQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -12,7 +12,9 @@ export interface InstockOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName: string;
/** /**
* (1,2,3,4) * (1,2,3,4)
@ -65,7 +67,9 @@ export interface InstockOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* (1,2,3,4) * (1,2,3,4)
@ -119,7 +123,9 @@ export interface InstockOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* (1,2,3,4) * (1,2,3,4)

@ -57,7 +57,9 @@ export interface InstockPrintVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName: string;
} }
@ -120,7 +122,9 @@ export interface InstockPrintForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
} }
@ -184,7 +188,9 @@ export interface InstockPrintQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -43,7 +43,9 @@ export interface InstockRecordVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
@ -116,7 +118,9 @@ export interface InstockRecordForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *
@ -175,7 +179,9 @@ export interface InstockRecordQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -22,7 +22,9 @@ export interface InventoryVO {
/** /**
* *
*/ */
materialCategories: number; materialCategoryId: number;
materialCategoryName?: string;
/** /**
* *
@ -70,7 +72,9 @@ export interface InventoryForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: number; materialCategoryId?: number;
materialCategoryName?: string;
/** /**
* *
@ -119,7 +123,7 @@ export interface InventoryQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: number; materialCategoryId?: number;
/** /**
* *

@ -12,7 +12,9 @@ export interface InventoryCheckVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* ID * ID
@ -75,7 +77,9 @@ export interface InventoryCheckForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID
@ -139,7 +143,9 @@ export interface InventoryCheckQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID

@ -7,7 +7,9 @@ export interface InventoryCheckRecordVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
@ -110,7 +112,7 @@ export interface InventoryCheckRecordForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
/** /**
* *
@ -214,7 +216,7 @@ export interface InventoryCheckRecordQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
/** /**
* *

@ -12,7 +12,9 @@ export interface MoveOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* ID * ID
@ -80,7 +82,9 @@ export interface MoveOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID
@ -149,7 +153,9 @@ export interface MoveOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* ID * ID

@ -27,7 +27,11 @@ export interface OutstockDetailVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
*/ */
@ -64,7 +68,9 @@ export interface OutstockDetailForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
} }
@ -98,7 +104,9 @@ export interface OutstockDetailQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -22,7 +22,10 @@ export interface OutstockOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* (1,2,3,4) * (1,2,3,4)
@ -80,7 +83,9 @@ export interface OutstockOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* (1,2,3,4) * (1,2,3,4)
@ -139,7 +144,9 @@ export interface OutstockOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* (1,2,3,4) * (1,2,3,4)

@ -37,7 +37,10 @@ export interface OutstockRecordVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
@ -100,7 +103,9 @@ export interface OutstockRecordForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *
@ -134,7 +139,9 @@ export interface OutstockRecordQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* erp * erp

@ -12,7 +12,9 @@ export interface ReturnOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
@ -95,7 +97,10 @@ export interface ReturnOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *
@ -179,7 +184,9 @@ export interface ReturnOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
materialCategoryName?: string;
/** /**
* *

@ -67,7 +67,10 @@ export interface WmsPurchaseOrderVO {
/** /**
* *
*/ */
materialCategories: string; materialCategoryId: string;
materialCategoryName?: string;
/** /**
* *
@ -135,7 +138,7 @@ export interface WmsPurchaseOrderForm extends BaseEntity {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
/** /**
* *
@ -194,7 +197,7 @@ export interface WmsPurchaseOrderQuery extends PageQuery {
/** /**
* *
*/ */
materialCategories?: string; materialCategoryId?: string;
/** /**
* *

@ -8,8 +8,8 @@
<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="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in mes_material_categories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in mes_material_categories" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -39,10 +39,8 @@
<el-table-column label="旧物料编码" align="center" prop="oldMaterialCode" v-if="columns[2].visible" width="100"/> <el-table-column label="旧物料编码" align="center" prop="oldMaterialCode" v-if="columns[2].visible" width="100"/>
<el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[3].visible" width="150"/> <el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[3].visible" width="150"/>
<el-table-column label="物料类型ID" align="center" prop="materialTypeId" v-if="columns[4].visible"/> <el-table-column label="物料类型ID" align="center" prop="materialTypeId" v-if="columns[4].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[5].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="mes_material_categories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="物料小类" align="center" prop="materialSubclass" v-if="columns[6].visible"/> <el-table-column label="物料小类" align="center" prop="materialSubclass" v-if="columns[6].visible"/>
<el-table-column label="批次标识" align="center" prop="batchFlag" v-if="columns[7].visible"> <el-table-column label="批次标识" align="center" prop="batchFlag" v-if="columns[7].visible">
@ -166,6 +164,8 @@ import { listBaseMaterialInfo, getBaseMaterialInfo, delBaseMaterialInfo, addBase
import { BaseMaterialInfoVO, BaseMaterialInfoQuery, BaseMaterialInfoForm } from '@/api/mes/baseMaterialInfo/types'; import { BaseMaterialInfoVO, BaseMaterialInfoQuery, BaseMaterialInfoForm } from '@/api/mes/baseMaterialInfo/types';
import { getFactoryList } from "@/api/mes/baseFactoryInfo"; import { getFactoryList } from "@/api/mes/baseFactoryInfo";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { apply_flag, inner_tube_flag, const { apply_flag, inner_tube_flag,
mes_material_categories, always_flag, mes_accessories_flag, mes_material_categories, always_flag, mes_accessories_flag,
@ -257,7 +257,8 @@ const initFormData: BaseMaterialInfoForm = {
oldMaterialCode: undefined, oldMaterialCode: undefined,
materialName: undefined, materialName: undefined,
materialTypeId: undefined, materialTypeId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,
materialSubclass: undefined, materialSubclass: undefined,
batchFlag: undefined, batchFlag: undefined,
batchAmount: undefined, batchAmount: undefined,
@ -311,7 +312,8 @@ const data = reactive<PageData<BaseMaterialInfoForm, BaseMaterialInfoQuery>>({
oldMaterialCode: undefined, oldMaterialCode: undefined,
materialName: undefined, materialName: undefined,
materialTypeId: undefined, materialTypeId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,
materialSubclass: undefined, materialSubclass: undefined,
batchFlag: undefined, batchFlag: undefined,
batchAmount: undefined, batchAmount: undefined,
@ -371,11 +373,11 @@ const data = reactive<PageData<BaseMaterialInfoForm, BaseMaterialInfoQuery>>({
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
const props = defineProps({ const props = defineProps({
materialTypeId: Object, materialTypeId: String ,
materialCategories: String,// materialCategoryId: String,//
}); });
const { materialTypeId, materialCategories } = toRefs(props); const { materialTypeId, materialCategoryId } = toRefs(props);
const emits = defineEmits(['selection']); // const emits = defineEmits(['selection']); //
@ -393,8 +395,8 @@ const getList = async () => {
queryParams.value.materialTypeId = materialTypeId.value; queryParams.value.materialTypeId = materialTypeId.value;
// //
if (materialCategories.value) { if (materialCategoryId.value) {
queryParams.value.materialCategories = materialCategories.value; queryParams.value.materialCategoryId = materialCategoryId.value;
} }
proxy?.addDateRange(queryParams.value, dateRangeApproveDate.value, 'ApproveDate'); proxy?.addDateRange(queryParams.value, dateRangeApproveDate.value, 'ApproveDate');
@ -493,9 +495,17 @@ const handleRowClick = (row) => {
emits('selection', row); emits('selection', row);
}; };
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
defineExpose({tableRef}) defineExpose({tableRef})
onMounted(() => { onMounted(() => {
getFactorySelect(); getFactorySelect();
getList(); getList();
getMaterialCategorySelect();
}); });
</script> </script>

@ -10,8 +10,8 @@
<el-form-item label="调拨单号" prop="allocateOrderCode"> <el-form-item label="调拨单号" prop="allocateOrderCode">
<el-input v-model="queryParams.allocateOrderCode" placeholder="请输入调拨单号" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.allocateOrderCode" placeholder="请输入调拨单号" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="出库仓库ID" prop="planWarehouseId"> <el-form-item label="出库仓库ID" prop="planWarehouseId">
<el-input v-model="queryParams.planWarehouseId" placeholder="请输入出库仓库ID" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.planWarehouseId" placeholder="请输入出库仓库ID" clearable @keyup.enter="handleQuery" />
@ -90,10 +90,8 @@
<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="aoId" v-if="columns[0].visible"/> --> <!-- <el-table-column label="表主键" align="center" prop="aoId" v-if="columns[0].visible"/> -->
<el-table-column label="调拨单号" align="center" prop="allocateOrderCode" v-if="columns[1].visible"/> <el-table-column label="调拨单号" align="center" prop="allocateOrderCode" v-if="columns[1].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[2].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[2].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode" v-if="columns[3].visible"/> <el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode" v-if="columns[3].visible"/>
<el-table-column label="工单状态" align="center" prop="orderStatus" v-if="columns[4].visible"> <el-table-column label="工单状态" align="center" prop="orderStatus" v-if="columns[4].visible">
@ -157,14 +155,13 @@
<!-- <el-form-item label="调拨单号" prop="allocateOrderCode"> <!-- <el-form-item label="调拨单号" prop="allocateOrderCode">
<el-input v-model="form.allocateOrderCode" placeholder="请输入调拨单号" /> <el-input v-model="form.allocateOrderCode" placeholder="请输入调拨单号" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请输入物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请输入物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出库仓库" prop="planWarehouseId"> <el-form-item label="出库仓库" prop="planWarehouseId">
@ -279,7 +276,7 @@ import api from '@/api/system/user';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
let router = useRouter(); let router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { approve_status, material_mategories, wms_out_type, wms_allocate_status, wms_allocate_create, wms_allocate_way } = toRefs<any>(proxy?.useDict('approve_status', 'material_mategories', 'wms_out_type','wms_allocate_status','wms_allocate_create','wms_allocate_way')); const { approve_status, wms_out_type, wms_allocate_status, wms_allocate_create, wms_allocate_way } = toRefs<any>(proxy?.useDict('approve_status' , 'wms_out_type','wms_allocate_status','wms_allocate_create','wms_allocate_way'));
const allocateOrderList = ref<AllocateOrderVO[]>([]); const allocateOrderList = ref<AllocateOrderVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -325,7 +322,8 @@ const columns = ref<FieldOption[]>([
const initFormData: AllocateOrderForm = { const initFormData: AllocateOrderForm = {
aoId: undefined, aoId: undefined,
allocateOrderCode: undefined, allocateOrderCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
orderStatus: undefined, orderStatus: undefined,
targetWarehouseId: undefined, targetWarehouseId: undefined,
@ -346,7 +344,8 @@ const data = reactive<PageData<AllocateOrderForm, AllocateOrderQuery>>({
pageSize: 10, pageSize: 10,
aoId: undefined, aoId: undefined,
allocateOrderCode: undefined, allocateOrderCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
orderStatus: undefined, orderStatus: undefined,
targetWarehouseId: undefined, targetWarehouseId: undefined,
@ -369,7 +368,7 @@ const data = reactive<PageData<AllocateOrderForm, AllocateOrderQuery>>({
allocateOrderCode: [ allocateOrderCode: [
{ required: true, message: "调拨单号不能为空", trigger: "blur" } { required: true, message: "调拨单号不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
planWarehouseId: [ planWarehouseId: [
@ -439,7 +438,7 @@ const cancel = () => {
} }
const HandleInfo = async (row?: AllocateOrderVO) => { const HandleInfo = async (row?: AllocateOrderVO) => {
const aoId = row?.aoId; const aoId = row?.aoId;
const materialCategories = row?.materialCategories; const materialCategoryId = row?.materialCategoryId;
// const instockCode = row?.instockCode; // const instockCode = row?.instockCode;
router.push({ router.push({
path: '/wms/allocateOrderDetail',query: {'aoId': aoId} path: '/wms/allocateOrderDetail',query: {'aoId': aoId}

@ -10,9 +10,9 @@
<el-form-item label="调拨单号" prop="allocateOrderCode"> <el-form-item label="调拨单号" prop="allocateOrderCode">
<el-input v-model="queryParams.allocateOrderCode" placeholder="请输入调拨单号" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.allocateOrderCode" placeholder="请输入调拨单号" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>-->
<el-form-item label="出库仓库ID" prop="planWarehouseId"> <el-form-item label="出库仓库ID" prop="planWarehouseId">
<el-input v-model="queryParams.planWarehouseId" placeholder="请输入出库仓库ID" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.planWarehouseId" placeholder="请输入出库仓库ID" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
@ -90,10 +90,8 @@
<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="aoId" v-if="columns[0].visible"/> --> <!-- <el-table-column label="表主键" align="center" prop="aoId" v-if="columns[0].visible"/> -->
<el-table-column label="调拨单号" align="center" prop="allocateOrderCode" v-if="columns[1].visible"/> <el-table-column label="调拨单号" align="center" prop="allocateOrderCode" v-if="columns[1].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[2].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[2].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode" v-if="columns[3].visible"/> <el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode" v-if="columns[3].visible"/>
<el-table-column label="工单状态" align="center" prop="orderStatus" v-if="columns[4].visible"> <el-table-column label="工单状态" align="center" prop="orderStatus" v-if="columns[4].visible">
@ -157,14 +155,13 @@
<!-- <el-form-item label="调拨单号" prop="allocateOrderCode"> <!-- <el-form-item label="调拨单号" prop="allocateOrderCode">
<el-input v-model="form.allocateOrderCode" placeholder="请输入调拨单号" /> <el-input v-model="form.allocateOrderCode" placeholder="请输入调拨单号" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请输入物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请输入物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="出库仓库" prop="planWarehouseId"> <el-form-item label="出库仓库" prop="planWarehouseId">
@ -279,7 +276,7 @@ import api from '@/api/system/user';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
let router = useRouter(); let router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { approve_status, material_mategories, wms_out_type, wms_allocate_status, wms_allocate_create, wms_allocate_way } = toRefs<any>(proxy?.useDict('approve_status', 'material_mategories', 'wms_out_type','wms_allocate_status','wms_allocate_create','wms_allocate_way')); const { approve_status, wms_out_type, wms_allocate_status, wms_allocate_create, wms_allocate_way } = toRefs<any>(proxy?.useDict('approve_status' , 'wms_out_type','wms_allocate_status','wms_allocate_create','wms_allocate_way'));
const allocateOrderList = ref<AllocateOrderVO[]>([]); const allocateOrderList = ref<AllocateOrderVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -325,7 +322,8 @@ const columns = ref<FieldOption[]>([
const initFormData: AllocateOrderForm = { const initFormData: AllocateOrderForm = {
aoId: undefined, aoId: undefined,
allocateOrderCode: undefined, allocateOrderCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
orderStatus: undefined, orderStatus: undefined,
targetWarehouseId: undefined, targetWarehouseId: undefined,
@ -346,7 +344,8 @@ const data = reactive<PageData<AllocateOrderForm, AllocateOrderQuery>>({
pageSize: 10, pageSize: 10,
aoId: undefined, aoId: undefined,
allocateOrderCode: undefined, allocateOrderCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
orderStatus: undefined, orderStatus: undefined,
targetWarehouseId: undefined, targetWarehouseId: undefined,
@ -369,7 +368,7 @@ const data = reactive<PageData<AllocateOrderForm, AllocateOrderQuery>>({
allocateOrderCode: [ allocateOrderCode: [
{ required: true, message: "调拨单号不能为空", trigger: "blur" } { required: true, message: "调拨单号不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
planWarehouseId: [ planWarehouseId: [
@ -439,7 +438,7 @@ const cancel = () => {
} }
const HandleInfo = async (row?: AllocateOrderVO) => { const HandleInfo = async (row?: AllocateOrderVO) => {
const aoId = row?.aoId; const aoId = row?.aoId;
const materialCategories = row?.materialCategories; const materialCategoryId = row?.materialCategoryId;
// const instockCode = row?.instockCode; // const instockCode = row?.instockCode;
router.push({ router.push({
path: '/wms/allocateOrderDetail',query: {'aoId': aoId} path: '/wms/allocateOrderDetail',query: {'aoId': aoId}
@ -520,7 +519,15 @@ const handleExport = () => {
}, `allocateOrder_${new Date().getTime()}.xlsx`) }, `allocateOrder_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getUserList(); getUserList();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();

@ -14,8 +14,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :offset="2"> <el-col :span="8" :offset="2">
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form1.materialCategories"/> <el-input v-model="form1.materialCategoryId"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :offset="2"> <el-col :span="8" :offset="2">
@ -215,7 +215,8 @@ const columns = ref<FieldOption[]>([
// const initOrderFormData: AllocateOrderForm = { // const initOrderFormData: AllocateOrderForm = {
// aoId: undefined, // aoId: undefined,
// allocateOrderCode: undefined, // allocateOrderCode: undefined,
// materialCategories: undefined, // materialCategoryId: undefined,
materialCategoryName: undefined,//
// planWarehouseId: undefined, // planWarehouseId: undefined,
// orderStatus: undefined, // orderStatus: undefined,
// targetWarehouseId: undefined, // targetWarehouseId: undefined,
@ -399,7 +400,15 @@ const handleExport = () => {
}, `allocateOrderDetail_${new Date().getTime()}.xlsx`) }, `allocateOrderDetail_${new Date().getTime()}.xlsx`)
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
selectAllocateOrder(); selectAllocateOrder();
getList(); getList();
}); });

@ -10,9 +10,14 @@
<el-form-item label="仓库名称" prop="warehouseName"> <el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="queryParams.warehouseName" placeholder="请输入仓库名称" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.warehouseName" placeholder="请输入仓库名称" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option
v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="关联车间" prop="workshopId"> <el-form-item label="关联车间" prop="workshopId">
@ -64,11 +69,7 @@
<el-table-column label="表主键" align="center" prop="warehouseId" v-if="columns[0].visible"/> <el-table-column label="表主键" align="center" prop="warehouseId" v-if="columns[0].visible"/>
<el-table-column label="仓库编码" align="center" prop="warehouseCode" v-if="columns[1].visible"/> <el-table-column label="仓库编码" align="center" prop="warehouseCode" v-if="columns[1].visible"/>
<el-table-column label="仓库名称" align="center" prop="warehouseName" v-if="columns[2].visible"/> <el-table-column label="仓库名称" align="center" prop="warehouseName" v-if="columns[2].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[3].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[3].visible"/>
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column>
<el-table-column label="仓库位置" align="center" prop="warehouseLocation" v-if="columns[4].visible"/> <el-table-column label="仓库位置" align="center" prop="warehouseLocation" v-if="columns[4].visible"/>
<el-table-column label="关联车间" align="center" prop="workshopName" v-if="columns[5].visible"/> <el-table-column label="关联车间" align="center" prop="workshopName" v-if="columns[5].visible"/>
<el-table-column label="仓库类型" align="center" prop="warehouseType" v-if="columns[6].visible"> <el-table-column label="仓库类型" align="center" prop="warehouseType" v-if="columns[6].visible">
@ -102,6 +103,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改仓库基础信息对话框 --> <!-- 添加或修改仓库基础信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="baseWarehouseFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="baseWarehouseFormRef" :model="form" :rules="rules" label-width="80px">
@ -114,14 +116,14 @@
<el-form-item label="仓库名称" prop="warehouseName"> <el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" /> <el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option
v-for="dict in material_mategories" v-for="item in mategoryOptions"
:key="dict.value" :key="item.materialCategoryId"
:label="dict.label" :label="item.materialCategoryName"
:value="dict.value" :value="item.materialCategoryId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="仓库位置" prop="warehouseLocation"> <el-form-item label="仓库位置" prop="warehouseLocation">
@ -164,9 +166,10 @@
import { listBaseWarehouse, getBaseWarehouse, delBaseWarehouse, addBaseWarehouse, updateBaseWarehouse } from '@/api/wms/baseWarehouse'; import { listBaseWarehouse, getBaseWarehouse, delBaseWarehouse, addBaseWarehouse, updateBaseWarehouse } from '@/api/wms/baseWarehouse';
import { BaseWarehouseVO, BaseWarehouseQuery, BaseWarehouseForm } from '@/api/wms/baseWarehouse/types'; import { BaseWarehouseVO, BaseWarehouseQuery, BaseWarehouseForm } from '@/api/wms/baseWarehouse/types';
import {getWorkshopList} from "@/api/mes/baseWorkshopInfo"; import {getWorkshopList} from "@/api/mes/baseWorkshopInfo";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_wharehouse_type } = toRefs<any>(proxy?.useDict('material_mategories', 'wms_wharehouse_type')); const { wms_wharehouse_type } = toRefs<any>(proxy?.useDict( 'wms_wharehouse_type'));
const baseWarehouseList = ref<BaseWarehouseVO[]>([]); const baseWarehouseList = ref<BaseWarehouseVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
@ -213,7 +216,8 @@ const initFormData: BaseWarehouseForm = {
warehouseId: undefined, warehouseId: undefined,
warehouseCode: undefined, warehouseCode: undefined,
warehouseName: undefined, warehouseName: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
warehouseLocation: undefined, warehouseLocation: undefined,
workshopId: undefined, workshopId: undefined,
warehouseType: undefined, warehouseType: undefined,
@ -229,7 +233,8 @@ const data = reactive<PageData<BaseWarehouseForm, BaseWarehouseQuery>>({
pageSize: 10, pageSize: 10,
warehouseCode: undefined, warehouseCode: undefined,
warehouseName: undefined, warehouseName: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
workshopId: undefined, workshopId: undefined,
warehouseType: undefined, warehouseType: undefined,
params: { params: {
@ -245,7 +250,7 @@ const data = reactive<PageData<BaseWarehouseForm, BaseWarehouseQuery>>({
warehouseName: [ warehouseName: [
{ required: true, message: "仓库名称不能为空", trigger: "blur" } { required: true, message: "仓库名称不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "change" } { required: true, message: "物料大类不能为空", trigger: "change" }
], ],
warehouseLocation: [ warehouseLocation: [
@ -352,7 +357,15 @@ const handleExport = () => {
}, `baseWarehouse_${new Date().getTime()}.xlsx`) }, `baseWarehouse_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getWorkshopListSelect(); getWorkshopListSelect();
getList(); getList();
}); });

@ -4,10 +4,10 @@
<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="toolingBarcode"> <el-form-item label="工装条码" prop="toolingBarcode">
<el-input v-model="queryParams.toolingBarcode" placeholder="请输入流水卡号" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.toolingBarcode" placeholder="请输入工装条码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="工装条码" prop="toolingRfidBarcode" label-width="120px"> <el-form-item label="工装RFID条码" prop="toolingRfidBarcode" label-width="120px">
<el-input v-model="queryParams.toolingRfidBarcode" placeholder="请输入工装RFID条码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.toolingRfidBarcode" placeholder="请输入工装RFID条码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="工装类型" prop="toolingType"> <el-form-item label="工装类型" prop="toolingType">
@ -45,26 +45,24 @@
<el-table v-loading="loading" :data="hsmToolingList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="hsmToolingList" @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="createdBy"/>
<el-table-column label="id" align="center" prop="objId" v-if="columns[0].visible"/> <el-table-column label="创建时间" align="center" prop="createdTime" width="180">
<el-table-column label="流水卡号" align="center" prop="toolingBarcode"/> <template #default="scope">
<el-table-column label="工装条码" align="center" prop="toolingRfidBarcode"/> <span>{{ parseTime(scope.row.createdTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="工装条码" align="center" prop="toolingBarcode"/>
<el-table-column label="工装RFID条码" align="center" prop="toolingRfidBarcode"/>
<el-table-column label="工装类型" align="center" prop="toolingType"> <el-table-column label="工装类型" align="center" prop="toolingType">
<template #default="scope"> <template #default="scope">
<dict-tag :options="wms_tooling_type" :value="scope.row.toolingType"/> <dict-tag :options="wms_tooling_type" :value="scope.row.toolingType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否用" align="center" prop="isUsed"> <el-table-column label="是否使用" align="center" prop="isUsed">
<template #default="scope"> <template #default="scope">
<dict-tag :options="wms_halfproduct_used" :value="scope.row.isUsed"/> <dict-tag :options="wms_halfproduct_used" :value="scope.row.isUsed"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建人" align="center" prop="createdBy"/>
<el-table-column label="创建时间" align="center" prop="createdTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.createdTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<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">
@ -82,11 +80,11 @@
<!-- 添加或修改半成品工装对话框 --> <!-- 添加或修改半成品工装对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="hsmToolingFormRef" :model="form" :rules="rules" label-width="120px"> <el-form ref="hsmToolingFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="流水卡号" prop="toolingBarcode">--> <el-form-item label="工装条码" prop="toolingBarcode">
<!-- <el-input v-model="form.toolingBarcode" placeholder="请输入流水卡号" />--> <el-input v-model="form.toolingBarcode" placeholder="请输入工装条码" />
<!-- </el-form-item>--> </el-form-item>
<el-form-item label="工装条码" prop="toolingRfidBarcode"> <el-form-item label="工装RFID条码" prop="toolingRfidBarcode">
<el-input v-model="form.toolingRfidBarcode" placeholder="请输入工装条码" /> <el-input v-model="form.toolingRfidBarcode" placeholder="请输入工装RFID条码" />
</el-form-item> </el-form-item>
<el-form-item label="工装类型" prop="toolingType"> <el-form-item label="工装类型" prop="toolingType">
<el-select v-model="form.toolingType" placeholder="请选择工装类型"> <el-select v-model="form.toolingType" placeholder="请选择工装类型">
@ -98,19 +96,6 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isUsed">
<el-select v-model="form.isUsed" placeholder="请选择">
<el-option
v-for="dict in wms_halfproduct_used"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -147,7 +132,7 @@ const dialog = reactive<DialogOption>({
// //
const columns = ref<FieldOption[]>([ const columns = ref<FieldOption[]>([
{ key: 0, label: `表主键`, visible: false }, // { key: 0, label: `${comment}`, visible: true },
// { key: 1, label: `${comment}`, visible: true }, // { key: 1, label: `${comment}`, visible: true },
// { key: 2, label: `${comment}`, visible: true }, // { key: 2, label: `${comment}`, visible: true },
// { key: 3, label: `${comment}`, visible: true }, // { key: 3, label: `${comment}`, visible: true },
@ -190,12 +175,12 @@ const data = reactive<PageData<HsmToolingForm, HsmToolingQuery>>({
} }
}, },
rules: { rules: {
// toolingBarcode: [ toolingBarcode: [
// { required: true, message: "", trigger: "blur" }
// ],
toolingRfidBarcode: [
{ required: true, message: "工装条码不能为空", trigger: "blur" } { required: true, message: "工装条码不能为空", trigger: "blur" }
], ],
toolingRfidBarcode: [
{ required: true, message: "工装RFID条码不能为空", trigger: "blur" }
],
toolingType: [ toolingType: [
{ required: true, message: "工装类型不能为空", trigger: "change" } { required: true, message: "工装类型不能为空", trigger: "change" }
] ]

@ -40,9 +40,9 @@
<el-form-item label="是否有条码" prop="codeYesNo"> <el-form-item label="是否有条码" prop="codeYesNo">
<el-input v-model="queryParams.codeYesNo" placeholder="请输入是否有条码" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.codeYesNo" placeholder="请输入是否有条码" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</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>
<el-button icon="Refresh" @click="resetQuery"></el-button> <el-button icon="Refresh" @click="resetQuery"></el-button>
@ -90,10 +90,8 @@
<dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/> <dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[13].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[13].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<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">
@ -169,7 +167,7 @@ import { InstockDetailVO, InstockDetailQuery, InstockDetailForm } from '@/api/wm
import { Printer } from '@element-plus/icons-vue'; import { Printer } from '@element-plus/icons-vue';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
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 { wms_barcode_if } = toRefs<any>(proxy?.useDict( 'wms_barcode_if'));
const router = useRoute(); const router = useRoute();
const instockDetailList = ref<InstockDetailVO[]>([]); const instockDetailList = ref<InstockDetailVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
@ -226,7 +224,7 @@ const initFormData: InstockDetailForm = {
materialSpe: undefined, materialSpe: undefined,
unitName: undefined, unitName: undefined,
codeYesNo: undefined, codeYesNo: undefined,
materialCategories: undefined materialCategoryId: undefined
} }
const data = reactive<PageData<InstockDetailForm, InstockDetailQuery>>({ const data = reactive<PageData<InstockDetailForm, InstockDetailQuery>>({
form: {...initFormData}, form: {...initFormData},
@ -245,7 +243,8 @@ const data = reactive<PageData<InstockDetailForm, InstockDetailQuery>>({
materialSpe: undefined, materialSpe: undefined,
unitName: undefined, unitName: undefined,
codeYesNo: undefined, codeYesNo: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
params: { params: {
} }
}, },
@ -277,7 +276,7 @@ const data = reactive<PageData<InstockDetailForm, InstockDetailQuery>>({
codeYesNo: [ codeYesNo: [
{ required: true, message: "是否有条码不能为空", trigger: "blur" } { required: true, message: "是否有条码不能为空", trigger: "blur" }
], ],
// materialCategories: [ // materialCategoryId: [
// { required: true, message: "", trigger: "blur" } // { required: true, message: "", trigger: "blur" }
// ] // ]
} }
@ -297,8 +296,8 @@ const getList = async () => {
} }
/** 查询入库单大类下物料列表 */ /** 查询入库单大类下物料列表 */
const getMaterialList = async () => { const getMaterialList = async () => {
const materialCategories = router.query.materialCategories const materialCategoryId = router.query.materialCategoryId
const res = await getMaterialListVo({'materialCategories':materialCategories}); const res = await getMaterialListVo({'materialCategoryId':materialCategoryId});
console.log(res.data); console.log(res.data);
materialList.value = res.data; materialList.value = res.data;
} }
@ -368,7 +367,7 @@ const handlePrint = async (row?: InstockDetailVO) => {
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
instockDetailFormRef.value?.validate(async (valid: boolean) => { instockDetailFormRef.value?.validate(async (valid: boolean) => {
form.value.materialCategories = router.query.materialCategories; form.value.materialCategoryId = router.query.materialCategoryId;
form.value.instockId = router.query.instockId; form.value.instockId = router.query.instockId;
form.value.instockCode = router.query.instockCode; form.value.instockCode = router.query.instockCode;
if (valid) { if (valid) {
@ -413,10 +412,19 @@ const handleExport = () => {
}, `instockDetail_${new Date().getTime()}.xlsx`) }, `instockDetail_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialList(); getMaterialList();
const materialCategories = router.query.materialCategories const materialCategoryId = router.query.materialCategoryId
console.log(materialCategories) console.log(materialCategoryId)
getList(); getList();
getMaterialCategorySelect();
}); });
</script> </script>

@ -10,8 +10,8 @@
<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="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="instockType"> <el-form-item label="工单类型" prop="instockType">
<el-select v-model="queryParams.instockType" placeholder="请选择工单类型(1采购订单,2生产订单,3手工,4系统生成)" clearable > <el-select v-model="queryParams.instockType" placeholder="请选择工单类型(1采购订单,2生产订单,3手工,4系统生成)" clearable >
@ -82,10 +82,8 @@
<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" v-if="columns[0].visible"/> <el-table-column label="入库单 主键" align="center" prop="instockId" 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="materialCategories" v-if="columns[7].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="工单类型" align="center" prop="instockType" v-if="columns[8].visible"> <el-table-column label="工单类型" align="center" prop="instockType" v-if="columns[8].visible">
<template #default="scope"> <template #default="scope">
@ -132,14 +130,18 @@
<!-- <el-form-item label="入库单号" prop="instockCode"> <!-- <el-form-item label="入库单号" prop="instockCode">
<el-input v-model="form.instockCode" placeholder="请输入入库单号" /> <el-input v-model="form.instockCode" placeholder="请输入入库单号" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <!-- <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />-->
></el-option> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="instockType"> <el-form-item label="工单类型" prop="instockType">
@ -214,7 +216,7 @@ import { InstockOrderVO, InstockOrderQuery, InstockOrderForm } from '@/api/wms/i
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { wms_instock_type, approve_status, material_mategories } = toRefs<any>(proxy?.useDict('wms_instock_type', 'approve_status', 'material_mategories')); const { wms_instock_type, approve_status } = toRefs<any>(proxy?.useDict('wms_instock_type', 'approve_status' ));
const instockOrderList = ref<InstockOrderVO[]>([]); const instockOrderList = ref<InstockOrderVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -254,7 +256,8 @@ const columns = ref<FieldOption[]>([
const initFormData: InstockOrderForm = { const initFormData: InstockOrderForm = {
instockId: undefined, instockId: undefined,
instockCode: undefined, instockCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
instockType: undefined, instockType: undefined,
orderNo: undefined, orderNo: undefined,
auditBy: undefined, auditBy: undefined,
@ -270,7 +273,8 @@ const data = reactive<PageData<InstockOrderForm, InstockOrderQuery>>({
pageSize: 10, pageSize: 10,
instockId: undefined, instockId: undefined,
instockCode: undefined, instockCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
instockType: undefined, instockType: undefined,
orderNo: undefined, orderNo: undefined,
auditBy: undefined, auditBy: undefined,
@ -288,11 +292,11 @@ const data = reactive<PageData<InstockOrderForm, InstockOrderQuery>>({
instockCode: [ instockCode: [
{ required: true, message: "入库单号不能为空", trigger: "blur" } { required: true, message: "入库单号不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
instockType: [ instockType: [
{ required: true, message: "工单类型(1采购订单,2生产订单,3手工,4系统生成)不能为空", trigger: "change" } { required: true, message: "工单类型不能为空", trigger: "change" }
], ],
orderNo: [ orderNo: [
{ required: true, message: "订单编号不能为空", trigger: "blur" } { required: true, message: "订单编号不能为空", trigger: "blur" }
@ -304,7 +308,7 @@ const data = reactive<PageData<InstockOrderForm, InstockOrderQuery>>({
{ required: true, message: "审核时间不能为空", trigger: "blur" } { required: true, message: "审核时间不能为空", trigger: "blur" }
], ],
auditStatus: [ auditStatus: [
{ required: true, message: "审核状态(0待审核,1审核通过,2审核未通过)不能为空", trigger: "change" } { required: true, message: "审核状态不能为空", trigger: "change" }
], ],
auditComments: [ auditComments: [
{ required: true, message: "审核意见不能为空", trigger: "blur" } { required: true, message: "审核意见不能为空", trigger: "blur" }
@ -411,10 +415,10 @@ const handleDelete = async (row?: InstockOrderVO) => {
} }
const HandleInfo = async (row?: InstockOrderVO) => { const HandleInfo = async (row?: InstockOrderVO) => {
const instockId = row?.instockId; const instockId = row?.instockId;
const materialCategories = row?.materialCategories; const materialCategoryId = row?.materialCategoryId;
const instockCode = row?.instockCode; const instockCode = row?.instockCode;
router.push({ router.push({
path: '/wms/instockDetail',query: {'instockId': instockId,'materialCategories': materialCategories,'instockCode':instockCode} path: '/wms/instockDetail',query: {'instockId': instockId,'materialCategoryId': materialCategoryId,'instockCode':instockCode}
}); });
} }
@ -425,7 +429,16 @@ const handleExport = () => {
}, `instockOrder_${new Date().getTime()}.xlsx`) }, `instockOrder_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getUserList(); getUserList();
getList(); getList();

@ -60,10 +60,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="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="materialCategoryName">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="工单类型" align="center" prop="instockType"> <el-table-column label="工单类型" align="center" prop="instockType">
<template #default="scope"> <template #default="scope">
@ -127,10 +124,7 @@
<dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/> <dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories"> <el-table-column label="物料大类" align="center" prop="materialCategoryName">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="200"> <el-table-column label="操作" fixed="right" width="200">
<template #default="scope"> <template #default="scope">
@ -155,14 +149,13 @@
<el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%"> <el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%">
<el-card shadow="never"> <el-card shadow="never">
<el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView"> <el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView">
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="dialogForm.materialCategories" placeholder="请选择物料大类" @change="setMaterialList"> <el-select v-model="dialogForm.materialCategoryId" placeholder="请选择物料大类" @change="setMaterialList">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="instockType"> <el-form-item label="工单类型" prop="instockType">
@ -188,7 +181,7 @@
/> />
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="仓库" 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
v-for="item in baseStoreList" v-for="item in baseStoreList"
@ -214,7 +207,7 @@
placeholder="Select" placeholder="Select"
> >
<el-option <el-option
v-for="i in material_mategories" v-for="i in material_mategoryId"
:label="i.materialName" :label="i.materialName"
:value="i.materialId" :value="i.materialId"
:key="i.materialId" :key="i.materialId"
@ -384,14 +377,13 @@
<el-dialog v-model="parentTableInfoVisible" title="修改父表格" width="40%"> <el-dialog v-model="parentTableInfoVisible" title="修改父表格" width="40%">
<el-form :model="parentTableInfoForm" label-width="120px"> <el-form :model="parentTableInfoForm" label-width="120px">
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="parentTableInfoForm.materialCategories" placeholder="请选择物料大类" :disabled="true"> <el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类" :disabled="true">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="instockType"> <el-form-item label="工单类型" prop="instockType">
@ -527,7 +519,7 @@
@selection="handleSelection" @selection="handleSelection"
ref="materialSelectRef" ref="materialSelectRef"
v-if="materialOpen" v-if="materialOpen"
:materialCategories="dialogForm.materialCategories" :materialCategoryId="dialogForm.materialCategoryId"
></MaterialSelectInWMS> ></MaterialSelectInWMS>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitMaterialForm"> </el-button> <el-button type="primary" @click="submitMaterialForm"> </el-button>
@ -551,8 +543,11 @@ import { InstockDetailVO, InstockDetailQuery, InstockDetailForm } from '@/api/wm
import { import {
getMaterialList, getInstockMaterialList getMaterialList, getInstockMaterialList
} from '@/api/wms/linkage' } from '@/api/wms/linkage'
import MaterialSelectInWMS from "@/views/mes/baseMaterialInfo/addMaterial.vue"; import MaterialSelectInWMS from "@/views/mes/baseMaterialInfo/addMaterial.vue";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const {proxy} = getCurrentInstance() as ComponentInternalInstance; const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const {audit_behave, const {audit_behave,
wms_barcode_if, wms_barcode_if,
@ -588,7 +583,8 @@ const childrenTableInfoForm = ref({})
const queryForm = ref({ const queryForm = ref({
instockCode: '', instockCode: '',
materialCategories: '', materialCategoryId: '',
materialCategoryName: '',
warehouseId: '', warehouseId: '',
instockType: '', instockType: '',
pageNum: 1, pageNum: 1,
@ -621,8 +617,18 @@ const submitForm = async() => {
childrenTableInfoVisible.value = false; childrenTableInfoVisible.value = false;
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
// //
const getParentTable = async () => { const getParentTable = async () => {
await getMaterialCategorySelect();
parentTableLoad.value = true parentTableLoad.value = true
await listInstockOrder(queryForm.value).then(async (e) => { await listInstockOrder(queryForm.value).then(async (e) => {
parentTableLoad.value = false parentTableLoad.value = false
@ -762,8 +768,8 @@ const parentTableDelete = async (e) => {
} }
// //
const setMaterialList = (materialCategories) => { const setMaterialList = (materialCategoryId) => {
getInstockMaterialList({"materialCategories":materialCategories}).then(e => { getInstockMaterialList({"materialCategoryId":materialCategoryId}).then(e => {
materialList.value = e.data materialList.value = e.data
}) })
} }
@ -778,7 +784,7 @@ const dialogSubmit = () => {
addInstockOrder(dialogForm.value).then(e => { addInstockOrder(dialogForm.value).then(e => {
addInstockDetail(dialogtable.value.map(item => { addInstockDetail(dialogtable.value.map(item => {
return {...item, instockCode: e.data.instockCode,instockId: e.data.instockId, materialCategories: e.data.materialCategories} return {...item, instockCode: e.data.instockCode,instockId: e.data.instockId, materialCategoryId: e.data.materialCategoryId}
} }
) )
).then(v => { ).then(v => {
@ -923,6 +929,7 @@ const handleMaterialAdd = (type, index) => {
} }
</script> </script>
<style> <style>
.demo-form-inline .el-input { .demo-form-inline .el-input {

@ -51,14 +51,15 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类"> <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类">
<el-option
v-for="dict in material_mategories" <el-option v-for="item in mategoryOptions"
:key="dict.value" :key="item.materialCategoryId"
:label="dict.label" :label="item.materialCategoryName"
:value="dict.value" :value="item.materialCategoryId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -109,10 +110,8 @@
<dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/> <dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[12].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[12].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<!-- <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">
@ -164,8 +163,8 @@
<el-form-item label="是否有条码" prop="codeYesNo"> <el-form-item label="是否有条码" prop="codeYesNo">
<el-input v-model="form.codeYesNo" placeholder="请输入是否有条码" /> <el-input v-model="form.codeYesNo" placeholder="请输入是否有条码" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form.materialCategories" placeholder="请输入物料大类" /> <el-input v-model="form.materialCategoryId" placeholder="请输入物料大类" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -184,6 +183,9 @@ import { InstockPrintVO, InstockPrintQuery, InstockPrintForm } from '@/api/wms/i
import { import {
getMaterialList getMaterialList
} from '@/api/wms/linkage' } from '@/api/wms/linkage'
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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[]>([]);
@ -233,7 +235,8 @@ const initFormData: InstockPrintForm = {
materialSpe: undefined, materialSpe: undefined,
unitName: undefined, unitName: undefined,
codeYesNo: undefined, codeYesNo: undefined,
materialCategories: undefined materialCategoryId: undefined,
materialCategoryName: undefined,
} }
const data = reactive<PageData<InstockPrintForm, InstockPrintQuery>>({ const data = reactive<PageData<InstockPrintForm, InstockPrintQuery>>({
form: {...initFormData}, form: {...initFormData},
@ -251,7 +254,8 @@ const data = reactive<PageData<InstockPrintForm, InstockPrintQuery>>({
materialSpe: undefined, materialSpe: undefined,
unitName: undefined, unitName: undefined,
codeYesNo: undefined, codeYesNo: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
params: { params: {
} }
}, },
@ -289,7 +293,7 @@ const data = reactive<PageData<InstockPrintForm, InstockPrintQuery>>({
codeYesNo: [ codeYesNo: [
{ required: true, message: "是否有条码不能为空", trigger: "blur" } { required: true, message: "是否有条码不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
] ]
} }
@ -398,10 +402,18 @@ const handleExport = () => {
}, `instockPrint_${new Date().getTime()}.xlsx`) }, `instockPrint_${new Date().getTime()}.xlsx`)
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialList().then(e => { getMaterialList().then(e => {
materialList.value = e.data materialList.value = e.data
}) })
getList(); getList();
getMaterialCategorySelect();
}); });
</script> </script>

@ -26,9 +26,13 @@
<!-- <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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="erp同步状态" prop="erpSynchronousStatus" label-width="120px"> <el-form-item label="erp同步状态" prop="erpSynchronousStatus" label-width="120px">
@ -77,10 +81,8 @@
<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"/>
<el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[7].visible"/> <el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[7].visible"/>
<el-table-column label="入库数量" align="center" prop="instockQty" v-if="columns[8].visible"/> <el-table-column label="入库数量" align="center" prop="instockQty" v-if="columns[8].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[9].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[9].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="入库人" align="center" prop="createBy" v-if="columns[10].visible"/> <el-table-column label="入库人" align="center" prop="createBy" v-if="columns[10].visible"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="columns[11].visible"> <el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="columns[11].visible">
@ -144,14 +146,13 @@
<el-form-item label="入库数量" prop="instockQty"> <el-form-item label="入库数量" prop="instockQty">
<el-input v-model="form.instockQty" placeholder="请输入入库数量" /> <el-input v-model="form.instockQty" placeholder="请输入入库数量" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="erp同步状态" prop="erpSynchronousStatus"> <el-form-item label="erp同步状态" prop="erpSynchronousStatus">
@ -182,6 +183,7 @@
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"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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'));
@ -233,7 +235,8 @@ const initFormData: InstockRecordForm = {
materialCode: undefined, materialCode: undefined,
materialName: undefined, materialName: undefined,
instockQty: undefined, instockQty: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined, erpSynchronousStatus: undefined,
erpSynchronousQty: undefined, erpSynchronousQty: undefined,
} }
@ -247,7 +250,8 @@ const data = reactive<PageData<InstockRecordForm, InstockRecordQuery>>({
locationCode: undefined, locationCode: undefined,
materialCode: undefined, materialCode: undefined,
materialName: undefined, materialName: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined, erpSynchronousStatus: undefined,
erpSynchronousQty: undefined, erpSynchronousQty: undefined,
params: { params: {
@ -361,7 +365,15 @@ const handleExport = () => {
}, `instockRecord_${new Date().getTime()}.xlsx`) }, `instockRecord_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getList(); getList();
}); });
</script> </script>

@ -23,9 +23,14 @@
<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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" 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"/>-->
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="库存数量" prop="inventoryQty"> <!-- <el-form-item label="库存数量" prop="inventoryQty">
@ -85,10 +90,8 @@
<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="库位编码" align="center" prop="locationCode" v-if="columns[4].visible"/> <el-table-column label="库位编码" align="center" prop="locationCode" v-if="columns[4].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[5].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[5].visible">
<template #default="scope"> <!-- -->
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</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="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"/>
@ -117,6 +120,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改物料库存对话框 --> <!-- 添加或修改物料库存对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="inventoryFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="inventoryFormRef" :model="form" :rules="rules" label-width="80px">
@ -132,8 +136,8 @@
<el-form-item label="库位编码" prop="locationCode"> <el-form-item label="库位编码" prop="locationCode">
<el-input v-model="form.locationCode" placeholder="请输入库位编码" /> <el-input v-model="form.locationCode" placeholder="请输入库位编码" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form.materialCategories" placeholder="请输入物料大类" /> <el-input v-model="form.materialCategoryId" placeholder="请输入物料大类" />
</el-form-item> </el-form-item>
<el-form-item label="库存数量" prop="inventoryQty"> <el-form-item label="库存数量" prop="inventoryQty">
<el-input v-model="form.inventoryQty" placeholder="请输入库存数量" /> <el-input v-model="form.inventoryQty" placeholder="请输入库存数量" />
@ -178,6 +182,10 @@ import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { import {
getMaterialList getMaterialList
} from '@/api/wms/linkage' } from '@/api/wms/linkage'
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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[]>([]);
@ -220,7 +228,8 @@ const initFormData: InventoryForm = {
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
locationCode: undefined, locationCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
inventoryQty: undefined, inventoryQty: undefined,
lockState: undefined, lockState: undefined,
inventoryStatus: undefined, inventoryStatus: undefined,
@ -235,7 +244,8 @@ const data = reactive<PageData<InventoryForm, InventoryQuery>>({
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
locationCode: undefined, locationCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
inventoryQty: undefined, inventoryQty: undefined,
lockState: undefined, lockState: undefined,
inventoryStatus: undefined, inventoryStatus: undefined,
@ -256,7 +266,7 @@ const data = reactive<PageData<InventoryForm, InventoryQuery>>({
locationCode: [ locationCode: [
{ required: true, message: "库位编码不能为空", trigger: "blur" } { required: true, message: "库位编码不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
inventoryQty: [ inventoryQty: [
@ -371,11 +381,20 @@ const handleExport = () => {
}, `inventory_${new Date().getTime()}.xlsx`) }, `inventory_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialList().then(e => { getMaterialList().then(e => {
materialList.value = e.data materialList.value = e.data
}) })
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();
getMaterialCategorySelect();
}); });
</script> </script>

@ -16,9 +16,13 @@
<!-- <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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="库存数量" prop="inventoryQty"> <!-- <el-form-item label="库存数量" prop="inventoryQty">
@ -78,10 +82,8 @@
<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="库位编码" align="center" prop="locationCode" v-if="columns[4].visible"/> <el-table-column label="库位编码" align="center" prop="locationCode" v-if="columns[4].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[5].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</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="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"/>
@ -127,8 +129,8 @@
<el-form-item label="库位编码" prop="locationCode"> <el-form-item label="库位编码" prop="locationCode">
<el-input v-model="form.locationCode" placeholder="请输入库位编码" /> <el-input v-model="form.locationCode" placeholder="请输入库位编码" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form.materialCategories" placeholder="请输入物料大类" /> <el-input v-model="form.materialCategoryId" placeholder="请输入物料大类" />
</el-form-item> </el-form-item>
<el-form-item label="库存数量" prop="inventoryQty"> <el-form-item label="库存数量" prop="inventoryQty">
<el-input v-model="form.inventoryQty" placeholder="请输入库存数量" /> <el-input v-model="form.inventoryQty" placeholder="请输入库存数量" />
@ -170,6 +172,9 @@
import { listInventory, getInventory, delInventory, addInventory, updateInventory, listInventoryAlarm } from '@/api/wms/inventory'; import { listInventory, getInventory, delInventory, addInventory, updateInventory, listInventoryAlarm } 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 { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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[]>([]);
@ -212,7 +217,8 @@ const initFormData: InventoryForm = {
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
locationCode: undefined, locationCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
inventoryQty: undefined, inventoryQty: undefined,
lockState: undefined, lockState: undefined,
inventoryStatus: undefined, inventoryStatus: undefined,
@ -227,7 +233,8 @@ const data = reactive<PageData<InventoryForm, InventoryQuery>>({
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
locationCode: undefined, locationCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
inventoryQty: undefined, inventoryQty: undefined,
lockState: undefined, lockState: undefined,
inventoryStatus: undefined, inventoryStatus: undefined,
@ -248,7 +255,7 @@ const data = reactive<PageData<InventoryForm, InventoryQuery>>({
locationCode: [ locationCode: [
{ required: true, message: "库位编码不能为空", trigger: "blur" } { required: true, message: "库位编码不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
inventoryQty: [ inventoryQty: [
@ -363,7 +370,16 @@ const handleExport = () => {
}, `inventory_${new Date().getTime()}.xlsx`) }, `inventory_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();
}); });

@ -10,8 +10,8 @@
<el-form-item label="盘点单号" prop="checkCode"> <el-form-item label="盘点单号" prop="checkCode">
<el-input v-model="queryParams.checkCode" placeholder="请输入盘点单号" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.checkCode" placeholder="请输入盘点单号" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="物料大类" prop="materialCategories"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="计划仓库" prop="planWarehouseId"> <el-form-item label="计划仓库" prop="planWarehouseId">
<el-select v-model="form.planWarehouseId" placeholder="请选择计划仓库"> <el-select v-model="form.planWarehouseId" placeholder="请选择计划仓库">
@ -100,10 +100,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="inventoryCheckId" v-if="columns[0].visible"/> --> <!-- <el-table-column label="表主键" align="center" prop="inventoryCheckId" v-if="columns[0].visible"/> -->
<el-table-column label="盘点单号" align="center" prop="checkCode" v-if="columns[2].visible"/> <el-table-column label="盘点单号" align="center" prop="checkCode" v-if="columns[2].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[3].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[3].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="计划仓库" align="center" prop="warehouseCode" v-if="columns[4].visible"/> <el-table-column label="计划仓库" align="center" prop="warehouseCode" v-if="columns[4].visible"/>
<el-table-column label="盘点类型" align="center" prop="checkType" v-if="columns[5].visible"> <el-table-column label="盘点类型" align="center" prop="checkType" v-if="columns[5].visible">
@ -161,14 +158,13 @@
<el-form-item label="盘点单号" prop="checkCode"> <el-form-item label="盘点单号" prop="checkCode">
<el-input v-model="form.checkCode" placeholder="请输入盘点单号" /> <el-input v-model="form.checkCode" placeholder="请输入盘点单号" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计划仓库" prop="planWarehouseId"> <el-form-item label="计划仓库" prop="planWarehouseId">
@ -263,6 +259,10 @@ import { InventoryCheckVO, InventoryCheckQuery, InventoryCheckForm } from '@/api
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; import { UserForm, UserQuery, UserVO } from '@/api/system/user/types';
import api from '@/api/system/user'; import api from '@/api/system/user';
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_stocking_type, approve_status, wms_stocking_status } = toRefs<any>(proxy?.useDict('material_mategories','wms_stocking_type','approve_status','wms_stocking_status')); const { material_mategories, wms_stocking_type, approve_status, wms_stocking_status } = toRefs<any>(proxy?.useDict('material_mategories','wms_stocking_type','approve_status','wms_stocking_status'));
const inventoryCheckList = ref<InventoryCheckVO[]>([]); const inventoryCheckList = ref<InventoryCheckVO[]>([]);
@ -304,7 +304,8 @@ const columns = ref<FieldOption[]>([
const initFormData: InventoryCheckForm = { const initFormData: InventoryCheckForm = {
inventoryCheckId: undefined, inventoryCheckId: undefined,
checkCode: undefined, checkCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
checkType: undefined, checkType: undefined,
checkStatus: undefined, checkStatus: undefined,
@ -322,7 +323,8 @@ const data = reactive<PageData<InventoryCheckForm, InventoryCheckQuery>>({
pageSize: 10, pageSize: 10,
inventoryCheckId: undefined, inventoryCheckId: undefined,
checkCode: undefined, checkCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
planWarehouseId: undefined, planWarehouseId: undefined,
checkType: undefined, checkType: undefined,
checkStatus: undefined, checkStatus: undefined,
@ -342,7 +344,7 @@ const data = reactive<PageData<InventoryCheckForm, InventoryCheckQuery>>({
checkCode: [ checkCode: [
{ required: true, message: "盘点单号不能为空", trigger: "blur" } { required: true, message: "盘点单号不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
planWarehouseId: [ planWarehouseId: [
@ -477,7 +479,17 @@ const handleExport = () => {
}, `inventoryCheck_${new Date().getTime()}.xlsx`) }, `inventoryCheck_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getUserList(); getUserList();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();

@ -7,9 +7,13 @@
<!-- <el-form-item label="盘点记录主键" prop="icRecordId"> <!-- <el-form-item label="盘点记录主键" prop="icRecordId">
<el-input v-model="queryParams.icRecordId" placeholder="请输入盘点记录主键" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.icRecordId" placeholder="请输入盘点记录主键" clearable @keyup.enter="handleQuery" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="盘点单号" prop="checkCode"> <el-form-item label="盘点单号" prop="checkCode">
@ -112,10 +116,7 @@
<el-table v-loading="loading" :data="inventoryCheckRecordList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="inventoryCheckRecordList" @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="icRecordId" v-if="columns[0].visible"/> <el-table-column label="盘点记录主键" align="center" prop="icRecordId" v-if="columns[0].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[1].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[1].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="盘点单号" align="center" prop="checkCode" v-if="columns[2].visible"/> <el-table-column label="盘点单号" align="center" prop="checkCode" v-if="columns[2].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"/>
@ -182,14 +183,13 @@
<!-- <el-form-item label="盘点记录主键" prop="icRecordId"> <!-- <el-form-item label="盘点记录主键" prop="icRecordId">
<el-input v-model="form.icRecordId" placeholder="请输入盘点记录主键" /> <el-input v-model="form.icRecordId" placeholder="请输入盘点记录主键" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="盘点单号" prop="checkCode"> <!-- <el-form-item label="盘点单号" prop="checkCode">
@ -302,8 +302,11 @@
import { listInventoryCheckRecord, getInventoryCheckRecord, delInventoryCheckRecord, addInventoryCheckRecord, updateInventoryCheckRecord } from '@/api/wms/inventoryCheckRecord'; import { listInventoryCheckRecord, getInventoryCheckRecord, delInventoryCheckRecord, addInventoryCheckRecord, updateInventoryCheckRecord } from '@/api/wms/inventoryCheckRecord';
import { InventoryCheckRecordVO, InventoryCheckRecordQuery, InventoryCheckRecordForm } from '@/api/wms/inventoryCheckRecord/types'; import { InventoryCheckRecordVO, InventoryCheckRecordQuery, InventoryCheckRecordForm } from '@/api/wms/inventoryCheckRecord/types';
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_stocking_type, wms_stockadjust_type, approve_status, erp_synchronous_status, wms_stockadjust_status, wms_stock_if } = toRefs<any>(proxy?.useDict('material_mategories','wms_stocking_type','wms_stockadjust_type','approve_status','erp_synchronous_status','wms_stockadjust_status','wms_stock_if')); const { wms_stocking_type, wms_stockadjust_type, approve_status, erp_synchronous_status, wms_stockadjust_status, wms_stock_if } = toRefs<any>(proxy?.useDict( 'wms_stocking_type','wms_stockadjust_type','approve_status','erp_synchronous_status','wms_stockadjust_status','wms_stock_if'));
const inventoryCheckRecordList = ref<InventoryCheckRecordVO[]>([]); const inventoryCheckRecordList = ref<InventoryCheckRecordVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -349,7 +352,8 @@ const columns = ref<FieldOption[]>([
const initFormData: InventoryCheckRecordForm = { const initFormData: InventoryCheckRecordForm = {
icRecordId: undefined, icRecordId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
checkCode: undefined, checkCode: undefined,
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
@ -375,7 +379,8 @@ const data = reactive<PageData<InventoryCheckRecordForm, InventoryCheckRecordQue
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
icRecordId: undefined, icRecordId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
checkCode: undefined, checkCode: undefined,
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
@ -401,7 +406,7 @@ const data = reactive<PageData<InventoryCheckRecordForm, InventoryCheckRecordQue
icRecordId: [ icRecordId: [
{ required: true, message: "盘点记录主键不能为空", trigger: "blur" } { required: true, message: "盘点记录主键不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
checkCode: [ checkCode: [
@ -553,7 +558,16 @@ const handleExport = () => {
}, `inventoryCheckRecord_${new Date().getTime()}.xlsx`) }, `inventoryCheckRecord_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getList(); getList();
}); });
</script> </script>

@ -39,10 +39,7 @@
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column label="表主键" align="center" prop="aoId" v-if="false"/> <el-table-column label="表主键" align="center" prop="aoId" v-if="false"/>
<el-table-column label="调拨单号" align="center" prop="allocateOrderCode"/> <el-table-column label="调拨单号" align="center" prop="allocateOrderCode"/>
<el-table-column label="物料大类" align="center" prop="materialCategories"> <el-table-column label="物料大类" align="center" prop="materialCategoryName">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode"/> <el-table-column label="出库仓库ID" align="center" prop="planWarehouseCode"/>
<el-table-column label="工单状态" align="center" prop="orderStatus"> <el-table-column label="工单状态" align="center" prop="orderStatus">
@ -134,18 +131,18 @@
<el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%"> <el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%">
<el-card shadow="never"> <el-card shadow="never">
<el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView"> <el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView">
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select <el-select
v-model="dialogForm.materialCategories" v-model="dialogForm.materialCategoryId"
placeholder="选择物料大类" placeholder="选择物料大类"
@change="setMaterialList" @change="setMaterialList"
> >
<el-option <el-option
v-for="i in material_mategories" v-for="item in mategoryOptions"
:label="i.label" :label="item.materialCategoryName"
:value="i.value" :value="item.materialCategoryId"
:key="i.value" :key="item.materialCategoryId"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -306,15 +303,15 @@
<el-form-item label="id" prop="planWarehouseId"v-if="false"> <el-form-item label="id" prop="planWarehouseId"v-if="false">
<el-input v-model="parentTableInfoForm.aoid"></el-input> <el-input v-model="parentTableInfoForm.aoid"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select <el-select
v-model="parentTableInfoForm.materialCategories" v-model="parentTableInfoForm.materialCategoryId"
placeholder="选择物料大类" placeholder="选择物料大类"
:disabled="updateDialog" :disabled="updateDialog"
@change="setMaterialList" @change="setMaterialList"
> >
<el-option <el-option
v-for="i in material_mategories" v-for="i in material_mategoryId"
:label="i.label" :label="i.label"
:value="i.value" :value="i.value"
:key="i.value" :key="i.value"
@ -364,14 +361,14 @@
<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="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select <el-select
v-model="childrenTableInfoForm.materialCategories" v-model="childrenTableInfoForm.materialCategoryId"
placeholder="选择物料大类" placeholder="选择物料大类"
@change="setMaterialList" @change="setMaterialList"
> >
<el-option <el-option
v-for="i in material_mategories" v-for="i in material_mategoryId"
:label="i.label" :label="i.label"
:value="i.value" :value="i.value"
:key="i.value" :key="i.value"
@ -455,6 +452,11 @@ import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import {UserVO} from "@/api/system/user/types"; import {UserVO} from "@/api/system/user/types";
import {listUser} from "@/api/system/user"; import {listUser} from "@/api/system/user";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const {proxy} = getCurrentInstance() as ComponentInternalInstance; const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { const {
approve_status, approve_status,
@ -509,8 +511,18 @@ listUser().then(e => {
userList.value = e.rows; userList.value = e.rows;
}) })
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
// //
const getParentTable = async () => { const getParentTable = async () => {
await getMaterialCategorySelect();
parentTableLoad.value = true parentTableLoad.value = true
await allocateOrderlList(queryForm.value).then(async (e) => { await allocateOrderlList(queryForm.value).then(async (e) => {
parentTableLoad.value = false parentTableLoad.value = false
@ -624,9 +636,8 @@ const parentTableDelete = async (e) => {
} }
// //
const setMaterialList = () => { const setMaterialList = (materialCategoryId) => {
console.log(dialogForm.value.materialCategories) getMaterialList({materialCategoryId}).then(e => {
getMaterialList({"materialCategories":dialogForm.value.materialCategories,"storeId":dialogForm.value.planWarehouseId}).then(e => {
materialList.value = e.data materialList.value = e.data
}) })
} }

@ -10,9 +10,16 @@
<!-- <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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <!-- <el-select v-model="queryParams.materialCategoryId" 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"/>
</el-select>-->
<el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="仓库" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
@ -95,10 +102,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="moveId" v-if="columns[0].visible"/> --> <!-- <el-table-column label="表主键" align="center" prop="moveId" v-if="columns[0].visible"/> -->
<el-table-column label="物料" align="center" prop="materialCode" v-if="columns[2].visible"/> <el-table-column label="物料" align="center" prop="materialCode" v-if="columns[2].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[3].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[3].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="仓库" align="center" prop="warehouseCode" v-if="columns[4].visible"/> <el-table-column label="仓库" align="center" prop="warehouseCode" v-if="columns[4].visible"/>
<el-table-column label="计划库位" align="center" prop="planLocationCode" v-if="columns[5].visible"/> <el-table-column label="计划库位" align="center" prop="planLocationCode" v-if="columns[5].visible"/>
@ -140,6 +144,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改移库工单对话框 --> <!-- 添加或修改移库工单对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="moveOrderFormRef" :model="form" :rules="rules" label-width="120px"> <el-form ref="moveOrderFormRef" :model="form" :rules="rules" label-width="120px">
@ -147,14 +152,15 @@
<el-input v-model="form.moveId" placeholder="请输入表主键" /> <el-input v-model="form.moveId" placeholder="请输入表主键" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
v-for="dict in material_mategories" <el-option v-for="item in mategoryOptions"
:key="dict.value" :key="item.materialCategoryId"
:label="dict.label" :label="item.materialCategoryName"
:value="dict.value" :value="item.materialCategoryId"
></el-option> />
</el-select>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="仓库" prop="warehouseId"> <el-form-item label="仓库" prop="warehouseId">
@ -267,6 +273,7 @@ import {getMaterialInfoList} from "@/api/wms/inventory";
import {getBaseLocationList, getWmsBaseLocationVoList} from "@/api/wms/baseLocation"; import {getBaseLocationList, getWmsBaseLocationVoList} from "@/api/wms/baseLocation";
import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; import { UserForm, UserQuery, UserVO } from '@/api/system/user/types';
import api from '@/api/system/user'; import api from '@/api/system/user';
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, erp_synchronous_status, approve_status, wms_order_status } = toRefs<any>(proxy?.useDict('material_mategories','erp_synchronous_status','approve_status','wms_order_status')); const { material_mategories, erp_synchronous_status, approve_status, wms_order_status } = toRefs<any>(proxy?.useDict('material_mategories','erp_synchronous_status','approve_status','wms_order_status'));
const moveOrderList = ref<MoveOrderVO[]>([]); const moveOrderList = ref<MoveOrderVO[]>([]);
@ -311,7 +318,8 @@ const columns = ref<FieldOption[]>([
const initFormData: MoveOrderForm = { const initFormData: MoveOrderForm = {
moveId: undefined, moveId: undefined,
materialId: undefined, materialId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
warehouseId: undefined, warehouseId: undefined,
planLocationCode: undefined, planLocationCode: undefined,
orderStatus: undefined, orderStatus: undefined,
@ -330,7 +338,8 @@ const data = reactive<PageData<MoveOrderForm, MoveOrderQuery>>({
pageSize: 10, pageSize: 10,
moveId: undefined, moveId: undefined,
materialId: undefined, materialId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
warehouseId: undefined, warehouseId: undefined,
planLocationCode: undefined, planLocationCode: undefined,
orderStatus: undefined, orderStatus: undefined,
@ -351,7 +360,7 @@ const data = reactive<PageData<MoveOrderForm, MoveOrderQuery>>({
materialId: [ materialId: [
{ required: true, message: "物料ID不能为空", trigger: "blur" } { required: true, message: "物料ID不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
warehouseId: [ warehouseId: [
@ -410,9 +419,9 @@ const getUserList = async () => {
}; };
const getMaterialList = async () => { const getMaterialList = async () => {
const locationCode = form.value.planLocationCode; const locationCode = form.value.planLocationCode;
const materialCategories = form.value.materialCategories; const materialCategoryId = form.value.materialCategoryId;
console.log(locationCode) console.log(locationCode)
let res = await getMaterialInfoList({'locationCode':locationCode,'materialCategories':materialCategories}); let res = await getMaterialInfoList({'locationCode':locationCode,'materialCategoryId':materialCategoryId});
materialList.value = res.data; materialList.value = res.data;
console.log(materialList.value) console.log(materialList.value)
}; };
@ -506,7 +515,16 @@ const handleExport = () => {
}, `moveOrder_${new Date().getTime()}.xlsx`) }, `moveOrder_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getUserList(); getUserList();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();

@ -19,8 +19,8 @@
<el-form-item label="出库数量" prop="outstockQty"> <el-form-item label="出库数量" prop="outstockQty">
<el-input v-model="queryParams.outstockQty" placeholder="请输入出库数量" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.outstockQty" placeholder="请输入出库数量" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</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>
@ -57,10 +57,8 @@
<!-- <el-table-column label="出库单 主键" align="center" prop="outstockId" v-if="columns[2].visible"/> --> <!-- <el-table-column label="出库单 主键" align="center" prop="outstockId" v-if="columns[2].visible"/> -->
<el-table-column label="物料" align="center" prop="materialCode" v-if="columns[4].visible"/> <el-table-column label="物料" align="center" prop="materialCode" v-if="columns[4].visible"/>
<el-table-column label="出库数量" align="center" prop="outstockQty" v-if="columns[5].visible"/> <el-table-column label="出库数量" align="center" prop="outstockQty" v-if="columns[5].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[6].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[6].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<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">
@ -104,8 +102,8 @@
<el-form-item label="出库数量" prop="outstockQty"> <el-form-item label="出库数量" prop="outstockQty">
<el-input v-model="form.outstockQty" placeholder="请输入出库数量" /> <el-input v-model="form.outstockQty" placeholder="请输入出库数量" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="物料大类" prop="materialCategories"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form.materialCategories" placeholder="请输入物料大类" /> <el-input v-model="form.materialCategoryId" placeholder="请输入物料大类" />
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
<template #footer> <template #footer>
@ -124,7 +122,7 @@ import { listOutstockDetail, getOutstockDetail, delOutstockDetail, addOutstockDe
import { OutstockDetailVO, OutstockDetailQuery, OutstockDetailForm } from '@/api/wms/outstockDetail/types'; import { OutstockDetailVO, OutstockDetailQuery, OutstockDetailForm } from '@/api/wms/outstockDetail/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories } = toRefs<any>(proxy?.useDict('material_mategories'));
const outstockDetailList = ref<OutstockDetailVO[]>([]); const outstockDetailList = ref<OutstockDetailVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -160,7 +158,7 @@ const initFormData: OutstockDetailForm = {
outstockId: undefined, outstockId: undefined,
materialId: undefined, materialId: undefined,
outstockQty: undefined, outstockQty: undefined,
materialCategories: undefined materialCategoryId: undefined
} }
const data = reactive<PageData<OutstockDetailForm, OutstockDetailQuery>>({ const data = reactive<PageData<OutstockDetailForm, OutstockDetailQuery>>({
form: {...initFormData}, form: {...initFormData},
@ -172,7 +170,8 @@ const data = reactive<PageData<OutstockDetailForm, OutstockDetailQuery>>({
outstockId: undefined, outstockId: undefined,
materialId: undefined, materialId: undefined,
outstockQty: undefined, outstockQty: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
params: { params: {
} }
}, },
@ -192,7 +191,7 @@ const data = reactive<PageData<OutstockDetailForm, OutstockDetailQuery>>({
outstockQty: [ outstockQty: [
{ required: true, message: "出库数量不能为空", trigger: "blur" } { required: true, message: "出库数量不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
] ]
} }
@ -210,8 +209,8 @@ const getList = async () => {
} }
/** 查询出库单大类下物料列表 */ /** 查询出库单大类下物料列表 */
const getMaterialList = async () => { const getMaterialList = async () => {
const materialCategories = router.query.materialCategories const materialCategoryId = router.query.materialCategoryId
const res = await getMaterialListVo({'materialCategories':materialCategories}); const res = await getMaterialListVo({'materialCategoryId':materialCategoryId});
console.log(res.data); console.log(res.data);
materialList.value = res.data; materialList.value = res.data;
} }
@ -277,7 +276,7 @@ const handleUpdate = async (row?: OutstockDetailVO) => {
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
form.value.materialCategories = router.query.materialCategories; form.value.materialCategoryId = router.query.materialCategoryId;
form.value.outstockId = router.query.outstockId; form.value.outstockId = router.query.outstockId;
form.value.outstockCode = router.query.outstockCode; form.value.outstockCode = router.query.outstockCode;
outstockDetailFormRef.value?.validate(async (valid: boolean) => { outstockDetailFormRef.value?.validate(async (valid: boolean) => {
@ -311,7 +310,16 @@ const handleExport = () => {
}, `outstockDetail_${new Date().getTime()}.xlsx`) }, `outstockDetail_${new Date().getTime()}.xlsx`)
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getMaterialList(); getMaterialList();
getList(); getList();
}); });

@ -25,8 +25,8 @@
<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="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="工单类型(字典1销售订单,2生产订单,3手工,4系统生成)" prop="orderType"> <!-- <el-form-item label="工单类型(字典1销售订单,2生产订单,3手工,4系统生成)" prop="orderType">
<el-select v-model="queryParams.orderType" placeholder="请选择工单类型(字典1销售订单,2生产订单,3手工,4系统生成)" clearable > <el-select v-model="queryParams.orderType" placeholder="请选择工单类型(字典1销售订单,2生产订单,3手工,4系统生成)" clearable >
@ -93,10 +93,8 @@
<dict-tag :options="wms_out_type" :value="scope.row.outstockType"/> <dict-tag :options="wms_out_type" :value="scope.row.outstockType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[9].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[9].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="工单类型" align="center" prop="orderType" v-if="columns[10].visible"> <el-table-column label="工单类型" align="center" prop="orderType" v-if="columns[10].visible">
<template #default="scope"> <template #default="scope">
@ -133,6 +131,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改出库单对话框 --> <!-- 添加或修改出库单对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="outstockOrderFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="outstockOrderFormRef" :model="form" :rules="rules" label-width="80px">
@ -157,14 +156,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="orderType"> <el-form-item label="工单类型" prop="orderType">
@ -225,6 +223,9 @@ import { UserForm, UserQuery, UserVO } from '@/api/system/user/types';
import api from '@/api/system/user'; import api from '@/api/system/user';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { wms_instock_type, approve_status, material_mategories, wms_out_type } = toRefs<any>(proxy?.useDict('wms_instock_type', 'approve_status', 'material_mategories', 'wms_out_type')); const { wms_instock_type, approve_status, material_mategories, wms_out_type } = toRefs<any>(proxy?.useDict('wms_instock_type', 'approve_status', 'material_mategories', 'wms_out_type'));
const outstockOrderList = ref<OutstockOrderVO[]>([]); const outstockOrderList = ref<OutstockOrderVO[]>([]);
@ -269,7 +270,8 @@ const initFormData: OutstockOrderForm = {
warehouseId: undefined, warehouseId: undefined,
outstockCode: undefined, outstockCode: undefined,
outstockType: undefined, outstockType: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
orderType: undefined, orderType: undefined,
orderNo: undefined, orderNo: undefined,
auditBy: undefined, auditBy: undefined,
@ -286,7 +288,8 @@ const data = reactive<PageData<OutstockOrderForm, OutstockOrderQuery>>({
warehouseId: undefined, warehouseId: undefined,
outstockCode: undefined, outstockCode: undefined,
outstockType: undefined, outstockType: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
orderType: undefined, orderType: undefined,
orderNo: undefined, orderNo: undefined,
auditBy: undefined, auditBy: undefined,
@ -309,7 +312,7 @@ const data = reactive<PageData<OutstockOrderForm, OutstockOrderQuery>>({
outstockType: [ outstockType: [
{ required: true, message: "出库类型不能为空", trigger: "change" } { required: true, message: "出库类型不能为空", trigger: "change" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
orderType: [ orderType: [
@ -437,14 +440,22 @@ const handleExport = () => {
} }
const HandleInfo = async (row?: OutstockOrderVO) => { const HandleInfo = async (row?: OutstockOrderVO) => {
const outstockId = row?.outstockId; const outstockId = row?.outstockId;
const materialCategories = row?.materialCategories; const materialCategoryId = row?.materialCategoryId;
const outstockCode = row?.outstockCode; const outstockCode = row?.outstockCode;
router.push({ router.push({
path: '/wms/outStockDetail',query: {'outstockId': outstockId,'materialCategories': materialCategories,'outstockCode':outstockCode} path: '/wms/outStockDetail',query: {'outstockId': outstockId,'materialCategoryId': materialCategoryId,'outstockCode':outstockCode}
}); });
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getBaseWarehouseListsss(); getBaseWarehouseListsss();
getList(); getList();
}); });

@ -51,11 +51,11 @@
<dict-tag :options="wms_out_type" :value="scope.row.outstockType"/> <dict-tag :options="wms_out_type" :value="scope.row.outstockType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories"> <!-- <el-table-column label="物料大类" align="center" prop="materialCategoryId">
<template #default="scope"> <template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/> <dict-tag :options="material_mategories" :value="scope.row.materialCategoryId"/>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column label="工单类型" align="center" prop="orderType"> <el-table-column label="工单类型" align="center" prop="orderType">
<template #default="scope"> <template #default="scope">
<dict-tag :options="wms_instock_type" :value="scope.row.orderType"/> <dict-tag :options="wms_instock_type" :value="scope.row.orderType"/>
@ -107,10 +107,8 @@
<!-- <el-table-column label="出库单 主键" align="center" prop="outstockId" v-if="columns[2].visible"/> --> <!-- <el-table-column label="出库单 主键" align="center" prop="outstockId" v-if="columns[2].visible"/> -->
<el-table-column label="物料" align="center" prop="materialCode"/> <el-table-column label="物料" align="center" prop="materialCode"/>
<el-table-column label="出库数量" align="center" prop="outstockQty"/> <el-table-column label="出库数量" align="center" prop="outstockQty"/>
<el-table-column label="物料大类" align="center" prop="materialCategories"> <el-table-column label="物料大类" align="center" prop="materialCategoryName">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="200"> <el-table-column label="操作" fixed="right" width="200">
<template #default="scope"> <template #default="scope">
@ -135,8 +133,8 @@
<el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%"> <el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%">
<el-card shadow="never"> <el-card shadow="never">
<el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView"> <el-form :model="dialogForm" :inline="true" label-width="120px" :disabled="isView">
<el-form-item label="仓库" prop="warehouseId"> <el-form-item label="仓库ID" prop="warehouseId">
<el-select v-model="dialogForm.warehouseId" placeholder="请选择所属仓库" @change="setMaterialList"> <el-select v-model="dialogForm.warehouseId" placeholder="请选择所属仓库">
<el-option <el-option
v-for="item in baseStoreList" v-for="item in baseStoreList"
:key="item.warehouseId" :key="item.warehouseId"
@ -155,14 +153,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="dialogForm.materialCategories" placeholder="请选择物料大类" @change="setMaterialList"> <el-select v-model="dialogForm.materialCategoryId" placeholder="请选择物料大类" @change="setMaterialList">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="orderType"> <el-form-item label="工单类型" prop="orderType">
@ -194,14 +191,13 @@
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="dialogtable" style="width: 100%"> <el-table :data="dialogtable" style="width: 100%">
<el-table-column label="物料大类" prop="materialCategories"> <el-table-column label="物料大类" prop="materialCategoryId">
<el-select v-model="dialogForm.materialCategories" placeholder="" :disabled="true" style="width: 200px;"> <el-select v-model="dialogForm.materialCategoryId" placeholder="" :disabled="true">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-table-column> </el-table-column>
@ -372,14 +368,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="parentTableInfoForm.materialCategories" placeholder="请选择物料大类" :disabled="true"> <el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单类型" prop="orderType"> <el-form-item label="工单类型" prop="orderType">
@ -463,7 +458,7 @@
@selection="handleSelection" @selection="handleSelection"
ref="materialSelectRef" ref="materialSelectRef"
v-if="materialOpen" v-if="materialOpen"
:materialCategories="dialogForm.materialCategories" :materialCategoryId="dialogForm.materialCategoryId"
></MaterialSelectInWMS> ></MaterialSelectInWMS>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitMaterialForm"> </el-button> <el-button type="primary" @click="submitMaterialForm"> </el-button>
@ -491,6 +486,10 @@ import {
import MaterialSelectInWMS from "@/views/mes/baseMaterialInfo/addMaterial.vue"; import MaterialSelectInWMS from "@/views/mes/baseMaterialInfo/addMaterial.vue";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const {proxy} = getCurrentInstance() as ComponentInternalInstance; const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { const {
wms_out_type, wms_out_type,
@ -525,7 +524,8 @@ const childrenTableInfoForm = ref({})
const queryForm = ref({ const queryForm = ref({
outstockCode: '', outstockCode: '',
materialCategories: '', materialCategoryId: '',
materialCategoryName: '',
warehouseId: '', warehouseId: '',
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
@ -564,8 +564,17 @@ const submitForm = () => {
updateInstockDetail(childrenTableInfoForm.value).finally(() => childrenTableInfoVisible.value = false); updateInstockDetail(childrenTableInfoForm.value).finally(() => childrenTableInfoVisible.value = false);
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
// //
const getParentTable = async () => { const getParentTable = async () => {
await getMaterialCategorySelect();
parentTableLoad.value = true parentTableLoad.value = true
await listOutstockOrder(queryForm.value).then(async (e) => { await listOutstockOrder(queryForm.value).then(async (e) => {
parentTableLoad.value = false parentTableLoad.value = false
@ -688,8 +697,8 @@ const parentTableDelete = async (e) => {
} }
// //
const setMaterialList = (materialCategories) => { const setMaterialList = (materialCategoryId) => {
getMaterialList({"materialCategories":dialogForm.value.materialCategories,"warehouseId":dialogForm.value.warehouseId}).then(e => { getMaterialList({materialCategoryId}).then(e => {
materialList.value = e.data materialList.value = e.data
}) })
} }
@ -704,7 +713,7 @@ const dialogSubmit = () => {
addOutstockOrder(dialogForm.value).then(e => { addOutstockOrder(dialogForm.value).then(e => {
addOutstockDetail(dialogtable.value.map(item => { addOutstockDetail(dialogtable.value.map(item => {
return {...item, outstockCode: e.data.outstockCode,outstockId: e.data.outstockId, materialCategories: e.data.materialCategories} return {...item, outstockCode: e.data.outstockCode,outstockId: e.data.outstockId, materialCategoryId: e.data.materialCategoryId}
} }
) )
).then(v => { ).then(v => {

@ -10,9 +10,13 @@
<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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="erp同步状态" prop="erpSynchronousStatus">--> <!-- <el-form-item label="erp同步状态" prop="erpSynchronousStatus">-->
@ -32,7 +36,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:outstockRecord:add']"></el-button> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['wms:outstockRecord:add']"></el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@ -40,7 +44,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:outstockRecord:remove']"></el-button> <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['wms:outstockRecord: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:outstockRecord:export']"></el-button> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['wms:outstockRecord:export']"></el-button>
</el-col> </el-col>
@ -60,10 +64,8 @@
<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="outstockQty" v-if="columns[6].visible"/> <el-table-column label="出库数量" align="center" prop="outstockQty" v-if="columns[6].visible"/>
<el-table-column label="单位" align="center" prop="materialUnit" v-if="columns[4].visible"/> <el-table-column label="单位" align="center" prop="materialUnit" v-if="columns[4].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[7].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="出库人" align="center" prop="createBy" v-if="columns[8].visible"/> <el-table-column label="出库人" align="center" prop="createBy" v-if="columns[8].visible"/>
<el-table-column label="提交时间" align="center" prop="createTime" width="180" v-if="columns[9].visible"> <el-table-column label="提交时间" align="center" prop="createTime" width="180" v-if="columns[9].visible">
@ -84,12 +86,12 @@
<el-table-column label="erp同步数量" align="center" prop="erpSynchronousQty" v-if="columns[11].visible"/> <el-table-column label="erp同步数量" align="center" prop="erpSynchronousQty" v-if="columns[11].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">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['wms:outstockRecord:edit']"></el-button> <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['wms:outstockRecord:edit']"></el-button>
</el-tooltip> </el-tooltip>
<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" v-if="scope.row.returnFlag!=1"> <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>
@ -103,6 +105,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改出库记录对话框 --> <!-- 添加或修改出库记录对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="outstockRecordFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="outstockRecordFormRef" :model="form" :rules="rules" label-width="80px">
@ -137,13 +140,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="" :disabled="returnFlag"> <el-select v-model="form.materialCategoryId" placeholder="" :disabled="returnFlag">
<el-option <el-option
v-for="dict in material_mategories" v-for="item in mategoryOptions"
:key="dict.value" :key="item.materialCategoryId"
:label="dict.label" :label="item.materialCategoryName"
:value="dict.value" :value="item.materialCategoryId"
disabled="returnFlag"></el-option> disabled="returnFlag"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -179,8 +182,12 @@ import { listOutstockRecord, getOutstockRecord, delOutstockRecord, addOutstockRe
import { OutstockRecordVO, OutstockRecordQuery, OutstockRecordForm } from '@/api/wms/outstockRecord/types'; import { OutstockRecordVO, OutstockRecordQuery, OutstockRecordForm } from '@/api/wms/outstockRecord/types';
import { DocumentAdd } from '@element-plus/icons-vue'; import { DocumentAdd } from '@element-plus/icons-vue';
import {getWmsBaseLocationVoList} from "@/api/wms/baseLocation"; import {getWmsBaseLocationVoList} from "@/api/wms/baseLocation";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_common_status, wms_return_flag, material_mategories, } = toRefs<any>(proxy?.useDict('sys_common_status','material_mategories','wms_return_flag')); const { sys_common_status, wms_return_flag, } = toRefs<any>(proxy?.useDict('sys_common_status' ,'wms_return_flag'));
const outstockRecordList = ref<OutstockRecordVO[]>([]); const outstockRecordList = ref<OutstockRecordVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
@ -227,7 +234,8 @@ const initFormData: OutstockRecordForm = {
materialId: undefined, materialId: undefined,
locationCode: undefined, locationCode: undefined,
outstockQty: undefined, outstockQty: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
createBy: undefined, createBy: undefined,
erpSynchronousStatus: undefined, erpSynchronousStatus: undefined,
erpSynchronousQty: undefined, erpSynchronousQty: undefined,
@ -239,7 +247,8 @@ const data = reactive<PageData<OutstockRecordForm, OutstockRecordQuery>>({
pageSize: 10, pageSize: 10,
outstockCode: undefined, outstockCode: undefined,
locationCode: undefined, locationCode: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined, erpSynchronousStatus: undefined,
params: { params: {
} }
@ -359,7 +368,15 @@ const handleExport = () => {
}, `outstockRecord_${new Date().getTime()}.xlsx`) }, `outstockRecord_${new Date().getTime()}.xlsx`)
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getList(); getList();
}); });
</script> </script>

@ -257,7 +257,7 @@ const getList = async () => {
} }
const HandleInfo = async (row?: PsmInLoadVO) => { const HandleInfo = async (row?: PsmInLoadVO) => {
const inLoadId = row?.inLoadId; const inLoadId = row?.inLoadId;
// const materialCategories = row?.materialCategories; // const materialCategoryId = row?.materialCategoryId;
// const outstockCode = row?.outstockCode; // const outstockCode = row?.outstockCode;
router.push({ router.push({
path: '/wms/psmInLoadDetail',query: {'inLoadId': inLoadId} path: '/wms/psmInLoadDetail',query: {'inLoadId': inLoadId}

@ -257,7 +257,7 @@ const reset = () => {
} }
const HandleInfo = async (row?: PsmInStockVO) => { const HandleInfo = async (row?: PsmInStockVO) => {
const inStockId = row?.inStockId; const inStockId = row?.inStockId;
// const materialCategories = row?.materialCategories; // const materialCategoryId = row?.materialCategoryId;
// const outstockCode = row?.outstockCode; // const outstockCode = row?.outstockCode;
router.push({ router.push({
path: '/wms/psmInStockDetail',query: {'inStockId': inStockId} path: '/wms/psmInStockDetail',query: {'inStockId': inStockId}
@ -332,7 +332,15 @@ const handleExport = () => {
}, `psmInStock_${new Date().getTime()}.xlsx`) }, `psmInStock_${new Date().getTime()}.xlsx`)
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getList(); getList();
}); });
</script> </script>

@ -10,9 +10,13 @@
<!-- <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="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="批次条码" prop="batchCode"> <el-form-item label="批次条码" prop="batchCode">
@ -104,10 +108,8 @@
<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="roId" v-if="columns[0].visible"/> --> <!-- <el-table-column label="表主键" align="center" prop="roId" v-if="columns[0].visible"/> -->
<el-table-column label="物料ID" align="center" prop="materialCode" v-if="columns[6].visible"/> <el-table-column label="物料ID" align="center" prop="materialCode" v-if="columns[6].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[7].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="批次条码" align="center" prop="batchCode" v-if="columns[8].visible"/> <el-table-column label="批次条码" align="center" prop="batchCode" v-if="columns[8].visible"/>
<el-table-column label="计划数量" align="center" prop="planAmount" v-if="columns[9].visible"/> <el-table-column label="计划数量" align="center" prop="planAmount" v-if="columns[9].visible"/>
@ -157,14 +159,13 @@
<el-form-item label="物料ID" prop="materialId"> <el-form-item label="物料ID" prop="materialId">
<el-input v-model="form.materialId" placeholder="请输入物料ID" /> <el-input v-model="form.materialId" placeholder="请输入物料ID" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="批次条码" prop="batchCode"> <el-form-item label="批次条码" prop="batchCode">
@ -244,8 +245,11 @@
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"; import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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 { wms_return_status, erp_synchronous_status, approve_status } = toRefs<any>(proxy?.useDict( 'wms_return_status','erp_synchronous_status','approve_status'));
const returnOrderList = ref<ReturnOrderVO[]>([]); const returnOrderList = ref<ReturnOrderVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
const loading = ref(true); const loading = ref(true);
@ -282,7 +286,7 @@ const columns = ref<FieldOption[]>([
{ key: 14, label: `实际退库库位`, visible: true }, { key: 14, label: `实际退库库位`, visible: true },
{ key: 15, label: `审核人`, visible: true }, { key: 15, label: `审核人`, visible: true },
{ key: 16, label: `审核时间`, visible: true }, { key: 16, label: `审核时间`, visible: true },
{ key: 17, label: `审核状态(0待审核,1审核通过,2审核未通过)`, visible: true }, { key: 17, label: `审核状态`, visible: true },
{ key: 18, label: `审核意见`, visible: true }, { key: 18, label: `审核意见`, visible: true },
{ key: 19, label: `erp同步状态`, visible: true }, { key: 19, label: `erp同步状态`, visible: true },
{ key: 20, label: `erp同步数量`, visible: true }, { key: 20, label: `erp同步数量`, visible: true },
@ -291,7 +295,8 @@ const columns = ref<FieldOption[]>([
const initFormData: ReturnOrderForm = { const initFormData: ReturnOrderForm = {
roId: undefined, roId: undefined,
materialId: undefined, materialId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
batchCode: undefined, batchCode: undefined,
planAmount: undefined, planAmount: undefined,
warehouseId: undefined, warehouseId: undefined,
@ -313,7 +318,8 @@ const data = reactive<PageData<ReturnOrderForm, ReturnOrderQuery>>({
pageSize: 10, pageSize: 10,
roId: undefined, roId: undefined,
materialId: undefined, materialId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
batchCode: undefined, batchCode: undefined,
planAmount: undefined, planAmount: undefined,
warehouseId: undefined, warehouseId: undefined,
@ -337,7 +343,7 @@ const data = reactive<PageData<ReturnOrderForm, ReturnOrderQuery>>({
materialId: [ materialId: [
{ required: true, message: "物料ID不能为空", trigger: "blur" } { required: true, message: "物料ID不能为空", trigger: "blur" }
], ],
materialCategories: [ materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" } { required: true, message: "物料大类不能为空", trigger: "blur" }
], ],
batchCode: [ batchCode: [
@ -477,7 +483,17 @@ const handleExport = () => {
}, `returnOrder_${new Date().getTime()}.xlsx`) }, `returnOrder_${new Date().getTime()}.xlsx`)
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getList(); getList();
}); });
</script> </script>

@ -31,9 +31,13 @@
<!-- <el-form-item label="单据的ID连表扩充" prop="erpId"> <!-- <el-form-item label="单据的ID连表扩充" prop="erpId">
<el-input v-model="queryParams.erpId" placeholder="请输入单据的ID连表扩充" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.erpId" placeholder="请输入单据的ID连表扩充" clearable @keyup.enter="handleQuery" />
</el-form-item>--> </el-form-item>-->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="审核人" prop="auditBy"> <!-- <el-form-item label="审核人" prop="auditBy">
@ -118,10 +122,8 @@
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[13].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[13].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" prop="auditBy" v-if="columns[14].visible"/> <el-table-column label="审核人" align="center" prop="auditBy" v-if="columns[14].visible"/>
<el-table-column label="审核时间" align="center" prop="auditTime" width="180" v-if="columns[15].visible"> <el-table-column label="审核时间" align="center" prop="auditTime" width="180" v-if="columns[15].visible">
@ -203,14 +205,13 @@
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="审核人" prop="auditBy"> <el-form-item label="审核人" prop="auditBy">
@ -254,7 +255,7 @@ import { WmsPurchaseOrderVO, WmsPurchaseOrderQuery, WmsPurchaseOrderForm } from
import { getBaseSupplierInfoList } from '@/api/mes/baseSupplierInfo' import { getBaseSupplierInfoList } from '@/api/mes/baseSupplierInfo'
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, wms_po_status, wms_po_type, wms_audit_status } = toRefs<any>(proxy?.useDict('material_mategories', 'wms_po_status', 'wms_po_type', 'wms_audit_status')); const { wms_po_status, wms_po_type, wms_audit_status } = toRefs<any>(proxy?.useDict( 'wms_po_status', 'wms_po_type', 'wms_audit_status'));
const wmsPurchaseOrderList = ref<WmsPurchaseOrderVO[]>([]); const wmsPurchaseOrderList = ref<WmsPurchaseOrderVO[]>([]);
const buttonLoading = ref(false); const buttonLoading = ref(false);
@ -305,7 +306,8 @@ const initFormData: WmsPurchaseOrderForm = {
poType: undefined, poType: undefined,
erpId: undefined, erpId: undefined,
remark: undefined, remark: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
auditBy: undefined, auditBy: undefined,
auditTime: undefined, auditTime: undefined,
auditStatus: undefined, auditStatus: undefined,
@ -322,7 +324,8 @@ const data = reactive<PageData<WmsPurchaseOrderForm, WmsPurchaseOrderQuery>>({
supplierId: undefined, supplierId: undefined,
poType: undefined, poType: undefined,
erpId: undefined, erpId: undefined,
materialCategories: undefined, materialCategoryId: undefined,
materialCategoryName: undefined,//
auditBy: undefined, auditBy: undefined,
auditTime: undefined, auditTime: undefined,
auditStatus: undefined, auditStatus: undefined,
@ -434,7 +437,16 @@ const getListSelect = async () => {
supplierList.value = res.data; supplierList.value = res.data;
} }
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect();
getListSelect(); getListSelect();
getList(); getList();
}); });

@ -15,9 +15,13 @@
<el-option v-for="dict in wms_po_type" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in wms_po_type" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryForm.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryForm.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="审核状态" prop="auditStatus"> <el-form-item label="审核状态" prop="auditStatus">
@ -90,10 +94,8 @@
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="物料大类" align="center" prop="materialCategories"> <el-table-column label="物料大类" align="center" prop="materialCategoryId">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" prop="auditBy"/> <el-table-column label="审核人" align="center" prop="auditBy"/>
<el-table-column label="审核时间" align="center" prop="auditTime" width="180"> <el-table-column label="审核时间" align="center" prop="auditTime" width="180">
@ -220,14 +222,13 @@
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="dialogForm.remark" placeholder="请输入备注" /> <el-input v-model="dialogForm.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="dialogForm.materialCategories" placeholder="请选择物料大类" @change="setMaterialList"> <el-select v-model="dialogForm.materialCategoryId" placeholder="请选择物料大类" @change="setMaterialList">
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="审核人" prop="auditBy"> <el-form-item label="审核人" prop="auditBy">
@ -258,7 +259,7 @@
> >
<el-option <el-option
v-for="i in materialList" v-for="i in materialList"
:label="i.materialCode+'('+i.materialName+')'" :label="i.materialCode"
:value="i.materialId" :value="i.materialId"
:key="i.materialId" :key="i.materialId"
/> />
@ -329,7 +330,6 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="含税单价" prop="taxPrice" > <el-table-column label="含税单价" prop="taxPrice" >
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.taxPrice" placeholder="请输入含税单价" style="width: 240px"/> <el-input v-model="scope.row.taxPrice" placeholder="请输入含税单价" style="width: 240px"/>
@ -390,14 +390,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="parentTableInfoForm.materialCategories" placeholder="请选择物料大类" > <el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类" >
<el-option <el-option v-for="item in mategoryOptions"
v-for="dict in material_mategories" :key="item.materialCategoryId"
:key="dict.value" :label="item.materialCategoryName"
:label="dict.label" :value="item.materialCategoryId"
:value="dict.value" />
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="审核人" prop="auditBy"> <el-form-item label="审核人" prop="auditBy">
@ -472,7 +471,7 @@
@selection="handleSelection" @selection="handleSelection"
ref="materialSelectRef" ref="materialSelectRef"
v-if="materialOpen" v-if="materialOpen"
:materialCategories="dialogForm.materialCategories" :materialCategoryId="dialogForm.materialCategoryId"
></MaterialSelectInWMS> ></MaterialSelectInWMS>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitMaterialForm"> </el-button> <el-button type="primary" @click="submitMaterialForm"> </el-button>
@ -498,7 +497,7 @@ import { WmsPurchaseOrderDetailVO, WmsPurchaseOrderDetailQuery, WmsPurchaseOrder
import { import {
getMaterialList, getInstockMaterialList getMaterialList, getInstockMaterialList
} from '@/api/wms/linkage' } from '@/api/wms/linkage'
import MaterialSelectInWMS from "@/views/mes/baseMaterialInfo/addMaterial.vue"; import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const {proxy} = getCurrentInstance() as ComponentInternalInstance; const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { const {
@ -506,9 +505,9 @@ const {
wms_po_status, wms_po_status,
wms_po_type, wms_po_type,
wms_audit_status, wms_audit_status,
material_mategories,
} = toRefs<any>(proxy?.useDict('wms_barcode_if', 'wms_po_status', 'wms_po_type', 'wms_audit_status', 'material_mategories'));
} = toRefs<any>(proxy?.useDict('wms_barcode_if', 'wms_po_status', 'wms_po_type', 'wms_audit_status' ));
interface User { interface User {
@ -535,7 +534,7 @@ const queryForm = ref({
poNo: '', poNo: '',
poStatus: '', poStatus: '',
poType: '', poType: '',
materialCategories: '', materialCategoryId: '',
auditStatus: '', auditStatus: '',
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
@ -560,6 +559,7 @@ getBaseWarehouseList().then(e => {
const getUserList = () => { const getUserList = () => {
getMaterialCategorySelect();
listUser().then(e => { listUser().then(e => {
userList.value = e.rows; userList.value = e.rows;
}) })
@ -570,8 +570,19 @@ const submitForm = () => {
getChildrenTable({poNo: partntTableSelectCell.value.poNo}) getChildrenTable({poNo: partntTableSelectCell.value.poNo})
} }
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
// //
const getParentTable = async () => { const getParentTable = async () => {
await getMaterialCategorySelect();
parentTableLoad.value = true parentTableLoad.value = true
await listWmsPurchaseOrder(queryForm.value).then(async (e) => { await listWmsPurchaseOrder(queryForm.value).then(async (e) => {
parentTableLoad.value = false parentTableLoad.value = false
@ -702,8 +713,8 @@ const parentTableDelete = async (e) => {
} }
// //
const setMaterialList = (materialCategories) => { const setMaterialList = (materialCategoryId) => {
getInstockMaterialList({materialCategories}).then(e => { getMaterialList({materialCategoryId}).then(e => {
materialList.value = e.data materialList.value = e.data
}) })
} }

Loading…
Cancel
Save