物料产品批次属性配置功能

This commit is contained in:
yinjinlu-pc\尹金路 2025-02-06 00:05:38 +08:00
parent b01fba286e
commit 583d03b2f8
3 changed files with 216 additions and 2 deletions

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询物料批次属性配置列表
export function listBatchconfig(query) {
return request({
url: '/mes/md/batchconfig/list',
method: 'get',
params: query
})
}
// 查询物料批次属性配置详细
export function getBatchconfig(itemId) {
return request({
url: '/mes/md/batchconfig/' + itemId,
method: 'get'
})
}
// 新增物料批次属性配置
export function addBatchconfig(data) {
return request({
url: '/mes/md/batchconfig',
method: 'post',
data: data
})
}
// 修改物料批次属性配置
export function updateBatchconfig(data) {
return request({
url: '/mes/md/batchconfig',
method: 'put',
data: data
})
}
// 删除物料批次属性配置
export function delBatchconfig(configId) {
return request({
url: '/mes/md/batchconfig/' + configId,
method: 'delete'
})
}

View File

@ -0,0 +1,167 @@
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-save"
size="mini"
v-if="optType === 'add' || optType === 'edit'"
@click="submitForm"
v-hasPermi="['mes:md:batchconfig:update']"
>保存</el-button>
</el-col>
</el-row>
<el-form ref="form" :model="form" :rules="rules">
<el-form-item prop="selectedAttributes">
<el-row>
<el-col :span="4">
<el-checkbox v-model="form.produceDateFlag" true-label="Y" false-label="N">生产日期</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.expireDateFlag" true-label="Y" false-label="N">有效期</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.recptDateFlag" true-label="Y" false-label="N">入库日期</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.vendorFlag" true-label="Y" false-label="N">供应商</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.clientFlag" true-label="Y" false-label="N">客户</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.coCodeFlag" true-label="Y" false-label="N">销售订单编号</el-checkbox>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-checkbox v-model="form.poCodeFlag" true-label="Y" false-label="N">采购订单编号</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.workorderFlag" true-label="Y" false-label="N">生产工单</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.taskFlag" true-label="Y" false-label="N">生产任务</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.workstationFlag" true-label="Y" false-label="N">工作站</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.toolFlag" true-label="Y" false-label="N">工具</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.moldFlag" true-label="Y" false-label="N">模具</el-checkbox>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-checkbox v-model="form.lotNumberFlag" true-label="Y" false-label="N">生产批号</el-checkbox>
</el-col>
<el-col :span="4">
<el-checkbox v-model="form.qualityStatusFlag" true-label="Y" false-label="N">质量状态</el-checkbox>
</el-col>
</el-row>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { getBatchconfig, addBatchconfig, updateBatchconfig } from "@/api/mes/md/batchconfig";
export default {
name: "Batchconfig",
props: {
itemId: null,
optType: null
},
data() {
return {
//
form: {
configId: null,
itemId: this.itemId,
produceDateFlag: 'N',
expireDateFlag: 'N',
recptDateFlag: 'N',
vendorFlag: 'N',
clientFlag: 'N',
coCodeFlag: 'N',
poCodeFlag: 'N',
workorderFlag: 'N',
taskFlag: 'N',
workstationFlag: 'N',
toolFlag: 'N',
moldFlag: 'N',
lotNumberFlag: 'N',
qualityStatusFlag: 'N'
},
//
rules: {
selectedAttributes: [
{ validator: this.checkSelectedAttributes, trigger: 'change' }
]
}
};
},
created() {
this.getBatchconfig();
},
methods: {
checkSelectedAttributes(rule, value, callback) {
if (
this.form.produceDateFlag === 'N' &&
this.form.expireDateFlag === 'N' &&
this.form.recptDateFlag === 'N' &&
this.form.vendorFlag === 'N' &&
this.form.clientFlag === 'N' &&
this.form.coCodeFlag === 'N' &&
this.form.poCodeFlag === 'N' &&
this.form.workorderFlag === 'N' &&
this.form.taskFlag === 'N' &&
this.form.workstationFlag === 'N' &&
this.form.toolFlag === 'N' &&
this.form.moldFlag === 'N' &&
this.form.lotNumberFlag === 'N' &&
this.form.qualityStatusFlag === 'N'
) {
callback(
new Error("至少选择一个属性")
);
} else {
callback();
}
},
/** 获取批次配置 */
getBatchconfig() {
getBatchconfig(this.itemId).then(response => {
if(response.data ){
this.form = response.data;
}
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.configId != null) {
updateBatchconfig(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
});
} else {
addBatchconfig(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
});
}
}
});
}
}
};
</script>

View File

@ -340,7 +340,9 @@
<el-tab-pane label="BOM组成">
<ItemBom :optType="optType" :itemId="form.itemId"></ItemBom>
</el-tab-pane>
<el-tab-pane v-if="form.batchFlag =='Y'" label="批次属性"></el-tab-pane>
<el-tab-pane v-if="form.batchFlag =='Y'" label="批次属性">
<BatchConfig :itemId="form.itemId" :optType="optType"></BatchConfig>
</el-tab-pane>
<el-tab-pane label="替代品"></el-tab-pane>
<el-tab-pane label="SIP">
<SIPTab :itemId="form.itemId" :optType="optType"></SIPTab>
@ -402,10 +404,11 @@ import { getBarcodeUrl } from "@/api/mes/wm/barcode";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import BarcodeImg from "@/components/barcodeImg/index.vue"
import printLabel from "@/components/printerLabel/index.vue"
import BatchConfig from "./components/batch.vue";
export default {
name: "MdItem",
dicts: ['sys_yes_no','mes_item_product'],
components: { Treeselect,ItemBom,SOPTab,SIPTab,BarcodeImg,printLabel },
components: { Treeselect,ItemBom,SOPTab,SIPTab,BarcodeImg,printLabel, BatchConfig },
data() {
return {
//