This commit is contained in:
Tom
2026-01-05 13:13:15 +08:00
5 changed files with 166 additions and 139 deletions

View File

@@ -9,17 +9,19 @@
<!-- 库存查询功能按物料编码仓库名称 -->
<el-form-item label="物料名称" prop="materialCode">
<el-select v-model="queryParams.materialCode" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in options" :key="item.materialCode" :label="item.materialName" :value="item.materialCode">
<span style="float: left">{{ item.materialCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.materialName }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="批次号" prop="batchNo">
<el-form-item label="批次号" prop="batchNo">
<el-input v-model="queryParams.batchNo" placeholder="请输入批次号" />
</el-form-item>
<el-form-item label="库位名称" prop="locationCode">
<el-select v-model="queryParams.locationCode" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in locationOptions" :key="item.locationCode" :label="item.locationName" :value="item.locationCode">
<span style="float: left">{{ item.locationCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.locationName }}</span>
@@ -28,6 +30,7 @@
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseCode">
<el-select v-model="queryParams.warehouseCode" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in warehouseOptions" :key="item.warehouseCode" :label="item.warehouseName" :value="item.warehouseCode">
<span style="float: left">{{ item.warehouseCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
@@ -62,18 +65,20 @@
@sort-change="sortChange"
:default-sort="{ prop: 'createdTime', order: 'descending' }">
<!-- <el-table-column prop="id" label="主键ID" align="center" v-if="columns.showColumn('id')" /> -->
<el-table-column prop="lastUpdatedTime" sortable label="最后更新时间" :show-overflow-tooltip="true" v-if="columns.showColumn('lastUpdatedTime')" />
<el-table-column prop="materialCode" label="物料编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('materialCode')" />
<el-table-column prop="warehouseCode" label="仓库编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('warehouseCode')" />
<el-table-column prop="warehouseName" label="仓库名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('warehouseName')" />
<el-table-column prop="locationCode" label="库位编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('locationCode')" />
<el-table-column prop="locationName" label="库位名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('locationName')" />
<el-table-column prop="batchNo" label="批次号" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('batchNo')" />
<el-table-column prop="materialCode" label="物料编码" align="center" v-if="columns.showColumn('materialCode')" />
<el-table-column prop="batchNo" label="批次号" align="center" v-if="columns.showColumn('batchNo')" />
<el-table-column prop="currentQty" label="当前库存量" align="center" v-if="columns.showColumn('currentQty')" />
<el-table-column prop="unit" label="计量单位" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('unit')" />
<el-table-column prop="productionDate" label="生产日期" :show-overflow-tooltip="true" v-if="columns.showColumn('productionDate')" />
<el-table-column prop="expiryDate" label="有效期至" :show-overflow-tooltip="true" v-if="columns.showColumn('expiryDate')" />
<el-table-column prop="createdTime" label="创建时间" :show-overflow-tooltip="true" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="warehouseCode" label="仓库编码" align="center" v-if="columns.showColumn('warehouseCode')" />
<el-table-column prop="warehouseName" label="仓库名称" align="center" v-if="columns.showColumn('warehouseName')" />
<el-table-column prop="locationCode" label="库位编码" align="center" v-if="columns.showColumn('locationCode')" />
<el-table-column prop="locationName" label="库位名称" align="center" v-if="columns.showColumn('locationName')" />
<el-table-column prop="unit" label="计量单位" align="center" v-if="columns.showColumn('unit')" />
<el-table-column prop="productionDate" label="生产日期" v-if="columns.showColumn('productionDate')" />
<el-table-column prop="expiryDate" label="有效期至" v-if="columns.showColumn('expiryDate')" />
<el-table-column prop="createdTime" label="创建时间" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="lastUpdatedTime" sortable label="最后更新时间" v-if="columns.showColumn('lastUpdatedTime')" />
<el-table-column label="操作" width="160">
<template #default="scope">
<el-button
@@ -105,16 +110,16 @@
</el-form-item>
</el-col> -->
<el-col :lg="12">
<!-- <el-col :lg="12" v-if="opertype == 1">
<el-form-item label="入库单号" prop="inboundNo">
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" />
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" :disabled="opertype == 3" />
</el-form-item>
</el-col>
</el-col> -->
<el-col :lg="12">
<el-form-item label="物料编码" prop="materialCode">
<el-select @change="handleMaterialChange" v-model="form.materialCode" filterable placeholder="请选择">
<el-option v-for="item in options" :key="item.materialCode" :label="item.materialCode" :value="item">
<el-select @change="handleMaterialChange" v-model="form.materialCode" filterable placeholder="请选择" :disabled="opertype == 3">
<el-option v-for="(item, index) in options" :key="index" :label="item.materialCode" :value="item">
<span style="float: left">{{ item.materialCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.materialName }}</span>
</el-option>
@@ -157,22 +162,20 @@
</el-col>
<el-col :lg="12">
<el-form-item label="入库数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入入库数量" />
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input :disabled="true" v-model="form.warehouseCode" 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-select v-model="form.transactionType" filterable placeholder="请选择" :disabled="opertype == 3">
<el-option v-for="item in transactionOptions" :key="item.id" :label="item.typeCode" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input :disabled="true" v-model="form.warehouseCode" placeholder="请输入仓库编码" />
<el-form-item label="入库数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入入库数量" :disabled="opertype == 3" />
</el-form-item>
</el-col>
@@ -184,7 +187,7 @@
<el-col :lg="12">
<el-form-item label="操作员" prop="operator">
<el-input :disabled="true" v-model="form.operator" placeholder="请输入操作员" />
<el-input v-model="form.operator" placeholder="请输入操作员" />
</el-form-item>
</el-col>
@@ -209,12 +212,17 @@
</el-form-item>
</el-col> -->
<el-col :lg="12" v-if="opertype != 1">
<!-- <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
v-model="form.createdTime"
type="datetime"
placeholder="选择日期时间"
value-format="YYYY-MM-DD HH:mm:ss"
:disabled="opertype == 3">
</el-date-picker>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
</el-form>
<template #footer v-if="opertype != 3">
@@ -232,15 +240,15 @@
</el-form-item>
</el-col> -->
<el-col :lg="12">
<!-- <el-col :lg="12" v-if="opertype == 1">
<el-form-item label="出库单号" prop="outboundNo">
<el-input v-model="form.outboundNo" placeholder="请输入出库单号" />
<el-input v-model="form.outboundNo" placeholder="请输入出库单号" :disabled="opertype == 3" />
</el-form-item>
</el-col>
</el-col> -->
<el-col :lg="12">
<el-form-item label="物料编码" prop="materialCode">
<el-select @change="handleMaterialChange" v-model="form.materialCode" filterable placeholder="请选择">
<el-select @change="handleMaterialChange" v-model="form.materialCode" filterable placeholder="请选择" :disabled="opertype == 2">
<el-option v-for="item in options" :key="item.materialCode" :label="item.materialCode" :value="item">
<span style="float: left">{{ item.materialCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.materialName }}</span>
@@ -279,21 +287,25 @@
</el-form-item>
</el-col>
<el-col :lg="12">
<el-col :lg="12" v-if="opertype == 1">
<el-form-item label="出库数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入入库数量" />
<el-input v-model="form.quantity" placeholder="请输入入库数量" :disabled="opertype == 2" />
</el-form-item>
</el-col>
<el-col :lg="12" v-if="opertype == 2">
<el-form-item label="库存数量" prop="currentQty">
<el-input v-model="form.currentQty" :disabled="opertype == 2" />
</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-col :lg="12" v-if="opertype == 1">
<el-form-item label="出库类型" prop="transactionType">
<el-select v-model="form.transactionType" filterable placeholder="请选择">
<el-select v-model="form.transactionType" filterable placeholder="请选择" :disabled="opertype == 2">
<el-option v-for="item in transactionOptions" :key="item.id" :label="item.typeCode" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
@@ -313,7 +325,7 @@
<el-col :lg="12">
<el-form-item label="操作员" prop="operator">
<el-input :disabled="true" v-model="form.operator" placeholder="请输入操作员" />
<el-input v-model="form.operator" placeholder="请输入操作员" />
</el-form-item>
</el-col>
@@ -338,12 +350,17 @@
</el-form-item>
</el-col> -->
<el-col :lg="12" v-if="opertype != 1">
<!-- <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
v-model="form.createdTime"
type="datetime"
placeholder="选择日期时间"
value-format="YYYY-MM-DD HH:mm:ss"
:disabled="opertype == 3">
</el-date-picker>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
</el-form>
<template #footer v-if="opertype != 3">
@@ -396,8 +413,8 @@ const columns = ref([
{ visible: false, align: 'center', type: '', prop: 'unit', label: '计量单位', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'productionDate', label: '生产日期', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'expiryDate', label: '有效期至', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'lastUpdatedTime', label: '最后更新时间', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'createdTime', label: '创建时间', showOverflowTooltip: true }
{ visible: false, align: 'center', type: '', prop: 'lastUpdatedTime', label: '最后更新时间', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'createdTime', label: '创建时间', showOverflowTooltip: true }
//{ visible: false, prop: 'actions', label: '操作', type: 'slot', width: '160' }
])
const total = ref(0)
@@ -460,14 +477,16 @@ const state = reactive({
transactionType: [{ required: true, message: '入库类型不能为空', trigger: 'blur' }],
quantity: [{ required: true, message: '入库数量不能为空', trigger: 'blur' }],
warehouseCode: [{ required: true, message: '仓库编码不能为空', trigger: 'blur' }],
inboundNo: [{ required: true, message: '入库单号不能为空', trigger: 'blur' }]
// inboundNo: [{ required: true, message: '入库单号不能为空', trigger: 'blur' }],
batchNo: [{ required: true, message: '批次号不能为空', trigger: 'blur' }]
},
rulesOut: {
materialCode: [{ required: true, message: '物料编码不能为空', trigger: 'blur' }],
transactionType: [{ required: true, message: '入库类型不能为空', trigger: 'blur' }],
quantity: [{ required: true, message: '入库数量不能为空', trigger: 'blur' }],
warehouseCode: [{ required: true, message: '仓库编码不能为空', trigger: 'blur' }],
outboundNo: [{ required: true, message: '出库单号不能为空', trigger: 'blur' }]
// outboundNo: [{ required: true, message: '出库单号不能为空', trigger: 'blur' }],
batchNo: [{ required: true, message: '批次号不能为空', trigger: 'blur' }]
},
options: {},
transactionOptions: {},
@@ -508,20 +527,21 @@ function reset() {
// 填入库单操作
function handleStorage() {
reset()
openStorage.value = true
title.value = '填写入库单信息'
opertype.value = 1
inOrOut.value = '入库'
getTypeOfWarehousingList()
openStorage.value = true
}
// 出库操作
function handleOutStorage() {
reset()
openOutStorage.value = true
title.value = '填写出库单信息'
opertype.value = 1
inOrOut.value = '出库'
getTypeOfWarehousingList()
openOutStorage.value = true
}
// 修改按钮操作
function handleUpdate(row) {
@@ -531,7 +551,7 @@ function handleUpdate(row) {
const { code, data } = res
if (code == 200) {
openOutStorage.value = true
title.value = '修改库存'
title.value = '修改库存'
opertype.value = 2
form.value = {

View File

@@ -8,6 +8,7 @@
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<el-form-item label="库位名称" prop="locationCode">
<el-select v-model="queryParams.locationCode" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in dataList" :key="item.locationCode" :label="item.locationName" :value="item.locationCode">
<span style="float: left">{{ item.locationCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.locationName }}</span>
@@ -16,6 +17,7 @@
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseCode">
<el-select v-model="queryParams.warehouseCode" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in warehouseOptions" :key="item.warehouseCode" :label="item.warehouseName" :value="item.warehouseCode">
<span style="float: left">{{ item.warehouseCode }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
@@ -47,15 +49,15 @@
@sort-change="sortChange"
:default-sort="{ prop: 'createdTime', order: 'descending' }">
<!-- <el-table-column prop="id" label="主键ID" align="center" v-if="columns.showColumn('id')" /> -->
<el-table-column prop="createdTime" sortable align="center" label="创建时间" :show-overflow-tooltip="true" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="locationCode" label="库位编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('locationCode')" />
<el-table-column prop="locationName" label="库位名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('locationName')" />
<el-table-column prop="warehouseCode" label="仓库编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('warehouseCode')" />
<el-table-column prop="warehouseName" label="仓库名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('warehouseName')" />
<el-table-column prop="areaCode" label="区域编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('areaCode')" />
<el-table-column prop="areaName" label="区域名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('areaName')" />
<!-- <el-table-column prop="createdTime" sortable align="center" label="创建时间" v-if="columns.showColumn('createdTime')" /> -->
<el-table-column prop="locationCode" label="库位编码" align="center" v-if="columns.showColumn('locationCode')" />
<el-table-column prop="locationName" label="库位名称" align="center" v-if="columns.showColumn('locationName')" />
<el-table-column prop="warehouseCode" label="仓库编码" align="center" v-if="columns.showColumn('warehouseCode')" />
<el-table-column prop="warehouseName" label="仓库名称" align="center" v-if="columns.showColumn('warehouseName')" />
<el-table-column prop="areaCode" label="区域编码" align="center" v-if="columns.showColumn('areaCode')" />
<el-table-column prop="areaName" label="区域名称" align="center" v-if="columns.showColumn('areaName')" />
<el-table-column prop="capacity" label="容量" align="center" v-if="columns.showColumn('capacity')" />
<el-table-column prop="unit" label="容量单位" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('unit')" />
<el-table-column prop="unit" label="容量单位" align="center" v-if="columns.showColumn('unit')" />
<el-table-column prop="locationType" label="库位类型" align="center" v-if="columns.showColumn('locationType')">
<template #default="scope">
<dict-tag :options="options.locationTypeOptions" :value="scope.row.locationType" />
@@ -66,8 +68,8 @@
<dict-tag :options="options.statusOptions" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column prop="updatedTime" label="更新时间" :show-overflow-tooltip="true" v-if="columns.showColumn('updatedTime')" />
<el-table-column prop="description" label="描述" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('description')" />
<el-table-column prop="updatedTime" label="更新时间" v-if="columns.showColumn('updatedTime')" />
<el-table-column prop="description" label="描述" align="center" v-if="columns.showColumn('description')" />
<el-table-column label="操作" width="160">
<template #default="scope">
<el-button
@@ -92,12 +94,6 @@
<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="locationCode">
<el-input v-model="form.locationCode" placeholder="请输入库位编码" />

View File

@@ -13,18 +13,30 @@
<el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="物料分类名称" prop="categoryCode">
<el-select v-model="queryParams.categoryCode" placeholder="请选择">
<el-option v-for="item in options.materialCodeOptions" :key="item.value" :label="item.label" :value="item.value">
<span style="float: left">{{ item.value }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
<el-form-item label="物料标号" prop="type">
<el-input v-model="queryParams.type" placeholder="请输入物料标号" />
</el-form-item>
<div>
<el-form-item label="物料分类名称" prop="categoryCode">
<el-select v-model="queryParams.categoryCode" placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in options.materialCodeOptions" :key="item.value" :label="item.label" :value="item.value">
<span style="float: left">{{ item.value }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in options.statusOptions" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"> </el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
</el-form-item>
</div>
</el-form>
<!-- 工具区域 -->
<el-row :gutter="15" class="mb10">
@@ -56,24 +68,25 @@
@sort-change="sortChange"
:default-sort="{ prop: 'createdTime', order: 'descending' }">
<!-- <el-table-column prop="id" label="主键ID" align="center" v-if="columns.showColumn('id')" /> -->
<el-table-column prop="createdTime" sortable label="创建时间" :show-overflow-tooltip="true" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="materialCode" label="物料编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('materialCode')" />
<el-table-column prop="materialName" label="物料名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('materialName')" />
<el-table-column prop="specification" label="规格型号" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('specification')" />
<el-table-column prop="categoryCode" label="物料分类编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('categoryCode')" />
<el-table-column prop="categoryName" label="物料分类名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('categoryName')" />
<el-table-column prop="unit" label="计量单位" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('unit')" />
<el-table-column prop="type" label="物料类型" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('type')" />
<el-table-column prop="supplierCode" label="供应商编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('supplierCode')" />
<el-table-column prop="supplierName" label="供应商名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('supplierName')" />
<!-- <el-table-column prop="createdTime" sortable label="创建时间" v-if="columns.showColumn('createdTime')" /> -->
<el-table-column prop="type" label="标号" align="center" v-if="columns.showColumn('type')" />
<el-table-column prop="materialCode" label="物料编码" align="center" v-if="columns.showColumn('materialCode')" />
<el-table-column prop="materialName" label="物料名称" align="center" v-if="columns.showColumn('materialName')" />
<el-table-column prop="specification" label="规格型号" align="center" v-if="columns.showColumn('specification')" />
<el-table-column prop="categoryCode" label="物料分类编码" align="center" v-if="columns.showColumn('categoryCode')" />
<el-table-column prop="categoryName" label="物料分类名称" align="center" v-if="columns.showColumn('categoryName')" />
<el-table-column prop="unit" label="计量单位" align="center" v-if="columns.showColumn('unit')" />
<el-table-column prop="supplierCode" label="供应商编码" align="center" v-if="columns.showColumn('supplierCode')" />
<el-table-column prop="supplierName" label="供应商名称" align="center" v-if="columns.showColumn('supplierName')" />
<el-table-column prop="safetyStock" label="安全库存" align="center" v-if="columns.showColumn('safetyStock')" />
<el-table-column prop="status" label="状态(停用/启用)" align="center" v-if="columns.showColumn('status')">
<el-table-column prop="status" label="状态" align="center" v-if="columns.showColumn('status')">
<template #default="scope">
<dict-tag :options="options.statusOptions" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column prop="updatedTime" label="更新时间" :show-overflow-tooltip="true" v-if="columns.showColumn('updatedTime')" />
<el-table-column prop="description" label="描述" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('description')" />
<el-table-column prop="updatedTime" label="更新时间" v-if="columns.showColumn('updatedTime')" />
<el-table-column prop="description" label="描述" align="center" v-if="columns.showColumn('description')" />
<el-table-column label="操作" width="160">
<template #default="scope">
<el-button
@@ -98,12 +111,6 @@
<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="materialCode">
<el-input v-model="form.materialCode" placeholder="请输入物料编码" />
@@ -116,6 +123,12 @@
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="物料标号" prop="type">
<el-input v-model="form.type" placeholder="请输入物料标号" />
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="规格型号" prop="specification">
<el-input v-model="form.specification" placeholder="请输入规格型号" />
@@ -139,12 +152,6 @@
</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>
</el-col>
<el-col :lg="12">
<el-form-item label="供应商编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入供应商编码" />
@@ -157,6 +164,12 @@
</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>
</el-col>
<el-col :lg="12">
<el-form-item label="安全库存" prop="safetyStock">
<el-input v-model="form.safetyStock" placeholder="请输入安全库存" />
@@ -175,7 +188,7 @@
<el-col :lg="12">
<el-form-item label="描述" prop="description">
<el-input v-model="form.description" placeholder="请输入描述" />
<el-input type="textarea" rows="4" v-model="form.description" placeholder="请输入描述" />
</el-form-item>
</el-col>
</el-row>
@@ -227,7 +240,7 @@ const columns = ref([
{ visible: true, align: 'center', type: '', prop: 'supplierCode', label: '供应商编码', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'supplierName', label: '供应商名称', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'safetyStock', label: '安全库存' },
{ visible: false, align: 'center', type: 'dict', prop: 'status', label: '状态(停用/启用)', showOverflowTooltip: true },
{ visible: true, align: 'center', type: 'dict', prop: 'status', label: '状态', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'createdTime', label: '创建时间', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'updatedTime', label: '更新时间', showOverflowTooltip: true },
{ visible: false, align: 'center', type: '', prop: 'description', label: '描述', showOverflowTooltip: true }

View File

@@ -12,6 +12,7 @@
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option label="启用" value="启用"> </el-option>
<el-option label="停用" value="停用"> </el-option>
</el-select>
@@ -77,12 +78,6 @@
<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="categoryCode">
<el-input v-model="form.categoryCode" placeholder="请输入分类编码" />
@@ -116,7 +111,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="描述" prop="description">
<el-input v-model="form.description" placeholder="请输入描述" />
@@ -232,7 +227,7 @@ const state = reactive({
single: true,
multiple: true,
form: {
status: '启用',
status: '启用'
},
rules: {
categoryCode: [{ required: true, message: '分类编码不能为空', trigger: 'blur' }],

View File

@@ -6,18 +6,26 @@
<template>
<div>
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<el-form-item label="类别编号" prop="typeCode">
<el-input v-model="queryParams.typeCode" placeholder="请输入类别编号" clearable />
</el-form-item>
<el-form-item label="类别名称" prop="typeName">
<el-select @focus="getTypeOfWarehousingList" v-model="queryParams.typeName" placeholder="请选择">
<el-option label="全部" value="" />
<el-option v-for="item in transactionTypeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="queryParams.typeName" placeholder="请输入类别名称" clearable />
</el-form-item>
<el-form-item label="操作方向" prop="transactionDirection">
<el-select v-model="queryParams.transactionDirection" placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option label="出库" value="出库" />
<el-option label="入库" value="入库" />
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option label="启用" value="启用" />
<el-option label="停用" value="停用" />
</el-select>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
@@ -82,12 +90,6 @@
<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="typeCode">
<el-input v-model="form.typeCode" placeholder="请输入类别编码" />
@@ -102,7 +104,13 @@
<el-col :lg="12">
<el-form-item label="操作方向" prop="transactionDirection">
<el-input v-model="form.transactionDirection" placeholder="请输入操作方向" />
<el-select v-model="form.transactionDirection" placeholder="请选择操作方向">
<el-option
v-for="item in options.transactionTypeOptions"
:key="item.dictValue"
:value="item.dictValue"
:label="item.dictLabel" />
</el-select>
</el-form-item>
</el-col>
@@ -121,20 +129,6 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :lg="12">
<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-col :lg="12">
<el-form-item label="更新时间" prop="updatedTime">
<el-date-picker v-model="form.updatedTime" 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">
@@ -168,7 +162,7 @@ const queryParams = reactive({
})
const columns = ref([
// { visible: true, align: 'center', type: '', prop: 'id', label: '主键ID' },
{ visible: false, align: 'center', type: '', prop: 'typeCode', label: '类别编码', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'typeCode', label: '类别编码', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'typeName', label: '类别名称', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'transactionDirection', label: '操作方向', showOverflowTooltip: true },
{ visible: true, align: 'center', type: '', prop: 'description', label: '描述', showOverflowTooltip: true },
@@ -236,7 +230,7 @@ const state = reactive({
rules: {
typeCode: [{ required: true, message: '类别编码不能为空', trigger: 'blur' }],
typeName: [{ required: true, message: '类别名称不能为空', trigger: 'blur' }],
transactionDirection: [{ required: true, message: '操作方向(入库/出库)不能为空', trigger: 'blur' }]
transactionDirection: [{ required: true, message: '操作方向不能为空', trigger: 'blur' }]
},
options: {
// 状态(停用/启用) 选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
@@ -249,9 +243,18 @@ const state = reactive({
dictValue: '启用',
dictLabel: '启用'
}
],
transactionTypeOptions: [
{
dictValue: '入库',
dictLabel: '入库'
},
{
dictValue: '出库',
dictLabel: '出库'
}
]
},
transactionTypeOptions: []
}
})
const { form, rules, options, transactionTypeOptions, single, multiple } = toRefs(state)