Commit d9355415 by 杨子

refactor(物资管理): 重构特殊物资相关功能

- 删除废弃的wmsSpecial模块及相关视图组件
- 在MaterialSelectDialog中增加特殊物资标记和分类筛选功能
- 调整物资列表和分类列表的显示列
- 在物资分类管理中添加特殊物资标识字段
- 优化物资选择对话框的查询逻辑,支持按特殊物资分类筛选
parent f1b8dc95
......@@ -27,7 +27,14 @@
check-strictly
clearable
@keyup.enter="handleQuery"
/>
>
<template #default="{ node, data }">
<span>
{{ node.label }}
<el-tag v-if="data.special === 1" size="small" type="danger" class="ml-2">特殊</el-tag>
</span>
</template>
</el-tree-select>
</el-form-item>
<el-form-item label="规格型号" prop="specification">
<el-input
......@@ -55,6 +62,7 @@
<el-table v-loading="loading" :data="materialList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资分类" align="center" prop="category.categoryName" />
<el-table-column label="物资名称" align="center" prop="materialName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="计量单位" align="center" prop="unit" />
......@@ -181,6 +189,8 @@ watch(dialogVisible, (newVal) => {
emit('update:visible', newVal)
})
const defaultParams = ref({})
// 物资列表
const materialList = ref([])
// 加载状态
......@@ -240,9 +250,17 @@ const queryParams = reactive({
})
// 加载物资列表
const handleQuery = () => {
const handleQuery = (params = {}) => {
defaultParams.value = {
...defaultParams.value,
...params
}
loading.value = true
listWmsMaterial(queryParams).then(response => {
getTreeselect();
listWmsMaterial({
...queryParams,
...defaultParams.value
}).then(response => {
materialList.value = response.rows
total.value = response.total
loading.value = false
......@@ -321,7 +339,9 @@ const cancelAddMaterial = () => {
// 查询物资分类下拉树结构
const getTreeselect = () => {
return new Promise((resolve) => {
listWmsMaterialCategory().then(response => {
listWmsMaterialCategory({
special: defaultParams.value['category.special']
}).then(response => {
materialCategoryOptions.value = []
const data = { categoryId: 0, categoryName: '顶级节点', children: [] }
data.children = handleTree(response.data, "categoryId", "parentId")
......@@ -358,9 +378,6 @@ const exposeMethods = {
getTreeselect
}
// 初始化时加载物资分类树
getTreeselect()
defineExpose(exposeMethods)
</script>
......
......@@ -445,7 +445,9 @@ function addDetail() {
materialDialogVisible.value = true
// 调用组件方法加载物资分类和列表
materialSelectDialogRef.value.getTreeselect()
materialSelectDialogRef.value.handleQuery()
materialSelectDialogRef.value.handleQuery({
'category.special': form.value.orderType === '3' ? 1 : 0
})
}
......
......@@ -66,7 +66,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="存储条件" align="center" prop="storageCondition" />
<el-table-column label="存储条件" align="center" prop="storageCondition" width="200" />
<el-table-column label="单件重量" align="center" prop="weight" />
<el-table-column label="单件体积" align="center" prop="volume" />
<el-table-column label="图片" align="center" prop="imageUrl">
......
......@@ -62,6 +62,11 @@
<dict-tag :options="sys_normal_disable" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="是否特殊物资" align="center" prop="special">
<template #default="scope">
{{ scope.row.special === 1 ? '是' : scope.row.special === 0 ? '否' : '' }}
</template>
</el-table-column>
<!-- <el-table-column label="属性模板" align="center" prop="attributeTemplate" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
......@@ -74,7 +79,7 @@
<!-- 添加或修改物资分类对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="wmsMaterialCategoryRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="wmsMaterialCategoryRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="分类编码" prop="categoryCode">
<el-input v-model="form.categoryCode" placeholder="请输入分类编码" />
</el-form-item>
......@@ -95,7 +100,13 @@
<el-input v-model="form.categoryLevel" placeholder="请输入分类级别" />
</el-form-item>
<el-form-item label="排序" prop="sortOrder">
<el-input v-model="form.sortOrder" placeholder="请输入显示顺序" />
<el-input-number v-model="form.sortOrder" placeholder="请输入显示顺序" />
</el-form-item>
<el-form-item label="是否特殊物资" prop="special">
<el-radio-group v-model="form.special">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="属性模板" prop="attributeTemplate">
<el-input v-model="form.attributeTemplate" type="textarea" placeholder="请输入内容" />
......@@ -129,7 +140,9 @@ const isExpandAll = ref(true)
const refreshTable = ref(true)
const data = reactive({
form: {},
form: {
special: null
},
queryParams: {
categoryCode: null,
categoryName: null,
......@@ -139,6 +152,7 @@ const data = reactive({
sortOrder: null,
status: null,
attributeTemplate: null,
special: null,
},
rules: {
categoryCode: [
......@@ -189,6 +203,7 @@ function reset() {
sortOrder: null,
status: null,
attributeTemplate: null,
special: 0,
createBy: null,
createTime: null,
updateBy: null,
......
<template>
<div class="app-container">
<el-tabs v-model="activeTab" tab-position="top" @tab-click="handleTabClick">
<el-tab-pane v-for="item in panes" :key="item.key" :label="item.label" :name="item.key">
<component :is="item.component" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup name="WmsSpecial">
import { ref } from 'vue'
const activeTab = ref('first')
const panes = ref([
{
key: 'first',
label: '入库',
component: () => import('@/views/ware/wmsSpecial/InBoundOrder.vue')
},
{
key: 'second',
label: '出库',
component: () => import('@/views/ware/wmsSpecial/OutBoundOrder.vue')
}
])
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment