feat(wms/coil): 添加业务目的和关联订单功能

在基础面板中添加业务目的下拉选择和关联订单开关功能,并创建两个新的视图组件分别展示这些功能。同时更新字典数据以支持业务目的选项。
This commit is contained in:
砂糖
2026-03-07 14:18:30 +08:00
parent e5acc06e1c
commit 44013170f5
3 changed files with 112 additions and 1 deletions

View File

@@ -165,6 +165,22 @@
</template>
</el-table-column>
<el-table-column label="业务目的" align="center" prop="businessPurpose" v-if="showBusinessPurpose" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.businessPurpose" placeholder="业务目的" filterable
@change="handleBusinessPurposeChange(scope.row)">
<el-option v-for="item in dict.type.coil_business_purpose" :key="item.value" :value="item.value"
:label="item.label" />
</el-select>
</template>
</el-table-column>
<el-table-column label="关联订单" align="center" prop="relatedToOrder" v-if="showRelatedToOrder" width="150">
<template slot-scope="scope">
<el-switch @change="handleRelatedToOrderChange(scope.row)" v-model="scope.row.isRelatedToOrder" :active-value="1" :inactive-value="0" />
</template>
</el-table-column>
<el-table-column label="发货计划" align="center" prop="nextWarehouseId" v-if="showWaybill" width="150">
<template slot-scope="scope">
{{ scope.row.bindPlanName || '-' }}
@@ -436,7 +452,7 @@ export default {
AbnormalList,
LogTable,
},
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer', 'coil_quality_status', 'warehouse_sync'],
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer', 'coil_quality_status', 'warehouse_sync', 'coil_business_purpose'],
props: {
qrcode: {
type: Boolean,
@@ -506,6 +522,14 @@ export default {
type: Boolean,
default: false,
},
showBusinessPurpose: {
type: Boolean,
default: false,
},
showRelatedToOrder: {
type: Boolean,
default: false,
}
},
data() {
return {
@@ -720,6 +744,39 @@ export default {
}
})
},
handleBusinessPurposeChange(row) {
if (!this.showBusinessPurpose) {
return;
}
updateMaterialCoilSimple(row).then(res => {
if (res.code === 200) {
this.$message({
message: '更新成功',
type: 'success',
});
} else {
this.$message({
message: res.msg || '更新失败',
type: 'error',
});
}
})
},
handleRelatedToOrderChange(row) {
updateMaterialCoilSimple(row).then(res => {
if (res.code === 200) {
this.$message({
message: '更新成功',
type: 'success',
});
} else {
this.$message({
message: res.msg || '更新失败',
type: 'error',
});
}
})
},
// 打印标签
handlePrintLabel(row) {
const item = row.itemType === 'product' ? row.product : row.rawMaterial;

View File

@@ -0,0 +1,27 @@
<template>
<BasePage :qrcode="qrcode" :querys="querys" :labelType="labelType" :hideWarehouseQuery="hideWarehouseQuery"
:hideType="hideType" :showControl="showControl" :showBusinessPurpose="showBusinessPurpose" />
</template>
<script>
import BasePage from '../../panels/base.vue';
export default {
components: {
BasePage
},
data() {
return {
qrcode: false,
querys: {
// dataType: 1,
},
hideWarehouseQuery: true,
showBusinessPurpose: true,
showControl: false,
labelType: '2',
hideType: false,
}
}
}
</script>

View File

@@ -0,0 +1,27 @@
<template>
<BasePage :qrcode="qrcode" :querys="querys" :labelType="labelType" :hideWarehouseQuery="hideWarehouseQuery"
:hideType="hideType" :showControl="showControl" :showRelatedToOrder="showRelatedToOrder" />
</template>
<script>
import BasePage from '../../panels/base.vue';
export default {
components: {
BasePage
},
data() {
return {
qrcode: false,
querys: {
// dataType: 1,
},
hideWarehouseQuery: true,
showRelatedToOrder: true,
showControl: false,
labelType: '2',
hideType: false,
}
}
}
</script>