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

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

@ -12,7 +12,9 @@ export interface AllocateOrderVO {
/**
*
*/
materialCategories: string;
materialCategoryId: string;
materialCategoryName: string;
/**
* ID
@ -90,7 +92,9 @@ export interface AllocateOrderForm extends BaseEntity {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* ID
@ -169,7 +173,9 @@ export interface AllocateOrderQuery extends PageQuery {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* 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)
@ -65,7 +67,9 @@ export interface InstockOrderForm extends BaseEntity {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* (1,2,3,4)
@ -119,7 +123,9 @@ export interface InstockOrderQuery extends PageQuery {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* (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
@ -75,7 +77,9 @@ export interface InventoryCheckForm extends BaseEntity {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* ID
@ -139,7 +143,9 @@ export interface InventoryCheckQuery extends PageQuery {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* 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
@ -80,7 +82,9 @@ export interface MoveOrderForm extends BaseEntity {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* ID
@ -149,7 +153,9 @@ export interface MoveOrderQuery extends PageQuery {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* 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)
@ -80,7 +83,9 @@ export interface OutstockOrderForm extends BaseEntity {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* (1,2,3,4)
@ -139,7 +144,9 @@ export interface OutstockOrderQuery extends PageQuery {
/**
*
*/
materialCategories?: string;
materialCategoryId?: string;
materialCategoryName?: string;
/**
* (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

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

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

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

@ -14,8 +14,8 @@
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item label="物料大类" prop="materialCategories">
<el-input v-model="form1.materialCategories"/>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="form1.materialCategoryId"/>
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
@ -59,7 +59,7 @@
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
@ -215,7 +215,8 @@ const columns = ref<FieldOption[]>([
// const initOrderFormData: AllocateOrderForm = {
// aoId: undefined,
// allocateOrderCode: undefined,
// materialCategories: undefined,
// materialCategoryId: undefined,
materialCategoryName: undefined,//
// planWarehouseId: undefined,
// orderStatus: undefined,
// targetWarehouseId: undefined,
@ -277,7 +278,7 @@ const data = reactive<PageData<AllocateOrderDetailForm, AllocateOrderDetailQuery
params: {
}
},
rules: {
aoDId: [
{ required: true, message: "调拨子表主键不能为空", trigger: "blur" }
@ -311,11 +312,11 @@ const getList = async () => {
loading.value = false;
}
const selectAllocateOrder = async (row?: AllocateOrderVO) => {
const _aoId = router.query.aoId
const res = await getAllocateOrder(_aoId);
console.log(res.data)
Object.assign(form1.value, res.data);
Object.assign(form1.value, res.data);
console.log(form1.value)
}
/** 取消按钮 */
@ -399,7 +400,15 @@ const handleExport = () => {
}, `allocateOrderDetail_${new Date().getTime()}.xlsx`)
}
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => {
getMaterialCategorySelect();
selectAllocateOrder();
getList();
});

