feat(物料管理): 重构入库单表单并添加物料编码和库位编码选择功能
- 在MmInventory.vue中调整表单字段布局,添加入库单号字段 - 将物料编码和库位编码输入框改为下拉选择框 - 在MmRecordInbound.vue中重构表单,添加物料编码和库位编码选择功能 - 新增获取物料编码和库位编码列表的API调用方法
This commit is contained in:
@@ -83,6 +83,12 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库单号" prop="inboundNo">
|
||||
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料编码" prop="materialCode">
|
||||
<el-select v-model="form.materialCode" filterable placeholder="请选择">
|
||||
@@ -96,11 +102,11 @@
|
||||
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :lg="12">
|
||||
<!-- <el-col :lg="12">
|
||||
<el-form-item label="物料分类编码" prop="categoryCode">
|
||||
<el-input v-model="form.categoryCode" placeholder="请输入物料分类编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
@@ -108,38 +114,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="规格型号" prop="specificationModel">
|
||||
<el-input v-model="form.specificationModel" placeholder="请输入规格型号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库类型" prop="transactionType">
|
||||
<el-select v-model="form.transactionType" filterable placeholder="请选择">
|
||||
<el-option v-for="item in transactionOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" placeholder="请输入入库数量" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库单号" prop="inboundNo">
|
||||
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="仓库编码" prop="warehouseCode">
|
||||
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库位编码" prop="locationCode">
|
||||
<el-select v-model="form.locationCode" filterable placeholder="请选择">
|
||||
@@ -149,6 +123,26 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库位名称" prop="locationName">
|
||||
<el-input v-model="form.locationName" placeholder="请输入库位名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" placeholder="请输入入库数量" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库类型" prop="transactionType">
|
||||
<el-select v-model="form.transactionType" filterable placeholder="请选择">
|
||||
<el-option v-for="item in transactionOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="批次号" prop="batchNo">
|
||||
<el-input v-model="form.batchNo" placeholder="请输入批次号" />
|
||||
@@ -156,14 +150,8 @@
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="当前库存量" prop="currentQty">
|
||||
<el-input v-model="form.currentQty" placeholder="请输入当前库存量" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="计量单位" prop="unit">
|
||||
<el-input v-model="form.unit" placeholder="请输入计量单位" />
|
||||
<el-form-item label="操作员" prop="operator">
|
||||
<el-input v-model="form.operator" placeholder="请输入操作员" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -188,7 +176,7 @@
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-col :lg="12" v-if="opertype != 1">
|
||||
<el-form-item label="创建时间" prop="createdTime">
|
||||
<el-date-picker v-model="form.createdTime" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</el-table>
|
||||
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog :title="title" :lock-scroll="false" v-model="open">
|
||||
<!-- <el-dialog :title="title" :lock-scroll="false" v-model="open">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="12">
|
||||
@@ -142,11 +142,7 @@
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库类型" prop="transactionType">
|
||||
<el-select v-model="form.transactionType" placeholder="请选择入库类型">
|
||||
<el-option
|
||||
v-for="item in options.transactionTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
<el-option v-for="item in options.transactionTypeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -171,7 +167,10 @@
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库位编码" prop="locationCode">
|
||||
<el-input v-model="form.locationCode" placeholder="请输入库位编码" />
|
||||
<el-select @focus="getLocationOptionList" v-model="form.locationCode" filterable placeholder="请选择">
|
||||
<el-option v-for="item in options.locationOptions" :key="item.locationCode" :label="item.locationCode" :value="item.locationCode">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -195,7 +194,14 @@
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料编码" prop="materialCode">
|
||||
<el-input v-model="form.materialCode" placeholder="请输入物料编码" />
|
||||
<el-select @focus="getMaterialCodeList" v-model="form.materialCode" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options.materialCodeOptions"
|
||||
:key="item.materialCode"
|
||||
:label="item.materialCode"
|
||||
:value="item.materialCode">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -210,6 +216,121 @@
|
||||
<el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
|
||||
</template>
|
||||
</el-dialog> -->
|
||||
<el-dialog :title="title" :lock-scroll="false" v-model="open">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="12" v-if="opertype != 1">
|
||||
<el-form-item label="主键ID" prop="id">
|
||||
<el-input-number v-model.number="form.id" controls-position="right" placeholder="请输入主键ID" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库单号" prop="inboundNo">
|
||||
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料编码" prop="materialCode">
|
||||
<el-select v-model="form.materialCode" filterable placeholder="请选择">
|
||||
<el-option v-for="item in options" :key="item.materialCode" :label="item.materialCode" :value="item.materialCode"> </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- <el-col :lg="12">
|
||||
<el-form-item label="仓库编码" prop="warehouseCode">
|
||||
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<!-- <el-col :lg="12">
|
||||
<el-form-item label="物料分类编码" prop="categoryCode">
|
||||
<el-input v-model="form.categoryCode" placeholder="请输入物料分类编码" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="form.materialName" placeholder="请输入物料名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库位编码" prop="locationCode">
|
||||
<el-select v-model="form.locationCode" filterable placeholder="请选择">
|
||||
<el-option v-for="item in locationOptions" :key="item.locationCode" :label="item.locationCode" :value="item.locationCode">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库位名称" prop="locationName">
|
||||
<el-input v-model="form.locationName" placeholder="请输入库位名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" placeholder="请输入入库数量" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="入库类型" prop="transactionType">
|
||||
<el-select v-model="form.transactionType" filterable placeholder="请选择">
|
||||
<el-option v-for="item in transactionOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="批次号" prop="batchNo">
|
||||
<el-input v-model="form.batchNo" placeholder="请输入批次号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="操作员" prop="operator">
|
||||
<el-input v-model="form.operator" placeholder="请输入操作员" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- <el-col :lg="12">
|
||||
<el-form-item label="生产日期" prop="productionDate">
|
||||
<el-date-picker v-model="form.productionDate" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="有效期至" prop="expiryDate">
|
||||
<el-date-picker v-model="form.expiryDate" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="最后更新时间" prop="lastUpdatedTime">
|
||||
<el-date-picker v-model="form.lastUpdatedTime" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
<el-col :lg="12" v-if="opertype != 1">
|
||||
<el-form-item label="创建时间" prop="createdTime">
|
||||
<el-date-picker v-model="form.createdTime" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer v-if="opertype != 3">
|
||||
<el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitFormStorage">{{ $t('btn.submit') }}</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -222,7 +343,7 @@ import {
|
||||
updateMmRecordInbound,
|
||||
getMmRecordInbound
|
||||
} from '@/api/materialManagement/productionMaterial/mmrecordinbound.js'
|
||||
import { getTransactionOption } from '@/api/materialManagement/productionMaterial/mminventory.js'
|
||||
import { getTransactionOption, getMaterialOption, getLocationOption } from '@/api/materialManagement/productionMaterial/mminventory.js'
|
||||
const { proxy } = getCurrentInstance()
|
||||
const ids = ref([])
|
||||
const loading = ref(false)
|
||||
@@ -321,7 +442,9 @@ const state = reactive({
|
||||
},
|
||||
options: {
|
||||
// 入库类型 选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
transactionTypeOptions: []
|
||||
transactionTypeOptions: [],
|
||||
materialCodeOptions: [],
|
||||
locationOptions: []
|
||||
}
|
||||
})
|
||||
|
||||
@@ -335,6 +458,7 @@ function cancel() {
|
||||
|
||||
// 重置表单
|
||||
function reset() {
|
||||
|
||||
form.value = {
|
||||
unit: null,
|
||||
createdTime: null,
|
||||
@@ -439,5 +563,33 @@ function getTypeOfWarehousingList() {
|
||||
}
|
||||
}
|
||||
|
||||
// 物料编码列表
|
||||
function getMaterialCodeList() {
|
||||
try {
|
||||
getMaterialOption('materialCode').then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
state.options.materialCodeOptions = data
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
proxy.$modal.msgError(error.message)
|
||||
}
|
||||
}
|
||||
|
||||
// 获取库位编码列表
|
||||
function getLocationOptionList() {
|
||||
try {
|
||||
getLocationOption('warehouseCode').then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
state.options.locationOptions = data
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
proxy.$modal.msgError(error.message)
|
||||
}
|
||||
}
|
||||
|
||||
handleQuery()
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user