@ -10,9 +10,14 @@
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="queryParams.warehouseName" placeholder="请输入仓库名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-form-item label="物料大类" prop="materialCategoryId">
<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-form-item>
<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="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="materialCategories" 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="materialCategoryName" v-if="columns[3].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="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" />
</el-card>
<!-- 添加或修改仓库基础信息对话框 -->
<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">
@ -114,14 +116,14 @@
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类">
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<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-form-item>
<el-form-item label="仓库位置" prop="warehouseLocation">
@ -164,9 +166,10 @@
import { listBaseWarehouse, getBaseWarehouse, delBaseWarehouse, addBaseWarehouse, updateBaseWarehouse } from '@/api/wms/baseWarehouse';
import { BaseWarehouseVO, BaseWarehouseQuery, BaseWarehouseForm } from '@/api/wms/baseWarehouse/types';
import {getWorkshopList} from "@/api/mes/baseWorkshopInfo";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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 buttonLoading = ref(false);
@ -213,7 +216,8 @@ const initFormData: BaseWarehouseForm = {
warehouseId: undefined,
warehouseCode: undefined,
warehouseName: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
warehouseLocation: undefined,
workshopId: undefined,
warehouseType: undefined,
@ -229,7 +233,8 @@ const data = reactive<PageData<BaseWarehouseForm, BaseWarehouseQuery>>({
pageSize: 10,
warehouseCode: undefined,
warehouseName: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
workshopId: undefined,
warehouseType: undefined,
params: {
@ -245,7 +250,7 @@ const data = reactive<PageData<BaseWarehouseForm, BaseWarehouseQuery>>({
warehouseName: [
{ required: true, message: "仓库名称不能为空", trigger: "blur" }
],
materialCategories: [
materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "change" }
],
warehouseLocation: [
@ -352,7 +357,15 @@ const handleExport = () => {
}, `baseWarehouse_${new Date().getTime()}.xlsx`)
}
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => {
getMaterialCategorySelect();
getWorkshopListSelect();
getList();
});

@ -4,10 +4,10 @@
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="流水卡号" prop="toolingBarcode">
<el-input v-model="queryParams.toolingBarcode" placeholder="请输入流水卡号" clearable @keyup.enter="handleQuery" />
<el-form-item label="工装条码" prop="toolingBarcode">
<el-input v-model="queryParams.toolingBarcode" placeholder="请输入工装条码" clearable @keyup.enter="handleQuery" />
</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-form-item>
<el-form-item label="工装类型" prop="toolingType">
@ -45,26 +45,24 @@
<el-table v-loading="loading" :data="hsmToolingList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="objId" v-if="columns[0].visible"/>
<el-table-column label="流水卡号" align="center" prop="toolingBarcode"/>
<el-table-column label="工装条码" align="center" prop="toolingRfidBarcode"/>
<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" prop="toolingBarcode"/>
<el-table-column label="工装RFID条码" align="center" prop="toolingRfidBarcode"/>
<el-table-column label="工装类型" align="center" prop="toolingType">
<template #default="scope">
<dict-tag :options="wms_tooling_type" :value="scope.row.toolingType"/>
</template>
</el-table-column>
<el-table-column label="是否用" align="center" prop="isUsed">
<el-table-column label="是否使用" align="center" prop="isUsed">
<template #default="scope">
<dict-tag :options="wms_halfproduct_used" :value="scope.row.isUsed"/>
</template>
</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">
<template #default="scope">
<el-tooltip content="修改" placement="top">
@ -82,11 +80,11 @@
<!-- 添加或修改半成品工装对话框 -->
<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-item label="流水卡号" prop="toolingBarcode">-->
<!-- <el-input v-model="form.toolingBarcode" placeholder="请输入流水卡号" />-->
<!-- </el-form-item>-->
<el-form-item label="工装条码" prop="toolingRfidBarcode">
<el-input v-model="form.toolingRfidBarcode" placeholder="请输入工装条码" />
<el-form-item label="工装条码" prop="toolingBarcode">
<el-input v-model="form.toolingBarcode" placeholder="请输入工装条码" />
</el-form-item>
<el-form-item label="工装RFID条码" prop="toolingRfidBarcode">
<el-input v-model="form.toolingRfidBarcode" placeholder="请输入工装RFID条码" />
</el-form-item>
<el-form-item label="工装类型" prop="toolingType">
<el-select v-model="form.toolingType" placeholder="请选择工装类型">
@ -98,19 +96,6 @@
></el-option>
</el-select>
</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>
<template #footer>
<div class="dialog-footer">
@ -147,7 +132,7 @@ const dialog = reactive<DialogOption>({
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `表主键`, visible: false },
// { key: 0, label: `${comment}`, visible: true },
// { key: 1, label: `${comment}`, visible: true },
// { key: 2, label: `${comment}`, visible: true },
// { key: 3, label: `${comment}`, visible: true },
@ -190,12 +175,12 @@ const data = reactive<PageData<HsmToolingForm, HsmToolingQuery>>({
}
},
rules: {
// toolingBarcode: [
// { required: true, message: "", trigger: "blur" }
// ],
toolingRfidBarcode: [
toolingBarcode: [
{ required: true, message: "工装条码不能为空", trigger: "blur" }
],
toolingRfidBarcode: [
{ required: true, message: "工装RFID条码不能为空", trigger: "blur" }
],
toolingType: [
{ required: true, message: "工装类型不能为空", trigger: "change" }
]

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

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

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

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

@ -15,7 +15,7 @@
:label="item.warehouseName"
:value="item.warehouseId"
></el-option>
</el-select>
</el-select>
</el-form-item>
<el-form-item label="库位编码" prop="locationCode" label-width="120px">
<el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" />
@ -26,9 +26,13 @@
<!-- <el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-form-item label="物料大类" prop="materialCategoryId">
<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-form-item>
<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="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="materialCategories" v-if="columns[9].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
<el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[9].visible">
</el-table-column>
<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">
@ -144,14 +146,13 @@
<el-form-item label="入库数量" prop="instockQty">
<el-input v-model="form.instockQty" placeholder="请输入入库数量" />
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类">
<el-option
v-for="dict in material_mategories"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select>
</el-form-item>
<el-form-item label="erp同步状态" prop="erpSynchronousStatus">
@ -182,6 +183,7 @@
import { listInstockRecord, getInstockRecord, delInstockRecord, addInstockRecord, updateInstockRecord } from '@/api/wms/instockRecord';
import { InstockRecordVO, InstockRecordQuery, InstockRecordForm } from '@/api/wms/instockRecord/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { material_mategories, sys_common_status } = toRefs<any>(proxy?.useDict('material_mategories', 'sys_common_status'));
@ -233,7 +235,8 @@ const initFormData: InstockRecordForm = {
materialCode: undefined,
materialName: undefined,
instockQty: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined,
erpSynchronousQty: undefined,
}
@ -247,7 +250,8 @@ const data = reactive<PageData<InstockRecordForm, InstockRecordQuery>>({
locationCode: undefined,
materialCode: undefined,
materialName: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined,
erpSynchronousQty: undefined,
params: {
@ -361,7 +365,15 @@ const handleExport = () => {
}, `instockRecord_${new Date().getTime()}.xlsx`)
}
//
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => {
getMaterialCategorySelect();
getList();
});
</script>

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

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

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

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

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

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

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

@ -25,8 +25,8 @@
<el-option v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories">
<el-input v-model="queryParams.materialCategories" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
<el-form-item label="物料大类" prop="materialCategoryId">
<el-input v-model="queryParams.materialCategoryId" placeholder="请输入物料大类" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="工单类型(字典1销售订单,2生产订单,3手工,4系统生成)" prop="orderType">
<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"/>
</template>
</el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[9].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
<el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[9].visible">
</el-table-column>
<el-table-column label="工单类型" align="center" prop="orderType" v-if="columns[10].visible">
<template #default="scope">
@ -133,10 +131,11 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改出库单对话框 -->
<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-item label="仓库ID" prop="warehouseId">
<el-select v-model="form.warehouseId" placeholder="请选择所属仓库">
<el-option
@ -157,14 +156,13 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类">
<el-option
v-for="dict in material_mategories"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select>
</el-form-item>
<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 {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { useRouter } from 'vue-router';
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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 outstockOrderList = ref<OutstockOrderVO[]>([]);
@ -269,7 +270,8 @@ const initFormData: OutstockOrderForm = {
warehouseId: undefined,
outstockCode: undefined,
outstockType: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
orderType: undefined,
orderNo: undefined,
auditBy: undefined,
@ -286,7 +288,8 @@ const data = reactive<PageData<OutstockOrderForm, OutstockOrderQuery>>({
warehouseId: undefined,
outstockCode: undefined,
outstockType: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
orderType: undefined,
orderNo: undefined,
auditBy: undefined,
@ -309,7 +312,7 @@ const data = reactive<PageData<OutstockOrderForm, OutstockOrderQuery>>({
outstockType: [
{ required: true, message: "出库类型不能为空", trigger: "change" }
],
materialCategories: [
materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" }
],
orderType: [
@ -437,14 +440,22 @@ const handleExport = () => {
}
const HandleInfo = async (row?: OutstockOrderVO) => {
const outstockId = row?.outstockId;
const materialCategories = row?.materialCategories;
const materialCategoryId = row?.materialCategoryId;
const outstockCode = row?.outstockCode;
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(() => {
getMaterialCategorySelect();
getBaseWarehouseListsss();
getList();
});

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

@ -10,9 +10,13 @@
<el-form-item label="库位编码" prop="locationCode">
<el-input v-model="queryParams.locationCode" placeholder="请输入库位编码" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-form-item label="物料大类" prop="materialCategoryId">
<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-form-item>
<!-- <el-form-item label="erp同步状态" prop="erpSynchronousStatus">-->
@ -32,7 +36,7 @@
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['wms:outstockRecord:add']"></el-button>
</el-col>
<el-col :span="1.5">
@ -40,7 +44,7 @@
</el-col>
<el-col :span="1.5">
<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-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['wms:outstockRecord:export']"></el-button>
</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="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="materialCategories" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
<el-table-column label="物料大类" align="center" prop="materialCategoryId" v-if="columns[7].visible">
</el-table-column>
<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">
@ -84,12 +86,12 @@
<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">
<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-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['wms:outstockRecord:remove']"></el-button>
</el-tooltip> -->
</el-tooltip>
<el-tooltip content="退货" placement="top" v-if="scope.row.returnFlag!=1">
<el-button link type="primary" @click="handleReturn(scope.row)" v-hasPermi="['wms:outstockRecord:remove']">
<el-icon>
@ -103,6 +105,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改出库记录对话框 -->
<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">
@ -137,13 +140,13 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="form.materialCategories" placeholder="" :disabled="returnFlag">
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategoryId" placeholder="" :disabled="returnFlag">
<el-option
v-for="dict in material_mategories"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
disabled="returnFlag"></el-option>
</el-select>
</el-form-item>
@ -179,8 +182,12 @@ import { listOutstockRecord, getOutstockRecord, delOutstockRecord, addOutstockRe
import { OutstockRecordVO, OutstockRecordQuery, OutstockRecordForm } from '@/api/wms/outstockRecord/types';
import { DocumentAdd } from '@element-plus/icons-vue';
import {getWmsBaseLocationVoList} from "@/api/wms/baseLocation";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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 buttonLoading = ref(false);
@ -227,7 +234,8 @@ const initFormData: OutstockRecordForm = {
materialId: undefined,
locationCode: undefined,
outstockQty: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
createBy: undefined,
erpSynchronousStatus: undefined,
erpSynchronousQty: undefined,
@ -239,7 +247,8 @@ const data = reactive<PageData<OutstockRecordForm, OutstockRecordQuery>>({
pageSize: 10,
outstockCode: undefined,
locationCode: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
erpSynchronousStatus: undefined,
params: {
}
@ -359,7 +368,15 @@ const handleExport = () => {
}, `outstockRecord_${new Date().getTime()}.xlsx`)
}
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => {
getMaterialCategorySelect();
getList();
});
</script>

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

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

@ -10,9 +10,13 @@
<!-- <el-form-item label="物料ID" prop="materialId">
<el-input v-model="queryParams.materialId" placeholder="请输入物料ID" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in material_mategories" :key="dict.value" :label="dict.label" :value="dict.value"/>
<el-form-item label="物料大类" prop="materialCategoryId">
<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-form-item>
<el-form-item label="批次条码" prop="batchCode">
@ -104,10 +108,8 @@
<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="物料ID" align="center" prop="materialCode" v-if="columns[6].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="material_mategories" :value="scope.row.materialCategories"/>
</template>
<el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[7].visible">
</el-table-column>
<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"/>
@ -157,14 +159,13 @@
<el-form-item label="物料ID" prop="materialId">
<el-input v-model="form.materialId" placeholder="请输入物料ID" />
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类">
<el-option
v-for="dict in material_mategories"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select>
</el-form-item>
<el-form-item label="批次条码" prop="batchCode">
@ -229,7 +230,7 @@
<!-- <el-form-item label="erp同步数量" prop="erpSynchronousQty">
<el-input v-model="form.erpSynchronousQty" placeholder="请输入erp同步数量" />
</el-form-item>-->
</el-form>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
@ -244,8 +245,11 @@
import { listReturnOrder, getReturnOrder, delReturnOrder, addReturnOrder, updateReturnOrder } from '@/api/wms/returnOrder';
import { ReturnOrderVO, ReturnOrderQuery, ReturnOrderForm } from '@/api/wms/returnOrder/types';
import {getBaseWarehouseList} from "@/api/wms/baseWarehouse";
import { getBaseMaterialCategoryList } from '@/api/mes/baseMaterialCategory';
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 buttonLoading = ref(false);
const loading = ref(true);
@ -282,7 +286,7 @@ const columns = ref<FieldOption[]>([
{ key: 14, label: `实际退库库位`, visible: true },
{ key: 15, 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: 19, label: `erp同步状态`, visible: true },
{ key: 20, label: `erp同步数量`, visible: true },
@ -291,7 +295,8 @@ const columns = ref<FieldOption[]>([
const initFormData: ReturnOrderForm = {
roId: undefined,
materialId: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
batchCode: undefined,
planAmount: undefined,
warehouseId: undefined,
@ -313,7 +318,8 @@ const data = reactive<PageData<ReturnOrderForm, ReturnOrderQuery>>({
pageSize: 10,
roId: undefined,
materialId: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,//
batchCode: undefined,
planAmount: undefined,
warehouseId: undefined,
@ -337,7 +343,7 @@ const data = reactive<PageData<ReturnOrderForm, ReturnOrderQuery>>({
materialId: [
{ required: true, message: "物料ID不能为空", trigger: "blur" }
],
materialCategories: [
materialCategoryId: [
{ required: true, message: "物料大类不能为空", trigger: "blur" }
],
batchCode: [
@ -477,7 +483,17 @@ const handleExport = () => {
}, `returnOrder_${new Date().getTime()}.xlsx`)
}
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
mategoryOptions.value = res.data;
};
onMounted(() => {
getMaterialCategorySelect();
getList();
});
</script>

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

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

Loading…
Cancel
Save